Sport
C programmers commit fresh crimes against readability
Key Points
The Twenty-Ninth International Obfuscated C Code Contest – or IOCCC for short – is back again with the results of the 2025 competition. This year, one of the entrants has a unique new trick up their sleeve: a valid use case. When we reported on last year's event, it was had just been revived from a four-year hiatus, so we're happy to see it back so soon.
The Twenty-Ninth International Obfuscated C Code Contest – or IOCCC for short – is back again with the results of the 2025 competition. This year, one of the entrants has a unique new trick up their sleeve: a valid use case. When we reported on last year's event, it was had just been revived from a four-year hiatus, so we're happy to see it back so soon. As we write, the judging concluded some three weeks ago, but although there is a recording on YouTube, it's very nearly three hours long. It took a while to edit it down to individual clips for each winner, which is why we are covering it now. For many of these programs, you really must see what they do to believe it, and although it's generally not our preferred format, video clips are superb for this. There are no fewer than 23 winning entries this year, including a hat-trick of hat-tricks: three entrants, Yusuke Endoh, Nick Craig-Wood, and Don Yang, all had three winning entries each. We have room for only a few of our personal highlights, but we highly recommend reading all the winners – they are well worth your time. One element of the IOCCC is that the judges, Landon Curt Noll and Leonid A. Broukhis, invent new categories each time for each winning entry. We're using their titles, so if the subheadings initially don't make much sense, reading the relevant IOCCC pages might explain all… but we wouldn't rely on it. IOCCC29 – 2025/cable – Best imaginary emulator We cannot claim to have studied every result in every IOCCC. When the first one happened in 1984, this vulture was still at school and learning BASIC. However, this year, Adrian Cable's Subleq computer was the one that grabbed our attention the most. The reason is that we had already looked at it and what it does – or at least a closely related project. Unusually for the IOCCC, it has a real-life use case in software preservation. The idea of the Eternal Software Initiative (ESI) is to aid in the preservation of software after its original hardware platform no longer exists by implementing a computer architecture that is specifically designed to be emulated very easily. There's a sample implementation on GitHub. The CPU architecture isn't new; it's a One Instruction Set Computer called Subleq. OISC is the logical extrapolation of RISC: you can't reduce an instruction set any further than cutting it down to just one instruction. In this instance, that instruction is Subleq (subtract and branch if less than or equal to zero). Here's an explanation from 2020, and it wasn't new then – here's FPGA hardware from 2011 [PDF]. The ESI has implemented Subleq in software, built a C compiler to target it using LLVM, and ported Linux to it, complete with C and C++ runtime libraries. Run your emulator on that Linux, and you can bootstrap a runnable version of any hardware architecture from this tiny basis. And we do mean tiny. This is the IOCCC winning implementation of the architecture: #include #define o s[1&s[t=e++]?s[t]/4:t]/4,t b,y,t,e,s[38e5?s[memcpy(3[ g],6[s]+s,25