Effectif Development

(agile web development and consultancy)

I've just arrived home from MicroConf Europe, which was the best conference I've ever been to. The things I learned and ideas I had will definitely have an impact on my working life, as will the new relationships forged with the people I met.

The homebrew package manager is a great way to install the latest version of lots of open source software on a Mac. It's also quite capable of installing older versions, should you need them, but it's not quite as obvious how you should approach it.

In version 1.9 Ruby introduced new syntax for hash literals whose keys are symbols. If you no longer need to support Ruby 1.8 it's worth updating your code, as the new syntax is more succinct. Doing it by hand would be painful, but with the Unix command line and a quick regular expression we can make the computer do the hard work.

As is often the case after a Mac OS X upgrade, installing Ruby gems that depend on compiled C code can require a bit of fiddling about. I've just upgraded my laptop to Mavericks, and lo and behold, the nokogiri Ruby gem won't install.

If you write in Markdown on a Mac you'll no doubt have dabbled with TextMate at some point. If you did, perhaps you discovered some of TextMate's marvellous Markdown mode commands, such as "Google for the highlighted text, and convert it to a link to the first search result" (if memory serves, it was Cmd-Alt-Ctrl-L)?

Editor support like that makes writing in Markdown very productive, but these days I tend to pen my blog posts in simpler editors. Luckily, with Markdown Service Tools you can now setup similar keybindings that work in any app built on top of Cocoa (which is pretty much all of them).

I've been reading Execute this week, a book about how we can act on inspiration to create great things, fast. It tells the story of how Drew Wilson conceived, built and shipped a competitor to PayPal in five days (as if to make the point, Josh Long and Drew Wilson wrote the book itself in a week). One of the ideas that has resonated most strongly with me is the "inspiration battery".

When a bug has crept in to your code that you're having trouble fixing, it helps to know when it was introduced. If you can prove which code caused the bug you can normally work out why. The git bisect command is here to help you track it down...

When was the last time you finished some web development work (on your shiny, modern operating system) only to find that it didn't work in IE8. Or in IE9. Or a reasonably recent version of Opera. If you're developing web sites profesionally, you need to test them in multiple browsers running on multiple operating systems. I used to maintain virtual machines running Windows that could connect to my local dev server. These days I use BrowserStack.