madr.se

Innehåll från 2024

December, 2024

Mailtråd med Advent of Code-skaparen gällande LLMs i topplistor

The big change this year is that it’s the first time “asking the community nicely” has failed to fix a problem. For the past nine years, I’ve been able to (for the most part) keep people from overwhelming the site, sharing answers, streaming early, making copies of the site, or even using LLMs on the global leaderboard, all by just asking nicely. This year, I’m not sure what changed, but people have been very brazen about their cheating.

I do not mean “more people are cheating”. I mean that people this year have been emailing me to explicitly state that they see the request to not use LLMs, but that they do not respect me or my work, and as such will be using LLMs to place on the global leaderboard regardless of what I say. This change in behavior is disappointing to me; it leads me to believe that any solution to our immediate problem which relies on users being honest will likely fail.

Advent of Code filar tioårsjubileum, och det är en jävligt sur och bitter eftersmak att rövhattar struntar i regler och skapar distorsion i den globala poängtabellen.

Detta är ett publikt arkiv av en mailkorrespondens mellan en av de profilerade tävlingsprogrammerarna och skaparen av Advent of Code, som håller god ton och ger insikt. Skaparen ser att detta är ett problem, men har ingen enkel lösning.

Min åsikt: ta bort globala poänglistan, och låt istället communityt lösa det. En möjlig lösning är att låta en kurerad privat poänglista summera resultat för tävlingsprogrammerarna. Det är det enda sättet, då Advent of Code drivs av 1 person med stöd av ett par reddit-moderatorer.

Jag anser inte att det är att “fuska” att träna på sin färdighet att prompta LLMs och att göra detta med Advent of Code-problem. Vad jag däremot kan uppskatta är att se dessa tävlingsprogrammerares tider för att få litet feedback om t ex

  • Huruvida dagens pussel var så svårt som jag upplevde det,
  • det alls går att lösa dagens pussel snabbt och enkelt, eller
  • Hur jag själv presterar i jämförelse med de som är proffs och är specialiserade i den här typen av programmering.

Med en massa brus i form av “kopiera och klistra in”-tider blir den globala poängtabellen irrelevant för mig, och andra som följer den av samma eller liknande anledningar.

November, 2024

BD Riots VII

Konsert på Broken Dreams, Borlänge den 15 november 2024

Affisch

Slayer - Metalstorm och Face The Slayer, från Show No Mercy (1984)

  • Slayer - Metalstorm
  • Slayer - Face The Slayer
Skivomslag

Om att vara linuxasket snarare än linuxanvändare

However, there’s another often-overlooked aspect that can make using a minimal Linux distribution worthwhile: using a minimal Linux distro on your personal computer is a form of Askesis -disciplined practices done for self-improvement.

Jag har på sistone allt oftare hamnat i samtal där personer frågat eller klagat på “linux”. Jag har inte riktigt kunnat sätta ordet på vad som gör att vi inte kan uppnå konsensus i samtalen, så jag blev lättad över detta blogginlägg som träffsäkert gör detta.

Utifrån blogginlägget inser jag att jag inledde mitt utforskande av linux som en asket snarare än en användare. Det är därför jag har litet svårt att argumentera med personer som istället vill bruka linux som användare. Jag känner därför igen mig mycket i blogginlägget, och kan identifiera mig i det där sättet att tänka.

Askes är dock inte för alla, och det ska jag och andra asketer vara ödmjuka inför.

Oktober, 2024

Använd inte blockquote-elementet for att skapa sk "pull quotes"

That has been fun. I have a migraine.

  • Använd inte <blockquote> for att göra sk “pull quotes”, alltså utdrag ur artikeln som belyser höjdpunkter i brödtext. Använd istället <aside> eller <figure>.
  • Placera inte <cite> som barnelement till <blockquote. Placera istället denna som närliggande syskonelement.
  • För att gruppera <blockquote> och <cite>, använd en <aside> eller en <div>.
  • Attributet cite är i praktiken onödigt. Den renderas inte, och ignoreras av skärmläsare.

blockquote-elementet i skärmläsare

TL;DR: This post does not assert the correct way to code blockquotes, it will only demonstrate how screen readers announce some existing patterns.

Några lärdomar om att använda blockcitat på ett inkluderande sätt.

  • Attributet cite<blockquote> ignoreras av de vanligaste skärmläsarna, och renderas inte för den stora användarbasen.
  • Det finns ingen semantisk eller systematisk gruppering mellan <cite> + <blockquote>, som t ex med <label> + <input>.

Jag har under många år haft dåligt samvete när jag tillämpat Markdown för att skriva för webb. Att inte vara mer noggrann med blockcitat har känts som att skippa alt-texten på bilder.

En helt obefogad känsla, visade det sig.

Som bonustips:

  • Använd inte <figure> + <figcaption> för pull quotes eller för att gruppera <cite> + <blockquote>.

HTML är svårt

Conversely, it’s pretty easy to write bad HTML, because for most developers there are no consequences. If you write some bad Javascript, your application will probably crash and you or your users will get a horrible error message. It’s like a flashing light above your head telling the world you’ve done something bad. At the very least you’ll feel like a prize chump. HTML fails silently. Write bad HTML and maybe it means someone who doesn’t browse the web in exactly the same way as you do doesn’t get access to the information they need. But maybe you still get your pay rise and bonus.

So it’s frustrating to see the importance of learning HTML dismissed time and time again. Sorry to end on a bad note, but that’s where we’re at right now.

Content-Type: application/xhtml+xml försökte införa detta på 00-talet, faktiskt, under XHTML Strict-eran. Man visade då en Yellow screen of Death om HTML-koden inte var korrekt. Det floppade.

Det hade ställt högre krav på utvecklare, men också på glada hobbyister och nyfikna amatörer. I dagens läge sköter webbläsare och skärmläsare en hel del förlåtande åtgärder för att bristäfllig HTML ändå ska låta användaren ta del av innehållet.

Det är en bra sak att HTML inte är drakonisk, men det är inte utan problem.

September, 2024

Varför React var och fortfarande är häftigt

I’m mostly concerned with the core problems of data binding and componentizing UIs. After much research and usage of the technologies mentioned above, I found React to provide the best solution.

10 år sedan. React är fortfarande relevant. Det är 2010-talets jQuery.

Varför använder inte fler Linux?

If exercising is so healthy, why don’t more people do it? If reading is so educational, why don’t more people do it? If junk food is so bad for you, why do so many people eat it?

Inte så dumt svar faktiskt.

En frågetråd om Folkhälsomyndighetens nya rekommendationer för skärmtid bland barn och unga

Det var alla frågor som hanns med idag! Stort tack alla ni som hört av er. I december kommer Folkhälsomyndigheten att släppa mer detaljerad vägledning för föräldrar och andra viktiga vuxna. Fler råd och verktyg finns hos bland andra Mediemyndigheten och BRIS. Lycka till!

Som förälder såväl som en som självlärde mig mitt yrke som webbutvecklare som tonåring, väcker Folkhälsomyndighetens nya rekommendationer starka känslor och engagemang för mig.

Den här frågetråden är inte särskilt djup, men den är summarisk. Det är en bra start att börja med, då flera föräldrar passade på att ställa bra frågor.

Video: Tributen till BATHORY på Beyond the Gates 2024

0:00 Intro: Oden Ride Over Northland
2:45 A Fine Day to Die (vocal: Gaahl)
11:05 The Rite of Darkness (vocal: Apollyon)
13:30 Possessed (vocal: Apollyon)
16:52 Enter the Eternal Fire (vocal: Erik Danielsson (Watain); Drums by V. Einride (Whoredom Rife))
23:55 Raise the Dead (vocal: Satyr (Satyricon); Bass by Frederick Malander (BATHORY))
28:30 The Return of Darkness and Evil (vocal: Wraath (Darvaza, Behexen et al); Bass by Frederick Malander (BATHORY))
33:50 Shores in Flames (vocal: Apollyon)
43:40 Call From the Grave (vocal: Grutle Kjellson (Enslaved))
48:50 Total Destruction (vocal: Kvitrim (Djevel, Vemod))
53:10 Blood Fire Death (vocal: Erik Danielsson (Watain))

Line-up:
Guitar: Ivar Bjørnson (Enslaved)
Drums: Bard “Faust” Eithun (Djevel, Emperor)
Bass: Ole Jørgen, aka “Apollyon” (Aura Noir)
Guitar: Rune “Blasphemer” Eriksen (Aura Noir)

Flera skriver i kommentarsfältet att detta var höjdpunkten på årets BEYOND THE GATES. Jag förstår varför. En sådan här tribut kommer inte att ske igen på många år.

Det är otroligt att låtarna i denna särskilda låtskatt är skrivna av en tonåring, inspelade med spartanska medel och utan en endaste intention att framföras live.

Personligen är jag också en del av skaran som blir till en våt fläck varje gång jag får uppleva en cover på Bathory live. Varje gång det händer sker det ofta tillsammans med några ord av respekt och vördnad från artisten. Jag blir lika golvad varje gång.

20 år efter Quorthon dött. 30+ år efter att låtarna spelades in. Om inte detta är odödligt, vet jag inte vad som är det.

Starta en Placekitten-klon på 1 minut

A quick and simple service for getting pictures for use as placeholders in your designs or code. Just put your image size (width & height) after our URL and you’ll get a placeholder.

Placekitten är sedan länge död, så det gör mitt gamla hack litet mer aktuellt.

Skapa en katalog, fyll den med litet bilder (måste inte vara katter, och tänk på att inte bryta på Copyright!) och kör därefter denna:

docker run -p 8080:8080 -v ./image-collection-directory:/app/images madr23/placeany

Lägg den bakom en reverse proxy (Jag föredrar Caddy) så är detta en komplett Placekitten-ersättare.

Detta är, för transparensens skull, alltså mitt verk. Det råkade bli den första container jag publicerade på Docker Hub.

Källa: madr23/placeany

FreeBSD ska fokusera på bättre hårdvarustöd för bärbara datorer

However, the limited support for modern laptop hardware—such as disk encryption, hibernation, and the latest standards for wireless connectivity—has slowed broader corporate adoption. By improving laptop compatibility, FreeBSD has the potential to become a robust, secure alternative to Linux and Windows in enterprise settings.

Bra initiativ, även om jag tror att det kommer göra liten skillnad. FreeBSD såväl som NetBSD och OpenBSD är inte relevant för den stora massan, och har inte varit det på mycket länge.

BSD-varianternas tidigare triumfkort var att de var bättre på servrar, och även där har de sedan länge blivit orelevanta. Debian ersatte dem för länge sedan.

Då PipeWire finns på FreeBSD numera så vore det allra störst skräll om mitt Focusrite Scarlett skulle få lika bra stöd som Linux. I sådant fall hade jag övervägt att använda FreeBSD i hemstudion.

Drömma kan man alltid!

Augusti, 2024

2023 hade Linux-ekosystemet fortfarande problem

In this regularly but rarely updated article, which is without doubt the most comprehensive list of Linux distributions’ problems on the entire Internet, we only discuss their main problems and shortcomings (which may be the reason why some people say Linux distros are not ready for the desktop)

Jag delade denna lista för första gången 2013. Den är fortfarande aktuell. Jag har dock optimism framåt.

  • X kommer att ersättas av Wayland. Det är oundvikligt.
  • NVidia kommer att bli lika bra som AMD inom 1-2 år.
  • Electron, hur mycket jag än hatar det, har bidragit till att fler appar yrkespersoner använder även finns till Linux-OS.
  • PipeWire kommer att mogna på sig, med bättre GUI-inställningar och skrivbordsintegration.
  • KDE 6 och GNOME 4* är utmärkta skrivbordsmiljöer, som kompletterar varandra ypperligt bra.
  • Flatpak är på väg att bli lika bra som nativa paketrepositorier.
  • Podman och Docker gör det enklare och snabbare att få upp tjänster på sin maskin.
  • Steam med Proton, Heroic och Lutris gör spelandet mindre problematiskt.
  • Focusrite och PreSonus har drivrutiner i Linuxkärnan.

Elixir är värt att lära sig, dess opopularitet till trots

The 2024 Stack Overflow survey highlighted little-known Elixir as the second-most desired programming language to learn – but why?

Det hade varit roligt att bli tagen på allvar när man för Elixir på tal. Det var litet samma känsla när som när jag föreslog python i början av 2010-talet, några år innan språket kom in i allmänna finrummet.

Vad krävs för att få Elixir till finrummet?

Vertikal och horisontell centrering med en rad CSS

Browsers are funny, basic needs like aligning stuff do not have simple answers for a very long time.

Kan bara hålla med om detta. CSS har en särskild förstaplats på min lista över saker jag hatar med mitt jobb.

Nu går det iaf att göra en så grundläggande sak som att centrera text i en ruta med en rad CSS. Det har gått att göra med 3-4 rader senaste decenniet, vilket är snudd på oacceptabelt.

Källa: Hej

WATAIN

Konsert på Dalhalla, Rättvik den 31 augusti 2024

Affisch

Juli, 2024

LiveView lämnar det roliga JavaScriptet kvar

The JS you’d otherwise need for routing, auth, and the like in another framework, you can write in Elixir instead. Any client code you end up needing tends to be just the fun stuff: Data visualisation, Web Audio, the Gamepad API, WebGL — just take a look through MDN’s list of Web APIs.

Det här är något jag ibland funderar på. Vilken typ av JavaScript ska man tillämpa för något som LiveView, där allt teoretiskt kan hanteras på servern? Vad ska stanna i besökarens webbläsare och vad ska servern hantera?

Bra skrivet på det temat.

Det är inte enbart elitism som gör att Ubuntu har slutat rekommenderas

The Canonical (corpo behind Ubuntu) is doing weird decisions lately that make people worried that Ubuntu will become just another rotten corpo OS with plenty of proprietary bloat to spy and “improve experience”.

En välskriven kommentar på Reddit. I grunden är det inget fel alls på Ubuntu, utan det som ogillas är Canonical, bolaget bakom Ubuntu.

Genom att använda Linux Mint eller ElementaryOS får man Ubuntus styrkor, med Canonicals dynga avlägsnad.

7 saker som visar att HTML aldrig blev dåligt

  • HTML Dialog
  • HTML Popover API
  • HTML Details Element
  • HTML DataList Element
  • HTML Inert Attribute
  • HTML Color Picker
  • HTML Capture

Jag hade koll på 4-5 av dessa. Det är synd att hetsen på att uppfinna hjulet på nytt med jQuery, och sedan React ska ta udden av hur användbart HTML kan vara i sig självt.

Vanlig HTML kommer alltid ha 5-stjärnigt stöd för användabarhet, tillgänglighet och skärmläsare. Det är en enkel väg, i all sin tråkighet.

Linux-ekosystemet är inte för alla, inte ens för de som verkligen vill

  • Gaming
  • Creative apps
  • Video/Photo editing

En snubbe som har en situation mycket snarlik min, som gör en video bra mycket mer givande än jag hade kunnat uppbåda. Sevärd!

Juni, 2024

Nej, generativ AI kommer inte kunna matcha ett team av utvecklare

The right way to think about tools like Copilot is more like a really fancy autocomplete or copy-paste function, or maybe like the unholy love child of Stack Overflow search results plus Google’s “I feel lucky”. You roll the dice, every time.

Kan bara hålla med.

Batterier och den gröna bubblan

  • Offentliga medel såsom kreditgarantier och bidrag gör att företag agerar vårdslöst och tar för stora risker. Ingen risk är för stor när någon annan betalar.
  • Särintressen påverkar politiken till sin fördel.
  • Den politiska makten saknar kunskap om teknikens utveckling.
  • Den politiska logiken handlar mer om positiv publicitet än om ekonomiska och tekniska realiteter.
  • Det skapas en konsensuskultur där ingen ställer kritiska frågor, förrän det är för sent. När politiker skickar ner skattemedel i privatkapitalistiska fickor i utbyte mot positiv medial uppståndelse saknas i regel ifrågasättande röster. Av rädsla att bli utpekad som “klimatförnekare” viker sig kritikerna såväl inom akademin som i media.

Northvolt hade en svart vecka i somras. Det talas fortfarande om deras arbetsplatsrelaterade dödsfall. Mer lokalt från den veckan var dock att den utlovade satsningen i Borlänge, som skulle täcka upp det hål nedläggningen av Kvarnsvedens pappersbruk skapade, inte blir av.

Tråkiga tider, där vargar sliter i får, som de alltid gjort.

Maj, 2024

Phoenix LiveView 1.0

Think realtime form validations, updating the quantity in a shopping cart, or real-time streaming updates. Why does it require moving mountains to solve in a traditional stack? We write the HTTP glue or GraphQL schemas and resolvers, then we figure out which validation logic needs shared or dup’d.

Efter sex år så har ett de mest bevakade projekten för min del 1.0 nära. Det har varit en spännande resa att följa, med alla ändringar i arkitekturen som skett längs med vägen.

För egen del tror jag att allt mer kommer att flytta tillbaka till servern. Next, Remix och SvelteKit visar en alternativ väg, så det finns utmaningar att välja rätt arkitektur för problemet som ska lösas.

Jag har några idéer på projekt som jag tror är perfekt för LiveView. Nu när 1.0 är här känner jag mig manad att börja.

En rant om varför expertis inte får erkännande inom Tech längre

The long-term popularity of any given tool for software development is proportional to how much labour arbitrage it enables.

The more effective it is at enabling labour arbitrage, the more funding and adoption it gets from management.

Välskriven rant som för mig sätter fingret på en känsla jag länge haft. En olustig känsla av att fel nyckelfaktorer driver innovation och tekniska framsteg.

Handlingar från utredningen av mordet på Olof Palme

Massa länkar till PDF!

Utredningen av mordet på Olof Palme 28 februari 1986 lades ner sommaren 2020. Detta blev starten för en ny fas för många av de så kallade privatspanarna, men även journalister.

Ett trevligt initiativ är detta kalkylark, där beställning av handlingar koordineras och offentliggörs när någon fått tillgång.

En guldgruva för alla som är intresserade av den råa datan i världens största brottsutredning.

Ett olöst försvinnande med lokal anknytning

Forsgren, Nils BENNY, 570213, anmäldes försvunnen den 12 december 1976 av sin far, S-E Forsgren. Anmälan togs upp på polisstationen klockan 15.30 av kriminalinspektör N.

Detta är ett intressant fall, då jag är uppvuxen på den gata detta utspelar sig. En bloggade har grävt i detta och publicerat en följtetång med förhör, tidningsnotiser och annat.

Även Flashback har en tråd, med den vanliga brasklappen att det är Flashback.

Få igång Affinity Designer eller Photo på linuxbaserat OS utan en enda rad i kommandotolk

  1. Install Bottles
  2. From Settings/Runners, install ‘Caffe 7.10’
  3. Download the custom recipe file (from Kontik from the Bottles Telegram chat)
  4. Create a new bottle, click ‘Custom’ and choose the recipe (AffinityCustomBottleRecipe.yml)
  5. Click the ‘Run executable’ button and choose your downloaded .exe (Download from your Affinity Account)
  6. Install it like the Windows version
  7. Click the three dots next in the ‘Photo’ card of the ‘Programs’ list choose ‘Change Launch options’ and add the following to ‘Command arguments’: –no-hw-ui argument

Bottles börjar bli moget, precis som Lutris. Det är en bra tid att leva i för alla som vill fortsätta använda proffsmjukvara eller spela, men som har begränsat tålamod med alternativ till Windows och Mac.

Video som går igenom kommande JavaScript-funktioner

Man there’s a ton of awesome stuff coming to JS soon. Hopefully. All these proposals are advancing fast. Some can be used today.

Video för allt nytt i JavaScript under 2024-2025. En del saker, som t ex Temporal och match-operatorn, är något som jag alltid saknat omgående när jag kodat Python litet extra mycket.

Ett vackrare vanilla Minecraft

Unforunately the mod list has grown quite a bit in order to get some of the graphical enhancements optifine had. but here are the visual ones I use (and other things):

  • render distance: 28
  • better clouds: added those cool clouds in today vid
  • bobby: I use it for longer render distance on Hermitcraft. not sure if it does anything in single player
  • better animations resource pack: for better moving villagers, animals etc
  • simple fog: its a mod that gives you control over where the fog starts and stops. my settings are a fog begin % of 0 and and end % of 130.
  • sound physics: for reverb in large rooms and dampening in water
  • also I made some resource pack tweaks where I removed the white lines off of the water, smaller clock, lower shield.
  • brightness at 50% for deeper shadows and depth
  • not using shaders

but the biggest impact on visuals is the simple fog mod. vanilla fog looks terrible and gives a claustrophobic feeling. turning fog off takes away all of the atmosphere and immersion. but with this mod you can dial it in just enough to get the feeling of depth between the buildings without it being overwhelming.

BDubs är en av mina favoriter av alla duktiga builders i Minecraft. Jag installerade ovanstående, med undantag för Better animations. Kan bara säga att Minecraft blev som ett nytt spel, och otroligt mycket behagligare att uppleva.

Jag stänger fortsatt av all dimma i Nether, av den enkla anledningen att jag har svårt nog som det är att uppskatta den dimensionen.

April, 2024

Score

Konsert på Magasinet, Falun den 30 april 2024

Affisch