So after spending the entire day walking around doing stuff (and at one point get wrangled into MCing) for DevCon at DevOpsDays, me and a couple PhRUG guys got on a (red-eye?) bus to Baguio City for the non-official Philippine leg of the Global Day of Code Retreat.
This isn’t a full write-up of the event so I’ll keep this short and simple. The event was at Drei‘s place with just a bunch of Ruby, Python, and PHP guys from both Manila and Baguio hacking up random stuff instead of doing the whole Code Retreat thing.
Being the slacker that I am, I didn’t have anything planned out beforehand. I thought I’d just go the same route as with Startup Weekend Manila and just be a rubber duck floating around groups. Fortunately, Buddy brought along his significant other Rizza with the intention of having her learn programming from the participants of the event.
I couldn’t resist this teaching challenge. So for the entire event, I went on to give an impromptu crash course on the fundamentals of software development.
I started off with basic imperative/procedural programming via pseudocode (to drill in the idea that software development is not about computers but about solving problems). As we progressed I moved on to Ruby for the more technical side of things (basic data types) up to Object Oriented basics.
By mid-day, I had this little flash of insanity and began downloading >250MB of development stuff from a certain site.
That flash of insanity was to go back to the original Code Retreat exercise, Conway’s Game of Life, and build it in Java to teach software development: coding conventions, revision control, test automation, refactoring, etc.
Of course, I had to teach the most crucial concept in software development: how to wing it. And that was where Android came in.
So we had a base GoL class and a freshly installed Android SDK. A couple of Google searches later and a lot of guesswork, we were able to make the whole thing work as a Live Wallpaper in around 1.5 hours.
Lack of sleep and preparation can turn a Ruby guy into a Java developer. LOL