I’ve read a lot of game reviews where the intuitiveness of a game is described: the control scheme and menu system can be rated by how intuitive they feel. Intuition is a useful concept, and means more than "easy to use" -- it imparts a sense of instinct; mental processes found in the subconscious.
Code can be intuitive too. Not intuitive to write, but to read. If this seems confusing just think about pseudo–code: beginners are immediately comfortable with pseudo–code but put off by the arcane constructs and symbols of a real programming language. Some languages appear more like pseudo–code: Ruby can be written clearly with little hand–holding for the interpreter. A few conventions must be learned: symbols and blocks usually confuse beginners, but once the basics are second nature code comprehension edges closer to instinct.
Read More →
I almost survived Future of Web Design unscathed. I say almost because I still have a slightly dull head, thanks to the after party and free drinks. I can’t quite remember why, but at one point I thought ordering a load of sambuca shots would be a great idea.
Carsonified's events have so far been a rare chance for me to meet up with fellow web designers and developers. This FOWD had a particularly friendly atmosphere, and I met lots of interesting people. The Carsonified team were professional and friendly, keeping the event ticking along smoothly.
Read More →
I went to the Ryan Singer Carsonified workshop yesterday. The title of the workshop was “How to design amazing web app user interfaces”. Ryan discussed his influences and processes behind 37signal's interfaces.
Ryan’s workshop covered:
Read More →

Deadline is a reminder web app I made. It sends out alerts through SMS, email and IM, and now it works with Mac OS too. I spent this weekend building a Mac cocoa app for it that integrates with Growl. You can download it here: DeadlineGrowl
Read More →

I use Secure Trading for Helicoid's payment processing. I wrote a payment processor plugin for our apps about two years ago, and it’s been in production since then. A few people have asked me to open source the code, so here it is: securetrading-rails.
Read More →
I’m starting a new series on Quite Useful called beautiful algorithms. I’m going to talk about the algorithms behind graphical effects, especially those from the demo scene back in the 90s.

Read More →
I just finished wrapping up a 5 part tutorial on building Snake in Ruby and Shoes. It looks like this:

Read More →
I went to GitLondon last week, a git training event organised by the developers at Codebase and GitHub. Scott Chacon from GitHub did the main presentation and workshop, which lasted from 9:30am until around 4pm, with Adam Cooke from Cobebase explaining how to set up Git on your own server.
Scott’s presentation covered everything from basic git commands to advanced commands and even the internals. He originally started using git several years ago when it was in its infancy, and built a system that required rsync–like features (but presumably more advanced than rsync). This means he has an interesting perspective on git because he’s familiar with the internals that most of us never see.
Read More →
I’ve been doing a lot of work with maps lately. Mainly Google Maps. Apparently, Google’s ToS isn’t as straightforward as I thought, and certain very reasonable situations render usage outside Google’s terms.
I’m not saying I don’t like Google Maps though, I’ve come back to it many times for dozens of projects over the years; it’s indispensable. However, there are open alternatives. I researched the open alternatives for a series of Quite Useful posts (my other blog):
Read More →
By Tube I mean the London Underground. I just finished writing this over at Quite Useful: Hack the Tube
The article features Ruby and JavaScript examples of using Tube Updates by Ben Dodson to get Tube status updates.
Read More →