29. January 2017

Structure of the ARM A64 instruction set

Earlier this year I bought a Raspberry Pi 3 to have as an AArch64 development machine. The fastest way to get familiar with an instruction set is to write a disassembler for it and I’ve made one for 64-bit ARM in R6RS Scheme as part of the machine-code project. The instruction set is called ARM A64, instructions are always 32 bits wide and they have a neat structure which is pretty fast to decode in software.

more

14. January 2017

Splitting Industria

Recently a friend lent me the book Start With Why by Simon Sinek. It made a lot of sense to me and made me look at my own projects in a new light. The Industria libraries is a set of libraries for R6RS Scheme that do, well, quite a few different things. There’s cryptography, compression, a few network protocols, various things, but also an assembler and a few disassemblers. It has many things, but it doesn’t truly have a “why”.

more

23. December 2016

Automated Testing of Zabavno

I had already been programming for twenty years before I started my current project at Ericsson. During my time in the project I’ve come to really appreciate a few things that were new to me, like Continuous Integration (CI) and automated testing. I recently setup CI for Zabavno on GitHub with a new test case generator and immediately found bugs.

more

10. December 2016

AI for the Columns Game

In the early part of the 1990’s there was a Windows game that I was playing on my father’s computer. I remember it quite fondly and recently found it in the Internet Archive. The game was Jewel Master by Peter Siamidis and it can be played online. I didn’t know it at the time, but it’s apparently a clone of a Sega game called Columns. Go figure. Even though I enjoyed it quite a lot I wasn’t quite good at it, and I’ve wondered what a good player would do. After my previous success with coded crosswords, I decided to give AI another go.

more