The Deep End of the Pool

After having taught introductory programming (CS 1) for the past six years, and having watched many students struggle through this course and the subsequent course (CS 2), I have come to the conclusion that it is absurd to expect students who don’t have any prior programming experience to be well prepared to study Computer Science […]

Unexpected Ruby Cache Behavior

We recently traced an application bug to an unexpected Rails cache / memcached behavior. At this point, it’s not clear whether this represents a bug in Rails or our misunderstanding of how the Rails cache is supposed to work. Regardless, understanding this behavior may help find (or even avoid) similar bugs. Consider this code running […]

The Cost of Building BlackBerry Apps

We have just finished two BlackBerry apps, one native and one using Rhodes Mobile. In the course of creating these apps, we have developed some processes to improve both the speed of development and the quality of the resulting product – especially when porting from Android.[1] Despite the improvements, the BlackBerry platform and development environment […]

More Additions to kSOAP2

We have been using the kSOAP2 library for SOAP communications on Android. Previously, we discussed using Manfred Moser’s fork which fixed the a bug with SoapObject#getAttribute, and adding methods to check whether a particular property or attribute exists. Last week, we ran into another limitation: kSOAP2 doesn’t attach attributes to primitives. For example, when parsing […]