This is part 1 of a series about building a CPU out of small components implemented in CPLD. Here's the rough outline of the series, I will update it as I write each post. The CPU is actually built and works well, so I'm looking forward to writing the later …
read moreOther articles
Better Bike Light Firmware Through Reverse Engineering
In mid-2015, I backed the “DING Bike Light” on Kickstarter. It seemed like a neat idea, Australian company, more bike light lumens more better. When it eventually arrived in mid-2017, it really lived up to the description. Awesome!
Because Eddy was riding her bike a lot more than I was …
read moreProgramming a XC9500XL CPLD with a Raspberry Pi
I have no idea why anyone would want to do this, but I have this largely-ill-conceived project in mind to make a functional CPU out of small building blocks, each implemented in a CPLD. The CPU is designed, simulated, has an assembler and a basic compiler with some simple programs …
read moreFixing a Wine compatibility bug — Part 1
I use an excellent program called Cut2D by Vectric for generating toolpaths for CNC milling, and SVG files for laser cutting. I find it much simpler to use than other programs, but still does everything I need for 2D machining. If only their more advanced programs (VCarve, Cut3D, etc) weren …
read moreZigbee packet capture
I’ve been struggling with getting the lights to work reliably. In particular one situation which is causing a lot of problems is when you turn on room, the lights should all send an “announce” ZDO. I find that the coordinator, on average, sees about 75% of them.
What this …
read moreModifying a Dillenger RPAS sensor
I got an electric conversion kit for my bike at the end of the last year. It’s fantastic -- I’m riding heaps more and loving it! But unfortunately I had a lot of difficulty making it fit my bike -- e.g. the manual mentioned “file off a thin layer …
read moreOsram Lightify REST API
I’ve made lots of progress on the home automation project. Lights, switches, groups, actions, colours, oh my!
The main part of this project is the Osram Lightify bulbs that we put in when we renovated the house. Basically very similar to the Phillips Hue but cheaper. However, when I …
read moreMy grandfather’s multimeter
I found this while going through some boxes of parts last weekend:

I can remember using this as a kid, first learning about electronics. My main memory though is how easy it was for the plugs to break off the probe leads. None of this fancy flexible wire that we …
read moreRussian locksmith
An accidental project that I forgot to write about at the time…
A friend of mine at work came to me with a problem -- he has some special key fob thing to get into his apartment building, and no way to get a second copy for his partner. Or the …
read moreTwo weeks of projects: Day 12
Still really distracted by that amazing list of blogs from yesterday. Two (related) things in particular really caught my attention though and I spent a lot of time reading today:
- http://davidad.github.io/blog/2014/02/18/kernel-from-scratch/
- https://www.gitbook.com/book/0xax/linux-insides
Turns out, last time …
read moreTwo weeks of projects: Day 13
Time to talk about the home automation. I feel like this week has quickly turned into “Jim reads interesting stuff and writes about old projects while not actually making progress on those projects” but I’m OK with that. I lost a big chunk of today to other things that …
read moreTwo weeks of projects: Day 11
We arrived back from NZ first thing in the morning so the day was a bit of a write-off due to the very early start.
One of the most interesting blogs I follow posted a fantastic list of all of the best programming blogs to read. Even better, the post …
read moreTwo weeks of projects: Day 6–10
We went to New Zealand! Short trip, but lots of fun!
{% include figure.html url="/img/0*jk8KJ_OEUaAG_n4S.jpg" %}
I read “The Big Short” on the plane -- the movie was amazing and the book was just as good. I also really enjoyed “Flash Boys” so will have to check out …
read moreTwo weeks of projects: Day 5
Today felt productive but really that’s just because the things I was working on were easier. Lesson learnt!
Now I have a fully functional assembler and disassembler, and a mostly functional emulator. It can run that program from yesterday.
I spent a long time talking with some friends last …
read moreTwo weeks of projects: Day 4
Today was mostly spent on the CPU project again. With the lexer and parser done yesterday I pretty much finished the assembler. I’m still really slow in Go but it’s getting better.
Some background on the CPU design:
- It has 6 8-bit registers, A-F
- A is the accumulator …
Two weeks of projects: Day 3
First weekday and the first deviation from the project list while I spend time learning Go. This of course meant setting up a dev environment, so down the Emacs Lisp rabbithole. All set up now though and so far the Go+Emacs set up is probably one of the nicest …
read moreTwo weeks of projects: Day 2
Today I went sailing -- practice day for the upcoming CYCA Winter Series. There’s no such thing as a bad day on the harbour and today was no exception.

OK, I didn’t actually go up the mast today -- that photo is from a while ago. I did spend a …
read moreTwo weeks of projects
After over seven years there, Friday was my last day at Google. I’m going to be starting at my new job in two weeks time, so that gives me 16 days (over a million seconds!) of project time. I’ve been getting my workbench set up over the past …
read moreTwo weeks of projects: Day 1
After the leaving drinks and a big sleep-in it was a bit of a slow start. The garden got the first bit of attention -- a pair of Hardenbergias to grow up the pergola outside.

Then we spent a bunch of time looking at shelves for under the stairs. In the …
read moreSailing: Sydney to Hobart 2014
The Sydney to Hobart Yacht Race (official site, wikipedia) is an Australian yacht race that goes 630 nautical miles from (unsurprisingly) Sydney, NSW to Hobart, Tasmania. It’s part of the CYCA’s Blue Water points series. Growing up in Australia, it’s a big event -- most Australian’s have …
read moreGame review: Copycat
Copycat by Friedemann Friese / 2F-Spiele & Rio Grande Games
I was visiting the US and randomly found myself at a board game night with some friends of friends. One of the guys did this cool thing where he took a really basic kids game, Ghost Blitz, and played it with us …
read moreGame review: Netrunner
Android: Netrunner by Fantasy Flight Games (FFG)
This game is pretty unique compared to most of the other games I play regularly. It is two-player only, and each player plays a completely different role with different rules and cards. The premise is that one player is an (evil?) corporation trying …
read moreGame review: Love Letter
Love Letter (Tempest Edition), by Alderac Entertainment Group (AEG)
I got a copy of this while in the US a couple of years ago based on the review at Playtest. You should read his review, it captures my feelings about the game perfectly.
My favourite part about this game is …
read more