Three blog posts have been sitting in my drafts folder for a year. Inspired by Andrew’s post on posts that never made it, I’d like to describe them briefly, before I hit “delete” and move on.
“Doing it right with DataMapper”
As an old-school SQL guy, it took me a while to get my head around object-relational mapping but when I finally understood the concept, I was pretty excited. My first productive script was written using Ruby’s DataMapper. I planned a brief post outlining some of its features and how they could be applied to biological data.
I still like DataMapper a lot, but I realised that (1) I didn’t have anything especially insightful to say and (2) I was more excited about ORMs in general, as opposed to one in particular. So my advice is: if you’re yet to experience the “ORM way” of database interaction, take a look at several – ActiveRecord, DataMapper, Sequel – as well as the “NoSQL” options, e.g. MongoMapper for mongodb. You won’t be disappointed.
“On Bio* libraries”
This one was inspired by Chris and his post Not the Biopythonista I thought I’d be. It’s a great post that covered a range of issues: in particular, how best to contribute (or not) to the Bio* projects (Biopython, Bioperl) and what to do when your best intentions don’t pan out as you might have expected.
The post made me think (and still does today), but I found it difficult to address in a coherent way. I guess what I wanted to say is that many of the people who founded the Bio* projects did not start out as developers. They were (and still are) biologists who, on discovering that they needed tools which did not exist, wrote the tools themselves. It’s noteworthy that many of them have since gone on to run their own research groups in the life sciences, not in computational biology. I think that the mindset of 10 years ago was quite different to today, where bioinformaticians are trained as software developers. If you’re a young bioinformatics student with equal (more?) enthusiasm for elegant code as for biological discovery, this may go some way towards explaining the difficult, conflicted thoughts you have when you look at the Bio* projects.
“The sad tale of an abandoned side-project”
This really is sad. Not only did I fail to complete this side project, I even failed to write the blog post about my failure to complete it.
Things started quite well. I taught myself the basics of XUL and extension development. I reached the point where my browser contained a toolbar from where I could login to CiteULike, select a tag, see a drop-down list of references for that tag and insert a citation into each of the online editors.
And then – well, I just don’t know. Firefox 3 was released, which broke some of my code. I realised that bibliography formatting was a much harder task than inserting citations and would require me to write some kind of style library. Most importantly, I realised that it’s difficult to bring a side project to completion when you only get one or two hours a week to work on it. Other, more pressing tasks crowded in, I chose to spend my few hours of recreation in other ways and gradually, I just gave up. It’s a depressingly-familiar pattern that I’ve experienced countless times before and since, when it comes to “fun” projects. But hey, I very nearly had online reference/writing integration. Maybe one day.
With that, I hit “delete” and move on.