Changelog (John Goerzen)
changelog.complete.org · Personal blog · on HN since 2008
John Goerzen writes about Linux, Debian, Emacs, systemd, networking, and self-hosted tools such as Syncthing and mesh VPNs.
What HN saysHN links it for posts on Syncthing, p2p versus centralized systems, a Linux pipe bug, and the vi versus Emacs debate.
79HN people shared it
23linked it in comments
124stories submitted
5.9Kstory points
3 months agolast shared
2008people per year2026
Most-shared posts
- 1Count me as a systemd convert5 people · 130 points · first shared 2016 · 137 comments on HN
- 2I introduced my 5yo and 2yo to startx and xmonad. They’re delighted.4 people · 727 points · first shared 2012 · 193 comments on HN
- 3The Xz Issue Isn't About Open Source4 people · 22 points · first shared 2024 · 1 comments on HN
- 4Easily Accessing All Your Stuff with a Zero-Trust Mesh VPN4 people · 4 points · first shared 2023 · discussion on HN
- 5Silent Data Corruption Is Real3 people · 319 points · first shared 2017 · 150 comments on HN
- 6After over a decade of Vim, I’m hooked on Emacs3 people · 185 points · first shared 2018 · 161 comments on HN
- 7The Disaster of Python 33 people · 75 points · first shared 2019 · 49 comments on HN
- 8ARM is great, ARM is terrible, and so is RISC-V3 people · 68 points · first shared 2025 · 18 comments on HN
- 9Pipe Issue Likely a Kernel Bug3 people · 5 points · first shared 2022 · discussion on HN
- 10Consider Security First3 people · 4 points · first shared 2024 · 1 comments on HN
- 11Debian developer prompted to revisit FreeBSD after 20 years2 people · 354 points · first shared 2015 · 125 comments on HN
- 12Make the internet yours again with an instant mesh network2 people · 317 points · first shared 2022 · 142 comments on HN
- 13The Python Unicode Mess2 people · 284 points · first shared 2018 · 272 comments on HN
- 14Drawbacks of P2P and a defense of Signal2 people · 179 points · first shared 2021 · 210 comments on HN
- 15Dead USB Drives Are Fine: Building a Reliable Sneakernet2 people · 125 points · first shared 2022 · 82 comments on HN
What HN people wrote when they linked it
photonthug · 2025-06-04
This is really cool but at first it was not that clear whether the project is serious or made in a recent decade.
Clicking around eventually took me here [1] with some cleaner prose, a publish date, etc although it’s more blog than reference. HN will probably like it since we love to hate the modern state of self hosting email
https://changelog.complete.org/archives/tag/nncp
pabs3 · 2022-06-21
The followup blog post says this is a Linux kernel bug:
https://changelog.complete.org/archives/10390-pipe-issue-likely-a-kern…
jgoerzen · 2022-06-01
I think Syncthing is an under-appreciated tool! I wrote more about it at https://changelog.complete.org/archives/10219-a-simple-delay-tolerant-…
https://www.complete.org/parallel-processing-of-filespooler-queues/ discusses parallel processing in Filespooler. This isn't a design goal and may not be the best fit, but when everything's just a file, some tricks are possible here.
Another interesting use case is one-to-many and many-to-many; https://www.complete.org/filespooler/ describes those.
jlkuester7 · 2022-02-12
Was recently reflecting on this excellent piece comparing and contrasting p2p/federated/centralized systems: https://changelog.complete.org/archives/10216-the-hidden-drawbacks-of-…
The drawbacks for p2p and centralized systems seem to be mostly inherent to the technical requirements necessary for things to function.
The downsides of federation are more practical (who/how deploys and maintains the servers). Good reminder that organizational structures like technical "communes" need more emphasis!
melling · 2014-12-20
Well, the "best editor debates" do keep people from being insular. :-)
Are the vi keybindings really better for your RSI? I've heard different stories. For example,
http://changelog.complete.org/archives/661-so-long-vim-im-returning-to…
There's a new ergoemacs mode that I haven't tried yet: http://ergoemacs.org
Personally, I spend more time using IntelliJ, Xcode, and Sublime these days, but recently I started using Emacs again for a bunch of .org stuff.
By the way, there's an Emacs StackExchange which will hopefully make emacs more accessible.
http://emacs.stackexchange.com/questions/2671/how-can-i-get-fuzzy-code…
CoffeeDregs · 2014-10-13
His follow-up is at: http://changelog.complete.org/archives/9241-update-on-the-systemd-issu…
wallflower · 2010-02-17
This classic essay always makes me chuckle. Especially when svn branching or mergeinfo goes awry
"If Version Control Systems were Airlines"
CVS:
"Watch out for layovers, though. It can take hours to merge new passengers into the formation properly, and it might take several attempts to take off afterwards."
SVN:
"At checkin time at the gate, if more than one person arrives with a copy of the same ticket, they are ushered into the “merging room” and each person is given a brick. The door is closed, something magical occurs, and the one person that emerges still able to walk is allowed to board the plane."
http://changelog.complete.org/archives/698-if-version-control-systems-…
rwmj · 2024-04-21
Your program will crash at runtime if you pass any string that isn't valid UTF-8 and you forgot to use bytes, and using .decode requires that your input has a valid, known encoding which is rarely true in the real world of messy data.
It's a problem with Unix filenames where the encoding is just a convention. A Python program that doesn't take great care can crash on a parameter that takes a filename even if that filename is just passed to a function like 'open' so no sanitisation or conversion is necessary.
This is a very real problem in hivex, our Windows registry library, where the Python bindings don't really work well. The Windows registry is a hodge podge of random encodings, essentially whatever the program that wrote the registry key thought it was using at the time. When parsed through Python as a string this means you'll get unicode decoding errors all over the place.
Also more in this article: https://changelog.complete.org/archives/9938-the-python-unicode-mess
sunshine-o · 2026-02-01
For those interested, I just found out that mycelium can, like yggdrasil [0], be used to create private overlay networks [1].
What could be used as an alternative to Tailscale, netbird, etc.
- [0] https://changelog.complete.org/archives/10478-easily-accessing-all-you…
- [1] https://github.com/threefoldtech/mycelium/blob/master/docs/private_net…
nyanpasu64 · 2023-09-18
Would it be practical to use mesh networking (eg. Hyperboria, https://changelog.complete.org/archives/10478-easily-accessing-all-you… to access your machines from remotely using their public key rather than a domain name you have to pay for and renew?
hommelix · 2023-02-01
Debian of course. See the story oft John Goerzen. https://changelog.complete.org/archives/1448-introducing-the-command-l…
Crontab · 2021-10-30
That kind of reminds me of this story from 2019:
https://changelog.complete.org/archives/9969-goodbye-to-a-15-year-old-…
oefrha · 2019-12-20
Just a rehash of
https://changelog.complete.org/archives/10053-the-incredible-disaster-…
https://news.ycombinator.com/item?id=21606416
Arguing that python3’s str model doesn’t work well with POSIX’s “any bag of bytes can be a filename” model. Plus new rants about surrogateescape which the author has learned since publishing the last article.
The author sure has a penchant for flamebait titles.
throw0101a · 2019-06-13
> Of course, but most of this kind of corruption is trivial to recover from with just retries, that's why checksumming there works, but not on the filesystem level, where it can only detect corruption.
FS-level checksum saves you from the situation when the underlying storage thinks everything is okay but it is not:
> This means there was a data error on the drive. But it’s worse than a typical data error — this is an error that was not detected by the hardware.
* http://changelog.complete.org/archives/9769-silent-data-corruption-is-…
* https://research.cs.wisc.edu/wind/Publications/zfs-corruption-fast10.p…
* https://news.ycombinator.com/item?id=13851349 (via)
It's not an either-or situation, but rather both-and hardware- and FS-level checks.
JoshTriplett · 2017-03-06
mwcampbell · 2016-04-30
Counterpoint from a former systemd skeptic who now likes it: http://changelog.complete.org/archives/9655-count-me-as-a-systemd-conv…
nisa · 2014-10-13
There is a new blogpost from the author that explains the problems: http://changelog.complete.org/archives/9241-update-on-the-systemd-issu…
TL;DR: systemd breaks badly (at the moment) when having to deal with non-standard setups (ZFS, cryptsetup)...
As for the eternal systemd debate... if someone as knowledgeable as the author (his publications: http://www.complete.org/Publications) can't debug it... we'll have fun times ahead.
alecco · 2010-06-24
Yes, the new compression algorithms (BWT and LZ77-based) are slower and require a lot more memory than DEFLATE (*zip) in most cases.
This guy did a not so rigorous analysis but it is mostly OK:
http://changelog.complete.org/archives/931-how-to-think-about-compress…
A little bird told me there's a better algorithm in speed/compression rate coming soon ;)
rntz · 2010-06-24
Testing them all on -9 is perhaps not a fair comparison. For example, according to http://changelog.complete.org/archives/931-how-to-think-about-compress… gzip -9 saved a tiny amount of space compared to gzip's default, but took significantly longer.
jsmcgd · 2008-10-08
This article talks about VCS as if they were airlines.
You or may not find it helpful. Hope you do.
http://changelog.complete.org/posts/698-If-Version-Control-Systems-wer…
pdimitar · 2022-12-23
Distributed chain-of-trust RSS would be nice as a start.
Above everything else though, I am missing a decentralized, globally automatically replicated, blockchain-like storage network.
Think software releases. Package X releases version 1.3.11. We should have that in an IPFS-like storage network + several hashes (SHA-2, SHA-3 and what have you) so it can never be tampered with. We should also have that version linked to the previous one -- 1.3.10 (a la Bitcoin transactions I guess).
That's only one application. Another one would be: a network of friends and families all sharing e.g. huge photo travel albums. Or, if they are into it, torrented movies or music. Game hacks even. Whatever, it should not matter.
Wanna dive deep into a rabbit hole? Here:
- http://www.nncpgo.org/ (pay no attention to bad site, the idea of the project and what has been coded so far is solid)
- https://changelog.complete.org/archives/tag/nncp
- https://www.complete.org/nncp/
That's what we're missing. Everyone constantly acts like hosting 10GB somewhere is a huge deal and I am honestly sick of it.
Were I to retire financially tomorrow I'd work tirelessly on all this until my brain can no longer do programming.
We need a new internet. Badly. We need it 10 years ago.
BONUS POINTS: ability to automatically exchange keys in a neat UI e.g. I send a special message to a friend: "Join my inner circle of shared storage" or some such, they click it and the software does authentication and checking…
theamk · 2022-03-09
Last time I have seen data damage was about 2005, this was multiple SATA drives connected to a regular consumer motherboard running Linux (sorry, don't remember the brands). If I remember right, I think there was an 8-byte block damaged every few gigabyte transferred or so? So a very high number of damaged files given I had a few terabytes of data.
I never found the cause, because I just switched to a completely different system to copy data. I know it was not disk-specific because this was happening on multiple hard drives, nor it was physical damage, as SMART/syslog were silent, and reading the disk again was giving correct data. Memory was fine -- not ECC, but I did run a lot of memtest's on it.
Later on, I found some blog posts which mentioned the similar problem and claim it was result of bad SATA card, or bad cable, or even bad power supply. I remember there was original one made by Jeff Bonwick on his ZFS blog, but I cannot find it anymore. Here is a more modern link instead: https://changelog.complete.org/archives/9769-silent-data-corruption-is…
I now have the homegrown checksumming solution which I use after each major file transfer, and I have not seen any data corruption yet (*known on the wood().