The Research Software Engineer

Some months ago I attended the 2012 Collaborations workshop in Oxford, something which I blogged about in my post The Researcher Programmer, a New Species?.

This then triggered some discussion on the LinkedIn group for scientific software engineering, and that eventually led to a collaborative paper, presented at this weeks Digital Research Conference, also in Oxford.

I didn’t find a link to any kind of proceedings and in the interest of the discussion thought I would reproduce the paper here.

Continue reading

Coursera-dl: A Coursera download script

I have blogged about in the past and as part of signing up to a number of courses I felt the need to easily download the videos, quizzes, notes, etc. locally for later use offline.

I quickly found a project on github (and there are a few) but wasn’t quite happy with the code. I cleaned it up to a relatively sensible state and it now does what I wanted it to do. The main additional features I wanted were: easily download multiple courses, support for quizzes/homeworks, and support for links to extra material (e.g, 3rd party sites, papers, etc).

Just do a “pip install coursera-dl” and then run as follows:

coursera-dl -u myusername -p mypassword -d /my/courses/ algo-2012-001 ml-2012-002

Code is in python and can be found on Github.

Some people have asked if they could donate something. If you wish you can do that here:

Donate Button

Update: if you have a feature request or want to report a bug please use the github issue system


Learning Clojure: What’s your Bieberscore?

Some time ago I read a tweet from somebody who was comparing lyrics from Justin Bieber and Queen. I failed to find the original tweet but paraphrasing it was something along the lines of:

Spot the difference, Queen: “Misguided old mule with your pig headed rules/With your narrow minded cronies/Who are fools of the first division/” Justin Bieber: “Fa la la la la la la, la la la la la la la…”

The scientist in me then thought it would be interesting to assign some numbers to this, how to quantify the difference? At the same time, in the spirit of the Pragmatic Programmer, I had been meaning to learn a new programming language. I wanted to learn something that was as different as possible to what I knew already. With a nudge from Paul Graham I quickly settled on a Lisp: Clojure. Having seen a number of talks, I have a great respect for Rich Hickey and was curious to experience what he came up with.

Continue reading