From: June Gardner Date: Tue, 18 Nov 2025 20:05:17 +0000 (-0800) Subject: Testing headers. X-Git-Url: https://where.june.codes/?a=commitdiff_plain;h=dddcdb063d7bcdd660dba498b88c50497a68c642;p=june.codes Testing headers. --- diff --git a/docs/log/2025/11/18/index.md b/docs/log/2025/11/18/index.md index 3867d45..50a6045 100644 --- a/docs/log/2025/11/18/index.md +++ b/docs/log/2025/11/18/index.md @@ -4,18 +4,24 @@ authors: - June Gardner --- +# "Pull Yourself Up" + I don't believe in bootstrappable systems, at least as they are commonly defined. -"This technology can be brought up from nothing via some series of steps that may or may not include precompiled artifacts." +> This technology can be brought up from nothing via some series of steps that may or may not include precompiled artifacts. That's the common (in my eyes) definition: bringing up a system from some prerequisites. You'll either have some binary blob (with or without source), or you're left to flip some bits yourself via front panel I/O. +# Dependencies + In my mind, a bootstrappable system is something that can be *understood from nothing* (or at least, some common base). That someone could walk in, fresh, knowing some set of concepts, and be *assured* that they can understand the system. -That's pretty common, right? There's a common "dependency tree" of concepts that everyone kind of takes for granted when they work on a project or in a field. But I don't think many of us have an eye on what that dependency tree (in many cases, it's really a cyclic dependency graph) is. +That's pretty common, right? There's a common "dependency tree" of concepts that everyone kind of takes for granted when they work on a project or in a field. But I don't think many of us have an eye on what that dependency tree is (in many cases, it's really a cyclic dependency graph). How much do I have to understand to work on Firefox? What about LibreOffice? How about Mastodon? Ruby? LLVM? tinyc? Someone's Forth project? A BASIC game written for the BBC Micro? +# Historical Trajectory + When the abstractions were thin, and the hardware was "weak" (giant airquotes here), the dependency tree of concepts was quite small. Even if you wanted to mess with writing assembly, or even machine code. This is why retrocomputing and small platforms have the appeal that they do. I have not seen these dependency trees shrink without sacrifice. I have not seen the cognitive load lessen, only become more obscure. I am tired of looking around and seeing invisible skyscrapers.