TrueNAS is just web-based configuration management. As long as you only use the web UI, your system state can be distilled down to the config file it generates.
If you do a vanilla FreeBSD+samba+NFS+ZFS setup, you'll need to edit several files around the file system, which are easy to forget months down the line in case of adjustment or disaster recovery.
Another obnoxious behavior is clients enforcing lifetime requirements for domains they have no business imposing their opinion about: .internal and .home.arpa. These are specifically carved out for private use. If I want to roll my own CA with a 2.5.29.30 name constraint extension for one of these domains and hand out a 10 year wildcard certificate, I should be able to without interference from my web browser.
Additionally, Google and the PSL have inadvertently broken .home.arpa on Chrome by misclassifying it as a public suffix, while leaving .internal alone. A wildcard cert for *.home.arpa will not work on Chrome, but *.internal will, despite these two domains being essentially equivalent in purpose.
> I should be able to without interference from my web browser
You should be. From what I can remember, both Firefox and Chrome add exceptions to user installed certificates that disable requirements such as certificate transparency logs and even things like HPKP back when that was a thing.
It's easy to make a mistake and install certificates in the system chain instead (especially on Windows), but if you pick the right certificate store I don't think you should be having any trouble. That said, it's been a while since I last dealt with Chrome, maybe things have gotten worse.
Firefox does do the right thing and seems the most usable browser for private CAs. Chrome and derivatives mostly too, except the problem mentioned about the public suffix list. Mobile clients seem the most broken. I can't get iOS to work well with my private CA packaged into a .mobileconfig, but it could be my error as well.
Working for a great company in its heyday is a gift - one that I wish for everyone. Stories like this are a comfort when the industry is near its nadir, and reminder that the industry moves in cycles, and all glory fades. I got my turn at Facebook in 2010. A bunch of times I'd see a name I'd recognize pop up in internal discussions: an esteemed classmate or colleague had joined, and you knew with all this talent concentrating in one place, good things were to come.
I worked at Disney Animation during the 90s. Yeah, my career may have peaked 30 years ago but not everyone gets a peak like that. "A gift" is the best way to describe it.
I think the author is also very skilled, considering porting part of UNIX to a new architecture almost all by himself as a sophomore.
I admit everything is simpler back then, but again tooling is bad and docs was just Lyon's book.
Putting myself in the shoes. I don't even know where to start. Honestly it would be an interesting project to port xv6 from RISC-V to another architecture WITHOUT the help of Internet and AI.
Or was it the grit and pushing through the pain of banging his own head against the wall many times while dealing with mysterious errors and compiler warnings that made him very skilled?
I fear the current state of our industry eliminated the possibility for not-great, not-skilled juniors to embark in these journeys such as these to become great and skilled seniors. And I'm afraid that sooner or later we will all regret it.
As usual I think it is combination of skill, luck and hard work. There are people who do enormous hard work but just do not have skill to create impact. And there are many highly skilled people but not motivated enough or likely they just not in right place at right time to create consequential things.
> I fear the current state of our industry eliminated the possibility for not-great, not-skilled juniors to embark in these journeys
It is just that industry would be 100 or 1000 times larger than it was in 70s or 80s. Now not-great not-skilled people can get IT jobs in Accentures/IBMs of today which pays well enough for mediocre computer skills. When thousands of new PhDs in Computer science, electronics and semiconductors etc are available every year it is infeasible that mediocre folks can land in hardcore engineering roles.
> I fear the current state of our industry eliminated the possibility for not-great, not-skilled juniors to embark in these journeys
I think both sentiments are a product of their times.
Was porting an OS to a new architecture an extremely skilled thing? 100% then and 1000% today. With each new stage of advancement and increase in the layer of abstraction away from the core metal, newer developers no longer need to know how to program at the lowest level like targeting a processor architecture directly.
Software development from the 1950s till the rise of Windows as the standard was targeted not towards systems like we do today but towards processors and architectures. Processors at that time were simpler to write for. You could get the datasheet for whatever was the latest processor from a magazine, understand it inside and out and start writing software for it. Today I do not think there are more than a few dozen people who understand the x64 line of Intel processors at the same level. So times have changed. We write for operating systems now and not processors anymore.
I think that this is neither good nor bad. It just is simply how it is. I'm sure that people who worked on computers in the 1950s at the assembly level would have been complaining in the 1970s about people writing programs in C/Pascal. And so the cycle continues.
In fact, I think that the current state of generative models that output code is the perfect scenario to separate the wheat from the chaff. Their power function nature gives a clear divide between people who worked in software for the paycheck and those who love technology for it's own sake.
Judging from his biography, he should be skilled when he started working on it, but I don't think he knew very much about OS and compilers because these were pretty tough topics.
Also it took him around 2 years to get a basic port done (75-77) with a bit of help in the first year.
Anyway I believe there were a lot of head banging but he came out in pretty good shape.
Damn wish I had the time to do something like this. I'd like to rely ONLY on printed books and specifications for such a project (say port xv6 to some 32-bit arm processor), or something even simpler. But I really don't have the capacity sadly.
I wonder what stopped me being at that level. Mostly attitude, fear and perhaps aptitude. I liked things that were easy to install and follow tutorials. I got into Visual C++ as it actually installed as opposed to a magazine cover Linux distributionn that barely run. I think having the main system (gotta get those grades) takes most of the energy for most people. Either those who are happy to drop out or genius enough to both study and hack survive to do really cool stuff.
I think you have to do it when you have a project or on job. Since it takes a couple of years for him to get a working kernel, this type of long term commit is not available to many people.
I use KaTex (https://katex.org/) as part of static site generation, and I get LaTeX quality output (because it duplicates LaTeX's algorithm) using only CSS.
Using the eqn and troff suite in 2025 ... I'll just say there's a better way. LaTeX is arcane enough, but at least it is a universal standard in mathematical publication that it pays off to learn a little.
Oh, absolutely. I just have an unhealthy fascination with old tech, so I went into this with the specific goal of using eqn, rather than LaTex. I write LaTex all day for my day job, and I wanted a reason to use something else.
I made a test PCB with capacitor footprints repeated at various intervals, with measurement ports for controlled experiments. You can really see the performance difference between two and four layer PCBs, for example: https://jmw.name/projects/exploring-pdns/
I don't suppose you ever did the measurement with big-V decoupling, and with and without the big electrolytic? That would have been really interesting.
The maintenance window will morph into a do-big-risky-changes window, which means everybody in engineering will have to be on-call. Many years ago, when I newly joined a FAANG, I asked, "shouldn't I run this migration after hours when load is low?" and the response was firm, "No, you'll run it when people are around to fix things". It may not always be the answer, but in general, I want to do maintenance when people are present and willing to respond, not nights and weekends when they're somewhere else and can't be found.
Make your maintenance window Tuesday morning, then. The principle holds: not every stupid website needs to be up 99.999% of the time. You are not Amazon, and hell, even Amazon probably doesn't need to be online all the time.
People can come back in a few hours to order dropshipped crap.
Tuning feedback loops is a topic I've found to be fiendishly good fun, perhaps because of how obtuse the final result is. There is no at-a-glance way to see the connection between your high-level goals (closed-loop bandwidth and phase margin) and the implementation (the R and C values). Consequently, I make it a point to document the hell out of these circuits with parameterized simulations so that my future self has some hope of understanding and adjusting them later on.
A lot of applications are usually tolerant of suboptimal compensator design. I've participated in a few designs where these circuits were plucked from the datasheet reference design and never touched. There's a tradeoff between having a little bit of ringing vs. having an engineer model, tune, and test, and also adding to the BOM complexity with a bunch of different passive part values.
> they aint ever going to pop a North Korean threat actor bc they simply cant travel at will.
True, but the USG has a long memory and holds grudges. Even if they never travel, they have to be confident every future government of the country will have their back. What's the odds the North Korean or Russian regime substantially changes in their lifetimes? Probably higher than the chance a future US administration will stop caring about an outstanding warrant.
If you do a vanilla FreeBSD+samba+NFS+ZFS setup, you'll need to edit several files around the file system, which are easy to forget months down the line in case of adjustment or disaster recovery.