Heavydeck.net: A Developer Blog Worth Browsing

This is a genuinely fun blog to dig through — clearly documents everything from PIC microcontrollers and Sega cartridge hacking to networking quirks and clever little scripts, all with the same “let me actually test this claim” energy. It spans decades of side projects: retro hardware (a Sega Master System flash cart, an i8085 microcomputer build), embedded programming war stories, networking deep-dives (airplane WiFi, ISP congestion, WireGuard vs OpenVPN), and one-off software curiosities like a QR code generator or a one-line HTTP server. It reads like a proper hacker’s logbook — practical, skeptical of hype, and always backed by data or working code rather than hand-waving.

Standout post: “Demonstrably fair raffle draws”

The setup is delightfully human: a group vacation had more people than rooms, so they needed a raffle that even 40 suspicious friends would trust. Rather than just “trust me, it’s random,” the solution uses a real-world lottery draw as an unpredictable seed and HMACs it against each participant’s fixed identity (name, surname, DOB), then sorts by the resulting hash to rank everyone. It’s genuinely elegant:

  • Nobody can rig it in advance (the seed doesn’t exist yet)
  • Nobody can tamper after the fact (the participant list is published beforehand)
  • The whole thing is independently reproducible by anyone with a calculator and the published inputs

The code

import hmac

SEED=bytes('5495993812', 'utf-8')
DIGEST='sha3_224'

if __name__ == '__main__':
  draws = {}
  keys  = []
  with open('people.csv', 'r') as in_f:
    for l in in_f.readlines():
      l = l.replace('\r', '').replace('\n', '')
      h = hmac.new(SEED, bytes(l, 'utf-8'), DIGEST)
      key = int.from_bytes(h.digest(), 'big')
      keys.append(key)
      draws[key] = l + ";" + h.hexdigest()
    keys.sort()
  with open('draw.csv', 'w') as out_f:
    for key in keys:
      out_f.write(draws[key] + '\n')

What makes it impressive isn’t complexity — it’s restraint. A dozen lines solve a real trust problem cryptographically instead of procedurally, and he doesn’t just claim it’s fair: he ran it a million times over different seeds and plotted the win-rate distribution per participant to prove it’s statistically flat.

The pattern across the site

That “explain the problem, build the minimal fix, then verify it empirically” pattern shows up repeatedly — whether he’s benchmarking scp vs tar on a log scale, comparing lossless image compression, or measuring UART latency on a microcontroller versus a PC. It’s a blog for people who like their claims backed by receipts.

Worth a proper browse if you’re into hardware, networking, or terse-but-correct code.