We Are the Last People Who Know How It Works
unix.foo
unix.foo
Please write your blog posts yourself. I don't want to have to parse through this stupid claude output to get to your point. Literally just posting the prompt would be better than this.
The top comment only based off of one sentence which to me doesn't seem AI. And the author is saying in comments here that it's not AI.
I am genuinely curious as I'd like to update my brain on how to detect AI slop if that's the case here.
This metaphor doesn't really feel coherent.
> "What is dying is acquaintance."
This is a very odd topic sentence.
> "The kids coming up will not feel this as a loss, and they are not wrong not to."
Claude loves stacking big piles of negatives and arguing both sides of everything.
> "I went looking the other night for a recording of a modem connecting. People keep them around like pressed flowers."
No they don't?? People don't keep recordings of modems connecting around like pressed flowers. I, of course, understand that this is a simile. The simile just does not make sense.
> "I played one back for no reason except to hear it."
Again, note the unnecessarily florid negative phrasing. It would be much more parsimonious to write "I played one back just to hear it"
> "I know that sound by heart. People will never know the machine that just played the sound back to me. Not the way I knew the one that used to make it."
> "The difficulty was the knowledge. You came to know that machine the way you come to know anything that pushes back. The resistance was the whole medium."
The X -was- the Y, twice in short succession, to say the same thing.
LLM text often just is missing the cadence of human-written text. It never slows down or speeds up; it keeps a relentless pace. Sure, a human can write like that, and I'm sure people do, but I find it enervating to read, whether it was a human or an AI that wrote it.
The bulk of your comment history seems to be finger-wagging these kinds of slop accusations on others. Maybe you're right with the others, but I definitely know you're not right on this one.
What you're pointing out here sounds more like you just don't like the style of writing and the attempt to add some nostalgia to it, which is perfectly okay to not like. That's not something I can do much about and I'm not forcing you to read the post.
Yet you clearly read the post, and I think we'd all get more out of hearing what you think of the underlying premise rather than you circling some adjectives.
What does it mean to be easy with a light switch?
I'm old enough to see this process in action; I used to be young and in possession of esoteric knowledge that made me infinitely in demand and now most of the things that young people have esoteric knowledge about is things that I don't particularly care about, and I'm left with a lot of finely honed skills to solve problems that have mostly been abstracted away.
What? Definitely not. I went to university and my first two years were subjects where I had to understand really deep levels of abstractions. I had to build logic gates, I had to work with hardware, wires, etc. I didnt see the point back then (I never used any of that professionally). The same about algorithms, databases, and a lot of things. But now I find it valuable and thankful that my professors (and whoever designed the career) considered important topics that I had to lear.
Please get used to this sort of depressive, absurd and out of touch tone from HNers, it’s literally all they do now. Don’t bother calling people here hackers anymore, they have checked out emotionally and spiritually.
Me and OP aren’t super heroes, we can’t do what a team of talented individuals created even if that team existed many moons ago. That isn’t the point.
We both questioned the tone and the conclusion of the comment.
Also, your example seems flawed if you restrict to a certain product. Can I build a compiler from scratch? Yes. Can I reproduce in a year a compiler with LLVM/GCC performance level? No. Can I build a compiler from scratch in a year from a room if I need to starting mining from metals, building transistors, then building the first assembler and then implementing the compiler? You can imagine the answer.
I think a fair bar for "from scratch" is stopping at the point they need an expensive fab process (or how else will they reproduce the workings of semiconductors?)
https://www.amazon.com/dp/0137909101
Explains how to build an 8 bit calculator with wires, switches, and light bulbs and then keeps on going.
I believe I can, depending on what "from scratch" means. With nothing but transistors, resistors, inductors, coils, capacitors, I can probably do apretty poor general-purpose CPU. Maybe something like a stack-based ISA or, if I had more time, an accumulator-based processor like a 6502, but with an 8-bit bus.
If you're going to ask me to create transistors themselves, well I believe that needs specialised equipment.
so even if you're right, checking out emotionally and spiritually just means more life lived. That ain't some kind of bad thing.
life is good sometimes. hard sometimes. and it's long sometimes, so give people a break.
What exactly about checking out makes it 'more living'? I sense a false dichotomy here
i had to make logic gates and so on, but i wouldnt say i really learnt it, even if back in highschool i learned all the different things a 555 timer can do
Did I do all physics or all electronic circuit design or all software stacks? Definitely not. But I spent 3 years learning (and building) about lots of stuff.
Did I end up an expert at those layers? Of course not, but I know the basics and I know enough that if I need to I know where to start learning more. Just like I wasn't a C++ or hard realtime expert after university either, but now a decade and a half later I am pretty good at those (and a bunch of other skills that ended up relevant to my line of work).
Basically, none of the layers are "magic" to me. Even if I don't know the details of it, I know the general principle and I know I could learn more if I need it.
(I think you naturally end up an expert at the layer(s) you work in, and the knowledge tapers off as you go down (or up) the stack. For example, I know a fair bit about how the CPU works (cache coherency, pipeline stalls etc), I can passably read x86 assembly, etc. Because they affect the layer I work at (hard realtime systems C++ and now also Rust). I know far less about web dev than hardware.)
I think the last time people knew how things were made was in preindustrial societies because they had to build everything themselves (whatever little things they had)
But a core part of the engineer or scientist mindset is curiosity for the sake of curiosity. Just the fact that I don't know something is enough reason for me to poke at it or otherwise learn more. Same reason I still take apart broken electronics as an adult and try to find the fault (and sometimes even repair it).
By the way, mining silicon is particularly easy: it's basically sand. The difficult part is purifying it, especially to the levels needed for modern nm scale chips.
A more useful question than making high end silicon would be: could you with reasonable tooling reproduce basic electric components? I'm talking things like light bulbs, resistors, generators, perhaps capacitors even? Just the basics crappy versions, not modern highly optimised surface mount components. And I think the anwer is yes (for me personally) if I had access to metal wire and sheet stock and industrial revolution era tools.
The first two years were shared with Electrical Engineering. The second two years started to specialize towards Computer Engineering topics.
* Physics and chemistry.
* Circuits.
* Transistors.
* Logic gates.
* FPGAs.
* Assembly.
* Compilers.
* CPU and hardware design.
* Operating systems.
* Networking layers.
* Programming languages.
* Computer graphics.
Did I master all of the above - absolutely not. I loved some of them, struggled with others. Generally the cut-off for how my brain works is logic gates, I was never strong at the levels below that.
But we did cover them, and I could honestly say I had at least a rough understanding and mental map of everything that happens inside a computer from the point where it's plugged into an outlet, to the point where pixels show up on the screen.
As someone with an EE degree, in first year studies we had physics classes on quantum topics that talked about electron tunnelling and its applicability to transistors:
We really dont understand how AI is working, even the earliest "genetic algorithms" could be incomprehensible, but computer systems in general, they're not really that complicated.. its like an audio mixing desk..it looks insanely complicated until you realise it's just the same few knobs repeated many times for many channels. High level languages, compilers, assembly, machine code, nand, mosfets. A single person really can understand it all.
Exactly, I'm over 50 and I remember all the complaints about script kiddies who looked at windows bat files as opposed to all the 'real programmers' who knew C and Assembly and used VIM and linux (which is still going strong)
(ie https://www.explainxkcd.com/wiki/index.php/378:_Real_Program...)
but now also as an AI engineer we have to learn how harnesses, sys prompts, various models, tokens LLMs etc all work so a new abstraction is born..
layers changes, nerds and ultra-specialist nerds will remain
nostaliga is always for the last layer- the one you remembered from your teens and 20s.
As someone who's been exclusively using Vim for my development (and can definitely integrate it with AI workflows), that's just an insanely silly opinion. But I guess it shows how the next generation thinks about these tools that they've heard of but never actually bothered to learn.
Now there's a sentiment worth Jenny Holzerizing.
I'd say it's generally true that the majority of jobs of an era deal with a similar level of abstraction, and that's why most people stay on it. However, I frame this as being born with technical debt, and it's my obligation as an engineer to understand what the previous generations have built, and where it makes sense for me to work, directionally.
But yea this glosses over a bit trial-and-error designs and, so to speak, "genetic optimization" kinds of designs where we just try random stuff and say "Hey, this works. Not sure why, but it works.".
There's a lot of places in history where engineering far outpaced the science required to explain it.
Not saying engineering is required to build or improve a product; it is not.
"try this" is not engineering.
You may not have a good enough model for this observation to allow you to predict the results of other starting conditions, but it’s a model nonetheless, one that narrowly applies to the conditions you tried.
It was always engineering. You're making the assumption that their theories are not rooted in anything coherent at all, but almost always this is not the case. Usually a "what if we..." thought is based on other knowledge, and there's absolutely nothing wrong with trial and error... this is what research and experimentation, areas of science, are all about.
I'm fairly certain I know how it works. Being a physicist helps with the even-lower-level-details if you want to start talking about transistor doping, or electrical circuit theory, for example
I think I agree, but could you expand?
My point is humans have made progress on understanding systems without clean determinism. Genetics and cosmology is technically deterministic, practically speaking, but I don’t think that’s accessible to pre-modern societies. Instead, trends and tendencies were observed, acted and capitalized on.
On the other hand, an LLM "knows" what a benchmark is, and is capable of detecting benchmark-like scenarios. A prompt that appears reliable in testing may fail unexpected in the real world. In this way, an LLM is like a stock market (also composed of intelligent agents): the act of experimenting on it changes its properties. Such systems are never reliably predictable.
Computing has never really been deterministic all the way down. Storage gets corrupted, RAM has soft errors, networks drop/reorder packets, schedulers race, caches go stale, distributed systems partition, query planners change plans, ...
Obviously those become tolerable because we've developed layers of contracts and understanding the bounds around them. Error correcting codes, checksums, retries, consensus, idempotency, false-positive rates, SLAs, etc.
If the abstraction is “delegate this task to a junior engineer, analyst, lawyer, designer, or support rep,” you dont expect deterministic behavior. There's review, constraints, escalation, checklists, tests, and accountability.
To be fair, this isn’t a bad description of human vision.
Determinism is way undervalued.
So now instead of improving the tools of biology so we can actually understand it deeply - we increase complexity of IT so we have to rely on muddy, side-effecty tools of biology to try to infer some of the properties of the systems we made. That's depressing.
I do not understand the need to argue that monkeys are better than screwdrivers at screwing. Just let the monkey be the best version of a monkey.
I would argue that management is a better discipline to pull from for employing LLMs; It is better equipped to deal with non-determinism and going completely off the rails.
Non-determinism combined with bugginess?
That's a terrible combination. It is impossible to gradient-descent your way into a working prompt.
I would say it is unambiguously defined by the problem you're solving. For example a spellchecker is inherently probabilistic so you shouldn't need hard coded rules here like we did for years. A "bug" then would be considered "weak accuracy" not "crash" or "incorrect behavior", as it might be the case in any other layer.
They should add a term for it, maybe "embarrassingly nondeterministic"
Sure. You gave an example where it can work. Another example is something like a PCB or chip layout engine.
That particular domain (layout) is NP-complete. You'll never have an exhaustive brute force search for the optimal layout, but...
You can subsequently easily check whether the produced layout meets all your acceptance criteria or not.
Another example that successfully utilizes non-determinism for good outcomes is the application of genetic algorithms to things like antenna design.
This works because (a) you have a relatively cheap fitness test; and (b) as with real evolution, the mix of combining working designs and randomly introducing mutations often eventually produces outstanding results.
Presumably, if you applied genetic algorithm techniques to, e.g., creating your LLM prompts, you could also get good results, but that would probably quickly get expensive in terms of tokens.
So we're left with people just semi-randomly modifying prompts in order to try to tweak results.
When it works, it can be amazing. When it doesn't work, it's like a brick wall.
I like your "embarrassingly nondeterministic" term, but I somewhat disagree with:
> A "bug" then would be considered "weak accuracy" not "crash" or "incorrect behavior",
When a lawyer asks an LLM for citations of cases that support his position, he is arguably doing something stupid, because embedding an assertion such as "Show me cases which support X" is just asking for hallucinatory trouble with many current LLMs.
Nonetheless, I submit that hallucinations are, by definition, "incorrect behavior" and not merely "weak accuracy."
Now, nondeterminism could certainly be useful to the lawyer, in that it could help an LLM make connections that LexisNexis might not have in their database. So asking an LLM for help with legal issues is theoretically not an insane thing to do, but the results need to be checked very carefully.
Chip design, etc would go to the latter category which is actually a huge space for innovation regardless of how you do it, while I was focusing more on the former which I think a lot of discussion seems to be concerned about.
Now if you are "running" your "generated code" that's where people will have strong opinions because it conflates the two completely different processes in the worst way possible.
For example, the layout software vendors provide a solution that both uses non-determinism in their final product, and also checks the results against whatever criteria you give it.
If it tells you it will work, it's probably not lying, and if it tells you it won't work, it's almost certainly not lying.
So in your own creative process of building a board, you can rely on that.
Many LLMs don't have this property at all, and honestly, it really doesn't matter whether you are using the LLM to craft a legal document or to craft code; if you don't check the output yourself, you're possibly in for a world of hurt.
> Now if you are "running" your "generated code" that's where people will have strong opinions because it conflates the two completely different processes in the worst way possible.
I think a primary driver of the attractive nuisance here is that, because the execution of the resultant code is itself a deterministic process (even if the process that produced that code it isn't) people think that they can tame the process, by some combination of automated testing and looped automated reprompting.
At some level, they may not be wrong -- computer chips themselves are built on top of stochastic atomic processes, and google famously proved in its early days that it could have reliable processes on top of shitty commodity hardware.
But one key difference is that the nondeterminism in the atomic processes or in the non-ECC memory of the white box computers is uncorrelated.
And another key difference is that, unlike the layout software vendors, so far the LLM vendors seem unable or unwilling to properly self-check their own outputs.
To me, this is kind of the canary in the coal mine. You would think that the LLM vendors have every incentive to weed out bad results, that they, more than anybody else, have the understanding of root causes and probabilities that a particular output might be bad, and have more than sufficient resources to fix this, if it's not an intractable problem.
So Occam's Razor says that (currently) this is still an intractable problem.
Probably not many here know the processes needed to turn sand into silicon and the expertise needed for hand grinding fancy lenses used in lithography. But we do know those things are needed and the approximate philosophical concepts behind these needs.
I think the danger comes when or if we fully automate a lot of the low level infrastructure tasks to the point where future generations do not even have the conceptual framework for how the tech they use is created
This is out the door for AI generated systems. Unless extreme care is taken there is is no consistency in these new-found codebases. New paradigms are introduced left and right, because in the eye of the LLM, and the prompter, they worked.
It didn't matter that the same pattern was repeated 37 times in a slightly different manner.
So your knowledge now is no longer portable.
It used to be that you could look at code, and ask why? And usually (not always) the answer was something like: 'I tried x, y, and z, and those didn't work', either by past experience or current experimentation. (we could argue if the current experimentation should be documented).
But for LLMs they put in something complex for no other reason than that it does what is requested. Reading a string from a valid source byte by byte until you hit \0 is valid, and it'll work. But if you take a step back at, read the API docs of what you're consuming, and then consider: if the API says X, why am I testing whether that's correct?
Issac Newton/Bernard of Chartres said we stand on the shoulders of giants and that allows us to see further afield but it also loses the detail of the ground beneath us - modern folks will no longer have the broad expertise that someone struggling through building a computer from transistors would gain through overcoming that[1], but we should learn about it academically to garner the bits of knowledge that remain salient. It is incredibly useful when experts in these highly specific fields have the communication skills and knowledge to share what is relevant to others without overwhelming them[2] with detail.
1. Real modern consumer grade computers are far too complex to understand fully without dedicating your life (or a significant portion of it) solely to that. It is more pragmatic to allow specialization and small realm expertise instead.
2. Of course, if you want to geek out and learn the minutiae that's awesome - but we can only geek so much in our limited time here.
But I also see that the people who can create the absolute most and the good things and the working things and the maintainable things nowadays are the people that have gained a tool, but not lost the knowledge of the medium we are using it on because we are tied to this old world so perfectly put under the spotlight in this blog post.
We could do this forever.
We have never before seen every single profession disrupted to this degree, not even the introduction of the personal computer introduced such a dramatic shift
ETA: Or, to put it in car terms, we were all forced to take cabs (except for the people who were interested in driving, who became cab drivers) because car crashes happen or my sand eating neighbour couldn't tell which pedal was the brakes
I appreciate the tactile joy of interacting with simple systems like those, but most times I just want to get where I'm going. Freeing my attention from those tasks allows me to pay more attention to the (inattentive) drivers around me, and try my best to not die.
Eventually a computer will handle driving for most of us, and we can lament about all the things we've lost there too. If you zoom out, most of us don't have an in-depth understanding of how an entire city works (power, garbage, sewage, maintenance, public services, politics, etc), and couldn't coordinate the various activities to keep it running if we had to. We live in towers of abstraction.
I'm all for just getting to where I need to go by using the appropriate tool, like a reliable car. But no not if it means foregoing the liberty of other options.
I drove a BMW rental recently, and I swear it felt like I was driving around a toy. Such obvious HCI usability concerns, even my wife (non techie) was appalled and able to call out many obvious and stupid design decisions. It felt like a vibe coded car. A vision of the future, no doubt.
While the role of computers in industrialized society has been substantial, there's still a pretty good argument that the rise of motorized transportation, refridgeration, electricity, the telegram and antibiotics each exceed the impact of computer technology.
In 3-500 years we might have enough perspective on this to really judge it; I'm pretty sure that all we can say right now is "don't know".
Now everything is a means to a commercial end. Tinkering for fun and knowledge just isn't profitable. And it matters less and less what each our stance is on money and capital if the people that optimize for money and capital gobble up all the money and capital. Of all that's going on, the wealth gap is what's most troubling to me, closely followed because it's closely related is "post truth". I think post-truth is roughly caused by the fact that people are happy to believe what they want to believe toward some commercialized and/or idealogical end. You're much more likely to hate and blame your neighbor when you look around and you're the one not doing too well.
There's absolutely nothing wrong with doing that - I'm just not sure the 'ethos' of tinkering has anything to do with trying to make money and is usually reserved for describing someone playing about with something for their own enjoyment/fun with no desire to make money.
Now, of course some people did find that their tinkerings were able to make them money, but I think at its base it's a term I'd tend to say implies doing something for fun/for themselves, rather than doing it for profit?
In my experience there's still plenty of people out there tinkering just for their own personal satisfaction, but of course there's almost certain a whole load more people out there 'tinkering' to try make a profit.
To be clear, I'm seeing this as an observed phenomenon, not that everyone made up their mind that they hate tinkering and love money. I just think it's getting really really hard to exist in the world as a normal person when the entire human collective is getting pumped commercialized hyper-media from all angles at all times now 100X'd by genAI bots. It's really exhausting and so you either opt-in to the game, monetize your now AI side-hustle to pay the rent, or opt-out and live in the woods. and get packages delivered by Amazon. heh.
That's why it's "for fun and knowledge" and not "for profit".
Processing error.
Programming languages, UNIX, debuggers aren’t going anywhere. There is more to computing than what your boss demands and what is hyped on tech forums.
In fact I believe the indie/handmade scene will grow substantial if not boom, even if just as a hobby for most. Showing what you have made with your blood sweat and tears will elicit more praise and delight when you could have just asked a machine to do it all along.
"The difficulty was the knowledge. You came to know that machine the way you come to know anything that pushes back. The resistance was the whole medium. You only ever know the things that you can lose to."
We who grew up in this era formed a hands-on engineer's knowledge of these systems, built from experience and practice, learning these layers of abstraction as the bleeding edge developed. Many these days have entered into a world where there are easy answers abound, they just might not be right, and one has to gauge how much they care about correctness.
I've been staring at 0x10c, carwars and battletech and there's a sense that I could build a sort of programming / engineering Zach like
Something like https://miniscript.org/MiniMicro/ perhaps? It's a virtual machine rather than real hardware, but apart from using disk image files instead of real floppy drives, the experience should be rather similar to what we* grew up on.
* Mine was a KayPro II running CP/M rather than an Apple //e, but you get the idea.
For a while I've been meaning to set up some Wireguard connections among some of my systems. Being as busy as I am with work and family, I've relinquished that to Tailscale for now.
Sure, I could have sat down and jumped through the hoops to get everything set up and working across my various hosts, including network routes, firewall rules, key pairs, systemd units, and so forth. But the "cheap and easy" alternative was right there and worked (except when it forces re-authentication).
With LLM agents, I was able to effortlessly analyze my existing network and produce tailored scripts to do precisely what I wanted. All I had to do was review the scripts for potential security issues and what not. Looking at the script, there are 3 or 4 specific tweaks that needed to be made to my network routing rules given my network topology. I could have read a few man pages and iterated on the script by hand to eventually get there after maybe an hour or two of futzing.
The availability and effectiveness of the agents is simply too tempting for me. I'm not sure what this means about my skillset, or if that even matters any more. I am fairly confident that, so long as my brain still works well enough, I'll always be able to RTFM and figure things like this out myself. At this rate I wonder whether my kids will have the same ability. And I also wonder how much that will matter.
Regardless, I'm still helping them figure things out the "old way" without over-reliance on LLMs. One thing I'm fairly certain about is that failure to develop problem-solving skills can only put them in a worse position in life, no matter how capable AI becomes.
I've done at least a little of the latter, and it's amazing how underrated it is as an educational tool - especially for the solo individual.
Every technology has ways it can be used, and ways it wants to be used. This one wants to be used in a way that produces outcomes we won't like.
The book/written word is also a technology that has preferences on how it’s used and transformations that it imposes on its users, and they’re much different than those of TV or computers.
I get what you're saying, it's just that I think what you're saying is not overlooked, it's simply insignificant to the debate about the effect of these tools on society. Your argument comes off to me like someone saying "everyone is complaining about how these cigarettes cause cancer, but you can just as easily use lit cigarettes to warm your hands on a cold day. This is what everyone's missing in this debate."
I don't think we can change each others' minds with talk, we'll just have to see how it plays out in the coming decades.
I didn't say anything else, you're reworking what I'm saying here and distorting my message.
Making the jump from 300 baud to 2400 felt like magic!
If we keep this up, someone's bound to jump in with a brag about memory cores and punchcards.
(young-un with the 28.8k starter here, so I just need some stretching to keep up with you old fellas :P)
https://www.chicagotribune.com/1987/05/31/compuserve-sees-th...
I'm not even sure losing this method is such a bad thing. Tooling, build scripts, home networking -- any learning you gain from stumbling through man pages and trial-and-error at best results in some hard-won, single-purpose scripts, the knowledge will evaporate instantly b/c everything is so bespoke, "fix once and forget" until you have new gear and have to solve new problems years later.
Presenting a well-specified problem thoroughly to an LLM, then analyzing results and testing the output, is valid problem solving.
I disagree. If you ask a model for a manual and it regurgitates that manual from its training data, it’s over-fitted. It will regurgitate something that looks like a training manual. Or whatever fits your query about training manuals.
You still have to push back on them sometimes when you spot an error. And you can only spot them if you already know what you’re looking for and should expect. Otherwise you have to ignore the output and just get the links which… could be outdated or made up as well. You’ll never know until you verify the results.
And this degrades with compression and time.
There’s no royal road. I agree that trying and getting frustrated and having to take the effort to understand something pays off in spades. I just think it’s still worth it and vastly under appreciated in this era of “everything fast, now.”
IMO the fact that something's become very mainstream doesn't necessarily mean it's been watered down for everybody. There will always be people with various levels of curiosity and enthusiasm.
Although I could imagine never having invested in software development if an agent could just have solved my problems. Same with learning an instrument. Very slow progress to what an AI can do today. And for most pop songs you cannot even claim that it copied more than the other generic pop songs.
Yes, if you cannot trim the code, there is a complexity barrier you won't march through.
> When I was young I fixed my parents’ computer and now that I’m older I fix computers for my kids. Are we the only generation that knows how computers work?
We raised a generation of people on consumption-based computing devices, which means they don't develop the skills necessary to produce things using computers. Of course, we can teach these skills, but to do that, we must first acknowledge it's a skill which needs to be taught.
That's true of my generation as well, but computers weren't ubiquitous and used by everyone all the time for virtually everything.
That's true, but only because not all young people owned or used computers. I was born in the mid 70s and got my first computer as a young child. Back then you had to "know all about computers" to use the computer and get it to function. These days, every kid grows up surrounded by computers, with a computer in their pocket, and very few have even an inkling of how they work.
Thus "young people who use computers know all about computers" used to be a true statement, but no longer is.
The whole argument is pretty dumb anyway. Just try replacing "computers" with any other technology and you see how weird it starts sounding.
- "People use roads every day but almost nobody even knows how to make asphalt from scratch these days."
- "People use electricity every day but almost nobody even knows the basic equations for electric generators."
- "Children these days use refrigerators only as consumers, they don't even understand the differences between HCFC and A3 type refrigerants..."
Computer programmers despairing about how few children understand computers has strong vibes from https://xkcd.com/2501/ IMO.
Whatever dictates if people are capable of creative work with computers, year of birth does not seem to be it.
> It was a Minecraft convention. We had the game set up with a keyboard, and a controller. By the 2nd day we realized, none of the kids could use a keyboard. So on the 2nd day we set up two controllers instead.
> Then I noticed something else. We counted it. 50% of the kids would come up to the console, push the controller out of the way, and try to touch the screen.
I mean, she was right, it turned out to be a touch screen, but really who does something like that?
I went on to study CS and teach undergrad courses and what I noticed, this started already maybe a decade ago, is that CS students who we handed bootable linux usbs couldn't figure out how to set their system up. And not just that, they just kept emailing us with statements like "it didn't work, what do I do?". It's not just lack of knowledge but complete helplessness when something doesn't work in 2 minutes. That's the biggest problem with this reliance on ChatGPT or whatever.
I think the young generation is in an even worse position. Not only do they not know how computers work, they don't even have the basic DIY problem solving attitude our parents have.
Beautiful writing.
Is the premise here correct? I'm not sure that I'm convinced that a 1990s computer user who knew how to edit autoexec.bat or insert a floppy to boot their computer "knew how it worked" in a meaningful sense.
The stack of abstractions is deeper now, and all indications suggest it's not going to stop deepening. But I think the abstractions were already quite deep by the 1990s.
(I think the classic error here is a demographic one: computer nerds always poke through abstractions, because they do it for fun. I don't think that's going to stop, anymore than web browsers stopped people from writing kernels. If anything, we write more low-level code than ever, because access to the prerequisite knowledge is less gatekept than before.)
The most vocal demographic on HN right now is not the nerds. The entrepreneurs and grifters are desperate to find footing somewhere. They continue to double down on the alleged impact of "AI" and are now asking that their followers remember the moments they are most nostalgic for, assume everyone else was doing what they were back then (fumbling and confused), and ignore all the rest of history.
Should we petition to rename this site to "Stone Age News" or something then?
Maybe I'm wrong but I always thought figuring out how things work was pretty core to the Hacker mentality.
You: I think it’s good to understand some things.
This guy: If you don’t understand everything then you might as well not understand anything!
Guys like this are a corporation’s wet dream. Total intellectual dependence.
The rest of that isn't part of how a computer works.
What absolute nonsense. To openly admit to be proud of one's ignorance.
> knew a beige computer in 1995 that wouldn’t run a game until I had rearranged its bits by hand. More dependent than ever
If you look at previous article from this author, it says how Mac is amazing and how Linux sucks. Kids like that in 1990ties would buy expensive consoles, and would not deal with hack PC's to get free games.
Many people today are still dealing with cheap shitty hardware, 7 years old Android phones and sketchy ROMs... Just because there is no other option!
https://unix.foo/posts/it-will-never-be-the-year-of-the-linu...
If anything, agents are an opportunity for the "Linux year on the desktop". Granted, I don't personally believe Linux needs to have that year; it's just fine without any mass adoption there. It's simply no longer that important a segment. I thought most of the debate around that also died out years ago (perhaps even a decade?)
Still, I recently had the opportunity to compare how Codex configures macOS and Fedora for the same task, and the latter was a bit faster and significantly cheaper (in tokens). That's obviously anecdata - maybe the particular task was overrepresented on one side or something - but I wouldn't be surprised if this was a more general trend.
Wow. I had literally all of these experiences. I remember how you used to have to remember the Sound Blaster interrupt settings and pass them to any game that used it. And I'd completely forgotten about IDE jumpers, but yep - how fiddly it was when you wanted to put 4 hard drives in the same computer, figure out which were slaves and masters, etc etc.
Obviously this person doesn't have enough experience with the current crop of AIs. This is the exact reason why we should be concerned in the first place. Someone has to design and build the next version of everything, and AI isn't qualified to do the job, and might never be.
>What is dying is acquaintance. The plain, unglamorous intimacy of having fought a particular machine, and lost, and gone back, and finally felt the thing give.
This is true. But then again, who among us had to get up in the middle of the night, and trudge out to an outhouse? Who had to shovel a bit more coal into the furnace? Who had to pump water, and heat it on the stove? Who had to split wood, and stack it for the winter?
There are many, many things we're no longer acquainted with, and that's sad, but still ok. What's not ok is losing the competence required to maintaining the infrastructure and supply chain supporting society and civilization.
Most of the people I dealt with for the decade following that (i.e. pre-LLM) had little clue how any part of computers worked, and I don't intend that to be particularly pejorative, it's just that it's been somewhat easy to carve out a niche doing something to do with programming while having little understanding of the small or big picture.. all heuristics and applying working patterns.. for a few decades.
You can still understand whatever you want, today, with added tools. It's just a choice to turn your brain on or off. I think LLMs are perfectly fine as a learning tool to interrogate a subject, do comparatives, and then formalize your understanding by reading the sources. At a macro level brain rot is real, but it cuts across all generations and it started long before LLMs.
1: This is why I prefer console games. I just want to have fun without fighting with the machine.
2: There are plenty of people who appreciate old techniques and methods; and keep them alive. Think of going to a museum and seeing someone demonstrate an old craft or reenact how a craftsman did their job. For example, in my town there is an old, water-powered corn mill that still runs and sells corn meal.
Then again, maybe there's light at the end of the tunnel. Even though AI boosters kind of annoy me, I do appreciate that they're tinkering and hacking and working to understand the technology on some level. I think there's always going to be some small number of people that are like this, in the same way there are still people that look at disassembly and understand CPU caches.
I worry more about whether people care and consider it a problem when nobody knows.
That's wrong, and that's exactly why the loss of knowledge is such a problem. LLMs do not, and cannot, actually know a single thing. They are a statistical model, not knowledge. When they give out wrong information (and they always will, by their very nature), you need someone with actual knowledge to be able to recognize the BS and correct it. But we are losing the knowledge, and unless things change we will be no better off than the people in dystopian sci-fi stories who pray to the machine god because nobody knows how it actually works.
Sounds like absolutely horrifying dystopia.
Maybe AGI is impossible with current model as it simply can not reliably improve itself... Enough errors in any part of loop will stop the progression.
1. GPT proved Erdős Unit Distance Conjecture entirely on its own
2. GPT-5.4 Pro Solves Erdős Problem #1196 (April 2026)
In fact there's a whole benchmark that's measuring this: https://epoch.ai/frontiermath
> But we are losing the knowledge
No we aren't and this is spreading FUD. Things have always been like this. Its called specialisation and this is how society progresses. I don't know how the supply chain worked to get the food to my table. That's why its so cheap!
When no one knows how to program the tools that we rely on to fly our passenger planes, drive our cars, and manage our bank accounts, what happens when the LLM gets it wrong?
I have no idea how an electrical transformer works (well, other than the bare theory I learned in physics courses), or how power gets from the power company to my house, or how the circuits in my home are setup. I plug something in, and it works, and occasionally I throw a breaker if something is malfunctioning. There's no resistance there (pun not intended), and there shouldn't be. People got killed trying to wire their own homes.
I used to read about phone phreaks from the 1970s that could do black magic to get free long-distance phone calls. When I grew up in the 80s, that was basically gone. You picked up the phone, got a dial-tone, and called. And now it's really gone, with everyone having an encrypted cell phone connection over 5G, and your IMEI and IMSI being phoned home to every tower you connect to.
It's the nature of technology and capitalism. As the technology matures, it gets hidden away to become increasingly invisible to the end user, so you just do what you want to do with it. And then the engineering resources get spent on new problems.
people will hack enterprise pbx systems. The stream just flowed somewhere else.
I think this is a universal feeling that accompanies any technological innovation. My phrasing is that new technology unbundles the thing people want from the craft that was formerly required to get it; any craft requires someone to learn and achieve through struggle.
As someone who played plenty of computer games as a teen in the 90s I assure you that I did not know how it worked. I learned how it worked later when I got a CS degree at university. Following the instructions from the booklet that came with the game may have helped me to get it working, but there was minimal understanding.
Also, if you don't think the difficulty is the knowledge, I'm sorry but I must disagree. There has been more than one government or corporation or large institution that has tried to destroy history and knowledge in the past.
I think it's fair to say that knowledge is also at risk.
The change from punch cards to magnetic storage certainly made it so you didn't have to "know how it works" for every single bit.
The change from machine code to a language like Fortran brought about such an abstraction that a Fortran dev didn't "know how it works" at that same level anymore.
At this point, the layers of abstractions between using a React component and something being rendered is immense. React VDOM, the real DOM, browser render engine (which sits on abstractions like ANGLE, skia, etc), calls OS APIs, which call driver APIs, and the lowest level of anything it is still C/C++ that is compiled (abstracted) to something closer to what the hardware expects.
I won't bore you with the ChatGPT output details, but it estimated at least 35 meaningful layers of abstraction between a React component and being rendered to the screen. LLMs seem to be the latest level of abstraction to make it so we "know how it works" less than before.
In particular, I think every developer has experienced the need to jump "down the stack" to debug or understand something (even if not all the way down). Certainly, I think any senior developer should be at least conversant in the first few levels below wherever they "live". But this seemingly ends up looking fundamentally different in the interaction mode of an LLM, because you'd just ask it to jump down the stack for you
Just like there were web devs that only knew jQuery but not any actual JS. Game devs that know only Unreal Engine or Unity but nothing about DirectX, OpenGL, or Vulkan. C/C++ devs that know nothing about LLVM IR or the actual bits their compiler generates. It can also be a poor understanding of the layers in the abstractions above you too.
I find a lot of value in being able to understand levels beneath the layer I'm mostly working in. There are things, even/especially with LLMs, that I can grasp because of my deeper understanding.
But there have been plenty in our field that have only known their level of the abstraction for quite a long time. Every time there is something introduced that lowers the barrier to entry to making things, there is a version of this "but they don't know how it really works..."
> ...having fought a particular machine, and lost, and gone back, and finally felt the thing give
mayhaps this is because our computing paradigms are stuck in the 70's
I'm not sure things are very different now.
I find the current expectations around consumer "apps" to be totally infantile in comparison, where everything is now a single-purpose "app" that does exactly one thing when you push a button, and if you want something even a tiny bit different.. you can't, and that even basic things like files and settings are no longer accessible.
There's nothing new about this particular progression - we've been through it in dozens of technologies already.
I dunno. I suspect it'll be slightly different in the OSS world[1]. There will be some folks who can climb down there and fix it, but since that skill is no longer valued (as in, being able to do that isn't valued by most users now, much less in some hypothetical future). And they will be expected to do that, now, without thanks. And when they say "I'm too old for this shit...you can go pound sand" because this was one unpaid insult too many, users will shrug their shoulders and load windows or buy a mac because those companies are paying & tasking people to keep things running. And by inches oss ceases to be a thing.
[1] Yes, I know there are many oss devs who get paid for their work. Many critical contributors do not.
Oh come on! Of course I wondered how a light switch work, and I then learnt. I remember taking apart broken electronics as a kid, and that later morphed into also trying to repair things. Including the computer (both hardware and software wise). I remember ending up reinstalling the OS so many times as a kid on the computer I had access to when I broke it in various ways past what I was able to fix.
Sure, not everyone will have that drive to understand how the world around them works under the hood. But for engineers and scientists I would expect a far higher percentage to have that sort of personality.
It doesn't matter if it isn't "pushing back", just that I don't understand it is enough to catch my interest and a reason to go poking at the thing.
The collective knowledge of people will likely ebb. Things will be different and individuals will have to adapt.
There are also still courses you can take to learn practical skills, I for example took a short blacksmithing course a few years ago. A lot of fun and way harder than it looks (at least if you want to get good at it, my goal was just to give it a try and have fun, and 5 evenings was enough for that).
You can know how your entire farm’s water system works. But a city?
Somewhere in between those extremes, you just have to let go.
So you learned. You opened files like autoexec.bat and you read them."
Ehh I dunno about that. I rarely, if ever, had to mess with any of that junk after Windows 3... I also didn't have to deal with any IRQ issues. So seems like it was already mostly abstracted in the "1990s" lol
That said I did run into my fair share of other problems, and that early era of personal computing and my access to machines is the only reason I work in computing/tech today. If my childhood wasn't full of tinkering with these fascinating machines, and I only ever had an iPhone or iPad, I likely would have turned out much different.
I do remember having to look lots of things up and figuring out why some things wouldnt work. Then getting into building our own computers (because it was cheaper) and figuring out how to get halflife mods working...
And of course IRQ diddling was still necessary to configure sound, network, and game controller hardware throughout the DOS era of gaming, which lasted well into the Windows 9x era.
That autoexec crap was unique to DOS PCs. DOS was a uniquely crappy experience in a lot of different ways.
IRQ settings? Pffft. Cards came factory-configured to a default that was then detected by the setup routine of any game coded in a merely competent enough fashion. And you were free to change the jumper config on the card... which obviously meant you had to change it accordingly in a game's (or application's) setup config. It's all in the manual. Et cetera.
That indeed teached you at least a modicum of working basic literacy of how some of the systems in your computer worked. Back then, I never heard PC people bitching about these trivialities. That came much later, often in form of lamentations of still bitter Amiga nerdlingers, confused "retro" gamers, or (other) computer illiterates.
There's no arguing down that we have a greater amount of information about old hardware and software easily available now compared to back then, and there are many more enthusiasts as well.
This kind of cognitive dissonance has been going on in other disciplines, like music, since their inception. Guess what? There's thousands of highly talented young people on social media covering it all.
What people are actually upset about is that there isn't new "old stuff" and they can't make money off what can now be thoroughly understood by anyone.
Don't get me wrong, AI is a total shitshow and we're entering another winter, but there's also no reason to be jealous of what is making money right now.
They eventually decided to keep their head in the sand and pretend like their restriction was useful.
The issue was a complete lack of knowledge of how the system actually worked one layer down.
There have always been layers of abstraction. I've been around for a while, and when I was a kid, the two choices I remember seeing were assembly code and simple semantic languages like BASIC.
Assembly seemed like too cryptic for me to really even follow and I never really did learn it, but at the time I remember people would say that assembly was easy and basically plain English compared to machine code.
As recently as fifteen or twenty years ago, I would occasionally check in and think of how unbelievably far away we had gotten from how the computer actually works. Like, you can just write "open window" and a window opens. Amazing.
Of course, those people writing machine code didn't need to really understand what P and N were in a transistor, let alone how an integrated circuit pulls it all together. And I'm not sure how much those guys knew about silicon dioxide.
The more complex things get and the more layers of abstraction there are, the more impossible it gets to really master things all the way down to first principles.
So what? People can carve out whatever chunk of the stack they want to really understand if they want to focus their lives on it. And for everyone else who's just trying to accomplish some other goal with computers as the tool, they will naturally use the highest level of abstraction and the simplest one for them to use, which is exactly what they should do.
Good luck coming up with a new language and getting enough content out there that LLMs will be fluent with it.
If true, I think that's a shame. There's plenty of innovation still to be done.
It certainly does worry me, though. As does the increasing amount of materials and manuals that seem to be written assuming the LLMs will be the (only? primary?) audience
I tried to force various LLMs to generate many strange languages for the past 3 years. From Raku to Smalltalk, to Common Lisp and Janet, to Prolog, D, Nim, Zig, Elixir, F#, etc.
It's a mess.
They do a mostly good job with language semantics. Agents can also use standard tooling to catch and fix syntax errors. So far so good, though if a given language provides an unusual implementation for a popular feature, the model can get confused. It's usually easy to spot.
The problem is with the ecosystems. They tend to be tiny, and for new languages, they will be tiny almost by definition. As a result, the vast majority of the generated code either reimplements things from scratch or hallucinates dependencies. Since the agents iterate and the hallucinated deps don't materialize, the model fixes that... more often than not by writing from scratch. Or leaving a `// TODO:` comment.
What I found helpful is straight-up vendoring deps as submodules. Armed with grep and sources, they are much more likely to produce working code. But that also means you still need to handle the dependencies yourself, while it'll "just work" for a Kotlin/Gradle project.
It doesn't matter for all projects to the same degree, of course, but it is a pain point that will add to the difficulty (sky-high already) of a new language getting any traction, unfortunately :(
Please don't fucking tell people that AI is competent. It is not and it cannot ever be because it is not alive.
https://www.pangram.com/history/c0a9cde2-7a5c-4588-83a3-0269...
Obviously there’s a rise in pure AI writing but I find these sort of services that “analyze” content more harmful than good.
(I don't actually care that much if it is LLM text, I care when something reads like it is, because it means everyone writing blogs using this style sounds like everyone else. it's alienating!)