February 2012
1 post
“regexes and our use of them suggest that we’re not allergic to density in...”
– James Iry has some interesting thoughts on the subject of verbosity and clarity in programming languages - arguing that the continued popularity of regular expressions shows that density isn’t an intrinsic barrier to readability, and rather, that our understanding of the underlying concepts...
Feb 15th
January 2012
3 posts
Thrift installation woes part II: Using Thrift...
More notes on thrift setup, mostly for my own reference, but hopefully they’ll be useful to anyone else in the same situation. So, following my last post, you’ve got thrift set up on your local machine. However, you’re using the highly useful kerl tool to work with different erlang versions, and you want to use both this and thrift with your project. This means you need to...
Jan 30th
Jruby on Elephants
A few months ago, I gave a talk at the excellent Ruby Manor conference about using Jruby with Mahout to do machine-learning (More specifically, to detect twitter messages containing pictures of kittens). There’s now a video of it online, as well as slides and code. One small additional note - my explanation of Logistic Regression is a little confused, and is subtly but fundamentally...
Jan 17th
Installing Thrift on Ubuntu Oneiric, with Ruby...
A few notes, to save my sanity if and when I run into this again. Get the thrift sources from SVN, untar the file, then add a Gemfile to the root of the source tree: source "http://rubygems.org" gem "mongrel", "=1.2.0.pre2" gem "rspec", "=1.3.2" gem "rake", "0.9.2" Then run bundle install. The Haskell bindings require the Binary library to be installed in cabal. This needs to be done globally,...
Jan 17th
June 2011
1 post
Automatically backing up a postgres database
I’ve got a web server I’m looking after that has a postgres database with some important information in it. The server’s filesystem itself is backed up nightly, but I want to make sure that there’s a dump of the database on disk before this happens. This clearly requires a cron job, and the use of the pg_dump command. However, I’ve got a few other requirements: I need...
Jun 8th
April 2011
1 post
What's the difference between the strict and lazy...
I came across this question while reading  Simon Marlow et al’s paper “Seq no more: better strategies for parallel Haskell”, which describes the Eval monad (representing the result of a parallel computation) as being equivalent to the Strict identity monad.  Now, it may seem obvious that it’s possible to have identity monads with either lazy or strict semantics, but...
Apr 25th
1 note
March 2011
3 posts
Making Nationwide's online banking play nicely...
I don’t like Barclays Bank. I don’t like their President, I don’t like their attitude to tax payments, and I definitely don’t like the extent to which they invest in the sale and manufacture of weapons. As a result of this, I’ve moved my bank account to Nationwide, who so far have been most impressive, apart from one small issue. I use the wonderful FreeAgent software...
Mar 24th
Mar 20th
Mar 17th
February 2011
3 posts
Tom Morris: I'm not an experience-seeking user,... →
tommorrisdotorg: You want a design challenge? Design things people won’t regret doing when they are on their deathbed and design things people will wish they did more of when they are on their deathbed. Design things that one’s relatives will look back in fifty years and express sympathy for. Again, when you are dead, will your kids give a shit about your Foursquare badges? Tom Morris has...
Feb 10th
80 notes
Monads, Mo' Problems.
I don’t think I’ve really got anything new to offer that existing monad tutorials don’t, so I’m going to skip the seemingly compulsory step in the life of a fledgling Haskell programmer of writing a tutorial on monads. However, having recently started to properly ‘get’ what monads are and how they work, I thought I might write a little about how I got to that...
Feb 10th
Testing Sunspot with Test::Unit
So, after singing the praises of Cucumber at LRUG last year, I’ve actually become a bit more ascetic with my testing practices of late, and am using Test::Unit for everything, including acceptance testing (albeit with a layer of contest and stories sugar on top). I could write about why I chose to do this in detail, but it really comes down to one thing, which is ‘speed’....
Feb 8th
January 2011
2 posts
Making happs-tutorial stop whinging about...
(I’m reposting this little tip, first posted back in May because I’ve somehow managed to delete it since then, and it appears to have been useful to a few other people. I’m afraid I never did submit that patch.) So, as of last week, all of us at Harmonypark have started taking 10% time every Friday afternoon to work on our own projects, learn new things, and generally do...
Jan 26th
Epic win: why surjective Set-functions are...
I’ve been (slowly) working my way through Benjamin Pierce’s Basic Category Theory for Computer Scientists recently, with the imediate aim of understanding enough category theory to get to grips with David Spivak’s Simplical Databases paper, as well as for my general edification. It’s a really good, clear introduction to the subject, and is structured in such a way that...
Jan 2nd
November 2010
7 posts
I think this must be why people spend their entire lives in academia.
Nov 11th
A paradox: To reduce my to-read list, I read a paper. Reading yields >2 citations to add to the list, which therefore grows longer. Repeat.
Nov 11th
Generation Why? by Zadie Smith | The New York... →
“Watching this movie, even though you know Sorkin wants your disapproval, you can’t help feel a little swell of pride in this 2.0 generation. They’ve spent a decade being berated for not making the right sorts of paintings or novels or music or politics. Turns out the brightest 2.0 kids have been doing something else extraordinary. They’ve been making a world.”
Nov 8th
Today, I am immersed in Category Theory, a.k.a. ‘Abstract Nonsense’
Nov 6th
Nov 3rd
Day log, 3rd November 2010
I didn’t bother with a day log yesterday, as I was at my other job, washing casks and carrying sacks of malt. Today, however, I was back in front of the computer today, with a surprising amout to show for it; I’ve completed my final programming assignment, to create a visualisation of the Mandelbrot set, and have added a few extra features to it - the ability to scroll around the plane...
Nov 3rd
Setting up a Python development environment on...
I’ve got to do a few assignments in Python for university, and wanted to set up my laptop (running Ubuntu Maveric) to do this. When I’m doing any Ruby development I use the excellent RVM to create a personal (or even project-specific) development environment for my work, and wanted to do the same with Python, not least so that my tentative first experiments in it were sandboxed in some...
Nov 3rd
October 2010
23 posts
Day(s) log, 29th - 31st October 2010: Octopii,...
Aside from making Octopus costumes, and going to ATP’s Release the Bats concert last night (which was incredible - all the bands were great and it was a lot of fun), I’ve had a reasonably productive few days! Friday was my first Systems Infrastructure lecture,which looks like it’s going to be a really interesting course - we’re currently learning about memory management,...
Oct 31st
Day log, 28th October 2010
I got a couple of things done today, at least - the work I’m doing for Harmonypark isn’t quite finished, but is coming along nicely, and with a bit of work, it’ll be done tomorrow. I’ve been running our cucumber tests to check for regressions, and have found a few minor ones - I knew our story coverage was a lot more complete than our spec coverage, but I’m slightly...
Oct 28th
Oct 28th
Oct 28th
Oct 28th
Day log, 27th October 2010
I spent the first half of today working on my Mandelbrot set visualisation, the most notable improvement to which is that it now actually displays the Mandelbrot set, rather than the sort-of-looks-like-a-biohazard-sign-and-definitely-isnt-the-Mandelbrot set. I’m going to try adding a UI for zooming in and out and panning around areas of the plane - I’ve started implementing a...
Oct 27th
Oct 27th
6 notes
Oct 27th
Day(s) log, 23rd-26th Oct
I haven’t got around to writing a day log for each day between friday and now, but here’s the gist of what I’ve been up to: For Harmonypark, I’ve been working on some last-minute changes to Thrive’s authorization logic before we launch. At this point, we haven’t really got time to do things as neatly as I’d normally like, so I’m really just doing...
Oct 26th
Purpose of proof: semi-formal methods : Inside T5 →
A really interesting article from Edward Yang on the purpose of formal proof in real world software, that’s kinda related to one of my dissertation ideas. In a nutshell, Curry-Howard doesn’t guarantee the correctness of a program, as it provides a proof that the program does what it does, not that it does what it should do, and the sort of proofs we should be cultivating are tools for...
Oct 26th
Oct 26th
Oct 26th
Oct 26th
18 notes
Dissertation ideas
I’ve started thinking about what I might do for my Dissertation / Project, come April. It’s early days yet, but the areas in which I’m most interested (functional languages, formal proofs, information retrieval, language design) are probably the ones that I have to do the most work on over this year (my Mathematics is rapidly improving, but is still not quite there), So I think...
Oct 23rd
Day log, 22nd October 2010
I didn’t get quite as much done today as I’d planned - I popped out to meet a friend of a friend to discuss a web-based business idea they had that they wanted some advice about in the early afternoon which went on longer than expected and Vicky’s brother had dropped by to visit when I got back, so I had a pleasant, if not entirely productive afternoon. Ashamedly, it was the...
Oct 22nd
Midlands Graduate School in the Foundations of... →
Oct 21st
New Statesman - Labour let us down yesterday →
Oct 21st
My Extravagant Zsh Prompt / Steve Losh →
Oct 21st
Day log, 21st October 2010
(Chris Roos has started writing a short daily blog post outlining what he’s done during the day, which strikes me as a pretty neat idea, so I’m going to try and do the same.)  First up, some long overdue housework, then I spent a fair chunk of this morning working on my Architecture and Hardware coursework for university - a few exercises translating MIPS assembler statements into...
Oct 21st
Tom Morris - Keep your social media out of... →
Oct 20th
…and on the same subject, “Church-Turing Transatlantic IPA’ came out at 9.6%, and is sitting in a cask with a stupid amount of Chinook hop
Oct 17th
I finished reading “Discrete Mathematical Structures for Computer Science”, at last. *Pats self on back*
Oct 17th
Made a malt loaf with Maris Otter and Chocolate malts, proved with sediment from a batch of beer. The results are actually pretty tasty!
Oct 17th
September 2010
10 posts
(By which I mean a brew, rather than an all day drinking session)
Sep 30th
My plans, between now and Christmas: http://yfrog.com/ei161lkj
Sep 30th
tomz's libsvm-ruby-swig at master - GitHub →
Sep 24th
Betfair Data Home Page →
Sep 24th
Sentiment Analysis Takes the Pulse of the Internet... →
Sep 24th
LIBSVM -- A Library for Support Vector Machines →
Sep 24th