By Killerlimpet (Own work) [Public domain], via Wikimedia Commons

What is Simple?

Consider these quotes: “Any sufficiently complicated program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp” – Greenspuns Tenth Rule Of Programming “Once you add group by, filter, & join, you can no longer claim to have invented a new query language, only a new dialect of SQL. With worse syntax…

Santeri Viinamäki [CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0)], via Wikimedia Commons

CodeMesh 2014 Day 1

I was at day 1 of CodeMesh this year (you can see Tim’s report on day 2 here). A quick recap: QOTD: There are 3 fire exits as marked, but we’re confident that Erlang programmers who die will be restarted. Keynote: complexity is outside the code Jessica Kerr & Dan North A good, entertaining talk that…

By brewbooks from near Seattle, USA (Orbicular Granite) [CC-BY-SA-2.0 (http://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons

CodeMesh 2014 day 2

So, I went to day 2 of CodeMesh this year, James having taken day 1. Here’s a brief round-up of what I saw. Chad Fowler – Keynote “Tiny” An entertaining talk, talking about how the concept of “seven plus or minus two” applies in all sorts of categories of things (although Chad definitely leans towards…

By David Ingham from Bury, Lancashire, England (P2204757 Uploaded by oxyman) [CC-BY-SA-2.0 (http://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons

More Clojure component patterns

Like the proper nerd that I am, I’ve been recently playing around with the National Rail data feeds, with a view to drawing some pretty pictures of quite how differently timely our train services are. So, when you’re developing at the REPL, it’s convenient to be able to cleanly shutdown and restart a n service.…

By Chris McKenna (Own work) [CC-BY-SA-4.0 (http://creativecommons.org/licenses/by-sa/4.0)], via Wikimedia Commons

LocationHistory visualisation part 3

I’m a bit like a dog with a bone about this LocationHistory thing (or a dog returning to his vomit?). Previously I had a bash at mapping my movements around London, then spent a bit of time trying to find out what the file format really was. This time, I’d like to tidy up and…

ml-dig

Why not program in Standard ML?

I decided to learn a language from the ML family recently, because we are seeing quite a few good candidates whose strongest language is F# or OCAML. So I decided to learn Standard ML. Yes, I know, that makes no sense. But wait… Standard ML is really small and easily learned. If you know another…

springtime

Lunchtime Hack: Decoding LocationHistory

Last month we took a look at how we might get our location history from Google and show it on a map. We found that the real deal is found at Takeout and consists of a file that’s mostly an array of lat/lng/time entries, but with some sort of ‘activities’ sub-elements sometimes. After a quick…

cables-straight

(defn reloaded/-main [] …)

I’ve been using Stuart Sierra’s reloaded pattern on a few Clojure projects recently, and I hit upon the problem of how best to use Stuart Sierra’s reloaded with a typical long running application. So, I thought I’d share one possible solution. Most of the code should be self explanatory, but there are a few things…

Honeycomb, 2001, Gavin Mackintosh, South Molton, UK. Creative Commons, via WikiCommons.

Java multi methods new home

I’ve split Java multi-methods out of LShift’s Java library. That’s mostly because Guava has equivalents for just about everything else in the library, but the multi-methods part is still unique, as far as I’m aware. You can find it here. You can raise tickets there as well. For more information, see the original post. Here’s…

ConorM_140625_0046_HIRESBW

Internship at LShift

Introduction Today it’s my last day of a 5 month internship as a Software Engineer at LShift. This has been a truly valuable experience for me. I am a third year student of Mathematics and Computer Science at Imperial College London and working here has taught me skills I would have not gained by just…