If you are using .NET Core (or .NET 5.0) you can easily activate the ability to run C# code from the command window (Windows Terminal or the old cmd.exe). To get started, install dotnet-script by typing: dotnet tool install –global dotnet-script Once installed, you can start the dotnet-script program just by typing: dotnet-script The prompt […]
Read MoreAuthor: Anders Hesselbom
DOD är bättre OOD för tidskritiska system
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 (DOD). DOD handlar om att utnyttja processorns cache. Normalt när man läser och […]
Read MorePodcasts
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 slag för Generation YX där vi diskuterar allt från den finska tullen till svensk […]
Read MoreGeneration YX
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.
Read MoreKategoriska uttalanden om vad datorer kan och inte kan bygger ofta på okunskap
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ättar varför hon inte tror att människan kommer kunna […]
Read MoreJobRunner 1.2
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) finns att ladda hem här: https://github.com/Anders-H/JobRunner
Read MoreStulet gods 1/20
Om du vill hålla dig à jour med vad som är stulet och vad som inte är det, är podcasten Stulet gods något för dig. Här avhandlar jag och Henrik Andersson (påstådda) låtstölder genom tiderna. I det första avsnittet avhandlas Edison Lighthouse och Eiffel 64. Hemsida: http://stuletgods.80tal.se/Prenumerera (RSS): http://stuletgods.80tal.se/rss.xmliTunes: https://podcasts.apple.com/se/podcast/stulet-gods/id1507649534Spotify: https://open.spotify.com/show/0KcEPjKKZcO8KHh2T8F4eLDirektlänk, Spotify: https://open.spotify.com/episode/77WKIjpr41E9GYVBVQFd6r
Read MoreVarför blir datorer mer och mer pålitliga jämfört med experter?
Vi behöver inte backa många år för att hitta forskare som anser att ett parti schack är något som kräver egenskaper som endast människan har, men idag vet vi att datorer lämpar sig ganska väl för den uppgiften. Sedan dess har tilltron till datorers framtida förmåga ökat kraftigt, kanske för att man har sett de […]
Read MoreDatorschack
Det är förmodligen möjligt att bygga ett datorchack utan mer kunskap än själva spelreglerna. Man måste veta hur pjäserna får förflytta sig, inklusive specialdragen (uppgradering, passant, rockad), att inte egna kungen får ställas i schack och kriterierna för vinst, förlust eller möjligtvis remi (och kriterierna för remi). Som mänsklig spelare kan man troligtvis inte analysera […]
Read MoreNi med näsduk i kavajfickan spottar på vårt kulturarv!
Idag uppmuntrade jag en konstnär att måla en upphittad C64 i en Facebook-grupp. Jag skrev bl.a. att jag själv lackade min Amiga på 80-talet. Det hela eskalerade ganska fort. Ok, fel av mig. Givetvis ska man vara rädd om gamla grejer, oavsett om det bara handlar om färgen på ett chassi. Hur som helst så […]
Read MoreNågra exponeringar från idag
Idag hälsade jag på hos mitt äldsta barn som, förutom katter och en hund, har en hel del inneboende reptiler. Här är mitt Instagram-inlägg från dagen: Visa det här inlägget på Instagram Hälsar på i dotterns ”zoo”. Boayngel, ögonfransgecko och trynsnok. ❤️ Ett inlägg delat av Anders Hesselbom (@andershbom) 8 Feb 2020 kl. 8:00 PST […]
Read MoreProduktionskostnad/vinst-förhållandet för misslyckade uppföljare
Det är ofta ett säkert kort inom filmindustrin att göra en uppföljare, eftersom man kan spela an på en framgång. Det blir ett slags varumärkesexploatering som inte alltid utnyttjar sin fulla potential. Ibland blir inte uppföljaren lika bra som sin föregångare, och här är tre exempel på hur budget förhåller sig till bruttointäkt i filmserier […]
Read MoreProduktionskostnad/vinst-förhållandet för Star Wars, Elm Street och The Terminator
Vissa filmer får uppföljare och spin offs till synes utan ände. Inte sällan efter en framgångsrik start, verkar bolagen vara redo att skjuta till mer pengar för att krama mer ur det varumärke som utgör en framgångsrik film. Här är pengarna som satsats och spelats in från tre kända filmserier. Star Wars, inspelningsbudget och bruttointäkt […]
Read MoreMetabollar
Jag tänkte visa en komplett implementation av 2-dimensionella metabollar i C#. Denna teknik skulle även kunna användas i 3D. Effekten ser ut så här: Effekten beskrivs här, och denna implementation prioriterar prestanda för att fungera i realtid. I videon ovan används 20 positiva bollar (alltså bollar som tenderar att smeta ihop) och 10 negativa bollar […]
Read MoreFunktioner är andra klassens medborgare i C#
I C# 8 är fortfarande funktioner ett slags “andra klassens medborgare” i jämförelse med variabler. Man kan alltså fortfarande göra mer med en variabel än en funktion i C# 8. Varken variabler eller funktioner kan skapas i namnrymder, båda kan skapas i en klass och båda kan skapas i en funktion, vilket illustreras av detta […]
Read MoreMitt första intryck av Windows Terminal
Sent om sidor lyckades jag installera rätt version av Windows 10 för att få ladda hem förhandsversionen av Windows Terminal, och efter att ha testat den så måste jag säga att jag å ena sidan inte har några stående ovationer att bjuda på, men måste samtidigt säga att det verkligen är hög tid att Windows […]
Read MoreSkapa binära filer snabbt och enkelt
Ibland behöver man skapa binära filer, t.ex. för att testa en egenutvecklad file header. För att göra detta kan man starta HxD och peta in de bytes man vill ha i filen. Men om man vill trycka in tal större än 255 eller textsträngar så är det en del att hålla i huvudet. Programmet MkBin […]
Read MoreSprdef 1.7
Version 1.7 of the Commodore 64 sprite editor for Windows, Sprdef, allows the user to scroll and flip a sprite and fixes a bug with thumbnail updates. Features: Undo/redo buffer Single color/multi color sprite edit CBM prg Studio integration BASIC import/export Keyboard first editing or mouse first editing Download: http://winsoft.se/files/SetupSprdef.exe Sprdef requires .NET Framework 4.8 […]
Read MoreCommodore 128 Hello world!
Några exempel på hur man kan skriva “Hello world” på den mångsidiga Commodore 128 (1985).
Read MoreValue tuples i C# 7.3
En av många anledningar till att jag älskar C#: Språkligt stöd för value tuples!
Read MoreSkärmbyte på arkadspelet
Jag äger en nytillverkad klassisk argadmaskin som spelar Jamma-kassetter, där skärmen tyvärr gav upp. Som synes klarar arkadspelet antingen vertikala eller horisontella spel med digital styrning. Jag använder den för vertikala spel. Det var enkelt att skruva loss den gamla skärmen och sätta den nya panelen på plats, men jag upptäckte naturligtvis lite för sent […]
Read MoreSprdef 1.5
Sprdef är en sprite-editor för Windows 10 som används vid spelutveckling för Commodore 64 med Windows som utvecklingsmiljö. Version 1.5 integrerar med CBM prg Studio, har undo/redo-buffer, fungerar i både single- och multicolor-läge och kan importera/exportera BASIC-data. Ladda hem programmet här.
Read MorePathfinding i terräng
A* (A-star) är en snabb pathfinder-algoritm som kan användas i t.ex. strategispel för att hitta vägar genom labyrinter eller terräng. Christoph Husse publicerade 2010 en briljant implementation i C# som tillåter egna kriterier, definierade i en solver, för kostnaden att flytta sig från en nod till en annan. I följande exempel har jag använt Christophs […]
Read MoreDiamantproblemet i C# 8
Idag skriver jag på Nethouse-bloggen om diamantproblemet i C#, som introduceras med default interface members. Läs gärna inlägget här.
Read MoreHold-and-modify compression
A photograph usually requires 24 bits (3 bytes) per pixel. One strategy for reducing memory is to reduce the number of bits used to describe the color of each pixel, but that also reduces the number of possible colors that the format can display. A high-resolution image on the Amiga 500 typically consist of a […]
Read MoreCharacter compression per image depth
An image is a two-dimensional array of colored pixels, in this case 200 rows pf 320 pixels (320×200), today typically a 2-dimensional pixel array. Color indexing is the concept of replacing the 24-bit pixels with an 8-bit pointer to a color palette, thus reducing the memory required to represent the image. Character compression is the […]
Read MoreMjukvaran SQLite skrivs av oresonliga idioter
SQLite är en mjukvara för datalagring, skriven i C, som fungerar på i princip vilken enhet som helst, från t.ex. Windows Phone till Linux. Mjukvaran är Public Domain, så företaget som utvecklar den försörjer sig istället på att sälja t.ex. support, tilläggsfunktioner eller drift. Den utvecklare som ska bidra till den officiella produkten måste leva […]
Read More