This is the final part of a five-part series of posts on compiling Amiga-specific C code on an (emulated) Amiga A1200. We’ll start with a machine with an empty hard drive, and over the series, build up to compiling an Amiga-specific program which uses the graphics library. Part 1 – Introduction and motivation Part 2… Continue reading Compiling Amiga-Specific C (Part 5 of 5)
Compiling Amiga-Specific C (Part 4 of 5)
This is part four of a five-part series of posts on compiling Amiga-specific C code on an (emulated) Amiga A1200. We’ll start with a machine with an empty hard drive, and over the series, build up to compiling an Amiga-specific program which uses the graphics library. Part 1 – Introduction and motivation Part 2 –… Continue reading Compiling Amiga-Specific C (Part 4 of 5)
Compiling Amiga-Specific C (Part 3 of 5)
This is part three of a five-part series of posts on compiling Amiga-specific C code on an (emulated) Amiga A1200. We’ll start with a machine with an empty hard drive, and over the series, build up to compiling an Amiga-specific program which use the graphics library. Part 1 – Introduction and motivation Part 2 –… Continue reading Compiling Amiga-Specific C (Part 3 of 5)
Compiling Amiga-Specific C (Part 2 of 5)
This is part two of a five-part series of posts on compiling Amiga-specific C code on an (emulated) Amiga A1200. We’ll start with a machine with an empty hard drive, and over the series, build up to compiling an Amiga-specific program which uses the graphics library. Part 1 – Introduction and motivation Part 2 –… Continue reading Compiling Amiga-Specific C (Part 2 of 5)
Compiling Amiga-Specific C (Part 1 of 5)
This is part one of a five-part series of posts on compiling Amiga-specific C code on an (emulated) Amiga A1200. We’ll start with a machine with an empty hard drive, and over the series, build up to compiling an Amiga-specific program which uses the graphics library. Part 1 – Introduction and motivation (this post) Part… Continue reading Compiling Amiga-Specific C (Part 1 of 5)
Capturing mutable variables is bad
I once got caught out by a really hard to spot bug in C#. I was automatically capturing a variable in a lambda, and that variable was mutable … it was a value defined in a for loop. I’ve created the simplest possible repro to illustrate the problem: (Don’t worry, my actual bug was more… Continue reading Capturing mutable variables is bad
Microsoft Family Safety on Windows 8
Before I get started, yes, I admit it. I am quite a Microsoft fanboy. Apart from Internet Explorer, of course. But for me to put pen to paper and sing their praises publicly means that I really like something. Last night, I created a user account on my Windows 8 machine for my daughter. “Is this account… Continue reading Microsoft Family Safety on Windows 8
Review of Pimoroni’s Pibow Timber
I got myself a Raspberry Pi last Spring, played with it a bit, and then put it away back in its packaging, in a drawer, where it has languished ever since. I think the problem was that as it’s a bare board, it’s not really practical to leave it out. So, last week, I decided to get… Continue reading Review of Pimoroni’s Pibow Timber
ServiceStack JSON Deserialization vs DataContractJsonSerializer
I used to have this horrid piece of code to deserialize a license stored as JSON: Along came ServiceStack.Text, and now I have this beautiful one-liner: Or using an extension method ServiceStack provides results in even clearer code: The simplicity and elegance of this just blows me away. What were Microsoft thinking when they came up… Continue reading ServiceStack JSON Deserialization vs DataContractJsonSerializer
Act While the Window is Open
An eloquent way of saying ”carpe diem” … The lessons of history would suggest that civilisations move in cycles. You can track that back quite far – the Babylonians, the Sumerians, followed by the Egyptians, the Romans, China. We’re obviously in a very upward cycle right now and hopefully that remains the case. But it… Continue reading Act While the Window is Open