Programmers have long treated the C language with a mix of reverence and mischief. Few outlets capture that duality better than the International Obfuscated C Code Contest. Its latest edition, the 29th, produced 22 winners whose entries push the boundaries of what a functional program can look like. Some span just dozens of lines yet emulate entire machines. Others hide animations or sounds in code that appears to be little more than noise.
The Register reported on these fresh examples last week, labeling them crimes against readability. The piece captures the contest’s playful spirit. Yet the full picture runs deeper. These aren’t random messes. They represent years of accumulated knowledge about C’s quirks, preprocessor tricks, and undefined behaviors turned into features.
Consider Adrian Cable’s entry. A 366-byte program emulates the Subleq architecture, an esoteric one-instruction computer. It runs demonstrations including Mandelbrot set generation, Pong, and even a form of Linux. The code itself squeezes into nine lines while incorporating SDL for graphics output. Cable also contributed another winner that prints a salmon recipe using invisible Unicode characters, according to coverage from The New Stack.
Nick Craig-Wood secured three awards. One entry emulates a Nintendo Game Boy in 66 lines, with source code formatted to resemble the handheld console itself. Another offers a fractional emulator written in FRACTRAN that recreates a Commodore 64 maze generator. His third exploits Unicode to implement a Forth system complete with a spinning Mandelbrot zoom. Such variety underscores how contestants select different angles of attack on the same language.
Yusuke Endoh claimed another hat trick. His first dazzles with a Nixie tube simulator whose source code mimics the physical appearance of the display tubes. The second generates Lichtenberg figures, those branching patterns seen in electrical discharges. Most resilient of all, his third creates self-reformatting code. Run it and the program patches its own source, outputs a diff, and continues the cycle. Endoh has now won 23 times across contests. Mastery shows.
But the contest delivers more than visual stunts. Tomoya Ishida produced a 36-line generator of ambient ocean sounds saved as a WAV file. The effect soothes even as the implementation confounds. Jonah Uellenberg’s Pong game doubles as a quine. Execute the binary and it prints its own source code. That source contains whitespace carefully arranged to display the current game screen. Players move the paddle by supplying “w” or “e” as command-line arguments. The next run produces updated source reflecting the new state. Elegant. Maddening.
Gil Dogon contributed an entry that computes Euler’s constant with consistent precision tricks. A programmer known as jingp49, based in Taiwan, shaped source code like a TARDIS from Doctor Who. The program then renders an intricate ASCII animation of the show’s 1963 title sequence. Don Yang earned three prizes including one for a Zoltraak encoding scheme described as the most magical word. Another winner emulates an IBM 7040 mainframe. It translates a hidden program into ASCII art punch cards, feeds them to a simulated FORTRAN compiler, and produces an image of light visible to an observer near a black hole, referencing Jean-Pierre Luminet’s 1978 simulation.
Slashdot covered the announcement shortly after the June 2026 livestream ceremony. The site noted that submission volume and quality reached near-historic levels following a multi-year hiatus. “For IOCCC29, the volume and quality of submissions were at near-historic heights,” the official site states. Judges rewrote substantial portions of the rules and guidelines. They added fun challenges to many winning entries so others could explore them further after decoding the basics.
The contest began in 1984. Founders Landon Curt Noll and Larry Bassel set simple goals. Write the most obscure C program possible. Demonstrate the value of clear style through ironic counterexamples. Stress compilers with strange constructs. Reveal subtleties in the language. Provide a safe space for terrible code. And, above all, have fun. The official IOCCC site lists these aims verbatim. Forty-two years later the formula still works.
Obfuscation techniques have evolved. Preprocessor abuse remains popular. So do creative uses of trigraphs, digraphs, and operator overloading through macros. Some entries avoid common control structures entirely. Others embed data in unexpected places such as variable names or comments that aren’t comments. The 2025 winners continue this tradition while adding modern twists. One entry even incorporates elements that test large language models.
The New Stack explored this angle in an August 2025 article. Judges experimented with LLMs to analyze submissions. Results proved mixed. Models sometimes guessed high-level purpose but failed on implementation details. One winning program packs a 750-byte LLM inference engine. Judges doubt any current model could generate something comparable. “The people that wrote these programs put a lot of effort and skill. They are masters of the C language,” one judge remarked. Another added, “I don’t think any model any time soon is going to be able to produce code that good!”
Yet AI may still influence future contests. Entrants could use models to test how resistant their obfuscations remain against automated analysis. Or to brainstorm new tricks. The contest has already seen entries that rickroll judges or hide recipes in invisible text. Obfuscation as defense against machines feels increasingly relevant.
Critics sometimes ask why anyone would celebrate unreadable code. The answer lies in what these programs force their authors to learn. Writing at this level demands intimate knowledge of how compilers parse edge cases, how memory aligns on different architectures, and how small changes cascade through optimizations. Many winners later apply that depth to serious projects. The contest acts as both gymnasium and gallery.
Recent social media reaction on X echoed this tension. One user observed that C programmers treat readability like a personal insult. Another noted the religious conviction that instantly understandable code signals failure. The density of good obfuscated C can resemble mathematical notation. Not every idea translates neatly into prose. Still, the line between purposeful complexity and needless obscurity remains sharp. Several contest entries cross it deliberately.
The official winners repository on GitHub now holds the 2025 tarball. Each entry includes hints, build instructions, and explanations once the reader gives up. Because most participants do give up. That’s part of the appeal. The code mocks the reader. Then, after hours or days, a pattern emerges. The emulator reveals itself. The animation plays. The sound file generates waves. Satisfaction follows.
IOCCC30 is expected to open late in 2026. Judges encourage previous non-winners to refine and resubmit. They welcome new authors. The barriers to entry stay low. A working C compiler and curiosity suffice. Success, however, requires something rarer. The willingness to stare at the language until it blinks first.
These annual showcases do more than entertain. They remind professional developers that clarity serves communication but creativity sometimes demands compression. In an era of auto-generated code and massive frameworks, the IOCCC celebrates the opposite impulse. Strip everything away. Make it tiny. Make it strange. Make it work anyway. The resulting programs stand as artifacts. Proof that even after four decades C still hides secrets. And that some programmers remain determined to drag those secrets into the light, no matter how ugly the process looks.


WebProNews is an iEntry Publication