Metaprogramming in Ruby

Recently, I developed a configuration DSL that would populate a database. I found myself writing a lot of repetitive code to handle the DSL syntax, and thought that this would be a good case to programatically generate the methods.

more ...

Random text plugin for Octopress

Why a random text plugin? Just because I can. It's easy enough to implement and with just a little knowledge of Ruby and knowing how to search the internet for some JavaScript, it's a piece of cake.

more ...

Handling 404 errors with Octopress

Building a blog with Octopress can be a bit of a hassle at times. Having converted from Wordpress, I miss the "Page not found" error that Wordpress provides when you get a request for an invalid URL. Thankfully, with Apache, htaccess and a touch of code, you can create your own 404 page.

more ...

Semantic Versioning

Version numbering is a field on which you could talk for hours on end and still not make any sense out of it. Take package managers for instance; you have a package foo, that depends on package bar - now if it was as simple as that, we'd have no problems. It's more likely that you'd wind up with version x of foo depending on version y of bar, which in turn depends on version z of baz. So far, so good. Now, let's update baz to version z1 - OOPS! There are some changes to version z1 that break version y of bar, which means we need to revert to version z.

more ...

Stardates

Stardates are common usage in the Star Trek universe. You'd easily hear Captain Picard talking in the intro scene, "Captain's log, stardate 41325.9". These combinations of numbers are meant to give the viewer a sense of the future, without explicitly stating the exact timeframe in which the show occurs. Of course, we know that Star Trek: The Next Generation is set in the 24th century, but that's beside the point.

more ...