Oddbean new post about | logout
 nostr:npub1dphugmh2e88uc7ntlfsjjxeqstv8qlz4c30zuqe0zwwwqx2xg7mqhut7jj nostr:npub1qh2njwwrsmdnlqdrn6ktu2k32txpumqzcln778t2mdasa85kep7shvugqs nostr:npub1kwugrw5qdm7qzgw4zduc6g8mj3z0wztn54av9vmth9uks4zdugeqp6qdsv 

> Is this true

Kinda, yeah.  Most people that write code only know webshit and iOS.  They repeat insane stuff to each other like "Pointers are hard and dangerous", they don't know how their kernel works.  The low-level stuff is fun (which is kind of the point of a lot of Saint Terry's rants), so you still get a lot of hackers that do it ( https://www.sultanik.com/pocorgtfo/ ), but people that do this kind of thing professionally are rare and the median age is going up, and people that do it because it's fun aren't the same thing as a company or a university having organizational competence around something.

The reason St. Terry kept talking about the C64 was that back then, your interface to the machine was a BASIC prompt.  DOS is DOS, you bash commands into a prompt that says "C:\>", but older machines and continuing up through the C64, your interface to the machine was a programming language.  People would subscribe to these magazines and they'd have these long code listings, two pages of code:  type it into your Commodore or your Atari or your Apple ][ and when you are done typing, you can run it, it's a game.  You could buy a tape or a disk or a cartridge and then memorize the command that just loads and runs whatever was in there, but since you were talking to the machine in BASIC, but even then, the barrier was very small:  since you talked to the machine using a programming language, you could write a small loop just as easily.  If you wanted to do some math that you couldn't do in your head or you wanted to make sure it was accurate, you could add up a sum by just using mathematical expressions and if you wanted, you could very easily just write a small loop that prompted for numbers and then added them up at the end.  Even in C64 basic, I'm sure this was small enough to do off the top of your head.  And that's Unix and Plan 9, you have a shell, the shell is a very simple programming language, you can write loops.

To contrast, there was this (awful, unnecessary) tool called `rbenv` for managing different versions of Ruby.  I was looking through the docs and they wanted you to eval the output of a command in your bashrc, really unusual and kind of dirty and not very safe to do, so when you see that kind of thing, the normal instinct is to look very carefully at it, but then I see the line "Skip this section unless you must know what every line in your shell profile is doing."  The "shell profile" is a configuration file you write to set some options or adjust your path or add some aliases:  it's configuration for your shell, the expectation is that you have written it.  It's not even low-level, it's just a config file.  This is a tool targeted at *programmers* and there's this condescending "If you absolutely *must* know" right under the heading "Neckbeard Configuration", the expectation being that a programmer wouldn't be expected to understand a user-specific configuration for a program that runs every time he logs in.  What kind of programmer reads or writes programs, some kinda *nerd*?  (I swear it's real:  https://github.com/rbenv/rbenv/commit/88e59647aee0abe12cd1cd77d2dce6d33af8caef#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R157 .  It's not just real but that phrase ended up making its way into plenv and pyenv docs, so it's not just Ruby.)

It is a very, very long way from the expectation that some light programming would be done by regular people that got a computer for games to the expectation that most *programmers* would copy and paste some code that they didn't understand.  The one group of people for whom the operating system cannot be opaque is now...copying and pasting code they don't understand from StackOverflow.  Someone has to be able to write the shit that people copy and paste, or we'll be reduced to incanting magic runes.  How do you fix a magical incantation when it breaks?  How do you make a new one?

Hacking together an OS, writing a very simple compiler, these were things that every programmer knew how to do, and they're more of a niche specialty, it's stuff that actually scares a lot of alleged programmers.  You don't get a lot of innovation, the code monkeys outnumber the hackers, and technical managers can't tell the difference.  Universities aren't doing the research and selling an operating system isn't profitable any more, so there's no money in it, not too many people can do it for a living.  It's really easy to get a job copying and pasting CSS and JavaScript, though.  Welcome to the Eternal September:  this is why your computer is slow and all the software crashes.
copying_code.jpe
copypastaoverflow.jpe

https://freespeechextremist.com/media/7a55c57e-59bf-4973-b0a0-169552e5d469/copying_code.jpe?name=copying_code.jpe

https://freespeechextremist.com/media/dce1df73-af7b-45de-8904-d9a729fa25fb/copypastaoverflow.jpe?name=copypastaoverflow.jpe