January 2010
2 posts
October 2009
2 posts
September 2009
2 posts
Speaking at qcon San Francisco
I’ll be speaking at qcon San Francisco on the 20th of November. Navigating The Rapids: Real-world Lessons in Adopting Agile will be a typically rambling affair, drawing on a multitude of war stories from the many projects I’ve work on at ThoughtWorks. Qcon is an invite only conference, so thanks go to Steve Freeman for inviting me to talk as part of his Technical Skills For Agile...
1 tag
A Build Radiator for CCTray Feeds
I spend most of my time working in team areas with other devs, as part of a team who check in frequently and who always use a Continuous Integration tool. When the build is broken, it’s a problem. Typically, a big problem - it should be the top priority of any team to fix a broken build.
The problem is that all of the tools out there provide web interfaces that work well on a desktop, but...
August 2009
1 post
The Lego XP Game at Skillsmatter
This is truly awful. A while back I did a run though of the Lego XP Game for Skillsmatter. I developed the game a few years ago with colleagues help by way of a training excercise. The game isn’t awful - I actually enjoy running it, and I get a kick knowing how many of my coworkers have run the game for internal and external purposes.
No - the thing that is awful - truly, mind-bendingly...
July 2009
21 posts
1 tag
Using Scala pattern matching to implement a URL...
I’ve been playing around with using Scala’s pattern matching support to create a URL handler for use with an embedded Jetty server. This little code snippet creates a Jetty handler that can not only match URLs, but even extract parts of the URL and pass it into the block
protected class SomeHandler extends AbstractHandler {
override def handle(target: String, request:...
Finally, mercurial push working over https on my own VPS. Now to write some code…
I have just recieved an IOU from the state of Califonia. Some people claim the govenment owes them money - in my case it’s true.
Getting my own mercurial repo up and running next on the list.
Upgrading my slice at slicehost was a dream. Updating gutsy to hardy on the command line more painful than expected.
Hmm - I’d love it if #tweetie had built in bit.ly support…
Robert S Mcnamara has died. How am I just finding out about this now?
Rather myopic AP piece on McNamara makes no mention of his work for the world bank. Bad journalism. http://bit.ly/ACfU3
O2 broadband now up and running. As efficient as it should be. Great communication from O2 - very impressed.
Well, setting up SMTP is a bit of a faff - they should realise most people already have an email account and make SMTP config more obvious
Given the leading topic, one suspects we may be seeing the end of the trending topics. Crowd sourcing only works when crowds are smart.
Currently experiencing the guilty pleasure that is watching The Waterboy. No, it isn’t Punch Drunk Love but Kathy Bates rocks
I’m officially in love with the shutter sound of the nikon fm3a. Now all I need are two more fast primes…
Camera has arrived. eBay, thou art the wind beneath my wings.
I like scala, but binary incompatibility between minor versions? Come on! http://bit.ly/ScalaXBuild
Is #mongodb too good to be true? Where’s the catch? Ah - their website is powered by Confluence…
Just watched: #Yellowstone on BBC4. Simply stunning - rivals Planet Earth for beauty. No idea why it’s hidden on BBC4…
Just won on ebay: Nikon FM3a. Might have to freeze myself and get a friend to thaw me out for its arrival date. Flawless plan.
Just read: #D-Day by Antony Beevor. By turns harrowing, entertaining and insightful. Recommended.
Now reading: Agile Estimation and Planning by Mike Cohn. Off to a dry start - I hope it picks up…
June 2009
3 posts
1 tag
When To Write An Automated Test
Too many large-scale tests can be a burden. So when asked “Should we write a test for this?”, I would of course respond that “It Depends”. I think it depends on three factors:
How easy is the feature to test?
What is the likelihood of the feature breaking?
What is the impact of the break?
A static link in a webpage is easy to test, but is unlikely to break. If you had...
1 tag
CRISPY Crackers
Is it me, or has someone created commons-rpc?
“The intention for this project is a very simple API to call different kinds of services (provider/technology). Crispy’s aims is to provide a single point of entry for remote invocation for a wide number of transports: eg. RMI, EJB, JAX-RPC or XML-RPC.”
You can read more at the CRISPY project home, found via infoq.
Filed in the...
May 2009
4 posts
1 tag
The Gumball
Here is the test - the one I fail frequently. Given a problem, how do you solve it? Often, too often, I get a solution for one part of the overall problem quickly, and zero in on it. I then create a solution for that part of the problem, but have one, unconnected part. It hangs around - orphaned from the complete solution which is required.
I have failed the gumball test. I tried eating the...
2 tags
Lazy Functions With Scala
This tripped me up recently - I was passing in a function to be executed periodically by a java.util.Timer. The original code looked something like this:
def addTask(seconds: Int)(task: Unit) {
val t = new TimerTask() {
def run = task
}
timer.scheduleAtFixedRate(t, 0, seconds * 1000);
}
...
addTask(5) {
println("Hello!")
}
The issue here is that when I called addTask,...
Is it me, or will Twitter not let me add followers via the website? Tested in both Firefox and Safari. I blame ruby…
moving magpiebrain over to tumblr: http://blog.magpiebrain.com/. Self hosting is too much work…