Marshall Kirk McKusick, a FreeBSD core developer, hosts his FreeBSD courses, books, soft updates papers, and BSD history material.
HN commenters recommend his FreeBSD kernel course and book for learning operating system internals, and cite his soft updates paper in file system discussions.
This is sort of incorrect. The BSD daemon was originally drawn by Phil Foglio. As seen here https://www.mckusick.com/beastie/jpg/foglio.jpg
Lasseter did a later (more current and iconic) revision.
https://en.wikipedia.org/wiki/BSD_Daemon?wprov=sfti1
Also John did more than just direct Toy Story.
Lasseter was one of the founders of Pixar , directed several movies, took over the chief creative officer role for both Pixar and Walt Disney Animation, before eventually leaving after several allegations of sexual impropriety. He’s now heading up Skydance Animation for Larry Elissons son, and has a contractual liability clause for any further impropriety.
One of the big “never meet your heroes” examples, along with the other Pixar co-founder, Ed Catmull who was behind the industry wide wage fixing scandal. On the flip side he also invented so many technologies that are key to computer graphics today, including the alpha channel.
Somehow Steve jobs, famously abrasive, was the least problematic of the founders.
> The BSD Daemon was first drawn in 1976 by comic artist Phil Foglio. Developer Mike O'Brien, who was working as a bonded locksmith at the time, opened a wall safe in Foglio's Chicago apartment after a roommate had "split town" without leaving the combination. In return Foglio agreed to draw T-shirt artwork for O'Brien, who gave him some Polaroid snaps of a PDP-11 system running UNIX along with some notions about visual puns having to do with pipes, demons/daemons, forks, a "bit bucket" named /dev/null, etc.[3] Foglio's drawing showed four happy little red daemon characters carrying tridents and climbing about on (or falling off of) water pipes in front of a caricature of a PDP-11 and was used for the first national UNIX meeting in the US (which was held in Urbana, Illinois).
Wow, Phil Foglio as well? The origin story gets even more interesting. Here is a page that features the original artwork: http://www.mckusick.com/beastie/shirts/usenix.html
I understand the problem scenario with ext3/ext4 journalling you're referring to here and below.
However, HN runs on FreeBSD, and my understanding is that the combination of soft-updates + journalling there actually do provide atomic rename, even in the case of catastrophic failure. McKusick talks about it here: http://www.mckusick.com/softdep/suj.pdf
Also, just to anchor the discussion a bit, the HN code does use the "write foo.tmp; mv foo.tmp foo" trick all over the place. (Or at least, the most recent version of news.arc I've seen does.)
https://github.com/wting/hackernews/blob/master/arc.arc#L841
I recommend (by most expensive, to free):
Marshall Kirk McKusick's FreeBSD Intensive Code Walkthrough: https://www.mckusick.com/courses/advdescrip.html
Also, The Design and Implementation of the FreeBSD Operating System (2nd Edition): https://www.amazon.com/Design-Implementation-FreeBSD-Operating-System/dp/0321968972
Thirdly: grab a copy of FreeBSD (or OpenBSD) and (a) set it up in VirtualBox and SSH it into locally (b) use an old ThinkPad. Then grab the source code of the base system. Build and install it. And start reading code of things like usr.bin/grep/grep.c
A journal(-like) mechanism was added to soft-upates by McKusick in the 2010 timeframe:
* https://www.youtube.com/watch?v=_NuhRkiInvA (BSDCan)
* https://www.mckusick.com/softdep/suj.pdf
Which also allows snapshots:
* https://freebsdfoundation.org/project/snapshots-on-filesystems-using-journaled-soft-updates/
See also "Journaling versus Soft Updates: Asynchronous Meta-data Protection in File Systems":
* https://www.seltzer.com/assets/publications/Journaling-versus-Soft-Updates-Asynchronous-Metadata-Protection-in-File-Systems.html
In case you haven't already, you might want to check out the McKusick courses (available as videos). They're not cheap though, maybe you can find pirated copies.
I was fortunate enough to see some back in the VHS days when someone in a local LUG convinced their employer to buy them as a way to support FreeBSD and give the team something to watch together (and recruit from the LUGs via hosted viewings no doubt).
https://www.mckusick.com/courses/