An introduction to Swift for Ruby Developers

For Rubyists who are accustomed to the benefits and comforts that come with programming in Ruby, Objective-C is not a particularly pleasant language to program in and the learning-curve can be quite steep. But that has changed significantly with the recent release of Swift.

The jump from Ruby to Swift is much smaller than the jump from Ruby to Objective-C. If you like Ruby, you'll probably find that a lot to like about Swift.

In this article I'll outline several interesting features of Swift and compare them with the equivalent features in Ruby.

Read More

Seven of my favourite programming books

I’ve read a lot of programming books over the years. My favourite programming text books are generally short, clear, teach you something valuable and don't add unnecessary fluff. 

Here is a short list of the books that I look back on most fondly...

Read More

Validating Emails in Rails (and other web frameworks)

Validating emails is an apparently easy task that turns out to actually be quite difficult. In this post I'll evaluate a collection of regular expressions used for validating emails that I collected from the web and show that most of them don't actually do a very good job of validating emails. I'll argue that when it comes to validating emails you should stick to a simple, minimalist approach.

Read More

Getting started with emacs for clojure development

Emacs is a great tool for clojure development. In fact you often hear people raving about the marriage of emacs and clojure without any clear explanation of if or why it's better than any other editor that you could use for clojure development.

I'm not going to get into why emacs is good for clojure development here. The aim of this post is to help someone who is looking to try it get up and running quickly, so they can try it for themselves.

Read More

What's in a name?

A while ago I started using Sqwiggle with a client. It's an app that helps remote workers collaborate. I like it and found it useful, but that's another story.

I tweeted about it, and one of the founders of sqwiggle replied, which got me thinking a bit more about naming.

Read More