Building Latex Documents with Waf

Every since I started using Dropbox to store my academic research and projects, I've been looking for a solution that allows me to build LaTeX documents without dirtying up the document's directory. Normally I would just ignore the files, but under Dropbox, each time I build the document the files are synchronized to the server. Since there is no way for you to ignore files in Dropbox (please, please, if you're reading, give us a .dropboxignore file) I had to come up with another solution.

Go Examples #1 - Channels and Goroutines

Hanging out in the #go-nuts IRC channel on, we get asked lots of questions about channels and goroutines. While I don't claim to be an expert on either of these topics, and the official resources are incredibly good, I threw together a quick example program and figured I would share it here.

How I use online photo sites

I should probably start this post off by saying that I'm a but of an amateur photographer. I try to bring one of my cameras with me whenever I travel and take pictures that I think are interesting. I particularly like to take photos of my friends in interesting places, since then other people are more able to enjoy the pictures I take. I've purchased two Canon DSLRs, the original Canon EOS Digital Rebel and the more recent Canon EOS 450D (also known as the Digital Rebel XSI). I also have a point-and-shoot camera for when I need something more convenient, the Canon PowerShot SD1100IS. My main lense at the moment is the kit 18-55mm f/3.5-5.6 IS, alongside a 55-250mm f/4.0-5.6 IS and the "nifty fifty" 50mm f/1.8.

Lua Pattern Matching for Go

In October 2009, Google released a new programming language called Go. This post isn't meant to be an introduction to the language, since those can be found on all corners of the internet. Suffice it to say that it's a statically compiled systems programming language with primitive support for message passing concurrency, which is what drew me to it for my research. Over the course of the past few months, I've implemented a number of programs in Go and I've found it to be a really interesting language. I definitely enjoy being challenged to think of problems differently, and I've found that the solutions are very elegant and simple to understand.

A Twitter Primer for Facebook Users

Twitter is a microblogging social medium where updates are limited to 140 characters. Users can post status messages, photos, links and can also publicly converse with other Twitter users. Hidden in the back corner of Twitter is also the functionality that allows you to send private messages to another user, for when you need to pass sensitive information like email addresses that you don't want everyone to have access to.


More Recent Posts



James N. Whitehead II is an author, computer scientist who is currently studying for his DPhil/PhD at the Oxford University Computing Laboratory. This blog is a collection of his thoughts, projects, snippets, photos and any other bits that come along.