Top all-time · #2816
John Millikin
Personal blog · john-millikin.com · on HN as jmillikinprogrammingsystems
John Millikin's personal blog at john-millikin.com covers programming and systems. Since 2013, 26 different Hacker News readers have linked it 65 times, most often “JSON is not a YAML subset (2022)”. The last post was in 2024, but the archive is still widely read.
Software and articles by John Millikin.
Most-linked posts?
- JSON is not a YAML subset (2022)6 people · 9 mentions · first linked 2022-05-17
- No Haunted Forests4 people · 4 mentions · first linked 2018-11-01
- Notes on Cross-Compiling Rust on a Mac for a Raspberry Pi4 people · 4 mentions · first linked 2020-12-12
- Stateless Kubernetes overlay networks with IPv63 people · 6 mentions · first linked 2021-02-20
- Why I Ripped the Same CD 300 Times3 people · 3 mentions · first linked 2018-07-30
- Error Beneath the WAVs (follow-up to “Why I Ripped the Same CD 300 Times”)3 people · 3 mentions · first linked 2018-08-04
- Rust and dynamically-sized thin pointers2 people · 2 mentions · first linked 2024-06-02
- Improved Unix socket networking in QEMU 7.22 people · 2 mentions · first linked 2023-04-11
- vu128: Efficient variable-length integers2 people · 2 mentions · first linked 2024-05-21
What Hacker News says?
Another viewpoint: https://john-millikin.com/sre-school/no-haunted-forests
Comment linking /sre-school/no-haunted-forests
on “Dear Client, Here’s Why That Change Took So Long”Submitted Why I Ripped the Same CD 300 Times as a story · 761 points
HN discussion> When they've gone on an unauthorised excursion through some code that has say, safety critical or legal, concerns > especially if said code was rattling in the building around somewhere it might get into the code base. Reading code should never require "authorization". There might be some edge cases related to logistical technicalities (e.g. there's a security clearance/IP/trade secret/plain-text password concern)…
Comment linking /sre-school/no-haunted-forests
on “The Best Programming Advice I Ever Got (2012)”Submitted Gmail accepts forged YouTube emails as a story · 296 points
HN discussionThis discussion from a couple of weeks ago suggests it isn't that simple: not all valid JSON is always valid YAML if your definition of superset requires that JSON would be parsed the same with a YAML parser as with a JSON parser. If you're going to use JSON for config, it's better to use an actual JSON parser. https://john-millikin.com/json-is-not-a-yaml-subset https://news.ycombinator.com/item?id=31406473
Comment linking /json-is-not-a-yaml-subset
on “Ask HN: If Kubernetes is the solution, why are there so many DevOps jobs?”Submitted Unix Syscalls as a story · 287 points
HN discussion> the pod networking implementation (a whole virtual IP space!!) That part, at least, can be made simple: https://john-millikin.com/stateless-kubernetes-overlay-netwo... > DNS, loadbalancing, persistent volumes, monitoring, etc etc None of that is part of Kubernetes, and you'll need it (or not) regardless of how you choose to handle process scheduling. There's a sort of common idea that a "Kubernetes cluster" is an…
Comment linking /stateless-kubernetes-overlay-networks-with-ipv6
on “Ask HN: If Kubernetes is the solution, why are there so many DevOps jobs?”Submitted First Impressions of Rust as a story · 274 points
HN discussionKubernetes isn't IPv4-only. It makes very few assumptions about the network, and can easily be configured to use IPv6 (either directly or in an overlay). I wrote a small tutorial on exactly this: https://john-millikin.com/stateless-kubernetes-overlay-netwo...
Comment linking /stateless-kubernetes-overlay-networks-with-ipv6
on “Reasons Kubernetes is so complex”Submitted Debugging Win32 Binaries in Ghidra via Wine as a story · 94 points
HN discussionBazel can cross-compile Rust, but you need a linker that can produce target executables. Cargo has the same limitation. Apple ld doesn't support Linux as an output target, so you need to use GNU ld or LLVM lld instead. Code examples at https://john-millikin.com/notes-on-cross-compiling-rust#baze...
Comment linking /notes-on-cross-compiling-rust
on “Rust is actually portable”Submitted vu128: Efficient variable-length integers as a story · 93 points
HN discussionUnicode encoding is a rich source of strange behavior. A couple that come to mind: Decoders that try to restart on unexpected byte sequences: https://john-millikin.com/%F0%9F%A4%94/case-report-surugaya-... GHC 7.2 using Unicode to represent file paths on Linux (where paths are arbitrary bytes), an approach which was further explored in GHC 7.4 by using reserved codepoints. \u vs \U escapes in languages that added Un…
Comment linking /%F0%9F%A4%94/case-report-surugaya-mojibake
on “The Cursed Computer Iceberg Meme”Submitted Show HN: Anansi – a NoWeb-inspired literate programming preprocessor as a story · 57 points
HN discussionFor those really curious, the standard explaining the detailed structure of data CDs is free: https://www.ecma-international.org/publications/standards/Ec... DVD-ROM is here too, for comparison: https://www.ecma-international.org/publications/standards/Ec... And indeed there's really not much point in doing so. Any disc copy protection scheme trying to mess with CIRC codes, or worse, EFM codes, would have a really h…
Comment linking /%F0%9F%A4%94/error-beneath-the-wavs
on “Compact Disc Structure”Submitted Error Beneath the WAVs (follow-up to “Why I Ripped the Same CD 300 Times”) as a story · 46 points
HN discussionI feel we're already reaching a point where game preservation for older systems like Mega CD and PC Engine CD really need to have multiple rips that then weigh all the rips to try and correct for individual errors in each rip. In fact I'm pretty sure groups like Redump are probably doing just that. Fun related article: https://john-millikin.com/%F0%9F%A4%94/why-i-ripped-the-same...
Comment linking /%F0%9F%A4%94/why-i-ripped-the-same-cd-300-times
on “Compact Disc Structure”Submitted JSON is not a YAML subset (2022) as a story · 39 points
HN discussionGCP supports enough IPv6 that you can host sites on it with an external IPv6 address. The user's internal network addresses might be IPv4, but that's (hopefully?) a detail not exposed to the public internet. As evidence, my personal website https://john-millikin.com runs on a GCP e2-micro and is reachable from IPv6-only clients.
Comment linking /
on “Going IPv6 Only”Submitted No Haunted Forests as a story · 32 points
HN discussionIMO it's worth distinguishing between what the OS allows and what the OS vendor supports. The macOS kernel still has a lot of FreeBSD heritage, including the ability to make direct syscalls, but Apple only guarantees compatibility for syscalls made via libSystem. This is a reflection of historical differences in opinion about whether the stable ABI for an OS kernel should be the kernel itself (ala Linux), libc (ala…
Comment linking /unix-syscalls
on “A general overview of what happens before main() (2019)”Submitted Stateless Kubernetes overlay networks with IPv6 as a story · 24 points
HN discussionThis reminds me of “Why I Ripped The Same CD 300 Times” – https://john-millikin.com/%F0%9F%A4%94/why-i-ripped-the-same... (HN discussion: https://news.ycombinator.com/item?id=17649374 )
Comment linking /%F0%9F%A4%94/why-i-ripped-the-same-cd-300-times
on “Audio CD ripping – optical drive accuracy listing”Submitted Stateless Kubernetes overlay networks with IPv6 as a story · 23 points
HN discussionYAML is actually not a superset of JSON. https://john-millikin.com/json-is-not-a-yaml-subset https://news.ycombinator.com/item?id=30052633
Comment linking /json-is-not-a-yaml-subset
on “Helm local code execution via a malicious chart”Submitted Calling Python Libraries from Haskell (2010) as a story · 15 points
HN discussionNobody tell the JSON::XS CPAN maintainer you said that: https://metacpan.org/pod/JSON::XS#JSON-and-YAML Or John Millikin: https://john-millikin.com/json-is-not-a-yaml-subset
Comment linking /json-is-not-a-yaml-subset
on “A skeptic's first contact with Kubernetes”Submitted SRE School: No Haunted Forests as a story · 13 points
HN discussionSomething like? https://john-millikin.com/stateless-kubernetes-overlay-netwo...
Comment linking /stateless-kubernetes-overlay-networks-with-ipv6
on “A skeptic's first contact with Kubernetes”Submitted JSON is not a subset of YAML as a story · 9 points
HN discussion