This is something that’s caught myself out over the years, and I’m sure a lot of other people have done the same. When writing code or documentation, or even an email we leave out details we think are “obvious”. What we don’t think of is our own specialist knowledge - the invisible knowledge we have of our environment, or our context. These days I work on accounting software, but in addition to my software development degree many years ago I also started an accounting degree using my elective papers.

Inspired by this comparison of Swift and C# I’ve put together my own list of my favourite features of each language. My day job is a .NET developer, and I know C# and its pitfalls quite well. I’ve been playing with Swift as soon as it was released. Throughout these examples I’ll be concentrating on the syntax, I may leave some details unimplemented. Nulls / Nils In Swift nil-valued objects are opt-in.

Since I’ve been spending more time on reddit I’ve been somewhat annoyed at how some subreddits hide conversations inside emoticon text, mostly because it takes so long to read with all the hovering. Since Google didn’t bring up any leads, and the Reddit Enhancement Suite didn’t help, I created my own! Though when people find this they’ll probably tell me all about the much better solutions people have already made.


There’s been a seal hanging around the Wellington waterfront, and I managed to get this shot of the contented seal face


So I’ve been moving in to hardware hacking rather than software. I’ve been working in IT software for 8 years now, so something new is fun! Plus if you get hardware wrong you definitely know about it. First thing I noticed was lighting adequate for software work is useless for tiny hardware work, so I set about building a custom lamp for it. So, I started with a cheap clip-on desk lamp, and with some components from eBay and a LED pattern laser cut by Ponoko I set to work (pics in full post)

CNC, the DIY way

A couple of months ago I decided to do a little DIY air conditioning, more for fun designing circuits and programming microcontrollers. One thing led to another, and now I’m making a mini CNC mill out of spare printer and scanner parts. This will probably take most of the year to complete, but the planning is fun!

I’m sure everyone knows that Chrome is dropping h.264 video support for WebM. They claim it will enable “open innovation”. I have a few problems with this. Firstly, VP8 is probably patented (though it may not be), the algorithms are very similar to the h.264 algorithms, so the MPEG LA may have a claim. Also Google haven’t offered any form of indemnification or analysis to show the patents aren’t infringed. In many cases we’ve seen companies wait for popularity then sue those who can’t defend, one reason GNU doesn’t use GIF.


Super bio with markdown support COOL

New Zealand