Hylla N7 - håll koll på dina böcker

23 november 2025

Mina experiment med AI-baserad programmering fortsätter. Som jag skrev i det förra inlägget så har jag provat lite olika verktyg för att programmera med AI-stöd. Det började med att jag installerade Github Copilot i RStudio för ganska länge sedan. Den användes mest för att "skriva färdigt" kodrader som jag påbörjat, och i somliga fall gav den mig hela block med kod baserat på vad den trodde jag skulle fortsätta skriva för kod. När ChatGPT kom använde jag den ibland för att låta den skapa stora block med kod baserat på en beskrivning av vilket problem jag ville lösa. Nästa steg blev prova Lovable, som i sin gratisversion inte tillåter att jag ändrar i koden direkt (utan att ladda ner den). Jag tröttnade dock på Lovables system för "krediter", tog ett steg tillbaka och installerade Gemini Code Assist i min Visual studio code editor. Den fungerade tyvärr inte så bra, då den ofta slutade svara mitt i en session. När Google Antigravity kom härom dagen så provade jag den. Den fungerar nästan precis som Google Code Assist i Visual studio code, men mycket bättre då den svara snabbt. I samband med att Antigravity kom så uppdaterade också Google Gemini till version 3 som verkar bättre än version 2.5.

Antigravity editorn fungerar otroligt bra. Jag är mycket imponerade av hur den fungerar. Med denna tror jag mig kunna se hur programmering kommer att förändras, snabbt.

Att kunna göra webbsidor med t.ex. Laravel utan att ha någon större erfarenhet av hur strukturen är på sådana projekt är fascinerande. Samtidigt är det fortfarande bra om man kan programmera lite. Att "programmera" genom att beskriva i långa meningar vad man är ute efter blir efter ett tag ganska ineffektivt. Att försöka beskriva alla detaljer runt hur ett formulär ska se ut, och vad som ska hända i vissa specialfall är trassligt. Ofta ändrar AI:n på ställen som jag inte ville att den skulle ändra, som att helt plötsligt byta namn på beskrivningen av ett textfält. Genom att då kunna titta i koden för att se vad det är som är fel, och berätta för AI var den ska ändra gör att det fungerar bättre. Och ibland går det till och med snabbare om jag gör det själv.

Nu finns en fungerande version av Hylla N7 att prova. Den har inte alla funktioner som man skulle kunna tänka sig för en bok-logg, men för att mestadels vara ett experiment för att prova AI-programmering så tycker jag den blev lyckad. Som bonus har jag också fått till ett bra flöde av kod från min laptop, till Github, till min webbserver.


Denna bloggpost har skrivits av Clas, 23 november 2025. Permalänk.


AI-programmering

16 november 2025

Jag har provat att programmera lite med stöd av AI. Det är ju ganska mycket snack runt detta, och varför inte prova. Att använda LLM för att fylla i någon kodrad här och där, det hjälper ju de flesta verktyg till med sedan ganska lång tid, men att det skulle gå att skapa hela webbsidor, eller andra program, bara genom att skriva vanlig text känns fortfarande ganska nytt. I alla fall att det skulle fungera bra. Jag började med att prova Lovable för att "prata ihop" en webbsida där man kan hålla reda på vilka böcker man läst. Det blev sidan Bok-logg. Tack vare att Lovable har bra integration med en databas, och har förberedd kod för autentisering, så gick det smidigt att få ihop en sida snabbt, och det räckte med det antal instruktioner man kan ge med gratis-versionen. Men när man börjar närma sig "klar" och det fortfarande inte riktigt fungerar som man tänkt, då springer antar instruktioner iväg och gratis-versionen räcker inte till. Men otroligt smart tjänst är det i alla fall, och det är verkligen roligt att sätta ihop grunden till en webbsida, även om det blir mer och mer frustrerande med tiden.

När "krediterna" på Lovable tog slut så tänkte jag att jag provar AI-stöd som använder något annat språk än Typescript, och där det gör enkelt att göra ändringar utan AI när jag vill det. Jag lagt in Googles Gemini Code Assist i min VS Code editor. Jag använder Gemini till mycket annat, så det var rimligt att fortsätta med den. Med den typen av AI-stöd så kan man utgå från vilken grund som helst så jag valde att skapa samma boktjänst som med Lovable utifrån Laravel. Laravel är ett ramverk för webbsidor baserat på PHP. Jag har programmerat lite i PHP tidigare, men det är ju typ 10 år sedan, och det har ju hänt en del sedan dess. Laravel innehåller mycket av det som Lovable också har, enkelt att sätta upp databas och grund-kod för inloggning och användarhantering finns med från början.

Att använda Gemini Code Assist från VS Code är långt från smärtfritt. Ibland så tappar den anslutningen, och AIn vägrar fortsätta svara. Ibland sker det mitt i ett steg där kodtexten justeras, och då blir man ju lite orolig att något ska gå sönder. Men oftast räcker det med att start om assistenten så fungerar det igen. Jag interagerade på samma sätt med Gemini Code Assist som med Lovable, dvs beskrev vad jag ville ha, snarare än att fråga specifika programmeringsfrågor. Det blev en webbsida som nu finns på n7.se som jag har kallat Hylla N7.


Denna bloggpost har skrivits av Clas, 16 november 2025. Permalänk.


Tillbaka igen?

18 november 2023

För ungefär en vecka sedan så började sajten att fungera dåligt. En av kopiorna (shard 2) av databasens index fungerade inte och det gick inte att lägga till nya dokument. Det såg ut som om den försökte återställa sig på egen hand, men det gick mycket långsamt. Sedan började allt annat gå långsamt också. Då startade jag om servern, men den startade aldrig upp igen. Det är en dator som jag hyrt hos Hetzner i Tyskland, och den har fungerat väldigt bra i nästan sju år (59244 timmar). Mailade supporten och de meddelade att de två diskar som jag kört i mjukvaru-RAID båda visade status "failing now".


Dear Client,

after checking the server, we noticed both drives being broken:

---------------------------------------
/dev/sda (ata1)  240 GB  BTDA328105RC2403GN     33°C    59344 hours
   Sector size                    512n (512 log+phys)
   Available_Reservd_Space        0       FAILING_NOW
   End-to-End_Error               0
   Reallocated_Sector_Ct          8
---------------------------------------
/dev/sdb (ata2)  240 GB  BTDA3281066P2403GN     35°C    59413 hours
   Sector size                    512n (512 log+phys)
   Available_Reservd_Space        0       FAILING_NOW
   End-to-End_Error               0
   Reallocated_Sector_Ct          6
---------------------------------------

Jag laddade hem den backup som jag också haft hos Hetzner i hopp om att kunna återställa allt på en annan server smidigt. Det gick inte supersmidigt. Det visade sig vara svårare att återställa MySQL-tabeller med bara databas-filer än jag hade hoppats. Flera av de definitionerna för tabellerna hade jag tydligen ändrat utan att spara. Några av tabellerna gick dock bra att återställa. Det visade sig också att många skript tappat ägar- och kör-attribut i samband med backup:en vilket gjorde att många delar av Solr inte var smidigt att försöka återställa. Valde att ladda en ny version av Solr (9.4) istället. Uppdateringen från Ubuntu 16 till Ubuntu 22 gjorde att Java och Python fick nyare versioner, vilket var smidigt. Att OpenAI uppdaterat sitt API och jag behövde justera en hel del där var dock inte så smidigt. Även den nya servern kör hos Hetzner, men denna gång valde jag en i Finland istället för Tyskland.


Men nu tror jag att det mesta ska fungera igen. Kan ta ett tag innan alla feeds fungerar igen, men förhoppningsvis inte.


Denna bloggpost har skrivits av Clas, 18 november 2023. Permalänk.


Nyhetsfilter utvecklingsblogg

Det här är utvecklingsbloggen för nyhetsfilter.se. Här skriver jag om lite allt möjligt, men det mesta har en eller annan koppling till utveckling av sajten nyhetsfilter.se.

Aktuella bloggposter

Kontakt

Tyvärr går det inte att kommentera direkt på bloggen, men det går bra att maila på clas@nic-sys.se.

RSS-feed för bloggen