RailsConf 2008 Day 1 - pics and a summary

Day 1 of RailsConf 2008 was basically tutorial day (schedule) and started with my colleague here with me, Arun, missing out on Yoga on Rails and me sleeping until the first tutorial session. Anyway, I snapped some photos while trying to remain the unobtrusive tourist.

Here’s a shot of Portland Convention Center where it’s all happening:

Portland Convention Center - twin peaks outside


There’re queues for collection of badges after registering your attendance:

RailsConf Day 1 - registration queue


Patience in the queue rewarded me with a RailsConf badge/name tag:

RailsConf badge


I was at the Meta-programming Ruby for Fun & Profit tutorial in the morning. I think when I selected the tutorial it was before I’d seen Neal Ford and Patrick Farley’s (the speakers) presentation videos from elsewhere - I know Patrick presented at MWRC and enjoyed that video.

RailsConf day 1 - metaprogramming tutorial


So anyway, after the break I went over to the Refactoring Your Rails Application tutorial. Was pretty good, but I didn’t learn much I didn’t already know.

Lunch came in the form of a pretty box:

RailsConf day 1 - lunch


After lunch was the 2nd tutorial session and I went to both CI for the Rails Guy (or Gal) (by Chad Woolley) and Developer Testing Tricks (by Brian Takita). There were some scathing comments about how the tutorials were rather underwhelming so far in #railsconf on IRC. While I agree that the tutorials were rather underwhelming, I think I should have expected it. Oh well, I’ll know to skip them next time.

Later that night, at the Birds of a Feather session, after stealing a Pivotal Labs t-shirt (they’re launching a bug tracker, project management type app called Pivotal Tracker at RailsConf), Yehuda Katz (Merb and jQuery ninja) gave a presentation on Merb (geared towards Rails folks). It was a pretty interesting talk though there wasn’t much above what Ezra had presented previously at GoRuCo 2008 and at MWRC 2008 (I think Yehuda did one too but I can’t remember where now). Yehuda pointed out a (heated) discussion that happened recently on keeping Merb syntax as Rails-friendly as possible. I have no objection against a different syntax really, especially since Merb looks pretty well-documented in the source itself - would be nice if someone could point out an up-to-date Merb tutorial though.

Anyway, that’s it from me - as always, if anyone who reads my blog recognizes me at RailsConf, do say hi (#railsconf works too).

Command history meme

See this.

history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head

4605 cd
3576 svn
2141 ls
1701 ruby
1308 cap2
1066 ss
978 rake
867 sshb
688 rm
635 mate

cap2 is just my alias for Capistrano 2 (I use both 1.x and 2.x, since I’m lazy to upgrade some old Rails applications, ss is my alias for script/server. sshb is a shortcut for ssh with a certain port number for SSH daemons (i.e. -p 22) that we use in Bezurk (you know, security through obscurity).

Shokudo Japanese Food Bazaar (in Singapore) - don’t bother

Subscribers who read my blog for Ruby- or Mozilla-related posts should ignore this post, it’s another of those blogging as catharsis posts. To my defence, I haven’t done one of those for a really long time!

If you’re staying in Singapore and looking to try out the food at Shokudo Japanese Food Bazaar after it was featured in the local newspaper, my advice to you is, “don’t bother!” Why? In 2 words, horrible service.

Despite some positive reviews (yes, the decor is not too bad), my dining experience at Shokudo consisted mostly of getting the service crew’s attention (and failing spectacularly despite standing right at the counter) and being scowled at or avoided by most of the staff (which is not good, since being a bazaar-style restaurant, you needed to place your order at each stall manned by different members of the service crew).

My friends and I were speculating that either the staff got scolded that day (and reacted negatively to that), or they were just too stuck up because business was good. Either way, it was just terrible. When leaving, I even got rudely reminded that I’d left that one of those things they gave you to reserve a table. Did I mention the service was horrible? (Granted, there were 2 counters where the staff were attentive and actually quite friendly - this was at the macha drink stall and the katsu curry counter.)

What about the food? With such bad service I would say no one shouldn’t really care about the quality of the food - thankfully enough, the food is of a consistently mediocre level to even bother!

Has anyone had a similar experience at Shokudo, or was it just our unlucky day?

My very own X of the Year 2007

It’s about 9 days too late, but I figure it’d be fun to just throw these out and see if anyone else enjoyed the same things I did in 2007.

PC Game of the Year

This has definitely got to go to Call of Duty 4: Modern Warfare. The single-player campaign was short but visually impressive and amazingly realistic. It was like watching a movie in most parts. And really, sneaking by Spetsnaz just a few metres away in sniper ghillie suits and was totally pimp. Multiplayer is real good fun too, I’m still playing it now (usually on GamingSA.com servers as ‘konata’).

Special mention: World of Warcraft (yes, I quit it ages ago, but it’s still good for the early part of 2007 when I was still playing casually).

PSP Game of the Year

Yes, I got a PSP just this year. And yes, Jeanne d’Arc is the best game I’ve played and completed in a while. For those who don’t know, Jeanne d’Arc is a very accessible Strategy RPG (SRPG) that is very loosely based on Joan of Arc. It’s much easier to play than Final Fantasy: Tactics or Disgaea: Hour of Darkness and doesn’t leave you constantly wondering about missing out on secrets. Highly recommended if you’re looking for an RPG-like game on the PSP.

I haven’t had the chance to play many other PSP games, but look forward to getting deeper into Disgaea: Hour of Darkness (and highly anticipating Final Fantasy VII: Crisis Core in March 2008).

Anime of the Year

2007 is the year I switched my anime tastes from mostly shonen anime (like Naruto and Bleach) to the seinen genre.

My favorite anime for 2007 (this is a tough one) has to go to Lucky Star. I even went through a prolonged Konata-ism phase and even had a printout of Konata saying “Relax” pasted right above where I sit in the office.

Konata says 'Relax'


It’s therapeutic :)

2007 was a good anime year. Tekkon Kinkreet had an edgy, surreal drawing style but had a fantastic plot. I highly recommend it if you’ve missed it - it’s about 10 times better than your run-of-the-mill Princess Mononoke or Spirited Away type anime movies, in my humble opinion.

Potemayo’s moeblobs were just too funny to watch. Gochuko (below) had me LOL when she went around using tape to fix everything she sliced with her big scythe. At first appearances Potemayo may look like a kid’s anime but it’s really a work of comic genius for adults.

Gochuko from Potemayo


Genshiken 2 picks up where the 1st season left off and while the ending left quite a bit to be desired, on the whole it was enjoyable watching otakus cope with life (who knew it was so tough to get a job in Japan).

What about you?

What did you enjoy in the last year and more importantly, do you have any recommendations for an ani-otaku like me?

Living on the Edge (of Rails) - 1st week of the year edition

Yup, it’s time for your weekly dose of the changes on edge Rails, more or less covered in the latest Rails Envy podcast. Using edge Rails is neither arcane nor terrifying, and hopefully weekly reports like these will allow you to take control of your own release schedule with your Rails apps.

This week’s report covers changes from 31 Dec 2007 to the day the podcast was recorded (6 Jan 2007).

Caching changes

Looks like most of the changes from the 2.1 caching branch have been
merged into the trunk. Some key points:

  1. memcache-client has been vendored (included in Rails directly). MemCacheStore works out of the box in Rails now, no need to install the memcache-client gem!
  2. The caching code has been refactored and moved into ActiveSupport (ActiveSupport::Cache::*).
  3. Added ActiveRecord::Base.cache_key to make it easier to cache Active Records in combination with the ActiveSupport cache libraries introduced in this changeset.
  4. Fragment cache keys are now by default prefixed with ‘views/’.
  5. Deprecation: ActionController::Base.fragment_cache_store is now ActionController::Base.cache_store

Fragment caching now works in RJS and Builder templates

Yup, you couldn’t do fragment caching in non-erb views before - now you can.

Freezing Rails now automatically updates your Rails app

If you’re using edge Rails and use the rails:freeze:edge rake task, you probably usually forget to run (or maybe you’re not even aware of) rake rails:update to update your Rails app with the latest config/, scripts/ and javascript files from the version of Rails you just froze to. On edge Rails, the rake rails:freeze:edge task runs the rails:update task for you. +1 for convenience!

I prefer to use Piston so I’m gonna have to keep remembering to run my rake rails:update now and then!

Check out the related changeset.

Optimizations

Only 1 optimization in the past week worth talking about: the ActiveRecord::Base#exists? method is faster. It now uses ActiveRecord::Base#select_all instead of a more expensive ActiveRecord::Base#find that unnecessarily instantiates AR objects. (Check out the related changeset.)

Bug fixes