Home

Redactieblog #1: Roosters met ChatGPT, Raspberry Pi-orgel en een Terminator-arm

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.

Tijs Hofmans

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!

Arnoud Wokke

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.

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.

Olaf Weijers

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!

Hayte Hugo

“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 Source: Tweakers.net

Previous

Next