Pry Ruby Open

Requiring a reasonable Ruby REPL? Give Pry a try. It’s a gem install away with Rails integration not far behind. Today I give you a tour of Pry so you can decide if its right for you.

In what follows, I show my personalized Pry preferences, .pryrc, and workflow. Pry differs a little bit of the box, but I will show you how to get set up and I’ll tell you where what I do differs from the default.


SVN Ignore

Ever been dumbfounded by how hard it is to get Subversion to ignore files? I like a clean svn status and the following script makes ignoring the right things easy as pie:


IFC Apple Store

Obligatory photo of the new Apple Store in Hong Kong.


where_is Ruby

The other day I learned that Ruby 1.9 has a source_location method. At last, we can find out where methods and procs come from! What about modules and classes? Well their open nature means they aren’t strictly speaking defined in one place. But that shouldn’t stop us. Finding a primary location is only a matter of looking carefully.


QuickChecking Type Class Laws

Last weekend fate flew me to Sydney for AusHac2011. Ever since starting on my Haskell Tour presentation, I’ve been a little Haskell obsessed. AusHac is just the most recent symptom. In addition to seeking out others with the same condition, I learned how to use QuickCheck for verifying that types implement type class laws. In particular, I checked that Bool and Int both properly implement the Semiring class.


A Walk Around Hong Kong

Hong Kong is small island. Small enough that one man of unremarkable athletic prowess (me) within the span of one day (21 hours 45 minutes 5.5 seconds by my watch) can circle the perimeter on foot subject to the existence of roads, paths, fences, ferrel dogs, armed guards, and a propensity to get lost (distance totaling 92.8 kilometers). (See my annotated map for the route.) Such an undertaking may make for a curious self inflicted birthday present, but with turn of a decade (my third), what better way to reflect than to take a walk and collect some stories along the way?


iPad (and iPhone) Apps for Kids

My last list of recommendations specifically excluded children’s apps. So as promised, here are way more apps that you’ll actually want your kid to use. This list is heavily skewed towards iPad apps, though many of the apps are universal (meaning they’ll run on both iPad and iPhone) or there are iPhone versions also available if you search the App Store.

Let me also preface that I personally feel the iPad or iPhone (or iPod Touch) is a great device for kids. They take to touch interfaces so naturally, you’ll wonder if they’ll ever pick up a keyboard and mouse. Whether its for movies, reading time, education, or just play time, an iPad is a versatile child’s companion. Personally, I’d much rather have my son and daughter using an iPad or iPhone than sitting in front of TV. And perhaps best of all, as a small, portable device, they’re easy to take away. Of course, like any tool or toy, the iPad requires careful parenting. If you’re monitoring your child’s usage, or better yet, spending the time together, then I’m not too worried about iPad addiction.

Oh and finally, if you really want to protect that iPad, I’d recommend an Otterbox.


My iPad App Recommendations

Several family members and friends recently bought iPads and have asked me for app suggestions. While I’d love to do proper reviews, I haven’t had the time, so you’ll have to settle for this hastily cobbled together list of 50ish essential iPad apps. After trying out more then 600 apps at this point, they’re some of the few I regularly use, so I can recommend them with confidence. That said, the iPad platform is still young. Best practices are still evolving and new competitors are constantly entering the marketplace. I’m certain my own list of favorites will change going forward, but this should give you a solid place to start.


The iPad Life

I bought my first iPad about a month after the initial release. I say my first because we’re actually a two iPad family. I quickly realized that, first, I wanted the 3G functionality and, second, that the iPad could be a suitable replacement for Jenny’s old MacBook we were abandoning. So shortly after my first purchase, I bought a second and these two devices have become our primary home computing and entertainment devices. Throughout this first year of iPad life, I’ve meant to write my thoughts about it. The release of the iPad 2 has given me enough motivation to finally start writing.

I intend on this being the first of several articles, most of which will focus on app recommendations. But this first article will instead focus on the most important recommendations I can give: why you should or shouldn’t purchase an iPad.


Ruby and/or Precedence Surprise

In Ruby, and and or have the same precedence! Matz may not be surprised, but I really am. In Ruby && has higher precedence than ||. This is what we’re used to from C and its imitators. Therefore, true || false && false is true but, watch out, true or false and false is false. Observe the truth table:

x y z x || y && z x or y and z
true true true true true
true true false true false
true false true true true
true false false true false
false true true true true
false true false false false
false false true false false
false false false false false