Vibe coding in the 90s was probably like learning C and pointers for the first time and then deciphering strange errors when you couldn't figure out how scanf worked, so you added asterisks and ampersands to the code until it compiled.
> Anything more complex than a few lines, you can just copy it from lib\ folder of the CD-ROM. There's a component for everything. You want to left-pad a string?
I'm hoping for a really great IP lawsuit against a corporate code LLM user.
Until then, the emergent behavior of most corporations' incentive structures will be to get away with it in the short term, due to everyone pursuing their bonuses and promotions, while leaving the legal repercussions as someone else's problem.
Plaintiff: "In summary, they clearly copied our product's code."
Judge: "According to all the evidence of how they used your IP, looks like you now own their company."
Plaintiff: "Your honor, we're asking them to vacate their office building by the end of the day, since we've scheduled an, ahem, ozone treatment for tomorrow morning."
Defendant: pulls out bong, takes a hit "Can't you feel the vibe, mannn..."
The closest to vibecoding in the 90's was to open Borland's Turbo C help in any page, copy and paste the example and modify it until you understand it or until it did what you wanted.
Turbo pascal help for me! The polynomial example taught me how to use pointers. Before that, I could only use static arrays up to a certain length.
Learning about heap allocation was euphoric. I kept beaming because I had unlocked infinite memory, and people around me didn't get why I was such a happy teenager.
To be fair, I already knew about memory regions from PEEK/POKEing on a commodore as a child, but it was always static and pre-populated.
You know, honestly: thinking back to 1992 as a 13 year old, and downloading ircii source code and hacking on it (commenting out the 3 lines with build errors on AIX and then seeing what happened)... trying to add a function here or there or wire in a slash command...
This was a -great- experience. Inheriting code and not knowing what to do with it and trying to forensically triangulate what is going on and learning to read code in the process: this was the best way to learn. The argument that vibe coding is something like that is maybe one of the more hopeful arguments i've heard about it.
had a stint as a programmer for a dark hat org back in the day and hacked my way around rdesktop to make it async. When i say hack I literally hacked down the entire codebase until there was not much left except the login flow which consisted of.. a LOT of functions that needed to be made async. I did not have the slightest idea what I was looking at, looked like arcane magic to me but I eventually managed to make rdesktop into what was probably the fastest RDP bruteforcer there was thanks to boost.asio and chopping it up months on end. I remember the bruteforcer that was circling the forums made a thread for each client, ate up a lot of ram and CPU and it crashed a lot too. Mine wasn't even keeping the machine at 20% CPU, couple gigs of RAM but was topping the bandwidth of the server.
I'm not proud of creating a malevolent tool but am proud of the technical achievement of it considering I just finished high school.
Fair point. There is much laziness in the package approach to software development, and unless you're doing pure assembly, you're no less guilty for vibe coding than the guy who plays npm like lego.
I think the most interesting point in the post is this one:
> I can create anything. Let me just take a look at that CD.
I like the idea of shifting the discussion from "how it is done" to "what are we doing".
Therefore, the point here is that we should do things the CD can't.
In that sense, the package thingy is better than LLMs. It gives you a directory that you can explore and the choice of not wasting time doing things that are already on the CD.
But then, you can say that directory is very large today. So large, we might need an index. And LLMs are just that. But if they're that, then there's some value in finding novel ways to glue things together.
Get off my lawn. When I wanted to vibe code I had to type 65C02 assembly language code from the back of InCider magazine, Nibble and Beagle Bros books.
Oh man, remember CPAN? And COM and ActiveX and OOP? The attempts to make reusable things was definitely juiced by open source repositories of libraries out there for the using.
At first glance, it seems to be a satire of vibe coding, but after reading it a second time, I find that the author is more sarcastic towards those who think AI will replace programmers. Did I get it right?
18 comments
[ 2.5 ms ] story [ 42.7 ms ] threadThis got me.
Until then, the emergent behavior of most corporations' incentive structures will be to get away with it in the short term, due to everyone pursuing their bonuses and promotions, while leaving the legal repercussions as someone else's problem.
Plaintiff: "In summary, they clearly copied our product's code."
Judge: "According to all the evidence of how they used your IP, looks like you now own their company."
Defendant: wearing tie-dye shirt, whimpering "But... vibe coding..."
Plaintiff: "Your honor, we're asking them to vacate their office building by the end of the day, since we've scheduled an, ahem, ozone treatment for tomorrow morning."
Defendant: pulls out bong, takes a hit "Can't you feel the vibe, mannn..."
Microsoft Quick Basic help was also gold.
Learning about heap allocation was euphoric. I kept beaming because I had unlocked infinite memory, and people around me didn't get why I was such a happy teenager.
To be fair, I already knew about memory regions from PEEK/POKEing on a commodore as a child, but it was always static and pre-populated.
This was a -great- experience. Inheriting code and not knowing what to do with it and trying to forensically triangulate what is going on and learning to read code in the process: this was the best way to learn. The argument that vibe coding is something like that is maybe one of the more hopeful arguments i've heard about it.
I'm not proud of creating a malevolent tool but am proud of the technical achievement of it considering I just finished high school.
I think the most interesting point in the post is this one:
> I can create anything. Let me just take a look at that CD.
I like the idea of shifting the discussion from "how it is done" to "what are we doing".
Therefore, the point here is that we should do things the CD can't.
In that sense, the package thingy is better than LLMs. It gives you a directory that you can explore and the choice of not wasting time doing things that are already on the CD.
But then, you can say that directory is very large today. So large, we might need an index. And LLMs are just that. But if they're that, then there's some value in finding novel ways to glue things together.
And round and round we go.
how about developing using WYSIWYG? drag + drop + connect + theme/style + preview.
https://en.wikipedia.org/wiki/Cargo_cult_programming