Unix - BSD developers : this code should run and be maintained as long as computers exist.

Linux - GNU dev : this code should run and be maintained as long as someone is willing to do the work

Consultant: this code should run until the end of my contract.

Enterprise grade B2B software : this code should run till the end of the demonstration to that big customer.

Vibe coding : You are perfectly right. The code doesn’t run. Try this one. You are right, it deleted your hard disk, I’m sorry.

@ploum

Consultant:

1. Listens to management gripe about their current codebase.

2. Goes back to the monkey cage and talks to the developers.

3. Developers grimly inform consultant of their constant efforts to do the right thing and management's unwillingness to let them do the aforementioned right thing.

4. Consultant looks at proposed solution plan, reformats it, gets the developers to agree it's what they've been saying all along....

5. Management looks at the spiffy new plan and praises the consultant for his insight.

6. Consultant takes all the developers to a good bar and restaurant, informs them of his deceitful promulgation of their own plan - and gets them all howling drunk and full of steak.

7. Profit.

@tuban_muzuru @ploum Because management for some reason always listens to people from the outside, and never to people on the inside.

@ahltorp @ploum

If the Outside Guy has any sense, he allies himself with the people who know anything - which is almost never anyone in management.

See, management always thinks in exceptions. The rest of the world thinks in rules.

@tuban_muzuru If the Ouside Person is really competent, they can actually synthesise something good from what the Inside People say, and in that case it is good for the management to listen to them.

But management doesn’t know that in advance, and as a general strategy it’s really bad to trust outsiders more than the people you have actually hired to do the job in the first place.

@tuban_muzuru @ploum Sometimes you need someone from outside to tell you the things you already know. Someone expensive - that's important.

Reminds me of my last time a consultant came on board within my "area" (not for a long time. ...). I told them we don't need a consultant - we already know what we've to do. Of course we (over) paid him and, in the end, fired him to start working... 🤷‍♂️

@M4x @ploum

TM's Maxim of Overstay: never allow a contractor to build a bedroom onto your house for himself.

A consultant is supposed to know something. Once you've done KT and got things on track, the job is done.

@tuban_muzuru @ploum
8. Management announces a mandate to implement the plan while not allocating additional resources for it – market pressure, you understand?

9. Nothing happens.

10. Goto 1.

@sebhans @ploum

The monkeys, given half a chance, will rewrite a few AI sonnets in the style of John Donne.

@tuban_muzuru @ploum Important step: The "numbers" need to be backed by some arbitrary "technique" to organize systems with some weird acronym ideally that someone has pulled out of their are. Double points for an Excel with hard numbers that someone invented and tweaked to produce exactly the answers you need.

@ljrk @ploum

Have you never heard of the PFM Pattern?

Pure Fucking Magic.

@tuban_muzuru @ploum oh, I've been neglecting step 6 😱
But often the local team is so relieved that the right thing is finally being implemented that they buy me all the drinks :-D

@danielaKay @ploum

I deduct it all from my taxes. Entertainment.

@ploum The Vibe code is just a tool. If you kill someone with a knife, it's not the knife's fault.
@catavz @ploum This argument is also made by American gun nuts, and look how well _that_ turned out.
@denisbloodnok @catavz @ploum The radioactive anthrax bomb is just a tool. The vibe code user is also a tool.
@denisbloodnok @ploum There is no solution other than educating people to solve their problems peacefully. They will use any means to harm others. It is not weapons that kill people (unless AI is a weaponized device, which is debatable).
@catavz @ploum more aptly compared to the gun. Knives have uses other than killing.

@ploum

In my last job before I retired, someone asked me how/why many of my 'helper' scripts called stuff like 'sed' and 'awk'. I had an entire library of Unix (GNU!) utilities built for Windows, and they all worked, so if course I used them.

He explained to boss, boss asked me to refrain, so I rewrote all the helper scripts in Perl.

@ploum If I'm vibe coding then it's probably in my butt and I don't actually care what comes out of that so long as I'm having fun.
@ploum
For context, ~1980 the old Bell System already had 400 operations support systems (OSSs), ie (mostly) mission-critical software written by {Bell Labs, Western Electric, AT&T, telephone co’s, contractors, or third-party software co’’s.} I have no idea how much is still running, but I know some is, like TIRKS:
https://en.wikipedia.org/wiki/Trunks_Integrated_Record_Keeping_System
It was originally developed in late 1960s, written in IBM S/360 assembly language & PL/I, although it’s acquired more modern front-ends.
Trunks Integrated Record Keeping System - Wikipedia

@JohnMashey @ploum And this Trunks Integrated Record Keeping System (TIRKS) has "complete backward compatibility": wow....
@joostvb @ploum
Some old mainframe software has serious longevity.
I wrote this program ~1970-71 for IBM S/360:
https://en.wikipedia.org/wiki/ASSIST_(computing)
S/360 used 24-bit addressing (16MB) so I, as did many others used the high byte for flags, which was troublesome enough to change that IBM kept a 24-bit addressing mode to support such codes.
I last looked in 2015, ASSIST still ran.
ASSIST (computing) - Wikipedia

@ploum Rust developer looking at *any* code: this needs a rewrite in Rust.
@ploum
Someone: We hold this code to be self-evident...
@ploum actually the agent doesnt even admit it, it just says you reached your rate limit and acts like nothing ever happened
@ploum when you said "Enterprise-grade B2B software", I thought of "this code should run until the end of the while(true) loop"
@ploum I prefer the Unix / BSD devs approach
@freya @ploum Reality tends to align with the "GNU" approach (at least for those things that can't simply be done once and never need to be touched-up again).

@ploum

Finally Vibe Code LLM did the right thing.

@ploum

You're *absolutely* right! 😅

@ploum

Also Consultant: Can you refresh production from the backup?

@ploum Broderbund shipped software [probably a game] that would erase hard drives by accident. This was when hard drives were less common tho' and were probably like 12 megabytes.

Anyway I was impressed.

@ploum

Plan 9 devs: this code shouldn't exist, let's delete it

@ploum Windows developers: This should run, until crowdstrike bricks all the computers in the known universe, or until m$ decides to make some undocumented feature breaking change that breaks a critical lib, or until windows goes agentic in which case my app is pointless anyway... right?

@ploum

Tim: Yes, this code works. Yes, you are allowed to modify it. Yes, you are able to charge for your modifications, provided you pay the $1/user license for my code.

@ploum Soviet coding: if they send me to Siberia, this won't work any more
@ploum @sassdawe Sometimes the universe has a sense of humor
@hardingar @ploum @sassdawe it was in fact me that broke it by installing openbsd-current instead of -release.
@ploum fortran 77: this code runs until the end of the univerese.
@ploum Hurd Dev: GNU/Hurd should (in theory) run on a laptop system. However, PCMCIA is NOT supported, neither are PS/2 mice, only serial mice work, no USB tho.