Archive for the ‘Uncategorized’ Category

As Nathan Marz eloquently argues, you should write even if you have no readers. So I’m starting to write again. Here’s my notes on upgrading a fairly large project from Clojure 1.2 to 1.3. The first step was to just change the version number and re-build. Of course, that didn’t work – I got a [...]


If you make software for a big organisation, you hear a lot about ‘captured requirements’. I never really saw a ‘captured requirement’, but one morning I felt a flood of compassion for these fragile and sensitive creatures that we keep chasing and capturing, so I drew a picture of a ‘captured requirement’…


It’s as simple as the following code. The Conditional Tail Expectation risk measure tells you how much on average you will lose if your returns are in the bottom X% quantile, based on a bootstrapped projected distribution. It is distribution agnostic – you give it the past returns and it randomly rearranges them (with replacement) [...]


You must have noticed the adverts. Big, loud and ubiquitous. Even one at Vauxhall Bus station. I think they know what they’re doing. They want Chrome to become mainstream, because it’s not just a browser. It’s an operating system. Look at Chromium. Those who have seen applications run in a browser, now ranging from Google Docs, through Calendar, through to Doom online, know what I mean. Javascript running in a browser is now


This was first published in April 2006. Spring was a novelty. Even more so in a British life assurance company – that’s not your West Coast start-up. So please take it in context. I only re-post this, because it was the most linked to page on my old blog (with both positive and negative comments). [...]


I was delighted to find my old blog neatly folded and archived on the marvelous Wayback Machine. I spent hours trying to convert it to WordPress and eventually gave up and just dumped it, blogging some lofty nonsense about detachment. It turns out the Wayback Machine’s got it all – you can just get it [...]


I’ve been thinking about this the way Log4J, commons logging, SLF4J, Logback and the related libs blatantly swap classes with the same qualified names. Like, you take this jar out, put the other jar in and you’ve got a different implementation. One example is the StaticLoggerBinder – the interface is defined in the API.


def qsort(list:List[Int]):List[Int] = { list match { case x::xs => qsort(xs filter(_<x) ) ::: x :: qsort(xs filter(_>x)) case Nil => Nil } } print(qsort(List(4,6,5,0,2,3,1,7,8,9))) Short and sweet!…


Hacked!

26Sep09

OK, I was unfair on Google. The site had been hacked. I (or my ISP) should have been more careful. Yet, I don’t see what I could have done better, short of hiring a bunch of hackers to verify my ISP’s security procedures. Cause, really, there’s nothing in that web site as such that would [...]


I’ve been asking this question for some time now. When will Google become the next corporate monstrosity that we all love to hate? Two events from the past 24 hours tell me that time is coming. First event. I got an email from “adwords-support”, saying that “Your account XXX-XXX-XXXX has been suspended because we’ve determined [...]



Follow

Get every new post delivered to your Inbox.