here's my full breakdown / reverse engineering of some of the last contest's winners (go to ioccc . org to submit an entry yourself!)
www.youtube.com/watch?v=by53...
here's my full breakdown / reverse engineering of some of the last contest's winners (go to ioccc . org to submit an entry yourself!)
www.youtube.com/watch?v=by53...
Thereโs just about ~10 days left to make a submission to one of my favorite programming contests:โจโจ
The International Obfuscated C Code Contest!
โจHighly encourage you to take a peek and enter, it really brings out some of the best programmers (and compiler wizards).
hmm, interesting, but it does seem like a bit of funny marketing ha.
L0 seems to be a renamed, more efficient L1
The logic was essentially, hey system fonts are pretty good nowโฆwhy not just default to whatโs native?โจโจ
Apple getโs apple fonts. Windows getโs windows fonts.โจโจ
Thereโs a great blogpost from Mark Otto, GitHubโs director of design about the switch:โจ
markdotto.com/blog/github-...
Hence, the early web was veryโฆTimes New Roman-y.โจโจ
Github was arguably one of the first major players to go *against* the custom font / FOUT hell of the mid 2010s.
โจโจIn mid 2017, they essentially re-adopted the 90s method of using direct system fonts!
FOUTs were essentially unheard of in the 90s. โจโจThe entire world basically defaulted to web-safe fonts.โจ
In the rare instance someone got fancy with something non-standard, the browser would just fallback to a default.โจ
This didnโt really change until 2010!
First, ignore JavaScript for a second.โจ
Even with plain HTML+CSS, itโs quite common to get FOUTs these days.
โจFOUT = Flash of Unstyled Text.
AKA temporarily load a system-native font, then when the custom font finally rolls in, "snap" to the new font.
Websites today load wildly differently than in the 90s.
Arguably, worse.
The HTML spec was designed to be read sequentially, so text used to stream in, then display instantaneously. Basically, read -> paint.
A lot of todayโs modern weirdness comes fromโฆfonts.
From AMD, more on the performance side:โจ
โImproving the Utilization of Micro-operation Caches in x86 Processorsโโจโจ
The other is more security angle + some interesting timing attacks:โจ
โUC-Check: Characterizing Micro-operation Caches in x86 Processors and Implications in Security and Performanceโ
The smaller pieces are thus able to fit entirely in the uOP cache, avoiding thrashing the decoder constantly.
There are quite a few papers on the subject, but these two give a really nice overview:
99% of programmers shouldnโt care; but those who squeeze the absolute maximum last bit of performance out of x86 pay attention.โจ
Loop Fission is an interesting technique, where you spit up a complex loop into multiple smaller sequential ones.
x86 โlooksโ CISC, but all of the engine is RISC underneath.
You donโt *want* to wake up the decoder if you donโt have to. It wastes about ~6 cycles + extra power.
Usually, the compiler aligns everything for you...as long as your loop is small enough.
There is one problem though.โจโจ
You canโt see it.โจโจ
Well, not directly at least. Youโll never find uOPs in the binary.โจโจ
But! You can see the โshapeโ of it with performance toolsโฆand there are subtle tells in the binary as well (hint, some nops).
Most programmers are taught that L1 is the โtop levelโ cache on x86.โจ
Itโs not quite true anymore!
โจIntel calls it the Decoded Stream Buffer (DSB), AMD the OpCache.
Only enough room for ~4,000 micro-ops, but there are interesting ways to take advantage of it.
hahaha
25.02.2026 22:13 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0
(side note: most rand() implementations moved on to other LCGs, or mersenne twisters and suchโฆbut itโs arguable that 16807 is still quite ubiquitous!)
Original Paper if youโd like to read:โจdl.acm.org/doi/10.1145/...
Itโs kind of funny that so few listened. FreeBSD was still using 16807 in rand() all the way until 2021!
โจโจSo if you ever see that constant in disassembled codeโฆnow you know :)
That fits nicely in 32-bit hardware. Only a few instructions.โจโจ
Apple put it in CarbonLib, FreeBSD also used it; for a few decades it was kind of everywhere.โจโจ
A few years later they discovered that 48271 was a little better.
Specifically, a bit more even on spectral tests up to 6 dimensions.
They werenโt really trying to make a perfect algorithm; it was more about being โreasonably good and efficientโ.
โจ
Called the minimal standard, itโs a quick little multiplication routine, just one line:
x = seed ร 16807 mod 2^31 - 1
Today it feels trivial, but for decades random number generation was REALLY bad. Mostly IBM's fault.
โจTwo researchers, Park + Miller got so sick of bad RNGs, they released a paper to the ACM in 1988 titled:โจ
"Random Number Generators: Good Ones Are Hard to Find."
16807 is a very special number in Computer Science.โจโจ
You can find it in the Playstation 5 (freebsd 11), almost every Mac Classic game, and even the C++11 standard!โจ
Give it the right prime number, you can produce an evenly distributed sequence for over 2 BILLION values.
The original title of the paper if you want to search:โจ
โImplications of the Turing completeness of reaction-diffusion models, informed by GPGPU simulations on an XBox 360: Cardiac arrhythmias, re-entry and the
Halting problemโ
Boom. Thousands of simulated cardiac cells running at high speed on a single box.โจโจ
A fun benefit, you get visualizations for โfreeโ by tacking on a little render code to the end of the sim.โจโจ
Itโs certainly an entertaining read, even if the utility is questionable.
So why the Xbox 360?โจโจ
Mostly, computational bang for the buckโฆI also speculate they were trying to be funny. Consoles were somewhat lopsided in that era, you genuinely got a ton of compute if you knew how to use it.
The author writes some C++ for the simulation, ports some of it to HLSL shaders.
Now that youโve proven cardiac tissue is Turing complete, uh oh, itโs vulnerable to the Halting problem.
Thus, there is no general algorithm that can look at the state of cardiac tissue and decide if it will ever stop.
Arrhythmias are fundamentally uncomputable!
The author figured out you can build a NOR gate from heart cells.โจ
NOR is a universal gate, so you can build all the other gates out of NORs.โจ
Thus, arbitrary logic circuits, plus timeโฆboom you have a computer.
But wait! Computers have interesting properties:
The human heart is a Turing Machine.
Researchers figured it out with an Xbox 360.โจ
I realize how fake that sounds...but itโs real research published in Elsevier's Computational Biology and Chemistry journal in 2009.
Hearts are electrically excitable media.
god i wish there was an easier way
21.02.2026 08:21 โ ๐ 133 ๐ 3 ๐ฌ 13 ๐ 0
what do you mean by detector? like the actual image sensor?
I'm unfamiliar with the astrophotography world so I'm not sure how big they really get.
The physically largest image sensors I've seen are medium format...but I'm sure they go larger for other applications
Probably the most comprehensive paper Iโve seen on the overall subject of sensor noise is from MDPI, โThe Geometry of Noise in Color and Spectral Image Sensorsโโจโจ
Check it out here:โจ
www.mdpi.com/1424-8220/20...