Wie weleens onze podcast luistert, krijgt redelijk wat mee van wat er bij Tweakers achter de schermen gebeurt en met wat voor techprojecten onze redacteuren in hun vrije tijd bezig zijn. Daar krijgen we altijd leuke reacties op en vragen over. Tegelijk weten we dat maar een fractie van jullie de podcast luistert, dus daarom beginnen we met iets nieuws: een redactieblog.
In deze serie artikelen willen we jullie van tijd tot tijd meenemen in wat er bij Tweakers achter de schermen gebeurt en redacteuren de ruimte geven om een keer iets anders te schrijven dan een nieuwsbericht, achtergrondverhaal of review. Met de hoop dat hier natuurlijk weer leuke discussies uit voortkomen.
We hebben nog geen vast publicatieschema, dat zal een beetje afhangen van wat er te melden valt en natuurlijk ook van jullie feedback. In deze eerste editie kun je onder andere lezen over hoe we aan het experimenteren zijn met generatieve AI, wat je met een Raspberry Pi in een orgel kunt doen en leer je welke redacteur nog steeds niet over is op een ssd.

Nieuwscoördinator
Het Tweakers-nieuwsrooster 2.0 door ChatGPT
Sinds november heb ik de eer dat ik coördinator mag zijn van de nieuwsredactie van Tweakers. Het is een lastige taak, en het is vooral moeilijk om in de voetsporen van Olaf van Miltenburg te treden, maar ik doe mijn best. Een van de moeilijkste aspecten van dat werk is om fatsoenlijke nieuwsroosters te maken. Dat is sowieso niet het forte van een journalist die vooral lekker creatief wil zijn en een beetje wil schrijven, maar ineens zat ik met mijn neus in de spreadsheets om nieuwsdiensten te verdelen onder mijn collega's.
Daar zitten nogal wat haken en ogen aan. Een deel van die collega's werkt bijvoorbeeld maar vier dagen in de week en die vrije dag nemen ze natuurlijk nooit op een dinsdag of donderdag op. Nieuwsdiensten lopen bij Tweakers door tot 21.00 uur in de avond, dus dat wil je niet opvolgen met een ochtenddienst waarbij je om 07.00 uur weer achter je laptop moet zitten. Bovendien wil je iemand niet maand na maand de weinig populaire vrijdagavond of maandagochtend laten werken: we moeten nog een beetje weekend overhouden natuurlijk. En op maandagavond, onze vaste kantoordag, gaan redacteuren na afloop graag borrelen. Daar wil je ook wat redelijke tijden voor beschikbaar houden. Arnoud neemt op woensdagen altijd de podcast op. Er zijn vakanties en klarinetlessen en kinderen die 's avonds naar de sportclubs moeten. En ook belangrijk: we zijn met zes nieuwsredacteuren, die moeten in een periode van een half jaar ongeveer een gelijkwaardig aantal nieuwsdiensten draaien.
Mijn eerste impuls was om aan de slag te gaan met een spreadsheet. Met de eerste vier drafts bleek telkens wel iets fout te gaan. Dan bleek Joris toch weer een ochtend te werken na een avonddienst of bleek dat Daan ineens 48 uur in de week moest werken. Kleurtjes hielpen mondjesmaat en formules uitzoeken kostte met mijn beperkte spreadsheetkennis en Google-fu veel werk. Maar toen had ik het, een vrij letterlijke openbaring onder de douche: ChatGPT!
Ik schrijf al weken over deze AI-chatbot en ben erg onder de indruk van de resultaten, maar het écht nuttig inzetten, had ik nog niet eerder gedaan. Ik schreef een prompt die uiteindelijk 264 woorden telde. Ik gaf aan wat ik wilde en vooral wat de beperkingen waren. Zou hier een goed rooster uit kunnen komen?
ChatGPT wees me er al snel op dat dat niet ging lukken. "Met de huidige criteria niet", in ieder geval. Maar na enig doorvragen begon er schot in de zaak te komen. "Waar zit de bottleneck? Wat zou je aanraden? Kun je iets losser omgaan met eis X of Y?" ChatGPT kwam met daadwerkelijk handige voorstellen: "Als Arnoud af en toe ook woensdagochtend kan werken" of als "Je soms maanden meer werkt en andere maanden minder", dan was er wel wat mogelijk.
Na een tijdje zoeken, overleggen met de bot en wat creatief schuiven, schotelde ChatGPT me ineens voor waar ik al weken hoofdpijn van kreeg: een compleet werkschema voor de komende zes maanden, opgedeeld per dag en verdeeld over een ochtend-, middag- en avonddienst. Zo besteedde ik uren werk uit aan een chatbot die het in luttele minuten voor me regelde.
Voor veel van jullie zal dit misschien niet zo interessant klinken. Misschien gebruik je ChatGPT al lang op je werk en is AI al helemaal ingeburgerd, maar voor mij voelde dit uniek. Ik had al eerder met ChatGPT gespeeld om bijvoorbeeld een fictief Tweakers-nieuwsartikel te laten maken en was dan onder de indruk van wat daar uit kwam rollen, maar ik vond het vooral leuk speelgoed dat ik niet zo serieus nam als tool die ik echt voor mijn werk zou kunnen gebruiken. Het leek tot nu toe een leuke partytrick, zoals een goede Excel-formule dat vroeger voor veel mensen nog was. Dit was de eerste keer dat ChatGPT me heeft geholpen op een nuttige manier. Ik zal niet zeggen dat ik nu het licht heb gezien, maar enthousiast ben ik wel degelijk!

Nieuwsredacteur
Dall-E maakte de plaatjes voor mijn artikel
We hebben het er in de podcast al een paar keer over gehad: plaatjesgenerators zouden op termijn prima de rol kunnen overnemen van de stockafbeeldingen die we nu vaak gebruiken voor artikelen die abstract beeldmateriaal nodig hebben. Je kunt AI niet vragen om een mooie foto te maken van de nieuwste Galaxy S23, maar illustraties over bijvoorbeeld ontslagen in de techsector, dat kan toch wel?
Om dat te proberen, nam ik de proef op de som. En dat is gelukt: je kunt vier door Dall-E 2 gegenereerde afbeeldingen vinden in het artikel over ontslagen bij techbedrijven. Het bijschrift is de prompt.
/i/2005599412.png?f=thumblarge)
office building with their heads down
as a Rembrandt painting'. Bron: Dall-E
Heel makkelijk was het niet. De eerste prompts die ik gaf, gaven vrij matige resultaten. Om tot de resultaten die je nu ziet te komen, die nog altijd verre van perfect zijn, heb ik de prompts tientallen keren aangepast en variaties bekeken.
Vooraf hadden we discussie over of we het wel zo moesten doen. Is dit ethisch verantwoord? Is dit iets wat we vaker willen doen of is dit eenmalig? Hoe doen we dit op een transparante manier? Hoofdredacteur Wout pleitte ervoor om de prompts in het bijscrift te zetten, om zo duidelijk te maken wat we Dall-E hadden gevraagd.
Er waren maar een paar mensen die er onder het artikel op reageerden. Silent7 vond het leuk en jongetje vond het rare plaatjes. Het is niet zo dat we nu elk artikel gaan voorzien van Dall-E-plaatjes, maar het is in elk geval een stuk gereedschap dat we in de achterzak stoppen voor als het zo uitkomt.

Reviewer
Een setzer in Python
Ik ben onderdeel van een langlopend project waarbij ik samen met mijn broertje en een hele ploeg orgelbouwers een pijporgel in een kerk in Haarlem aan het verbouwen ben. Mijn broertje en ik bouwen daarbij de hardware en software voor de aansturing van nieuw gebouwde delen van het orgel, waarbij het MIDI-protocol als basis dient.
Eind december kwam het project op het punt dat begonnen moest worden aan de setzer-koppelmodule. Dit apparaat wordt gemonteerd in de speeltafel, en heeft een dubbele functie. Het setzer-gedeelte moet ‘presets’ voor de organisten gaan verzorgen en de koppelfunctie kan verschillende klavieren, delen van het orgel, aan elkaar koppelen. Dit gebeurt door te reageren op ontvangen MIDI-data en aan de hand van de huidige staat van de module de juiste MIDI-data uit te zenden.
Een Raspberry Pi 3B moet als basis voor deze module dienen. Dat is steviger dan de overige modules in het orgel die op basis van een ESP32 gebouwd zijn, maar er wordt ook een stuk meer van vereist. De software is niet kant-en-klaar te krijgen voor een volledig zelf ontworpen project, wat dus betekent dat ik het zelf moet ontwikkelen. Dat geeft alle aanleiding om toch maar eens in Python te duiken.
Met een niet al te stevige achtergrond in het schrijven van scripts en Arduino-programma’s vreesde ik daar een hele kluif aan te hebben, want dit moet een serieus en stabiel programma worden. Het moet draaien onder Linux, niet mijn dagelijkse brood, en er komen voor mij compleet nieuwe zaken, zoals een gui, MIDI-implementatie en databasefuncties aan bod in een taal die ik niet ken. We zijn nu een maand verder en het is me allemaal meegevallen. Python blijkt een taal te zijn waar je zonder al te veel moeite instapt, zeker als je al wat ervaring met andere talen hebt. Het gebrek aan haakjes en andere verplichte syntax is voor mij een verademing ten opzichte van sommige andere talen. Zelf had ik het idee dat er een veel groter verschil zat tussen het brouwen van scripts en het schrijven van een programma, al zal er vast meer dan voldoende op mijn code aan te merken zijn ;-).
De basisfuncties van de setzer-koppelmodule zijn allemaal functioneel. Het programma laadt en schrijft in een YAML-database, kan gebruikers met bijbehorende programma’s en presets laden en er wordt MIDI ontvangen en verstuurd. Nu is het wachten op de RS485-communicatiemodule waarmee de Pi opgenomen kan worden in het MIDI-communicatienetwerk, zodat de werking in de praktijk kan worden getest. Hopelijk kan ik daar al wat over melden in de volgende update. Keep you posted!

Nieuwsredacteur
Haytes schuldbelijdenis
“Wie heeft er nu een cpu/gpu die krachtig genoeg is voor zo’n next-gen game, maar nog steeds een trage hdd heeft?” @Coolstart had het niet over mij, maar toch voelde ik me aangesproken. Mijn pc heeft een ssd, maar veel meer dan Windows 10 en wat dagelijkse programma’s als Word en Chrome staan hier niet op. Al mijn games staan op een old school 3,5”-2TB-hdd. Daarmee is dit bericht mijn schuldbelijdenis. Alhoewel, bega ik nu echt een zonde?
Voordat ik verder ga, som ik eerst de specs op. Want met mijn i7-6700 en GTX 1070 is mijn pc lang niet meer cutting edge, maar toch vlot genoeg voor allerlei moderne games. Ik ben nog geen enkele game tegengekomen die ik niet kon starten; de meeste games kan ik zelfs nog op relatief hoge instellingen spelen. Wat daarbij helpt, is mijn scherm met een resolutie van 1920x1200 pixels.
Toch heb ik sinds de opmerkingen van Coolstart, en die van collega’s, die mijn hdd eveneens opmerkelijk vinden, nagedacht over upgradeplannen. Ga ik dan toch voor een ssd? Een 2,5”-exemplaar wellicht? “Dan kan je net zo goed die hdd blijven gebruiken”, was de reactie van mijn gewaardeerde collega Willem de Moor. Koop een M.2-ssd, was zijn advies. Zo begon mijn zoektocht, waar, na een tijdje te hebben gezocht, een paar M.2-ssd’s uitkwamen. Ik was bijna zover om tot aanschaf over te gaan, tot ik mezelf de vraag stelde wat ik nou wilde. Wilde ik zo’n honderd euro uitgeven aan een nieuwe schijf, wetende dat je daar ook een paar nieuwe games voor kan kopen? Zeker met de inflatietijden van nu, denk ik bij elke wat grotere uitgave wel twee keer na.
Want is het voor mij nou een probleem of overwoog ik de aanschaf alleen vanwege de groepsdruk? Het eerlijke antwoord? Een hdd is voor mij nog hartstikke prima. Natuurlijk, het opstarten van een game kan soms wel wat tijd in beslag nemen. Crusader Kings 3 spant daarbij de kroon: tussen het moment dat ik de game start en daadwerkelijk de kaart voor mijn neus zie, kan ik gerust een kop thee zetten én drinken. Maar als de game eenmaal is opgestart? Dan loopt het als een zonnetje. Dat is relatief gezien, rekening houdend met de rest van de specs van mijn pc. En stel dat ik in een openwereldgame een laadscherm tegenkom, dan is dat meteen een mooi moment om even naar mijn telefoons te kijken of die old-school tooltips tot me te nemen. Daarnaast bieden de piepjes en zoempjes van zo’n draaiend schijfje nog wel wat sfeer, toch?
Maar wellicht is het bijna tijd om afscheid te nemen van mijn draaiende schijfje. De afgelopen jaren ben ik geholpen door de PlayStation 4- en Xbox One-consoles, die eveneens nog draaiende schijven gebruiken. De current-gen consoles hebben zoals bekend alleen zo’n (voor mij) hypermoderne M.2-schijf. Het ligt daarom voor de hand dat ontwikkelaars steeds minder rekening gaan houden met gamers die nog met hdd’s spelen en meer de volledige potentie van ssd’s benutten, waardoor ik de ssd-keuze niet meer hoef te maken, maar de gameontwikkelaars die knoop voor mij doorhakken. Voor mijn portemonnee hoop ik dat dat nog even duurt, maar de eerste game die mijn hdd niet kan draaien, komt er vast snel aan.
Rise of the machines

Reviewer
Eigenlijk wilde ik helemaal geen Terminator-arm maken, maar per ongeluk zit ik nu mijn tweede te maken. Dat komt zo: ik was eigenlijk op zoek naar een mechanische hand om toetsenborden te testen. Ik wilde iets hebben dat bewogen kon worden, zodat we een paar toetsen konden indrukken om zo het geluid te meten van de toetsenborden. Dat bleek lastig, want bijna alle handen die ik tegenkwam, maken gebruik van servo's om de vingers te bewegen. Wie wel eens van een servo gehoord heeft, weet waarschijnlijk dat je met die dingen in de buurt geen geluidsmetingen meer kunt doen. Ik heb ook gekeken naar actuators met solenoids, maar ook die zijn niet erg stil, en andere lineaire actuators zijn vaak erg langzaam.
Een van de handen die ik tegenkwam tijdens bovengenoemde zoektocht, was de hand, of liever onderarm, uit de Terminator-films. Je weet wel, de arm die Arnold in T2 laat zien en de arm die in de kluis bij Cyberdyne Systems bewaard wordt. Omdat die film een van mijn favoriete films is, en die arm een paar van mijn hobbies, zoals 3d-printen en robotica, combineerde, had ik weinig andere keus dan zo'n arm te maken. En omdat ik nogal van de obsessies ben, wilde ik eigenlijk als tweede arm een metalen maken, maar dan moest ik eerst een bovenfrees en metaaldraaibank kopen (helaas, geen ruimte, maar op de bucketlist) en metaalbewerker worden.
Om toch een beetje het metaalgevoel te krijgen, had ik maar besloten dat veel, heel veel schuren en een hoop lagen primer en lak de oplossing moesten zijn. Dat was direct een mooi excuus om eens met airbrushen te beginnen, vond ik, dus kon ik weer een andere rabbit hole induiken op zoek naar een leuke airbrushcompressor en 'guns'. Uiteindelijk heb ik als chromelaag een veel goedkopere oplossing gevonden: een spuitbus van de Action. De basics van airbrushen heb ik tussentijds wel meegekregen, en geloof me: dat is lastiger dan het lijkt. Met het eindresultaat ben ik redelijk tevreden. Van heel dichtbij zie je genoeg imperfecties, maar van iets verder weg ziet de T800-arm er badass uit. De vingers en pols zijn met veren, zuigers en touwen te bewegen, maar daardoor wijkt het ontwerp wel wat af van 'de echte'. Daarom heb ik inmiddels v2 geprint die beweging inruilt voor meer realisme. Alleen tegen het schuren en schilderen zie ik nog een beetje op, maar een glazen cilinder als display case staat al klaar... Mocht je overigens nog een briljant idee hebben voor die toetsenbordtester waar dit allemaal mee begon, hou ik me aanbevolen!