Programmerare, skeptiker, sekulärhumanist, antirasist.
Författare till bok om C64 och senbliven lantis.
Röstar pirat.
AI kommer aldrig kunna…
2024-09-07
Artificiell intelligens (AI) har varit med i matchen längre än mig. Under senare år har både användbarheten och antalet tillämpningar ökat. I mitten på 1980-talet blev AI tillgängligt för hemdatorer. Keith Brain och Steven Brain skrev boken "Artific [...]
En populär lösning på ett icke-existerande problem
2024-08-18
Om du har dragit en strömkabel från en punkt till en annan, men råkat runda en regel så snäv att inte strömkabelns ändar kan göra samma runda, så har du förmodligen ett problem. Det råder tydligen ingen fara! Du kan lösa detta utan att klippa [...]
Demokraterna sprider desinformation om “molnet”
2024-08-04
Partiet Demokraternas presidentkandidat Kamala Harris gjorde nyligen ett uttalande om hur s.k. cloud computing fungerar. Min transkribering: Eh, so, you, no longer are you necessarily keeping those private files in some file cabinet that is locke [...]
JobRunner 1.7
2024-07-01
JobRunner is a Windows program that executes tasks sequentially. Typically it is used for client rendered web sites. Version 1.7 of JobRunner lets you set retry count for individual jobs. Future updates can be found here. Download installation progr [...]
Nedtrappningen under sommaren
2024-06-26
Jag har varit lite frånvarande under en period, men det är inget värre än att jag bara har svårt att få tiden att räcka till med allt som pågår. Medan jag jobbar är jag alltid närvarande på Twitter/X, och då och då skickar jag upp en lite kortare vi [...]
Resurser för Commodore 64-utveckling
2024-02-15
Om du som jag skriver program för Commodore 64 på fritiden, är denna sida ett register över de verktyg du behöver. Utvecklingsmiljöer CBM .prg Studio C64 Studio Programmeringsspråk Turbo Rascal KickC XC=BASIC 3 Vision BASIC [...]
En programmerare programmerar
2024-02-09
Jag är inte helt säker på att programmerare är ett framtidsyrke, för behovet dras allt jämt åt kring ett minskande behov av ytterligare ett whateverramverk för dagens systemutvecklare att använda. Som jag har uppfattat marknadens behov så kan det va [...]
Kvällens nästanrymning
2024-01-23
Vi bor mellan två rullstensåsar. Till väster ligger åsen med vägen norrut mot Örebro, och till öster ligger åsen med stallet och hagen. Kvällen började med att ett fallet träd hade krossat staketet och att vi noterade att flocken som stod där, endas [...]
Häst #5 är installerad
2024-01-19
Nu har vi installerat den femte hästen, ett sto (svensk varmblod) vid namn Akasia. Så kvällen kommer att ägnas åt att etablera den nya rangordningen i flocken. Min dotter Lova tog bilden.
JobRunner 1.6 is available
2023-12-16
Version 1.6 of JobRunner is available. It allows an system administrator to disable individual jobs in a batch. Download installation program (Windows 10 or later): JobRunner.exe (Right click, Save link as...) Source code (C# 8, .NET Frame [...]
Några knep för att få fart på Commodore BASIC i C64
2023-09-17
Commodore BASIC 2.0 på Commodore 64 har några kända prestandaproblem, och denna enkla kod har implementerat några stycken: 10 S=TI 20 X=0.01 30 FOR A=0 TO 255 40 REM 50 REM 60 REM 70 X=X+0.01 80 POKE 16384,A 90 REM 100 REM 110 REM 120 NEXT 130 S= [...]
En Windows-komponent för Commodore-sprites
2023-08-30
En Windows Forms-komponent som kan presentera en Commodore 64-sprite är kanske inte vad man använder varje dag. Men jag har byggt en sådan (.NET Framework 4.8) för att isolera många tekniska bekymmer i den sprite-editor för C64 jag arbetar med. Om d [...]
Vilket programmeringsspråk är enkelt?
2023-08-25
Frågan om vilka programmeringsspråk som är enkla brukar dyka upp från nybakade programmerare. Det är inte jättelätt att besvara frågan, för det finns så många aspekter som påverkar komplexiteten i ett programmeringsspråk. Är språket enkelt för att s [...]
ChatGPT kan lyssna på podcasts åt dig
2023-05-29
Med tanke på hur snabbt utvecklingen går, kommer denna text snart vara inaktuell eller felaktig. Men jag har upptäckt att jag kan konsumera enorma mängder information på väldigt kort tid genom att låta ChatGPT lyssna på poddar åt mig. Vill du sjä [...]
A JS implementation of the Harter-Heighway Dragon Curve
2023-04-24
Five years ago, I did a post in Swedish on the Harter-Heighway Dragon Curve, with C# source code. I have translated that code to JavaScript and added animation to the rendering. The fractal describes a way of folding a piece of paper so that its out [...]
How to fix the endless explorer.exe crash-and-restart loop in Windows 11
2023-03-15
After updating Windows 11 to 22621.1413, it got stuck in an endless loop after startup. The desktop environment, explorer.exe, crashed and restarted continuously. This can happen if you are running add-ons on top of explorer.exe, and in my case, I h [...]
Inverterat läge på VIC-20
2023-02-28
VIC-20 har en gemensam minnesadress som håller reda både på skärmens bakgrundsfärg och borderfärg. Dessutom finns en bit som håller reda på om inverterat läge används. Adressen är 36879, och de åtta bitarna på adressen beskriver borderfärg (bit 0-2) [...]
JobRunner 1.5
2023-02-05
JobRunner är ett program som exekverar sekvenser av program. Det kan t.ex. användas av den som regelbundet genererar filer lokalt på datorn, som ska skickas upp till en server. I version 1.5 finns stöd i användargränssnittet för att arbeta med varia [...]
Disabling loading turbo to make C64 programs work on the TheC64
2023-01-08
On a TheC64, you would normally load a program from a disk image rather than a physical disk. If the program consists of a single file, everything is usually fine. But if several files make up the program you want to load, a custom loader is usually [...]
The new self-contained Hand class
2023-01-06
I have added a new class to my poker formation checker (now on .NET 6.0, not 5.0). The library still mainly works with string representations of decks, hands and cards, and the Hand class can be initialized from a string. // Create a hand from a [...]
Rita en cirkel på Commodore 64
2022-12-29
Det finns ett meme som visar hur omständligt det är att programmera BASIC på Commodore 64 (C64). Bilden visar den kod som krävs för att rita en cirkel på skärmen på en C64, jämfört med den kod som krävs för att rita en cirkel på skärmen på Sinclair [...]
Min första kontakt med ChatGPT
2022-12-08
Jag har knuffat min första kontakt med chatboten ChatGPT fram till idag. Orsaken till min prokrastinering är enkel tidsbrist, men idag kom jag mig för att testa ett kort replikskifte, vilket onekligen gav mig mersmak. Jag: Can you give me five [...]
Åtta avsnitt av “Inte en singel”
2022-12-06
Det har hunnit bli åtta avsnitt av podcasten "Inte en singel" som jag gör tillsammans med Henrik Andersson. I varje avsnitt lyssnar vi på en skiva - åtminstone på låtarna som inte släpptes som singel - och recenserar både musiken och valet av singla [...]
Klassen PathInfo för .NET 6.0/Windows
2022-10-15
Jag har skapat ett bibliotek för .NET 6.0 (endast Windows) som innehåller en enda klass: PathInfo. Den kan korta ner en sökväg för presentation på skärmen och den kan hämta innehållet i en katalog, rekursivt. Exempel finns att titta på här: NuGet [...]
JobRunner 1.4
2022-09-30
Version 1.4 av JobRunner finns nu att ladda hem. Programmet låter dig lista upp processer som ska utföras i turordning som kan beläggas med vissa enkla villkor. Startas programmet som administratör kan dessa steg redigeras, annars kan de bara köras. [...]
Vad är vinsten att skriva i maskinkod?
2022-08-03
För ett par veckor sedan skrev jag en kort text om hur man optimerar prestandan i Commodore BASIC 2.0 second release. Det gjorde att jag fick frågan om hur mycket man tjänar på att programmera maskinkod istället för BASIC. I mitt exempel drog jag ne [...]
Prestanda i Commodore BASIC 2.0 second release
2022-07-15
Om du skriver ett program i Commodore BASIC för C64 (Commodore 64) eller (som i mitt fall) VIC-20 är prestanda viktigt, speciellt om det är ett spelprogram som du bygger. BASIC-tolken är ganska slö, och det faktum att både C64 och VIC-20 interpreter [...]
Några AI-tjänster av typen text-to-image
2022-06-15
Jag kan inte påstå att de AI-tjänster som konverterar text till bild som finns att använda gratis på nätet är 100% användbara. Jag knappade in "dog runs over green grass" i sex stycken fria tjänster.
Avstånd mellan uppföljare och deras betyg
2022-05-29
Hur tätt släpps filmers uppföljare? Och hur populära är de? Jag har tittat på några trilogier, tetralogier och några filmserier med fler än fyra filmer. Trilogier: Tetralogier: Och några filmserier med fem eller flera delar: Så [...]
Hur får man bra ljud i en podcast?
2022-04-24
Podcastproduktion sker i flera steg. Man ska rigga utrustning, göra en soundcheck, spela in podcasten, klippa den, montera och mastra den och publicera den. Jag har redigerat ljud i vågformseditorer sedan tidigt 1990-tal och poddat sedan 00-talet. J [...]
Sprite (OpenGL i .NET Framework)
2022-02-24
Jag har dragit nytta av ett gammalt C#-repository som wrappar OpenGL för .NET Framework för att bygga ett minimalistiskt spelramverk. Följande kod visar stjärnor som flyger över skärmen, från höger till vänster. Projektet är .NET Framework 4.8 som j [...]
Rendera mandelbrotmängden
2021-12-15
Min första kontakt med mandelbrotmängden var ett BASIC-program av Bo E. Carlsson runt 1990. Sedan dess har Andrej Bauer skrivit ett C++-program som skriver mandelbrotmängden till en bildfil. Programmet gick att kompilera med en C#-kompilator med end [...]
TV4 uppmärksammar behovet av religiöst neutrala begravningsplatser
2021-12-05
Häromdagen sände TV4-nyheterna ett inslag om religiöst neutrala begravningsplatser. I egenskap av ordförande i Humanisterna Örebro stöttade jag initiativet. TV4 Play: https://www.tv4play.se/program/nyheterna/religi%C3%B6sa-symboler-plockas-ned-i-kape [...]
Vill du lära känna mig?
2021-11-22
Jag har blivit grundligt intervjuad av Emil Nilsén i podcasten "Vi måste prata", och vi pratar om hur jag blev den jag är idag. Lyssna gärna, mycket nöje!
“Stulet gods” avsnitt 43
2021-11-01
Nästan ett år har passerat sedan vi släppte avsnitt 42 av podcasten Stulet gods, men nu är vi tillbaka med en handfull av låtstölder att avhandla. I avsnitt 43 lyssnar vi på stulen musik som bl.a. innefattar Queen, Justin Bieber och Ozzy Ozbourne. F [...]
Preserverad SID-musik från 1988
2021-10-26
I samband med att jag lämnade staden och flyttade till landet, så gjorde jag mig av med alla mina Commodore-maskiner. Jag passade på att preservera en liten del av mina disketter, men jag kunde inte rädda allt. En av disketterna innehöll fyra SID-lå [...]
Två “nya” C64-demos från 1986-87
2021-10-12
Jag har preserverat ett antal Commodore 64-disketter från min ungdom. Alla disketter med ännu ej preserverat material gick tyvärr inte att rädda, men några små guldkorn har jag fått tag i, som t.ex. en disk med följande fillista. Antal block inom pa [...]
Samantha Fox special double-groove multi-play pressing
2021-08-07
Henrik Andersson har donerat maxisingeln "I surrender (to the spirit of the night)" med Samantha Fox till mig. En 12"-singel med skivnummer FOXY T6. Det som gör denna speciell anges på framsidan: Special double-groove multi-play pressing. Det är [...]
Commodore BASIC 2.0 second release
2021-07-22
Nu finns hela min bok om Commodore BASIC 2.0 second release för Commodore 64 och VIC-20 att läsa som PDF här. Kontakta mig gärna för rättningar eller tillägg! Uppdatering 2021-07-25: Även en epub-version finns att ladda hem.
Lorenz vattenhjul
2021-07-03
Lorenz-attraktionen är en fraktal vars formel beskriver en rotationshastighet (illustrerat med en radie) och en rotationsriktning. Så här ser den ut, implementerad i Commodore BASIC 7.0: 10 GRAPHIC 1,1 20 X=5 30 Y=5 40 Z=5 50 T=0 60 S=1/200 70 D= [...]
Poker formation checker for .NET 5.0
2021-02-14
I got a mail from an unknown programmer who asked me to port my poker formation checker from .NET Framework to .NET 5.0. Here is the repository and here is the NuGet package. Happy coding!
C# 9 Records
2021-01-26
Hur projektmallarna pytsas ut i Visual Studio har verkligen övergått mitt förstånd. Beträffande .NET 5.0 var Windows Forms-mallen tillgänglig långt innan Console Application-mallen, men nu är äntligen allt på plats. Med anledning av det vill jag sum [...]
Slow down (Commodore 64)
2021-01-16
En inte helt obetydlig del av min musiksmak kommer från Commodore 64, vars analoga musikkapacitet saknade motstycke. Vissa demos som släpptes var innehöll korta samplingar från kontemporär populärmusik, som t.ex. Slow down. När det handlar om digita [...]
Hur svårt är det att gissa ett tal?
2020-12-28
En person tänker på ett tal mellan 1 och 100, och en annan ska gissa vilket. Om den som gissar skulle gissa fel, så får han reda på om han har gissat på ett för stort eller för litet tal. Den bästa strategin för att gissa rätt på så få försök som mö [...]
Flytta C64-program till din PC
2020-11-11
Det finns en del olika strategier för att bevara (eller preservera) gamla Commodore 64-program för framtiden. Här presenterar jag en snabbguide för den som äger en SD2IEC och ett tomt SD-kort. Hårdvarukrav: Du behöver ha en C64 (eller annan 8- [...]
DOD är bättre OOD för tidskritiska system
2020-08-29
Objektorienterad design (OOD) är ofta ett bra val för att det är relativt enkelt att använda med robusta mönster att följa. Men när man programmerar tidskritiskt, som t.ex. i när man gör spel, kan det vara värt att titta på dataorienterad design (DO [...]
Podcasts
2020-08-21
I afton vill jag tipsa två fenomenala podcasts. I veckans avsnitt av Stulet gods pratar Henrik Andersson och jag om Poison, John Carpenter, Ankie Bagger och Joe Walsh. Avsnittet finns här eller där podcasts finns. Dessutom vill jag verkligen slå ett [...]
Generation YX
2020-08-14
Generation YX är en ny poddcast med journalisten Jannik Svensson och mig, där vi diskuterar samhällsaktuella frågor ur ett generationsperspektiv. All information finns på hemsidan https://genyx.se/ men den finns där poddar finns.
Kategoriska uttalanden om vad datorer kan och inte kan bygger ofta på okunskap
2020-07-08
Ibland hör man folk uttala sig vad datorer kan göra, antingen för att beskriva hur man ser på mjukvara eller för att göra en liknelse. Nu senast hörde jag Myra Åhbeck Öhrman berätta att datorer bara gör det man säger åt dem att göra. När hon berätta [...]
JobRunner 1.2
2020-05-16
JobRunner är ett klientprogram för att starta, köra och övervaka andra program, typiskt kommandon för att publicera, ladda hem, rendera bilder, texter eller XML-flöden. I version 1.2 finns möjligheten att logga körningen. Programmet (och dess källkod [...]
Bjud mig på en kopp kaffe (20:-) som tack för bra innehåll!