10 Clojure one liners…

June 3rd, 2011

After the original 10 Scala one liners to impress your friends, and 10 CofeeScript one liners and 10 Ruby one liners, I thought I’d do the same in clojure – mostly as I’m playing with clojure at the moment and thought it’d be fun – I’m sure someone else has probably already done this!
Read the rest of this entry »

New Job

June 3rd, 2011

After five years at my previous workplace (as a consultant, then as a permanent) I finally made the jump to a new job – I’m now working for ThoughtWorks!
I have a long post all about the career change process that’s in the “to be finished” blog backlog, hopefully some time soon I’ll get it cleaned up and posted. But for now, I’m looking forward to awesome times with the ThoughtWorks crew.

Mocking functional code in Scala

March 27th, 2011

I’m having a love-hate relationship with Scala – it’s a nifty language with a huge pile of power, and a huge pile of complexity.

One of my main problems is that static typing sometimes makes it hard to test without jumping through a lot of hoops. Consider this code:

  def ingestAllFromDatabase() {
    solrIngester.clear
    personRepository.foreach(solrIngester.addDocument(_))
    solrIngester.commit()
  }
view raw code.scala This Gist brought to you by GitHub.

It’s nice concise code, relatively readable – this method sets up an ingestor, traverses a database, and for every record in the database it ingests it. Should be relatively straightforward to unit test, right? Read the rest of this entry »

This year

March 26th, 2011

Well, it’s been almost a year since I’ve blogged.  It’s not that nothing bloggable has happened – it’s just that too much that is bloggable has happened, and I keep getting caught up with grand ideas of big subjects.

I’ll try a new tack – post whatever comes up, briefly, and then if I find the time, post a more detailed follow-up.  Maybe that will get the juices flowing again.

A brief summary of the last year:

  • I ran an awesome R&D team – and we did lots of awesome stuff(tm) – the source of most of the geekery below, though a fair bit was done in my own time as well
  • I did a lot of Ruby / Sinatra / Javascript UI building – it’s a great way to rapidly develop web apps, though the javascript is growing and the ruby is shrinking these days.  Must find time to do some Node.js
  • I played a chunk with html5 and css3 – wonderful changes in the web UI world, that are making pretty sites achievable, without the horror of old-school html
  • I used a bunch of NoSQL databases, mostly MongoDB – it’s a little dodgy in parts, but it’s an awesomely simple and powerful beast.  And it makes simple app development a dream.
  • I did some big-data mangling on Amazon EC2 – EC2 is a wonderful magical kingdom for processing data.  It’s a pity that corporate masters tend to completely screw it up.
  • I did a bunch of reading about Lean, Agile, Kanban, Motivation, Change, and just to branch out a bit, Design and Typography.
  • Most recently, I’m in a new team that is using Scala.  I’m growing a complex love-hate relationship with Scala – I’ll have to write up my thoughts about it soon.
  • And I put up a few bits and pieces on github

Phew.  Lots of scope for more posts.  Lets see if I can keep it up!

Face the Face

April 10th, 2010

I’ve been playing with new features in html5 recently – there are lots of things getting a bit of media coverage, but the wider support of embedded fonts really caught my eye. By including an @font-face entry in your css file, and the appropriate font files on a server somewhere, you can get really nice typography, without needing to use flash-based hacks like sifr, or newer javascript hacks like cufon

Read the rest of this entry »