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

Developer? - you've got superpowers!

As developers we are surrounded by other developers in our day-to-day work-lives. And many of us have been writing code for as long as we can remember. As such we tend to normalise the skills that we have. In fact, we often underestimate the value of our skill set, since we work all day with other programmers who are just as, or even more, capable at programming that we are.


Read More

Getting setup with clojure

In this article we'll step throught how to get setup with clojure. By the end you'll have a working clojure installation and a simple "hello world" project that you can run through the repl and on the command line.


Read More

BTE gets an update

BTE is a python module for automated extraction of body text from web pages. By body-text I mean extract the main textual content from the page and throw away all the extra non-important stuff like sidebars, navigation bars, header, footer, etc. It can also be used to generate short teasers/summaries.


Read More


So after programming almost exclusively on Unix for the last 10 years, I recently found myself doing some windows desktop development.

And since a significant portion of those years were spent programming in python, I started playing around with IronPython as a way to explore the Windows API. One of the projects I build as a learning exercise is SimpleICM.

Read More

Opening the default browser on windows

The problem: I have a windows application with an embedded WebBrowser component. I want to write a function to open the default browser. When the use clicks on a link in the embedded window, I want this link to open in a new window or tab in the default browser (WebBrowser components seem to like to hijack any attempt to open a url).


Read More