JavaScript is currently disabled.Please enable it for a better experience of Jumi. Kodskola: Vibba in i vårt nya arkiv – Elektroniktidningen
torsdag 19 juni 2025 VECKA 25

Elektroniktidningens sajtprogrammerare – jag – justerade sin mentala frekvens till det område som kallas ”vibe coding”, vibbkodning, och dokumenterade resan.  Vibb är den senaste flugan för interaktion med kodbottar. Jag vibbade ihop ett nytt arkiv för Elektroniktidningens nyhetsbrev.

Här (länk) är det nya arkivet över våra nyhetsbrev. Och här (länk) för vår finska systerpublikation.

Det är inga märkvärdigheter alls, arkivet. Bara en mapphierarki med våra html-nyhetsbrev. Det sträcker sig tillbaka till år 2008. Jag har fräschat upp presentationen av filerna.

Lusten föll över mig i går kväll och jag ägnade ett par timmar åt det, med assistans av Chat GPT 4o. 

Planen för hur jag egentligen skulle möblera upp arkivet förändrades under resans gång. Jag skulle inte säga att uppgiften är slutförd. Jag kan mycket väl komma att vibba vidare.

Det hela började med att jag villle göra det snäppet enklare för vår annonssäljare Rainer att ta skärmskott på annonserna i nyhetsbreven. I hans jobb ingår att dokumentera för annonsörerna att deras annonser verkligen funnits i nyhetsbreven.

Jag tänkte bara putsa på kolumnerna lite grand. Skruva lite på parametrar i någon konfigurationsfil.

Så jag frågade chatte. Han hade lite olika lösningar. Projektet spårade ur när han visade att man kunde skriva php-kod som formaterade presentationen. 

Jag insåg att php gav total frihet. Kan du php-koda ett gränssnitt kan du göra vad som helst.  Och när du har chatte vid din sida så kostar det väldigt lite tid att utforska denna totala frihet.

I alla fall om du ”vibbkodar”, som det kallas, vibe coding. Jag skulle föreslå ”symbiotisk” kodning som ett alternativt namn. 

Det du gör är att du lämnar över kontrollen till chatte.

Andrej Karpathy myntade begreppet i en tweet. Han berättade hur han använt en kodbott för att generera kod utan att bry sig om att sätta sig in i mellanresultaten.

Säg att du kör chattes kod men får ett felmeddelande. Då kan du vibba: du läser inte ens felmeddelandet. Du klistrar tillbaka felmeddelandet till chatte – utan ens en kommentar. Chatte fattar. Han pladdrar lite grand – det läser du inte. Däremot klistrar in du in den nya kod du får. Nu fungerar det. Klart!

Du bryr dig vare sig om koden eller den tillfälliga buggen. Du delegerar allt till chatte. Du kan nästan tänka på annat medan chatte kodar.

Vibb-chatte passar inte in i den klassiska kategoriseringen av datorprogram som ”verktyg” eller ”automater”. Vibbchatte är varken eller. Ni arbetar i symbios. Du blir en cyborg skulle man säga om samarbetet var mekaniskt. Chatte blir en oberoende komponent i din kognition.

Självklart kan du inte vibba hur som helst. Men du känner till min kontext: jag programmerade inte ett kärnkraftverk. Bara hur några filer skulle presenteras.

Vibbande går fort. Eller så går det inte alls och så har du slösat bort lite tid. Men igår kväll flöt det. Jag testade olika saker, bad om nya versioner. Fick själv nya idéer på vägen, ångrade mig, gick in i och ut ur återvändsgränder.

Det är tidsvinsten som är grejen. Det kostar inget att testa idéer. När den insikten sjunkit in tror jag det frigör kreativitet hos dig.  

Jag ville egentligen bara städa upp lite grand för att göra det lättare för Rainer att hitta. Sedan skulle han kunna klicka sig in i nyhetsbreven och skrolla sig ner till rätt annons och ta sitt skärmskott.

Men titta hur det ser ut! Redan i listningen av nyhetsbreven får du se annonserna som ligger i respektive nyhetsbrev. Chatte har grävt upp bilderna och lagt dem där. Och klickar du på en bild så öppnar sig nyhetsbrevet på den plats där annonsen ligger.

Eller varför ens öppna? Du kan kopiera annonsen direkt i listningen.

Jag skulle aldrig ha kommit på tanken att implementera de här finesserna för hand. För chatte tar varje idé bara några sekunder att förverkliga.

Vibbande är inte ett eller noll. Du kan hela tiden välja hur mycket du för stunden vill delegera. 

Exempel. Listningarna implementeras i en php-fil som heter ”index.php”. Det är standard. Webbservern apache har konventionen att om han ser en fil som heter index.php, så kör han den som php-kod. Koden kan implementera vad som helst – en webbplats eller som här – exponera en filmappshierarki.

För att listningen ska fungera i undermappar måste de alla ha samma index.php-fil liggandes i sig. Det berättade jag för chatte. Då gav han mig ett kommando för att kopiera originalet.

Det var en dum idé. Självklart ska undermapparna hellre ha alias till originalet, för att ytterligare modifieringar automatiskt ska spridas till alla mappar.

Så det sade jag till chatte. Inga problem. Han skapade ett nytt kommando som skapade alias istället.

Det här två kommandona släppte jag förstås – inte – igenom osett. Dem granskade jag noga. Det var så jag såg att han tänkte kopiera index.php. Ett kommando som skapar hundratals filer i filsystemet! Sånt kan du inte vibba!

Vibbande är inget nytt. Den allra första kod du fick från chatte granskade du noggrannt. För det här är ju egentligen Skynet-territorium! Det är såhär AI kommer att ta över världen – den kommer att börja skriva sin egen kod.

Och är det inte AI-doom du släpper in, så kan det ju vara chattes ägare Open AI som lägger in subtila buggar som skapar bakdörrar till sajten.

Men den oron släppte snabbt och du använder mer och mer av chattes kod utan att grubbla.

Efter att jag var klar igår slog det mig att jag inte skänkt en tanke åt cybersäkerheten. 

Koden släpper in besökaren i vårt filsystem.  Via php – så vad som helst kan i princip hända. Så jag återvände till chatte och snackade en stund om riskerna.

Han fick läsa den kompletta koden igen ur  säkerhetsperspektiv och tyckte jag skulle lägga den bakom en inloggning. Men det skulle ju förfela syftet. Så han gav mig kommandon som stoppade besökaren från att öppna något annat än html-filer och mappar.

Så såg alltså mitt vibbande ut i går kväll. Jag har hoppat över att beskriva vibbande om navigering, formatering, filtrering, portering från etn.fi till etn.se, sortering, teckenkodning, med mera. Han gjorde även en väldigt intressant hallucination under resan. Hallucinationer försvinner inte för att du vibbar. Tvärtom är de ju ett uppenbart störningsmoment. 

Här (länk) kan du läsa hela vår dialog – lång och extremt slarvigt skriven från min sida (chatte fattar ändå). Det var först efter en tid i dialogen som jag insåg att jag borde skriva en artikel om äventyret.

Jag tänker mig att det kan vara ganska personligt hur man vibbar? Tänk om Karpathy menade nåt annat? Om du läser hans tweet verkar han helt frikopplad. Han svävar iväg och låter chattbotten jobba, med sig själv bara som mellahand för copy—paste.  ”Not too bad for throwaway weekend projects” är slututvärderingen.

Det är uppenbart att mitt eget arbetssätt kräver att jag själv har förkunskaper i programmering. Det går inte sätta en novis på att vibba kod på detta sätt.

Det i sig säger något om vilka förutsättningar som finns för chatte och hans kusiner att ta över från mänskliga kodare.

Jag ser inte att de kommer att kunna göra det helt. Jag har hängt med chatte i 1,5 år nu. Det finns ett tak i pålitlighet som han fortsätter att slå i. Det flyttar inte på sig, trots regelbundna nya versioner. 

Det finns massor av potentiella användningsområden kvar för kodbottarna att utforska. Men jag ser inga tecken på att de är på väg att sluta hallucinera. Det är gissningsvis en del av deras natur.

Jag har ingen generell strategi på plats för att hantera den oförutsägbarheten. Jag har inte hört talas om att någon annan har det heller. Man löser problemet genom att på olika sätt sätta en människa i loopen.

Möjligen att just kodning är unikt i det går att verifiera genom test att ett program fungerar som tänkt? Å andra sidan bara i viss utsträckning – du kan inte verifiera att koden inte har sårbarheter.

 

Prenumerera på Elektroniktidningens nyhetsbrev eller på vårt magasin.


MER LÄSNING:

 
Rainer Raitasuo

Rainer
Raitasuo

+46(0)734-171099 rainer@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)

KOMMENTARER
Kommentarer via Disqus


5 banners varav 5 har onclick.