Posted by Sun 14 July 2013
last article, I mentioned that I was working on a little
application to automatically send a tweet when I publish a new
blog post. This is now complete and, if all goes to plan, a
tweet will shortly appear in my
advertising this item.
Posted by Sat 29 June 2013
I'm working on a small Clojure application that will update my
Twitter status whenever I post a new article to this blog.
already provide this functionality, but I thought it would be
instructive to develop my own solution. After a little
research, the tweeting component turns out to be very
straightforward to implement.
Posted by Fri 21 June 2013
In an earlier
article on optimization, we evaluated all the different ways
of splitting 13 items into sets of 5+4+4 and, applying
a cost function to each partition, found one that minimised the
total cost. It turned out that the partition 13=5+4+4
gave an optimal solution, but we didn't know in advance that
this would be the case: perhaps splitting the items
into 13=6+4+3 would have been better.
The careful reader may also have noticed that the algorithm we
used to generate the partitions produced duplicate entries. This
didn't matter in that particular application, as we were just
interested in finding an optimal split, but there are times when
we want a unique list. In this article we develop an algorithm
that generates a list of all the partitions of a given set
into n subsets.
Posted by Tue 11 June 2013
The other day I had to plan
sequencing experiments for our lab. Each sequencing
experiment takes a DNA sample and set of primers as input. The
primers and DNA are stored on 96-well plates, which are loaded
onto a Tecan liquid-handling robot for picking. We have to
generate 707 sequencing reactions from 436 samples, with the DNA
coming from 13 plates and the primers from 47 different plates.
In total, we have 47+13+8=68 plates in play (the 8 additional
plates are the destinations for the primer/DNA mix for
sequencing). The challenge is to split up the work into as few
experiments as possible, with the constraint that the Tecan
robot can handle at most 27 plates at a time. With this
limitation, we see that we need at least 3 experiments. But is
there a combination of input plates that will enable us to
complete the work in 3 batches? This problem is small enough
that we can use a brute-force approach that evaluates every
combination of input DNA plates.
Posted by Sun 24 June 2012
I recently uploaded my first module to
implements most of the functions from List::Util
for the Iterator::Simple
Posted by Wed 6 June 2012
Well, my new web site is up and running. I spent most of the
bank holiday weekend writing a simple content management system
to host the site, but I hope to move on to writing some actual
content RSN. This will be a technical blog with articles on
and whatever else takes my interest.
Posted by Tue 1 June 2004
This slim volume contains a wealth of information that will be of
interest not only to software developers, but to anyone
responsible for the deployment and operation of computer systems.
Indeed, if I had one complaint about the book it would be that the
title is misleading: it is not so much about secure coding as the
overall software development process, and relatively little is
said about coding per se. But do not let this put you off,
programmers will benefit from reading this book too.