Shell szkriptelés és systemd

Amióta csak az eszemet tudom, nagyon szeretek programozni, és amióta csak először találkoztam a shell szkripteléssel, utálom, mint a szart. Szerintem a shell szkript az egyetlen programnyelv(család), amiben évtizedek óta nem vagyok képes még az if szintaxisát sem megjegyezni, nemhogy a ciklusokét. Borzasztó az egész, a végeredmény mindig nagyon kétes és törékeny dolgokkal van tele, ráadásul úgy néz ki, mintha lehánytam volna a képernyőt.

Amiről ez eszembe jutott, hogy ilyen szempontból azért tök jó dolog, hogy lettek ezek az AI programozószerszámok. Soha többé nem kell shell szkriptet írnom, elég ráförmedni Claudera, hogy bassza össze, aztán még kétszer ráförmedni, hogy tegyen bele logolást, meg ne ssh-zzunk már minden egyes fájlhoz egyesével. Egy csomó házi szkriptecskét is kigeneráltattam, amit sosem volt időm/kedvem megcsinálni.

Ahhoz hasonlít ez a helyzet, amikor megjött a systemd, mindenki picsogott, hogy micsoda szar, meg mi lesz az “unix filozófiával” (úristen), én meg nem értettem, hogy miről beszélnek. Enterprisey Java-buherátorként sajnos gyakran kellett mindenféle Javás szarokhoz “init szkripteket” írnom. Semmi “komoly”, csak start/stop/restart. Persze shell szkriptben ez nagyon “komoly” feladat, ilyenkor az ember előállítja a tizennyolcmilliomodik PID fájlokkal bűvészkedéssel meg vonali zajnak tetsző kriksz-krakszokkal telecsaccsantott pár száz soros förmedvényt. Ami ugye azt a komoly feladatot oldja meg, hogy el lehessen indítani a szart, meg le lehessen állítani a szart, meg neadjisten amikor újraindítják a gépet alatta, akkor álljon le meg induljon el tök magától. Na, hát ha nekem valami nem hiányzik, az az operációs rendszer feladatainak megoldása egy a célra teljesen alkalmatlan nyelven és környezetben. Olyan jó, hogy pl. egy Spring Bootos szar pár soros systemd unitjában a legkomolyabb eltalálandó feladat az, hogy SuccessExitStatus=143.

Na valami ilyesmi az AI-kód-ellenes picsogás is. Összeszarattam Claudedal vagy hatszáz sornyi gusztustalan PHP kódot, amit akár nekem is meg kellhetett volna írnom, amit nagyon-nagyon utáltam volna, de így nem kellett könyékig merülnöm a szarban, csak írkálni, hogy “ezt kéne”, “nem megy ez a szar”, “azt ne úgy csináld”. Elolvasni el kellett, hogy mi történik, meg néha beavatkozni, de legalább nem nekem kellett fosnom kifelé a péhápét, fosta a gép; csak jól meg kellett mondanom, hogy mit akarok. Úgy fest, vannak olyan problémák, amikre most már az angol nyelv jobb programozási nyelv, mint egy valódi programozási nyelv.

Vagy ahogy műveltebb embertársaim szokták mondani, “anyádnak palánkot”. Na csöcsmók!

Claude iterál helyettem

Szegény olyan okos. Múltkor például rájött, hogy egy shell szkriptben kissé félretervezett egy ciklust, és a következőt bírta mondani (kiemelés tőlem):

Viszont így a stop rész az összes service-t megállítja a szerveren, ami nem biztos, hogy jó ötlet.

AI slop nginx konfig

Magyarul telekáromkodott nginx konfigurációnál nincs is jobb, főleg, ha ilyen szépen ér véget:

	ssl_reject_handshake on; # mehet a faszomba
return 444; # leszophat

AI költészet

Nemigen vagyok híve az úgynevezett művészet hablatyolóprogramokkal való helyettesítésének, de ugye ahogyan vak tyúk is talál szemet, néha még a ChatGPT is tud jót írni. Ez a fantasztikus “szonett” például mindent elmond, amit a C-ről gondolok. Öveket bekapcsolni!

Ó, C, te vén, kopott őskövület
kinek syntaxa, mint láncos korbács csap,
a lelkem minden pointertől reped,
s malloc szól: “fiam, leak lesz, ha kap”.

Makék s Cmakék, s autókonf-fajzatok,
mind táncolnak, hol makefile vérzik,
hol minden tab s space új átok,
és #define szúr, mint tűz a vérig.

S miért, te szent vasisten, mondd, miért,
hogy rotálni sem tudsz balra, csak shiftbe?
A logika sír, az értelem vért,
mégis írjuk, mert kód van a szívbe’.

Mert C — te szajha, régi bitparázna —
minden kor szopása benned parázslik.