Maya Posch, op Tweakers bekend als Elledan, heeft altijd veel interesse gehad in wetenschap en technologie. Begin maart haalde ze de frontpage met haar zelfgeschreven NymphCast-app, die een opensourcealternatief is voor Chromecast en Airplay. Naast programmeren, schrijft ze ook verhalen en is ze gefascineerd door kunstmatige intelligentie. Ze woont tegenwoordig in Duitsland, dus wij spraken haar via Zoom.
Hoe is je interesse in computers ooit begonnen?
"Dat was een 'foutje' van mijn vader. Hij was veehouder, dus we woonden op een boerderij. Ieder jaar moest er meer bijgehouden worden, dus voor dat doel had hij een computer gekocht. Al voor het internettijdperk verstuurde hij allerlei gegevens via een modem en in al 1994 kregen we thuis internet. Mijn vader liet mij en mijn twee broers die computers ook gebruiken. Mijn broers hadden meer interesse in afspreken met vrienden, maar voor mij was het een manier om nieuwe dingen te leren, naast het lezen van boeken. Zo kwam ik in aanraking met MS-DOS 5, WordPerfect 5.1 en QuickBasic. Op school wisselde ik floppy's uit met vriendjes, waardoor er ook steeds meer spelletjes in huis kwamen. Dankzij een cursus blind typen, wat mijn ouders goed voor onze algemene ontwikkeling leek, nam mijn vaardigheid snel toe. Dat hielp ook bij het overtypen van listings uit tijdschriften. Op die manier leerde ik QBasic, maar al snel ging ik me verdiepen in andere programmeertalen."
Je bent onder andere bekend met C++, PHP, Java, SQP, Perl, Python en JavaScript. Heb je jezelf dat allemaal zelf aangeleerd?
"Ja. Na Qbasic stortte ik mij op het boek Visual Basic in 24 uur. Die titel was natuurlijk een leugen, maar het is uiteindelijk gelukt. Vervolgens heb ik Java geleerd via een boek, maar ook PHP en JavaScript. In die tijd had je veel gratis hosting voor websites, in ruil voor een banner, dus toen kwam ik aanraking met PHP. Ik las vervolgens op fora dat C++ de programmeertaal was; alle grote jongens waren daarmee bezig. Dus kocht ik in 1998 in de boekhandel het boek The C++ programming language, geschreven door Bjarne Stroustrup, de bedenker van C++. Los van de programmeertaal zelf, leerde ik ook hoe de code eruit moest zien, en hoe je dingen opdeelt en voorziet van commentaren."
Haal je alle kennis uit de theorie of merk je sommige dingen pas in de praktijk?
"Veel leer je in de praktijk. Iets simpels als de essentie van commentaarregels bijvoorbeeld. Daarin staat informatie over wat de code doet en eventueel hoe hij is opgebouwd. Dat maakt het voor andere programmeurs inzichtelijk hoe de code werkt en hoe ze hem kunnen veranderen, wat voor opensourcecode belangrijk is. Ook voor jezelf is het nuttig, want als je net een programma hebt geschreven, weet je exact hoe je het hebt opgebouwd, maar na een paar jaar ben je dat weer vergeten."
Gebruik je een bepaalde methodiek voor je programmeerwerk?
"Ja, ik gebruik comment driven development. Dat is een aanvulling op test driven development. Je begint met de ontwerpeisen en die werk je uit in de architectuur. Dan begin je met de structuur en de commentaren. Dan geef je ook de scope aan: wat moet het precies doen, de functies, loops enzovoort. Als je de code aanpast, pas je ook het commentaar aan, en andersom. Nadat de code is getest, schrijf je de bijbehorende documentatie via commentaren bij de code, zodat anderen begrijpen hoe het is opgebouwd en hoe ze het kunnen gebruiken."
Wat doe je momenteel zoal?
"Ik ben vooral bezig met eigen programmeerprojecten en met een aantal in samenwerking met anderen. Verder schrijf ik veel Engelstalige artikelen voor Hackaday.com. Bijvoorbeeld populair wetenschappelijke stukken over hoe je in een ruimtestation boven van onder kunt onderscheiden, items over cross-platform programmeren, en stukken over kunstmatige intelligentie en robotica, bijvoorbeeld wat de ongeschreven regels zijn op een werkplek voor robots als ze daar samen met mensen werken."
Vanwaar je grote interesse in kunstmatige intelligentie?
"Misschien gaat dat terug naar het opgroeien op een boerderij. Ik wilde alles begrijpen en weten hoe het werkt. Hoe kan het dat insecten of slakken met hun eenvoudige zenuwcellen en slechts een paar neuronen toch complex gedrag vertonen? Ze kunnen leren en zich aanpassen aan veranderende omstandigheden. Hoe werkt dat? Als je dat kunt nabouwen in de vorm van kunstmatige intelligentie, weet je hoe het werkt. De wereld wordt mooier als je er meer van begrijpt. En je kunt pas iemand iets leren als je het zelf begrijpt."
"Veel van wat kunstmatige intelligentie wordt genoemd, is geen echte intelligentie. Deze intelligentie kan niet beredeneren. Voor neurale netwerken had je vooral Markov-modellen, zoals: wat is de waarschijnlijkheid van die stap en komt dat in de buurt van wat mensen ook doen? Dat is ook een beetje filosofisch: in hoeverre zijn mensen echt intelligent? In de medische wetenschap was er een geval waarbij iemand door een beschadiging in de hersenen blind was, maar toch een bal kon vangen. Hij was zich niet meer bewust van het beeld, maar de visual cortex en lagere hersenfuncties functioneerden nog wel."
Je bent erg actief in de opensourcecommunity. Is het niet lastig om met gratis software je boterham te verdienen?
"Ik ben een humanist, geen kapitalist. Ik wil dingen maken waarmee ik mensen gelukkig kan maken en waarvan de wereld een stukje beter wordt. Het gaat me niet om geld. Ik zou graag geld willen verdienen zoals bijvoorbeeld Red Hat dat doet; gratis software, maar betalen voor support, bijvoorbeeld voor de 'Ik ben een humanist, geen kapitalist'
implementatie in een bepaald product. Je hoeft dan niet continu te jagen op nieuwe opdrachten, doet iets wat je leuk vindt en verdient je geld daarmee. Er zijn veel bedrijven die zeer kapitalistisch denken. Facebook wordt gebruikt voor pure zelfexploitatie. Jij bent het product en iedereen werkt daar vrijwillig aan mee. Alles wat je publiceert, wordt ingezet om meer advertenties te verkopen."
Je hebt onder andere bij de VARA gewerkt als ontwikkelaar en later ben je naar Duitsland verhuisd en gaan werken voor een bedrijf dat iOS- en Android-apps maakt. Vanwaar die overstap?
"Bij de VARA was het heel erg van negen tot vijf werken, waarbij de ontwikkelaars in een hoek waren weggestopt. In die tijd werkte ik freelance al voor het Duitse Synyx, dat toen vooral smartphoneapps ontwikkelde. Af en toe ging ik daar een weekje naartoe. In 2013 stelden ze voor dat ik naar Duitsland 'Er rijden heel wat BMW's rond met mijn code'
zou verhuizen en dat ze daarmee wilden helpen. Ik zat toen een beetje in een moeilijke periode met PTSS vanwege gebeurtenissen in het heden en verleden, en was toe aan een nieuwe start. Ik verhuisde naar Karlsruhe en trad in loondienst bij Synyx. Dat richtte zich aanvankelijk vooral op iOS en later verschoof dat naar Android. In de jaren daarna ging de aandacht vooral naar infotainmentsystemen voor auto's. Dat werkte op Java, embedded JavaScript en C++. Er rijden heel wat BMW's rond met mijn code."
Medio 2018 ben je voor jezelf begonnen. Was dat een bewuste keuze?
"Niet helemaal. Eind 2017 was er minder werk bij Synyx. Ze deden geen mobile meer en het project voor BMW stopte. Er was een verschuiving naar meer zakelijke ontwikkeling en dat sprak me minder aan. Samen met mijn baas heb ik toen besloten te stoppen. Ik werk momenteel op freelance basis, maar sluit werken in loondienst voor de toekomst niet uit. In 2018 ben ik de hele wereld rondgevlogen en heb ik gesprekken gevoerd met diverse bedrijven, waaronder Apple, Microsoft, Spotify en Amazon Web Services. Uiteindelijk is dat niet echt gelukt. Ik was ook wat onzeker, omdat veel van mijn algemene programmeerkennis van voor mijn baan bij Synyx dateerde, dus dat wilde ik eerst opfrissen. Voor 2020 heb ik wat eigen projecten op de planning staan, maar ik sluit een terugkeer in loondienst in binnen- of buitenland niet uit."
Maya Posch
Nickname
Elledan
Herkomst nickname
Elledan komt van Lord of the Rings, waar een elfprins 'Elladan' heet
Woonplaats
Duitsland
Hobby's
Alles wat met wetenschap, techniek en mathematiek te maken heeft
Op Tweakers sinds
Geregistreerd sinds 2008, maar daarvoor ook al lang actief
Favoriete onderdelen T.net
Nieuws, Pricewatch en Forum
Studie
Jaartje verveeld op hbo, technische informatica
Beroep
Freelancer software-hardwareontwikkeling
Smartphone
Xiaomi Mi 5
Computer
Intel Core i7-6700K, GTX 980 Ti, 32GB ram, Fractal Design Define R5-case (zelfbouw)
Gameconsole
SNES
Favoriete games
Lufia II, Gris, To The Moon
Camera
Nikon D7200
Websites
www.mayaposch.com
www.nyantronics.com
www.nyanko.ws
YouTube-kanaal
Begin maart stond je op de Tweakers-frontpage met een zelfontwikkeld opensourcealternatief voor Google Chromecast, dat net als Apple Airplay een propriëtair formaat is. Hoe kwam je op dat idee?
"Bij de hackerspace waar ik vaak kom, hadden ze een aantal zelfgebouwde kastjes met Linux en PulseAudio gemaakt. Daarmee kon je videostreams inclusief audio over het netwerk versturen, maar dit werkte weer niet met mijn Windows-laptop of Android-telefoon. We hadden daar ook een nieuwe receiver, maar die werkte weer alleen op basis van AirPlay. Dan was er natuurlijk nog Chromecast, maar dat werkte ook niet met alle Android-apps samen en was in de praktijk vaak een ramp om te gebruiken. Toen dacht ik: zou ik dat zelf niet kunnen maken, een open streamingstandaard die op ieder platform werkt? Ik nam FFmpeg als basis voor het afspelen en decoderen van video en audio in combinatie LibSDL en de FFplay-mediaspeler. Ik heb daar intussen behoorlijk wat tijd ingestopt en heb het werkend gekregen op Windows, Linux x86 en een Raspberry Pi. De uitdaging is nu om andere apps compatibel te krijgen. Voor fabrikanten zoals tv-makers is het redelijk eenvoudig om NymphCast te integreren."
Wat voor reacties heeft dat opgeleverd?
"Behalve op Tweakers, heeft NymphCast ook op Hackernews en Reddit gestaan. Het heeft veel leuke reacties opgeleverd, maar ook heel veel feature requests. Dat is leuk, maar ook lastig, want zolang ik er niets aan verdien, moet het een hobbyproject blijven en moet alles dus tussendoor. Via GitHub krijg ik vaak verzoeken of ik een beetje feature zo snel mogelijk kan toevoegen, liefst nog dit weekend. Het project bevindt zich nu nog in het alfastadium, maar zodra het bèta wordt, zal het voor anderen aantrekkelijker worden om mee te ontwikkelen. Op basis van een reactie op Tweakers heeft iemand geholpen om het werkend te krijgen op Alpine Linux en het leuke is dat hij nog steeds bij het project betrokken is. Zo hebben we samen het build system verbeterd."
Je bent Nederlands, woont in Duitsland, en communiceert en schrijft juist veel in het Engels. Tegelijk ben je zeer geïnteresseerd in Aziatische talen, zoals Japans. Hoe komt dat?
"Dat begon ooit dankzij Napster, heel onschuldig. Ik was wat liedjes aan het downloaden en vroeg mij af wat er zou gebeuren als ik zomaar iets intypte als sleutelwoord. Daar kwam een Japans resultaat uit, een soundtrack van de animeserie Noir. Die heb ik toen gedownload en ik vond anime meteen cool. Toen ontstond mijn interesse in de schrijfwijze. Die tekens zijn zo anders dan onze letters. Het is fonetisch en dat is heel fijn. Ik begon eerst met het leren van de taal door animeseries te kijken zonder ondertiteling, dus alleen door te luisteren. Het lezen is nog wel een beetje een drama, maar ik ben ermee bezig. Zo heb ik De Hobbit in het Japans liggen. Spreken is gemakkelijker. Zo kan ik wel gesprekken voeren met Japanners. Diezelfde interesse heb ik voor andere Aziatische talen. Mede daarom ben ik ook bijvoorbeeld Thaise en Indonesische spellen gaan spelen."
Je schrijft ook verhalen. Zowel fictie als autobiografisch. Klopt het dat je bezig met het schrijven van een autobiografie?
"Ja, ik ben al jaren met een autobiografie bezig. In mijn hoofd is hij al helemaal af, maar op papier moet er nog een hoop worden geschreven. In het kort gaat het over m'n leven tot nu toe en vooral mijn ontdekking dat ik een intersekslichaam heb, met zowel mannelijke als vrouwelijke kenmerken. Maar ook hoe de maatschappij hiermee omgaat, wat voor mij redelijk traumatisch was. Hoe kan iemand in de maatschappij passen als hij niet past in de standaard 'huisje, boompje, beestje'-verwachting? Dat was overigens ook een reden voor mij om naar Duitsland te verhuizen, omdat het hier in 2013 mogelijk werd om een andere geslachtsvorm te kiezen dan man of vrouw. Ik heb hier in mijn persoonlijke blog meer over geschreven."
Wat zijn verder je plannen en ambities voor 2020?
"Ik wil verschillende eigen projecten afkrijgen, zoals NymphCast en DebounceHAT. Dat laatste is een kastje op basis van een Raspberry Pi waarmee je zonder gevaar de spanning van een schakelaar of relais kunt uitlezen; het kan 3kV aan. Een verhuizing sluit ik ook niet uit. Ik woon in een prima appartement, maar omdat er aan alle kanten buren zitten, is het wat gehorig. Dat maakt het wat lastig om bijvoorbeeld een CNC-freesmachine aan te schaffen, nog los van het feit dat ik daar geen plaats voor heb. Behalve op het balkon, wat natuurlijk niet ideaal is met al dat metaalstof. Misschien toch terug naar een boerderij? Wat de toekomst precies brengt, weet ik niet. Maar als je lang genoeg wacht, zie je vanzelf wat er gebeurt ;-)"
Dit artikel verscheen in mei 2020 in Tweakers Magazine.
Tweakers-community
Deze zomer publiceert Tweakers een reeks interviews die eerder in het Tweakers Magazine zijn verschenen. Ieder weekend lees je een interview met een van onze communityleden. Meer artikelen over projecten van tweakers vind je via de tag Tweakers Community. Wil je zelf iets bijdragen, of iemand uit de community voordragen om in de schijnwerpers te zetten? Tip de redactie op het forum.