One of the fun things about working for Google is that from time to time interesting people come into the office to give talks. We had Richard Dawkins a few weeks ago, who gave an interesting if… uncompromising talk. Yesterday we had one of the founders of the Raspberry Pi foundation. For those of you who aren't aware, the Raspberry Pi is an extremely small (exactly credit card sized) and cheap ($25), yet very capable computing platform. The foundation is the charity formed to produce this hardware. Why is a charity building computer hardware? Because there is a need for…Nick Johnson
Which is to say: I am a software engineer. I studied computer science at university, I write software for a living, and I even sometimes code for fun in my free time. Here, I talk about it.
2011 was an interesting year for me. A lot changed. I turned 30. After 10 years of residency I moved away from Edinburgh, a city I love dearly, and took a job in London. With Google. As a result, I no longer work with Autonomous Underwater Vehicles for a living. Instead I build web services. Quite the change, I'm sure you'll agree. In the early months of the year I finally completed the corrections to my PhD, and then in the summer: I graduated. It took 6 years (all together) but I am now Dr. Nick Johnson. I also lost…Nick Johnson
At the end of the last post I wrote about the actual implementation of my Clockwork Aphid project, I said the next step was going to be display simplification. At that point I'd generated a few landscapes which were just starting barely starting to test the limits of my computer, though they were nothing like the size or complexity I had in mind. That said, it was looking at landscapes containing 1579008 polygons and it was obvious that not all of these needed to be put on screen. Moreover, because my landscapes are essentially made up of discrete samples (or…Nick Johnson
Some time ago, I wrote a series of posts about language choice for my Clockwork Aphid project. In the end I decided to start the project in Java, this being the language I'm most comfortable with. Once the project reaches a stable state, with some minimum amount of functionality, the plan is to port it to C++ for comparison purposes, this being the language which is likely to provide the best performance. I still plan on doing this, but I've also decided to add a couple of extra candidate languages to the melting pot and get an even broader comparison.…Nick Johnson
Dog food, the common noun, is reasonably self explanatory (pro tip: it's food for dogs). Dogfood the verb or dogfooding the verbal noun, though, might require a little bit of explanation. At the root of it is this: if you make dog food, you should feed it to your own dogs. There are essentially two reasons for this: If you don't personally test it, how will know if it's any good? If your dogs don't eat it, why the hell should anyone else's? The same principle applies to software. Even more so in fact, as it's something you're more able…Nick Johnson
It seems that people really enjoyed my post about the computer history museum. At the time I wrote it, I was worried that it might constitute just a little bit too much nerd, so I held back on my initial impulse to put in more pictures and gush enthusiastically about how awesome it all was. With hindsight, perhaps I can afford to ignore that particular mental stopcock, at least for a little while. I do not, I regret to tell you, have anymore pictures of the teapot. I do intend to buy myself a Melitta teapot at some point quite…Nick Johnson