I wanted an app to start without a status bar for a full-screen introduction sequence, but then to reveal the status bar once the user got into normal navigation and usage.
Continue reading »Have you ever wanted to “slide up” a view controller into your UINavigationController’s hierarchical navigation stack? This turns out to be rather challenging.
Here I document my findings while exploring different solutions to this problem. I hope this helps some readers to better understand UINavigationController transitions and how to implement custom transitions, but also I hope that anyone with a better, more robust technique or two can chime in.
Continue reading »The lack of comment formatting in the XCode IDE is pretty painful. Here’s a way to get multiline comment blocks to really, automatically wrap at 80 characters (or whatever width you want).
Continue reading »Delicious does not provide any official means to export your inbox items. But for many users, the inbox is a critical archive of personal data. With the future of Delicious in peril, I’ve written this Ruby script which scrapes your inbox and produces a standard bookmarks export file.
Continue reading »Ever wondered how to access the class methods and class constants of an including class from a method defined in a mixin? The problem is that mixin methods run in a different scope than regular instance methods defined directly inside a class. The solution is to use self.class. and self.class::, as demonstrated in the following code:
If a new blog goes online and nobody is there to read it, does it make a statement?
Now that I’ve blown away your ego-mind, why not read about some deeply geeky ruby web development issues.
More about me here.
Request parameters are strings, right? Nope.
It might surprise you that Rack::Request will supply a hash object for request parameter values in some cases. Furthermore, the conditions for it are ultimately controlled by clients - not by your server logic. I’d like to explain the behavior, why it’s problematic, and how to correct it.
Continue reading »