Labbet
Labbet är platsen för idéer som ännu inte har bestämt vad de ska bli.
Här hamnar tekniska experiment, prototyper, spelidéer, elektronik och sådant jag bygger för att förstå hur det fungerar. Några projekt utvecklas så småningom till färdiga webbappar. Andra ger svar på en fråga, skapar tre nya frågor och blir sedan liggande tills inspirationen återvänder.
Allt behöver inte bli färdigt för att ha varit värt att bygga.
På labbänken
En Linux-liknande värld i webbläsaren
Tanken är att skapa en Linux-simulator med terminal, filsystem, grafiskt skrivbord och en egen begränsad pakethanterare.
Det ska inte vara en fullständig Linux-emulator. Målet är i stället en trovärdig miljö där användaren kan navigera i mappar, skriva kommandon, installera ett begränsat antal program och upptäcka hur ett Linux-system fungerar.
Status: Koncept och tidig utveckling
Biosimulator Deluxe
En spelidé där varelsernas kroppar, material, rörelser, energibehov och fortplantning styrs av deras genom.
Varelser kan vara uppbyggda av olika material och behöver därför olika typer av föda eller bränsle. När genom kombineras kan avkomman ärva egenskaper från en eller flera varelser, men även utveckla helt nya egenskaper.
Fortplantningen behöver inte ske mellan två individer och olika varelser kan vara mer eller mindre kompatibla med varandra.
Status: Konceptutveckling
Sverige efter människan
Ett spelprojekt som utspelar sig i Sverige efter att samhället har kollapsat. Det handlar inte om ett atomkrig, utan om en värld där människorna har försvunnit och naturen har börjat ta tillbaka städer och byggnader.
Spelaren börjar i en skolas källare och försöker förstå vad som har hänt. Ovanför finns igenvuxna korridorer, övergivna samhällen och ett landskap där björn, varg och andra djur har tagit större plats.
Status: Spelvärld och miljöexperiment
Elektronik och IoT
ESP32 och sensorer
Experiment med ESP32 och ESP8266 för att mäta temperatur, luftfuktighet, lufttryck, rörelse och andra värden.
Sensorerna kan presentera information lokalt, skicka den vidare över nätverket eller visa den på en egen webbsida. Projekten används för att prova både elektronik, programmering och kommunikation mellan olika system.
Status: Återkommande experiment
Styrsystem för husvagn
Ett planerat system för att samla husvagnens funktioner i ett gemensamt gränssnitt.
Systemet ska kunna visa temperatur inne och ute, luftfuktighet, lufttryck, batterispänning och nivåerna i vatten- och gråvattentankar. Det ska även kunna styra funktioner som vattenpump, dränering och landström.
Tanken är att använda kapacitiva nivågivare, reläer och en strömsnål skärm med lokal styrning.
Status: Konstruktion och komponentplanering
Gränssnitt utanför datorn
Alla gränssnitt behöver inte finnas på en bildskärm. Jag experimenterar även med små displayer, e-ink, tryckknappar, touchfunktioner och fysiska indikatorer.
Utmaningen är att visa rätt information vid rätt tillfälle utan att bygga ett system som är mer komplicerat än problemet det ska lösa.
Lokal AI och automation
AI på egen hårdvara
Experiment med att köra språkmodeller och bildgenerering lokalt i stället för genom externa molntjänster.
Jag undersöker bland annat vilka modeller som fungerar på äldre hårdvara, hur mycket minne som krävs och vad som faktiskt går att använda i praktiken. Verktyg som Jan.ai och lokala kodmodeller ingår i försöken.
Status: Aktivt experimentområde
Automatiserade arbetsflöden
Jag undersöker hur olika system kan kopplas samman så att information kan hämtas, bearbetas och skickas vidare automatiskt.
Det kan handla om allt från sensordata och webbappar till lokala AI-modeller och verktyg som n8n. Målet är inte automatisering för automatiseringens skull, utan att slippa göra samma tråkiga moment flera gånger.
3D och spelutveckling
Blender till Unreal Engine
Jag bygger delar av spelmiljöer i Blender och sätter sedan samman dem i Unreal Engine.
Arbetet omfattar byggnader, väggar, golv, fönster och andra modulära delar, men även material, damm, sot, mossa, växtlighet och sådant som får en övergiven miljö att kännas trovärdig.
Bergslagsskolan som spelmiljö
En verklig skolbyggnad används som grund för en digital spelmiljö. Ritningar och mått behöver först bearbetas innan byggnaden kan modelleras och användas i en spelmotor.
Källare, korridorer och tekniska utrymmen passar särskilt bra som utgångspunkt för det postapokalyptiska spelprojektet.
Status: Modellering och miljöarbete
Webbens experimentverkstad
Modern CSS
Webbläsaren får hela tiden nya funktioner som tidigare krävde stora mängder JavaScript. Jag experimenterar bland annat med:
- container queries
:has()- subgrid
- OKLCH-färger
- scrollstyrda animationer
- responsiva komponenter
- CSS-funktioner och beräkningar
De bästa experimenten utvecklas vidare till exempel och undervisningsmaterial i projektet CSS-tips.
Gränssnitt och simulatorer
Windows 98-simulatorn, ROBCO-terminalen och flera andra projekt började som försök att se hur långt det går att komma med HTML, CSS och JavaScript.
I stället för att bara efterlikna hur något ser ut försöker jag även återskapa känslan av att använda det: fönster, menyer, kommandon, ljud, väntan och små detaljer som egentligen inte behövs men gör hela skillnaden.
Metoden
Jag arbetar sällan från en fullständig kravspecifikation. Ofta börjar ett projekt med någon av följande frågor:
- Varför finns det inget enkelt verktyg för detta?
- Skulle det gå att göra direkt i webbläsaren?
- Kan jag bygga det med den utrustning jag redan har?
- Vad händer om jag kombinerar de här två idéerna?
- Hur svårt kan det vara?
Den sista frågan har historiskt sett varit den farligaste.
När ett experiment fungerar tillräckligt bra kan det flytta vidare till sidan Webbappar. Fram till dess bor det här i Labbet.