Pack Your Bags – Systemd Is Taking You To A New Home

Home directories have been a fundamental part on any Unixy system since day one. They’re such a basic element, we usually don’t give them much thought. And why would we? From a low level point of view, whatever location $HOME is pointing to, is a directory just like any other of the countless ones you will find on the system — apart from maybe being located on its own disk partition. Home directories are so unspectacular in their nature, it wouldn’t usually cross anyone’s mind to even consider to change anything about them. And then there’s Lennart Poettering.

In case you’re not familiar with the name, he is the main developer behind the systemd init system, which has nowadays been adopted by the majority of Linux distributions as replacement for its oldschool, Unix-style init-system predecessors, essentially changing everything we knew about the system boot process. Not only did this change personally insult every single Perl-loving, Ken-Thompson-action-figure-owning grey beard, it engendered contempt towards systemd and Lennart himself that approaches Nickelback level. At this point, it probably doesn’t matter anymore what he does next, haters gonna hate. So who better than him to disrupt everything we know about home directories? Where you _live_?

Although, home directories are just one part of the equation that his latest creation — the systemd-homed project — is going to make people hate him even more tackle. The big picture is really more about the whole concept of user management as we know it, which sounds bold and scary, but which in its current state is also a lot more flawed than we might realize. So let’s have a look at what it’s all about, the motivation behind homed, the problems it’s going to both solve and raise, and how it’s maybe time to leave some outdated philosophies behind us.

Continue reading “Pack Your Bags – Systemd Is Taking You To A New Home”

VCF East: [Bil Herd] And System Architecture

Last Friday the Vintage Computer Festival was filled up with more than a dozen talks, too many for any one person to attend. We did, however, check out [Bil Herd]’s talk on system architecture, or as he likes to call it, the art and science of performance through balance. That’s an hour and fifteen minute talk there; coffee and popcorn protocols apply.

The main focus of this talk is how to design a system from the ground up, without any assumed hardware, or any specific peripherals. It all starts out with a CPU, some memory (it doesn’t matter which type), and some I/O. That’s all you need, whether you’re designing a microwave oven or a supercomputer.

The CPU for a system can be anything from a 6502 for something simple, a vector processor for doing loads of math, or have a RISC, streaming, pipelined, SIMD architecture. This choice will influence the decision of what kind of memory to use, whether it’s static or dynamic, and whether it’s big or little endian. Yes, even [Bil] is still trying to wrap his head around endianness.

MMUs, I/O chips, teletypes, character displays like the 6845, and the ANTIC, VIC, and GTIA make the cut before [Bil] mentions putting the entire system together. It’s not just a matter of connecting address and data pins and seeing the entire system run. There’s interrupts, RTCs, bus arbitration, DTACK, RAS, and CAS to take care of that. That will take several more talks to cover, but you can see the one last Friday below.

Continue reading “VCF East: [Bil Herd] And System Architecture”