Spotifys stjärnkodare Ludvig Strigeus brinner för att lösa problem

2020-11-25 06:00  

Programmeraren Ludvig Strigeus är doldisen bakom Spotifys tidiga teknikplattform. 15 år senare är han kvar hos det svenska streamingundret, och hans drivkraft är densamma: att förstå hur teknik fungerar och lösa problem så effektivt som möjligt.

Sagan om Spotify har blivit otaliga artiklar, gett upphov till flera böcker och Netflix har redan köpt filmrättigheterna. Historien om hur Daniel Ek och Martin Lorentzon mot alla odds lyckades övertala skivbolagen om att strömmad musik är framtiden är vid det här laget välkänd.

Men bakom huvudpersonerna i rampljuset finns en nyckelperson som sällan nämns mer än i en bisats. Stjärnprogrammeraren Ludvig Strigeus.

Ludvig, eller Ludde som han kallas, tar inte heller självmant någon plats på scen, om han kan hjälpa det. Första gången hans namn når ut till en bredare massa är när tidningen Filter publicerar ett långt reportage om honom 2011. Rubriken lyder då: ”Den osynlige”.

”Har avböjt intervjuer, har inte velat synas”

Intervjun med Ny Teknik är en av få han har gjort under sin karriär. Ludvig, som i dag är 39 år gammal, har valt att tillfälligt bryta sin tystnad efter att han nyligen tilldelades Polhemspriset av Sveriges Ingenjörer.

– Jag har avböjt intervjuer tidigare, jag har inte velat synas. Men det kändes motiverat nu när jag fick det här fina priset, säger han.

Coronapandemins andra våg gör att intervjun, som så mycket annat, får skötas på distans. Spotify stängde sina kontor redan i mars, och Ludvig har tillbringat den mesta tiden i sommarhuset i den bohuslänska badorten Grebbestad.

– Men det är så dött där på vintern, det är inte så kul, säger han och berättar att han sedan ett par veckor är tillbaka i Göteborg.

Hans ägarandelar i Spotify har enligt flera bedömare gjort Ludvig till miljardär. Men han bor kvar i samma hyresrätt i Olskroken, strax utanför centrum, dit han flyttade i samma veva som han fick i uppdrag att programmera Spotify-klienten av Daniel Ek och Martin Lorentzon.

Ludvig har en sällsynt och obotlig sjukdom, spinal muskelatrofi, som gjort honom rullstolsburen sedan en tidig ålder och ställer krav på boendet.

– Jag letar faktiskt efter en ny bostad, men det är svårt att hitta något. Det ska vara tillgängligt för rullstol, stort och gärna centralt. Jag hade kunnat bygga en fräck villa utanför stan, men det hade känts lite öde att bo så tror jag, säger han.

Läs mer: RISC-V: ”Öppet kisel standard i processorer inom tio år”

Skruvade isär tv-apparater

Ludde vet säkert vad han talar om. Han är själv uppvuxen i en villa i Onsala, några mil söder om Göteborg. Redan då, i förskoleåldern, vaknade intresset för teknik och hur prylarna runt omkring honom fungerade.

– Jag gillar att ta isär saker och försöka förstå dem. När jag var liten skruvade jag isär elektronikprylar som skulle slängas. Radioapparater, tv-apparater och sådant. Jag tyckte om att löda bort komponenterna och bygga andra små prylar av dem, berättar Ludvig Strigeus.

Åtta år gammal går han från analog till digital teknik när han får ärva sina bröders hemdator, en Commodore VIC-20, och börjar koda. Snart lånar han alla programmeringsböcker som biblioteket har inne. Han skriver små spel och nyttoprogram. När han går på gymnasiet skickar han in vissa av dem till datortidningar, som ibland förmedlar dem vidare till läsarna.

Efter gymnasiet börjar han läsa en civilingenjörsexamen i datateknik på Chalmers. Det är ett självklart val, men Ludvig som redan har programmerat mer än halva sitt liv tycker inte att utbildningen är särskilt svår.

– Jag är helt klart självlärd. Jag fick en bättre teoretisk bas på Chalmers, men rent praktiskt kunde jag skriva program nästan lika bra innan jag började på utbildningen, säger han.

Eftersom Ludvig klarar utbildningen enkelt får han gott om fritid han kan ägna åt sina egna hobbyprojekt. Först hängav han sig åt spelmotorn Scumm, som hade använts för att bygga flera av Lucasarts klassiska äventyrsspel, som The Secret of Monkey Island.

Spelmotorn hade vid det laget åldrats så att det blev svårt att köra den på en modern dator. Ludvig, nyfiken på hur motorn fungerade, började fundera över om han kunde göra något åt saken. Men källkoden till Scumm var hemlig.

Läs mer: Första intrycket av Apple Silicon: ”Länge sen jag blev så imponerad”

Arbetet med att förstå spelmotorn bakom Lucasarts äventyrsspel The Secret of Monkey Island blev Ludvigs introduktion till reverse engineering. Foto: Lucasarts

Upptäckte reverse engineering

Ludvig fick börja med en process som kallas för reverse engineering, eller dekompilering. Han fick ta instruktionerna som spelet skickade till datorns processor och utifrån det försöka räkna ut hur programkoden var skriven. Arbetet med att avkoda spelmotorn höll på av och till i ett år. Hösten 2001 hade Ludde avkodat tusentals kodrader och skapat en första körbar version av programmet som han kallade ScummVM.

Två år senare upprepade Ludvig Strigeus sin succé när han enligt samma metoder dekompilerade simulatorspelet Transport Tycoon Deluxe från 1994. Efter att ha skrivit om spelet till C-kod släppte han det under namnet OpenTTD och lade till en mängd nya funktioner som inte fanns i originalspelet.

I båda fallen gjorde han källkoden öppen och lämnade därefter projekten bakom sig en tid efter att de var färdigställda. Men både ScummVM och OpenTTD lever fortfarande, och förvaltas av andra programmerare som har byggt vidare på Ludvigs bas. Ett mönster som ska komma att upprepa sig.

När det är dags för exjobbet på Chalmers hamnar Ludvig på ATI, ett it-företag som utvecklade mjukvara för fordonsindustrin. Han imponerar på de amerikanska cheferna och får snabbt fast jobb. Samtidigt påbörjar han sitt kanske mest framgångsrika projekt.

Läs mer: De gör hajpade tekniken möjlig: "Paradigmskifte inom it"

Simulatorspelet OpenTTD är fortfarnade under utveckling och bygger på kod som Ludvig skrev efter att ha dekompilerat Transport Tycoon Deluxe. Foto: OpenTTD.

Skapar ett av världens största fildelningsverktyg

Vid den här tiden har fildelningen i världen exploderat tack vare den nya peer-to-peer-tekniken Bittorrent, som bland annat ligger till grund för The Pirate Bay. Istället för att ladda ned en fil från en server kopplar användarna upp sig i ett distribuerat nätverk, en svärm. Filerna delas upp i beståndsdelar, när du laddar ner en film kan du ta små, små bitar av den från tiotals eller hundratals andra användare.

För att använda Bittorent behöver du hitta vad du vill ladda ner via en slags sökmotor, en så kallad tracker, som exempelvis Pirate Bay. Sedan behöver du installera ett program, en klient, på datorn som hanterar själva fildelningen.

De klienter som finns på marknaden i Bittorrents tidiga historia är i regel klumpigt utvecklade och tynger ner datorns resurser. Ludvig Strigeus, som är nyfiken på hur protokollet fungerar, börjar snickra på sin egen variant. Den ska vara effektiv, välfungerande och kompakt. Han skriver all kod själv, i lågnivåspråket C++.

När hans μTorrent lanseras i september 2005 väger den exekverbara filen inte mer än kring 100 kB, och programmet är blixtsnabbt jämfört med konkurrenterna. På kort tid blir Luddes fritidsprojekt en av de mest populära torrentklienterna i världen, och ska leda honom in i framgången.

Samtidigt som μTorrent går ett segervarv runt nätet sitter Daniel Ek och Martin Lorentzon i en lägenhet i Rågsved och skissar på vad som ska bli Sveriges största techstartup. Året är 2006 och de är övertygade om att strömmad musik är framtiden, men behöver någon som kan förverkliga tekniken.

Ludvigs chef på ATI, Niklas Ivarsson, känner Martin Lorentzon från uppväxten i Borås. När Spotify-grundaren hör av sig för att kolla om Niklas Ivarsson har koll på någon lovande programmerare faller bitarna på plats. Särskilt intresserade uppges Spotify-duon vara av Ludvigs erfarenhet med peer-to-peer, en liknande lösning skulle kunna göra det möjligt att strömma musik mycket mer effektivt än om alla låtar kom från en centralt placerad server.

Läs mer: Här är tekniken i Apple Silicon M1

En senare version av torrentklienten uTorrent som Ludvig skrev innan han började på Spotify. Foto: Bittorrent/Wikipedia

Starten på Spotify

Efter att ha övervägt situationen väljer Ludvig att sälja μTorrent till Spotify i utbyte mot en kontantsumma, fem procent av bolaget och att han skulle arbeta med att bygga mjukvaran.

– Jag skrev i princip all kod i Spotify-klienten i början, som kommunikation mot backend, musikstreamingen och användargränssnittet. Jag jobbar primärt med Windows medan en annan utvecklare gjorde de Mac-specifika bitarna, berättar Ludvig Strigeus. Det var väldigt intensivt i början. Jag jobbade kvar på ATI de första månaderna och Spotify blev en kvällsaktivitet.

När man läser om Spotifys tidiga dagar kretsar historien ofta om hur grundarna lämnade Rågsved bakom sig för ett kontor i en lägenhet på Riddargatan på Östermalm. Där satt ett gäng utvecklare och kodade hela nätterna och spelade poker. Samtidigt satt du Ludvig i Göteborg och följde arbetet på avstånd.

– Videosamtal var inte lika utvecklat, så det blev någon slags distans. Samtidigt passar det mig att jobba själv och ostört. Jag gillar inte att bli blockerad av någon annan, då kan jag behöva vänta till nästa dag innan jag kan fortsätta. Jag vill jobba hela kvällen. Socialt var det jobbigt, men jag fick nog mer gjort än om jag hade varit i Stockholm, säger han.

Kände du dig utanför?

– Egentligen inte. Det var kul att komma upp till Stockholm, i början var jag där ofta och det blev lite feststämning när jag kom. Jag kände mig alltid som en del av Spotify, även om jag satt i Göteborg.

Sedan snart tio år har Spotify också ett utvecklingskontor i Göteborg med ett hundratal anställda. Ett kontor som sannolikt inte hade funnits om det inte var för att Ludvig redan satt i stan. Drygt 15 år efter att bolaget startade är han fortfarande kvar.

– De första fem åren fokuserade jag på att bygga klienten. Sedan hittade jag andra projekt inom Spotify, det har alltid funnits något som känts intressant. Hade jag bara fått göra samma specifika grej hade jag inte stannat så här många år, säger han.

Han har inte någon formell titel, inga spikade arbetsuppgifter eller några fasta arbetstider.

– Jag löser tekniska problem, sådana som är kluriga och svåra och jag tycker är utmanande. Innan corona hängde jag på kontoret, tjôtade lite med folk och ibland berättade någon om något klurigt de jobbar med eller ett problem de inte vet hur de ska lösa. Då kanske jag kan lämna lite feedback, eller koda ihop en lösning de kan använda, säger han.

Läs mer: ”Internet visar att vi aldrig har varit så olyckliga som nu”

”Jag har egentligen inte så höga krav. Jag är rätt nöjd med att sitta här och klura på tekniska utmaningar”, säger Ludvig Strigeus. Foto: Sören Håkanlind

Fortfarande kvar hos streamingjätten

Ludvig Strigeus namn finns i dag på ett 20-tal patent som Spotify har sökt eller fått inom flera områden från kompression till filöverföring. Han är hjärnan bakom Spotifys delningskoder, en slags QR-koder som ser ut som ljudvågor, och han var en central del i teknikutvecklingen när Spotify försökte sjösätta en videoplattform.

Just nu jobbar han på en ny lösning för skydd mot piratkopiering, så kallade DRM-system.

– Ibland jobbar jag inte alls på Spotify på en månad, sedan kommer perioder när jag sitter dygnet runt i tre veckor. Det passar mig. Jag kan fokusera på saker när det är roligt, och så kan jag ha mina egna projekt vid sidan av när jag känner för det, säger han.

Peer-to-peer-tekniken som gjorde Spotify blixtsnabbt i början finns inte längre kvar. I dag använder Spotify, likt andra streamingbolag, ett så kallat CDN, content delivery network, där servrar med musikfiler finns utplacerade på internetknutpunkter världen över. Gränssnittet han kodade är också utbytt.

– Men det finns kvar en hel del kod jag skrivit, fast folk har jobbat vidare och jobbat om den. Det finns namn på funktioner och klasser som jag satt, men jag har i princip inte nuddat koden i Spotify-klienten på sex-sju år, säger Ludvig Strigeus.

Läs mer: Ny Teknik Insight: 6g blir starten för en ny värld

Skapade en perfekt Nintendo-kopia

Samtidigt fortsätter han att bolla otaliga sidoprojekt. Det kanske mest framgångsrika är en VPN-klient som kallas för Tunsafe och bygger på protokollet Wireguard.

– Det var lite som med Bittorrent. Ett nytt protokoll som jag ville lära mig mer om, så jag skrev en klient, förklarar han.

Programmet fick en växande skara följare, framförallt i länder som Iran och Kina där statlig censur gör det svårt att komma åt de västerländska delarna internet utan hjälpmedel som Tunsafe.

– Vi försökte hitta något slags premiummodell för att kunna ta betalt. Men de som använde Tunsafe hade inga fungerande Visa-kort och det fanns inget bra sätt för dem att betala utan att gå igenom staten på något vis, berättar Ludvig. Det blev krångligt. Jag tappade intresset, men det var intressant att lära sig om protokollet.

Vid ett annat tillfälle lyckades han bygga en emulator till Nintendos klassiska spelkonsol NES byggd på en programmerbar logikkrets (FPGA). Genom att bygga emulatorn på specialanpassad hårdvara i stället för mjukvara på en vanlig dator kunde han återskapa en exakt kopia av originalkonsolen.

– Den blev så precis att den varje klockcykel gjorde exakt samma saker som ett riktigt Nintendo. Det var kul, vissa spel bygger på beteenden som inte går att få till i en mjukvarubaserad emulator. Det kan bli små grafikglitchar, pixlar som blinkar på fel ställen och sånt. Genom att använda en FPGA blev allt precis rätt, säger Ludvig.

Något annat som intresserar honom är ett slags tävlingar som kallas för CTF. Det är hackerkamper som går ut på att hitta sårbarheter i it-system, och att göra det så fort som möjligt. Ofta placerar han sig högt på topplistorna.

”Gjorde Ludvig Strigeus det där själv?”, lyder en förvånad kommentar på Twitter efter en tävling där Ludde på egen hand knipit andraplatsen strax bakom ett team av rutinerade säkerhetsexperter.

– De jag har varit med i kretsar mycket kring reverse engineering, att förstå hur ett program är uppbyggt och sen hitta sårbarheter. Jag gillar det. Det relaterar lite till vad jag gjorde med ScummVM och OpenTTD, säger Ludvig.

Finns det något annat du snöat in på just nu?

– Just nu håller jag på med en krypteringsgrej sedan några veckor. Jag jobbar en del med en halvobskyr kompilator. Jag gillar kompilatorer, kryptering, datakomprimering, nätverkskommunikation, säger Ludvig med samma tonfall som en matlagningsentusiast som berättar att hen hittat en kokbok om det sichuanesiska köket eller börjat baka kalljäst bröd.

Läs mer: Kryptering och svenska servrar - så ska AWS locka myndigheter

Går mot trenden

Kärleken till att bygga små, effektiva program består också. Något som går på tvärs med den allmänna trenden inom mjukvaruutveckling. I dag byggs allt större delar av program genom att utvecklarna plockar in öppen källkod och bygger vidare på det. 

– De utvecklare som behärskar lågnivåprogrammering är en utdöende skara. I dag är det väldigt mycket webbutveckling där man pusslar ihop Javascript-moduler. På ett sätt är det bra. Yrket blir tillgängligt för fler personer och det är enklare att skriva ett meningsfullt program. Samtidigt kommer man långt ifrån det jag tycker är roligt, att förstå hur datorn fungerar, säger Ludvig Strigeus.

– Jag gillar verkligen att programmering blir mer lättillgängligt, men samtidigt: vem kommer i framtiden att förstå hur allt fungerar på djupet? Är vi som på väg att bli det Cobol-programmerare är i dag?

Cobol är ett programmeringsspråk med anor från 1960-talet som mer eller mindre dog ut. Till dess att omvärlden upptäckte att det fortfarande fanns massor av system som var skrivna med Cobol-kod, och knappt några programmerare som behärskade tekniken. 

Ibland pratar man om ett slags utvecklare som är markant bättre än alla andra. En 10x developer, en enda person som är lika effektiv som tio vanliga programmerare. När jag hör talas om det du gjort låter det som en beskrivning som skulle passa på dig?

– Du kan inte stoppa mig var som helst och förvänta dig att jag levererar mer än någon annan. Det måste varan något jag brinner för. Sätter du mig på ett projekt som jag tycker är tråkigt, då kommer jag nog bara göra något annat. Hittar du något jag tycker är kul kanske jag inte är riktigt tio gånger effektivare, men det finns så klart en sanning i det där.

Hur funkar det att jobba i grupp då? 

– Jag föredrar att jobba själv, eller i små team. När det är låg kommunikationsoverhead och man inte är blockerad av någon annan. Några personer som jobbar ihop är okej, men är det större än så vill jag helst isolera problemet så att jag kan jobba på det själv.

Läs mer: Bestämt: Då fasar svensk tv ut föråldrat videoformat

Ludvig Strigeus brukar beskrivas som hjärnan bakom Spotifys tidiga tekniska plattform. Foto: Sören Håkanlind

Brinner för att lösa problem

Förutom sidoprojekten har Ludvig gjort ett antal investeringar i startupbolag. Han har gått in med mångmiljonbelopp i bland annat Doktor.se, nätapoteket Meds och spelstudion Nitro Games. Men han säger sig vara rätt så ointresserad av ämnet. 

– Jag brinner för teknik och programmering. Investeringar är inte mitt allra största intresse, det är mer något slags halvt nödvändig biaktivitet, som dessutom kan vara ganska stressande, säger Ludvig. 

Det är något man måste göra när man fått massor av pengar från Spotifys börsnotering?

– Ja, precis. 

– Jag har inte ändrat hur jag lever. Jag kan fortfarande tycka att det är kul att bara sitta med datorn en hel helg. Jag är rätt opåverkad av Spotifys framgångar, även om jag nu har möjlighet att göra nästan vad jag vill. Jag har egentligen inte så höga krav. Jag är rätt nöjd med att sitta här och klura på tekniska utmaningar.

Det låter som att du är en ganska lycklig person? 

– Ja, det tycker jag. Känslan när man är inne i något och bara kan fokusera på det gör mig lycklig. Sedan finns det saker utanför datorsfären som också gör mig lycklig. Jag gillar att resa till varmare länder. Men jag har inget annat intresse som kräver en massa pengar. Jag hade kanske kunnat bli bättre på att utnyttja möjligheterna jag fått. 

Du har varit med om både μTorrent och Spotify, två stora framgångar, tror du att du kommer att kunna göra samma resa en gång till?

– Det hade ju varit helt fantastiskt om jag lyckades göra något sådant igen. Men jag vet inte riktigt hur jag ska kunna matcha Spotify och μTorrent. Det viktigaste för mig är att jag har roligt på vägen.

– Jag är egentligen mer stolt över μTorrent, trots att Spotify är så mycket större. Det var något jag gjorde helt själv, på Spotify var jag ett kugghjul i en maskin. Så jag skulle snarare vilja göra något som matchar μTorrent, att bygga något på egen hand eller med ett litet team. Jag vill inte leda något stort ingenjörslag.

Ludvig Strigeus

Aktuell: Tilldelades Polhemspriset 2020 av Sveriges Ingenjörer.

Yrke: Utvecklare på Spotify.

Ålder: 39.

Bor: Göteborg.

Utbildning: Civilingenjörexamen i datateknik från Chalmers, i dag hedersdoktor vid samma högskola.

Tidigare: Utvecklat bland annat fildelningsprogrammet μTorrent, simulatorspelet OpenTTD och emulatorn ScummVM.

Simon Campanello

Kommentarer

Välkommen att säga din mening på Ny Teknik.

Principen för våra regler är enkel: visa respekt för de personer vi skriver om och andra läsare som kommenterar artiklarna. Alla kommentarer modereras efter publiceringen av Ny Teknik eller av oss anlitad personal.

  Kommentarer

Debatt