31 comments

[ 4.1 ms ] story [ 56.8 ms ] thread
"Old man yells at cloud", but in so-so-so many words
I'm sure he wrote all of this on, sent it over, and now is re-reading it from his Texas Instruments TI-99/4A Home Computer.
Well, it's obviously true new stuff breaks fast, can't argue with that. But it's deliberate, not forgetfulness. Just capitalism on steroids.
Someone made a video clip showing the Crumbl Cookies ingredients list and each one has around 100 ingredients

https://x.com/WallStreetApes/status/1940924371255939236

Our software is like that. A small system will have a crazy number of packages and dependencies. It's not healthy and it's expensive and it's stupid.

Culture tends to drive drunk, swinging wide to extremes and then over-correcting. We're already fully in the wrong lane when we start to have discussions about thinking about the possibility of change.

We’re creating a generation of developers and engineers who can use tools brilliantly but can't explain how those tools work.

There's an education gap that needs to be addressed, but I don't know how it will get addressed. A lot of the web in the past few decades came from industry so industry had a way of training up people. Most of this ML stuff is coming from academia, and they aren't really the best at training up an army at all.

It's hard to know who to blame for all of this because it's kind of like not having an early warning asteroid detection system. HN or various communities did not have discussions even five years prior to GPT about the impending doom (no early warning at all). If you just take HN, we sat around here discussing a million worthless things across Rust/Javascript/startup b.s for years like headless chickens (right here on the frontpage) without realizing what was really to come.

Makes me wonder if the places I go for tech news are enough to be prepared. Which brings me back to what I quoted:

We’re creating a generation of developers and engineers who can use tools brilliantly but can't explain how those tools work.

We aren't creating them. They are the existing devs that had no idea AI was going to be a thing. Had anyone known it was to be such a thing, everyone would have ditched going to web development bootcamps in the mid 2010s.

JavaScript is required to read this rant

edit: lol

If it works, he's lucky. For example, Commodore 64's often had a dodgy power supply that would eventually damage the computer.

My Vectrex still worked last I checked.

Ironically, the technology that amazingly still works after 40 years is shown in front of a shelf full of books.
> Software has followed the same trajectory, piling abstraction upon abstraction until we’ve created a tower of dependencies so precarious that updating a single package can break an entire application.

This is like saying old software is so simple that updating a line of code can break an entire application. It's a silly thing to say. No matter how complex or how simple a piece of software is, you can easily break it. If you have a program that prints out "hello world", guess what? Updating a single character can break the entire application!

The world is more complex now. We've stood on the shoulders of giants who stood on the shoulders of giants. A few centuries ago a renaissance man could make advances in multiple fields. Now people are specialized. It's the same thing with software. Of course, people take it to an extreme. However, you go ahead and write your own crypto library, I'll use a vetted one created by experts.

I love how he talks about knowing thermal characteristics, etc. and then cites the TI-99/4A as an example of something designed by people who Really Knew What They Were Doing. The TI-99/4A was notorious for being prone to overheat due to its power supply. Munch Man and Parsec were complete non-starters for me when it got hot in July. This was even mentioned, specifically, in Halt and Catch Fire. The early microcomputer engineers were spitballing. You want to talk about the number of bodge wires that were in every TRS-80? Or the Apple III having no thermal vents per order of Steve Jobs, and the "you're holding it wrong" of the 80s being "drop it on your desk to fix it"? We know how to build better, more reliable computers for cheaper today than we ever did in the 80s. Then we fuck them up with things like Windows, but still.
> Large language models are impressive statistical text predictors — genuinely useful tools that excel at pattern matching and interpolation.

Slightly OT: It's interesting how many (smart!) people in tech like the author of this article still can't conceptualize the difference between training objective and learned capability. I wonder at this point if it's a sort of willful ignorance adopted as a psychological protection mechanism. I wonder if they're going to experience a moment of severe shock, just gradually forget that they held these opinions, or take on a sort of delusional belief that AI can't do XYZ despite all mounting evidence to the contrary.

> They can deploy applications to Kubernetes clusters but couldn’t design a simple op-amp circuit.

If the thesis is that we should understand the systems we work on, then sure, I can get behind that. At the same time, I wouldn't expect a mechanic to know how to process iron ore into an ingot.

>That TI-99/4A still boots because it was designed by people who understood every component, every circuit, every line of code. It works because it was built to work, not to generate quarterly revenue or collect user data or enable some elaborate software-as-a-service business model.

The methods and algorithms powering advances in modern science, medicine, communications, entertainment, etc. would be impossible to develop, much less run, on something so rudimentary as a TI-99/4A. The applications we harness our technology for have become much more sophisticated, and so too must the technology stacks underpinning them, to the point that no single individual can understand everything. Take something as simple as real time video communication, something we take for granted today. There is no single person in the world who deeply understands every single aspect, from the semiconductor engineering involved in the manufacture of display and image sensors, to the electronics engineering behind the communication to/from the display/sensor, to the signal processing and compression algorithms used to encode the video, to the network protocols used to actually transmit the video, to the operating system kernel's scheduler capable of performing at sufficiently low-latency to run the videochat app.

By analogy, one can understand and construct every component of a mud hut or log cabin, but no single person is capable of understanding, much less constructing, every single component of a modern skyscraper.

> They can deploy applications to Kubernetes clusters but couldn’t design a simple op-amp circuit

And the ones who can design a op-amp circuit can't manufacture the laminate their circuit is going to be printed on. And the ones who know how to manufacture the laminate probably doesn't know how to refine or synthesize the material from the minerals. And probably none of them knows how to grow and fertilize the crop to feed themselves.

No one knows everything. Collaboration has been how we manage complexity since we were biologically a different species than H. sapiens.

We used to know everything to get the job done. Some of us still believe in that.
This article is against accessibility. It's not that people are forgetting. We just don't require them to know everything to build things.

>Edge computing? That’s just distributed processing with better marketing.

Edge computing is not "just" distributed processing. That fails to recognize the point of minimizing latency.

>Microservices? Welcome to the return of modular programming, now with 300% more YAML configuration files.

Not all modules are microservices. It's again term to a more specific practice.

>Serverless? Congratulations, you’ve rediscovered time-sharing, except now you pay by the millisecond.

Those are somewhat related concepts but they still don't have the same meaning.

>Compare that to today’s black-box system-on-chip designs, where a single failure means the entire device becomes e-waste

If you really wanted to, you could fix the system-on-chip.

>We’ve mistaken complexity for sophistication and abstraction for advancement.

People are not adding complexity and abstractions just for fun.

>We’ve created a tower of dependencies so precarious that updating a single package can break an entire application

This has always been the case. Bugs still existed in the 1900s.

>What started as a legitimate return to hands-on engineering has been co-opted by influencer culture, where the goal isn’t to build something useful but to generate content about building something photogenic.

Social media being dominated by people good at social media and not by the top makers will happen in every endeavor. Accessibility has allowed many more people to be able to create basic things.

>We’re creating a generation of developers and engineers who can use tools brilliantly but can't explain how those tools work

They don't need to. And this has always been the case. There is too much to know and having different people specialize in different things is effective. Additionally there is great value in making software accessible making people with less knowledge to be able to make things. It allows for more things to be created that deliver value to people.

>The best engineering solutions are often elegantly simple. They work reliably, fail predictably, and can be understood by the people who use them. They don't require constant updates or cloud connectivity or subscription services.

Sure, but many people want a solution that can be delivered now and for cheap.

Meh, fluff article without substance.

Title misses the mark and hand waves shitload of progress we have.

Nagging about consumer electronics is fine because a lot of stuff has its issues. But compared to 20 or even 10 years ago everything on average works much better.

Obviously a lot of design and engineering tasks these days don't have the goal of producing robust, repairable, long-lived hardware and software - where's the profit in that? If iphones lasted twice as long as they now do, wouldn't sales drop by 50% unless consumers decided they preferred the longer-lived phones? This would create pressure on all manufacturers to produce long-lived phones with easily replaceable batteries and publicly available repair kits. And what happens then? The entire market shrinks for all phone manufacturers, and the shareholders throw tantrums over lost profits.

In the late 19th and early 20th Gilded Age era, every industry was dominated by trusts, collusions of manufacturers who set up anti-compete systems to ensure such disruption of their industry by independent innovation wouldn't succeed. This is now being replayed in the tech industry for similar reasons.

There are two solutions to this problem that go together: anti-trust law and open-source hardware and software models - but for that to work, you need an educated population with and understanding of legal and scientific concepts, which is why the education system in the USA has been so deliberately degraded over the past few decades.

That's what happens when you let investment capitalists control everything, isn't it?

> Modern developers debug through seventeen layers of frameworks to discover that their problem is a missing semicolon in a configuration file generated by a tool that abstracts away another tool that was created to simplify a process that was perfectly straightforward twenty years ago.

But it wasn't straightforward twenty years ago. Maybe it was to you, but it wasn't to others. There's a reason the world moved away from command line interfaces and it's not just to bully the nerds.

Same reason many Americans don't know how to use a clutch, and why chopping down trees for your own house has fallen out of fashion. As society specialises and technology advances, responsibilities are divided.

> The VHS player in my basement could be fixed with a screwdriver and a service manual (OK, sometimes an oscilloscope). Meanwhile, my Wi-Fi router requires a PhD in reverse engineering just to figure out why it won’t connect to the internet. We’ve mistaken complexity for sophistication and abstraction for advancement.

A VHS player is built on top of tons of abstractions. There's a component somewhere in the middle that will take electric pulses and turn them into subtitles you can turn on or off. Just like that WiFi router still has its analog pins you could hook your oscilloscope up to if you want to troubleshoot it.

We have lost service manuals for many electronics indeed, but that's because servicing these devices no longer earns anyone a living. Electronics as complex as VHS players have dropped in price from a month or two's wage for a whole family to the price of eating out. Spending half a year teaching yourself electrical engineering to maintain your TV isn't worth the time investment anymore, unless you're doing it out of personal interest.

You can repair the failed electronics on WiFi routers. You don't need to, though, because the electronics no longer constantly fail like they used to. The skills electrical engineers from the last century have proudly honed just aren't as relevant as they used to be. The "old man yells at cloud" complaint that kids these days don't even know assembly is just as relevant as it was in the days when assembly was commonplace, when kids those days didn't even know how to program spinning drums or knit magnetic core memory without the help of an assembler.

Billions of people drive cars every day. Most of those people have no idea how their car works beyond the ignition, yet the world relies on that technology and it's working just fine. Cars do break down sometimes, and that's when you call in the experts. The people who know the ins and outs of assembly, machine code, and CPU microcode, still exist. The difference between back then and now is that, like cars, you don't need years of education before you can comfortably use the devices anymore.

I too lament the overly complex software ecosystem of today, the simple apps that have grown to hundreds of megabytes, the Javascriptification of our world, but that's not a failure of society. It's what you get when you go for the cost-optimised computing approach that has lead to supercomputers in our pocket rather than the quality-over-features approach that you needed back when people spent more than a year's worth of meals on relatively simple electronic devices.

> The same publications that use “disruptive AI” unironically are the ones that need to Google “what is a neural network” every time they write about machine learning.

This is called “good journalism”. It would be great if Elektor tried practicing it.

> (Google is less than helpful with a dumbed-down user interface that basically tells you that “something went wrong.")

This UI trend of denying access to under-the-hood complexity is deeply unsettling. It creates a cliff edge failure mechanism where the system (which often is essential) works and then suddenly doesn't. No warning approaching the failure state, no recourse on the far side, completely baffling how this became an industry standard.

Abstractions hide details, that does not mean they cease to exist. The problem with abstractions is that it makes it easier to create conflicts when making changes. Lots of hidden details are affected by a high level change.
I see a bunch of "nobody knows everything, this old man needs to appreciate modern technology stacks" comments, and in some ways I blame the post for this because it kind of meanders into that realm where it gets into abstractions being bad and kids not knowing how to make op-amp circuits (FTR, I am from the "you have to know op-amps!" generation and I intentionally decided deep hardware hacking was not going to be my thing), but the actual core thing I think is important here is that working hard is being devalued - putting in the time to understand the general workings underpinnings of software, the hardware, using trial and error to solve an engineering problem as opposed to "sticking LEDs on fruit", the entire premise of knowing how things work and achieving some deep expertise is no longer what people assume they should be striving for, and LLMs, useful or not, are only accelerating this.

Just yesterday I used an LLM to write some docs for me, and for a little bit where I mistakenly thought the docs were fine as they were (they weren't, but I had to read them closely to see this) it felt like, "wow if the LLM just writes all my docs now, I'm pretty much going to forget how to write docs. Is that something I should worry about?" The LLM almost fooled me. The docs sounded good. It's because they were documenting something I myself was too lazy to re-familiarize with, hoping the LLM would just do it for me. Fortunately the little bit of my brain that still wanted to be able to do things decided to really read the docs deeply, and they were wrong. I think this "the LLM made it convincing, we're done let's go watch TV" mentality is a big danger spot at scale.

There's an actual problem forming here and it's that human society is becoming idiocracy all the way down. It might be completely unavoidable. It might be the reason for the Fermi paradox.

> The VHS player in my basement could be fixed with a screwdriver and a service manual (OK, sometimes an oscilloscope). Meanwhile, my Wi-Fi router requires a PhD in reverse engineering just to figure out why it won’t connect to the internet.

This seems like a pretty weird example, right? WiFi routers don’t connect to the internet. If your modem can’t connect to the internet, something has probably broken outside your house. That’s the sort of locally-unsolvable problem that everybody last century was familiar with; the crappy copper telephone wire that was never designed to let the Internet blast through it and it will eventually rebel and start giving you noise.

If your router doesn’t work, I don’t know. Cheap routers are not a new invention or sign of the times, I think.

VHS players, if I remember correctly, often died in mysterious ways (they have all sorts of little motors and finicky sensors in them).

I loved my TI-99/4A. I used to think it was ahead of its time, but now I realize it was from an altogether alternate timeline where we built stuff to work.