Skip to main content


Showing posts from July, 2012

The TENMA 72-8730 IR Thermometer

Some time ago the folks at Farnell UK wrote to me offering to send me any piece of equipment they sell (up to a certain £ amount) on the condition that I review it. I racked my brains for something I'd want (excluding a free Raspberry Pi which was an impossible ask) and settled upon an infrared thermometer . They sent me a TENMA 72-8730 . It's a very simple to use device: point at it the thing you want measured and get a temperature reading. The display shows the current temperature and the maximum temperature read so far (this can be changed to show minimum). The thermometer does C and F measurements and has a backlight for the screen and a laser for aiming. The thermometer has a 10:1 spot ratio which means that the spot being measured will have a diameter of 1/10 of the distance away from the thermometer. Thus when measuring at a distance of 1m the spot has a diameter of 10cm. You need to get close to get a precise measurement. It's accuracy is given as

Some things I've learnt about writing

The big theme of my working life (so far) has been programming, and yesterday I published a short list of things I've learnt about programming . The second (smaller) theme has been writing. Since 1996, when my first piece of writing was published in The Guardian, I've written quite a number of articles for newspapers and magazines (including a recent 3,000 word special on Alan Turing for New Scientist) and a book . Almost everything I've written is non-fiction (except my parody startup CEO Brad Bradstone ), so my thoughts are about that sort of writing. I have nothing useful to say about writing fiction. Here are a few things I've learnt about writing. I hope you'll find them useful, as I think writing is a vital skill for almost everyone because good writing is simply good communicating and good communicating matters enormously in any job. 0. Practice Some time ago I wrote a blog post about blogging and in it I said "write, write, write":

Tim Robinson joins Plan 28

I'm pleased to announce that Tim Robinson has joined Plan 28 as a trustee. Tim is the man behind these incredible Meccano Babbage engines  and is extremely knowledgeable about the details of Babbage's machines. His bio: Retired engineer Tim Robinson maintains a strong interest in the early history of computing, particularly mechanical computing devices, and is actively involved in the restoration of these early machines and in the construction of working replicas of Charles Babbage’s conceptual designs.  Since its arrival in 2008, he has devoted much of his time to Charles Babbage's Difference Engine No.2 at the Computer History Museum in Mountain View, where he is responsible for the presentation, operation, and maintenance of the engine.  In 2003 Tim demonstrated a working model of the beautiful fragment of Babbage’s Difference Engine No.1, constructed in Meccano. After publicizing the design, the model has been replicated several times around the world. In 2006

Some things I've learnt about programming

I've been programming for over 30 years from machines that seem puny today (Z80 and 6502 based) to the latest kit using languages that range from BASIC, assembly language, C, C++ through Tcl, Perl, Lisp, ML, occam to arc, Ruby, Go and more. The following is a list of things I've learnt. 0. Programming is a craft not science or engineering Programming is much closer to a craft than a science or engineering discipline. It's a combination of skill and experience expressed through tools. The craftsman chooses specific tools (and sometimes makes their own) and learns to use them to create. To my mind that's a craft. I think the best programmers are closer to watchmakers than bridge builders or physicists. Sure, it looks like it's science or engineering because of the application of logic and mathematics, but at its core it's taking tools in your hands (almost) and crafting something. Given that it's a craft then it's not hard to see that experience

The Perl script the powered the Alan Turing petition

Back in 2009 I was the person behind the successful petition asking the British government to apologize for the treatment of Alan Turing. As I worked on this completely alone (mostly via email, Twitter and phone while commuting to work) I needed some assistance to muster enough interest. Part of that backup was the following Perl script. What it does is look for celebrities that had signed the petition. (Note that this script probably doesn't work any more because Wikipedia have changed their search functionality and the Number 10 petitions web site has been changed to no longer show the names of signatories). That script ran hourly via a cron job and its output was emailed to me. It works by searching for each the name of each person who has signed the petition (since the last time the script ran) on Wikipedia and then seeing if a page exists for that person. If it does then it looks to see if that person is British (in any variation) or Irish. If so, it would output the

Things I like about programming in Go

I recently wrote a blog post for CloudFlare about our use of Go . I thought it was worth following up with a bit more detail about why I like Go. In no particular order: 1. It's a fun language to write in That's hard to justify because it's very personal. But to me Go has all the power of C, and all the fun of a scripting language. Go breaks Ousterhout's Dichotomy . Things like slices make doing the sorts of fast pointer-based things I used to do in C safe and fun. And the fact that it's missing exceptions seems like a win because I much prefer dealing with errors when they occur. Variable declaration, particularly using := , means you get on with programming not doing a bunch of typing about types. And, lastly, gofmt means a complete end to code formatting wars. There's one true way. 2. CSP I was lucky enough to study at Oxford under Tony Hoare and so Hoare's Communicating Sequential Processes was an important part of the syllabus. And my