Labbet

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.