One day after writing the previous post, I noticed two things:
I forgot to add the link for the term “rubber duck”, and
I never posted about “rubber ducking” before
I’ve fixed the first so it’s time to fix the second. Still finding it weird that I haven’t done it yet in the 2+ years this blog has been up, though…
Anyway, “rubber ducking” is a simple mind hack popularized by The Pragmatic Programmer. Instead of committing copyright infringement by copy-pasting what the book says about it (all 3 paragraphs), I’ll just go with Wiki Wiki’s take on the topic.
Place a rubber duck on your monitor and describe your problems to it. There’s something magical about stating your problems aloud that makes the solution more clear.
So yeah, my MO at hackathons is to either code something totally unexpected, or just float around “magically” solving problems by being a sounding board.
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.
at the after event, aka “Yo dawg, I heard you like taking pictures so here’s a picture of people taking your picture so you can have a picture of you taking pictures of people taking pictures”
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.
first programs – potato salad and quadratic formula
By mid-day, I had this little flash of insanity and began downloading >250MB of development stuff from a certain site.
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
Last talk for the year (barring a possible surprise talk at Code Retreat): a talk about current trends in web technologies at DevCon UPHSD. This time it’s a 20 minute talk that I had to drag out to 40+ minutes to cover for the missing speakers. Good thing I wasn’t pressured to deliver it in English.
So yeah, we had 2 missing speakers, leaving Alvin and I to handle everything.
But surprisingly, this DevCon event was far better than the one in DLSU (read: a more prestigious university) mainly because the students were really interested in what the two of us have to say. Sure, our talks may have been boring for most of the audience, but by the time we left the campus, we’ve fielded over a dozen questions, mostly from students who approached us after the event ended.
In comparison, AFAIK, only one student asked a question in DLSU.
Did a lightning talk for DevCon DLSU last Wednesday. Not really liking the end result. My decision to deliver it in English is mainly to blame: I wrongly guessed that La Salle students would react better to English than Tagalog (the latter I prefer when giving talks), and all I got from it was having my lack of practice look more obvious.
I think the worst part about my talk was the way how the “sarcastic-whiny-tone” I use in my normal everyday Tagalog creeped into my usually more professional sounding English voice. I’ll probably have to do weeks of voice retraining to eliminate that. =/
Anyway, here is the video of the talk as well as the slides.
Now there are two separate installers, a Ruby 1.8.7 + Rails 3.0.10 installer and a Ruby 1.9.2 + Rails 3.1.0. Here’s a table to give a quick comparison between these two installers with RailsInstaller thrown into the mix:
RailsInstaller 2
RailsFTW (Rails 3.1)
RailsFTW (Rails 3.0)
Ruby version
1.9.2-p290
1.8.7-p352
Rails version
3.1.0
3.0.10
File Size
~55MB
~20MB
~10MB
DB Adapter Gems
sqlite3, pg, tiny_tds (MS SQL Server)
sqlite3, mysql2
Additional Features
git, DevKit
–
Internet Connection Required?
Yes
No (Bundler will fail to connect to server but new apps will still work)