# Tim Broddin > I make things. Sometimes I write about them. Public Ghost content for AI and LLM tooling. This file includes a bounded export of public pages first, then recent public posts. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages _No public content available._ ## Posts ### Introducing Pretparkje (Themeparkie) URL: https://broddin.be/introducing-pretparkje-themeparkie/ Last updated: 2026-07-24T09:23:41.000Z 💡 Visit [ThemeParkie](https://themeparkie.com/?ref=broddin.be) / [Pretparkje](https://pretparkje.be/?ref=broddin.be) today! I love theme parks. I hate queuing. For a long time, I've been very intrigued by optimizing theme park visits. You enter a park, and your goal is to queue as little as possible. Do you start at the back of the park? Seems smart, but maybe everyone thinks the same, and it might become smarter to start at the beginning of the park. Same goes for which day to visit. School holidays influence theme park crowd levels, but so do other factors like weather, day of the week, month of the year, ... Luckily, there's a lot of data available out in the open, and for a long time I've been wanting to bring all that data together. This accumulation of data has now resulted in [Pretparkje](https://pretparkje.be/?ref=broddin.be) \- or [ThemeParkie](https://themeparkie.com/?ref=broddin.be) in English (continuing my streak of using diminutive words like Woordje, Lijsje, and Festivalletje). ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/CleanShot-2026-07-24-at-10.29.25@2x.png) Pretparkje combines data from the [Themepark Wiki API](https://www.themeparks.wiki/api?ref=broddin.be) \- a very cool open-source project that knows how to speak to all theme park backends to fetch waiting times with some other sources: - [OpenMeteo](https://open-meteo.com/?ref=broddin.be): live weather and forecasts. - [OpenHolidays](https://www.openholidaysapi.org/en/?ref=broddin.be): live information on holidays worldwide. - [Openverse](https://openverse.org/?ref=broddin.be): a library of free-to-use images under the Creative Commons license. Yes, there are already other sites doing similar things. Loooopings has a good [overview](https://www.looopings.nl/wachten/?ref=broddin.be) of a lot of theme parks, but it's pretty basic (and ad-riddled). [Queue-times](https://queue-times.com/?ref=broddin.be) has a lot of parks, and a lot of statistics, but it just shows you the data. Pretparkje aims to help you decide what to do with it. But more on that below. ## Phase 1 Currently, Pretparkje is accumulating that data. Every time it fetches the waiting time for an attraction, it records it together with the current time & date, the weather, and school vacations. In phase one, Pretparkje already allows for some very nice insights. You can of course look at the current live queue times of a park, but you can also view general theme park statistics to see what might be a good day to visit, or dig deeper into an attraction and see when it's generally less crowded. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/CleanShot-2026-07-24-at-10.30.10@2x.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/CleanShot-2026-07-24-at-10.30.26@2x.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/CleanShot-2026-07-24-at-10.31.13@2x.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/CleanShot-2026-07-24-at-10.32.44@2x.png) In addition, it's already possible to enable notifications when a ride gets less busy than a threshold you specify. On iPhone, this requires installing the website to your homescreen. ## What's next? In the next phase, it will become possible to use the gathered intelligence to plan your day. Tell it when you'll visit a park and which attractions you want to do, and it will use a complex algorithm to give you the best order in which to complete the attractions. But it still needs more data to get there. And some more product thinking from my side. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/CleanShot-2026-07-24-at-08.46.39@2x-1.png) A beta version of how a day planner might look. ## What about an app? Right now you can add Pretparkje to your home screen and have an app-like experience. I want to turn that into a full-blown app in the future. It would be awesome to have live activities and widgets tailored to your theme park visit. But I've been working on Pretparkje as a side project. Even though my main job now is working on my own projects and monetizing them, I didn't set myself any goals for this one. Hosting costs are minimal, the data sources are free, and Pretparkje doesn't need to make money. Creating an app would mean allocating more time to Pretparkje. Before taking that step, I want to discover whether Pretparkje is useful to more people than just me and what they would actually want from an app. ## Conclusion I still don't know whether you should start at the end of the park or at the beginning, but at least now I have some data to back whichever I decide to do. For now, Pretparkje will keep collecting data and become smarter and smarter as it goes. If you also love theme parks and hate queuing, please give Pretparkje a try. And if there's something you would want from a future app, I'd love to hear about it. ### Bringing Microsoft Comic Chat to the Mac using Fable URL: https://broddin.be/bringing-microsoft-comic-chat-to-the-mac-using-fable/ Last updated: 2026-07-20T08:56:26.000Z Last week, two things happened: - I read this [awesome article](https://bun.com/blog/bun-in-rust?ref=broddin.be) about how Bun ported 500K of code from Zig to Rust in only 11 days thanks to Claude Fable, something that would never have been possible, or worthwhile, before. - Microsoft [open-sourced](https://opensource.microsoft.com/blog/2026/07/16/microsoft-comic-chat-is-now-open-source/?ref=broddin.be) MS Comic Chat. ## Comic What? Back in 1998, I was a 15-year-old kid, and Microsoft wanted to become the de facto browser company. They did so by shoving their Internet Explorer suite in your face and handing out free CD-ROMs everywhere you went. As far as I can remember, the CD-ROM contained Internet Explorer 4, NetMeeting (FaceTime avant la lettre), Outlook Express, and Microsoft Comic Chat 2\. The latter was a chat client (IRC) that could connect to a Microsoft-hosted server, and that did one thing very special: instead of being boring text logs, it showed conversations as comics (they even wrote a whole [scientific paper](https://kurlander.net/DJ/Pubs/SIGGRAPH96.pdf?ref=broddin.be) on the technique). Oh, and it introduced everyone's favorite font to the world: Comic Sans MS! ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-5.png) ([source](https://dmcostello.com/2016/08/30/internet-nostalgia-microsoft-comic-chat/?ref=broddin.be)) Thanks to (or because of) MS Comic Chat, I became addicted to IRC (Internet Relay Chat). First on `chat.msn.com`, until Microsoft turned it off in the early 2000s, then on `irc.dma.be` (shoutout to the channels #belgium and #belgium\_zuipschuiten). Nostalgic me likes to think back to those days, and the meme-like appearance of those crude comics. Microsoft Comic Chat wasn't a particularly good chat client. People mocked you for using it, and I eventually moved to the more mature, but much less fun, mIRC. Still, Comic Chat had heart and soul. Naturally, my heart skipped a beat when Microsoft announced last week that it had put the [full code on GitHub](https://github.com/microsoft/comic-chat?ref=broddin.be). ## Enter Claude Fable Last year, I wrote [a little piece](https://broddin.be/we-are-fucked-and-some-other-half-assed-thoughts-on-ai-and-coding/) about how AI was changing the way I saw my role as a software engineer and product thinker. In it, I wrote: > But now, with AI as my co-creator and sketchpad, I can explore faster and build more than I ever could alone. I still think that holds up, but remember the phrase. We’ll revisit it later. The past few weeks had been a bit of a mess in AI-land. Anthropic released Claude Fable, pulled it about 48 hours later because of US export restrictions, and then brought it back. At the time, subscribers were told that their included access would disappear on July 17. *(Spoiler: it didn't disappear - they've now opened it to everyone.)* Since I had spent most of the week working with GPT-5.6, I reached Friday with 100% of my Fable allowance left and two days to burn through it. I opened a Claude Code session, pointed it at the original, almost thirty-year-old source code, and asked: > This is the source code of MS Comic Chat. What would it take to run this on macOS? At first, it wanted nothing to do with a full port. It tried to talk this ridiculous idea out of my head. It said: just use Wine, or if you're really insistent, use an emulator. A native build, it warned, would mean rewriting most of an almost 100,000-line codebase. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/CleanShot-2026-07-19-at-21.50.30@2x.png) But I really insisted and typed: ▎ I want a full port And it started crunching. It wrote a design document, weighed three approaches, and carved out four phases (the last one later split in two): 1. Decode and render Comic Chat's obscure character and background formats. 2. Rebuild the comic layout engine: panels, poses, speech balloons, text. 3. Salvage the IRC/IRCX networking stack. 4. Wrap everything in a native macOS app. One of the things I pushed hard on during the short brainstorming session was that it had to work on real servers. There is still an (albeit small) community that runs MS Comic Chat servers ([IRCX](https://en.wikipedia.org/wiki/IRCX?ref=broddin.be)), and I wanted to chat with them. That killed the obvious approach. You can't rewrite a protocol like this from scratch because rewrite drift is exactly where compatibility breaks down. So Fable chose what it called "shim-and-lift": write a small fake-[MFC](https://en.wikipedia.org/wiki/Microsoft%5FFoundation%5FClass%5FLibrary?ref=broddin.be) compatibility layer, and compile the actual 1998 Microsoft source code into the Mac app. Not a translation. The real thing. In the end, about 33,000 lines of original C++ code from 1998 are running inside my Mac app right now, wrapped in 19,000 lines of new Swift code. That means the Mac app also includes bugs Microsoft never got around to fixing. ## Where Fable really surprised me Every major AI model can generate enormous amounts of plausible code at this point. Given a clear specification, good tests, and enough supervision, all of them can produce surprisingly complete applications. Fable surprised me with two approaches that went far beyond what I expected from a coding model: ### It wrote itself a rulebook Porting old code sounds fun, but the danger lies in the details: every "improvement" to Microsoft's code risks breaking compatibility with real Windows clients. So Fable wrote itself a numbered rulebook for editing the old files ("change Windows path separators to forward slashes, and nothing else"). Anything the rules didn't cover: stop, propose a new rule, record which file made it necessary, and only then continue. It even found a genuine bug from 1998 and refused to fix it. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/CleanShot-2026-07-20-at-08.35.47@2x.png) ### It wiretapped the original application I kind of panicked when I saw that Fable was trying to run Wine. I explicitly told it that I wanted a real Mac app, not an emulation. Turns out that Fable didn't need Wine to run the program and call it a day. It went out of its way to write a proxy server to inspect how the original program talked to the server. It went online, downloaded the original Windows program from [archive.org](https://archive.org/), put a wiretap between it and a chat server, and recorded what the genuine app sent, byte for byte. Then it replayed that recording against its own port to check its homework. ## What I actually did I couldn't have written this port myself. It sits far outside my comfort zone. But "the AI did everything" isn't the story either. I set the constraints during the brainstorming phase. I made sure that Fable and I had the same definition of "done". But when I said “go,” it really did just go. It worked in long stretches without intervention, committed its progress phase by phase, and only occasionally needed me to approve something. And in terms of implementation, I really didn't do much, to be honest. I wasn't behind my desk for probably 95% of that time. At one point, I was at a trampoline park with my girlfriend and our kids while Fable was somewhere deep inside a thirty-year-old C++ codebase, rebuilding an IRCX client for macOS. I checked in from my phone every once in a while, asked it to send me screenshots of its progress, and then went back to watching the kids go berserk on trampolines. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/anna-25.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/IMG_1672.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/8406BFC3-1A4E-4116-A88E-FB79CAE7612D_1_105_c.jpeg) Some of its early work screenshots it produced while I was watching one of my daughters having the time of her life. That changed when it confidently announced that it was done. The first results were impressive but very rough. Before I could ship anything, I had to push it through a lot of polishing and point out plenty of bugs. Once the first build existed, my role started to look much more like that of a product owner and QA tester than an implementation engineer. I compared its behavior with the original, pointed out what was broken, rejected shortcuts, and kept pushing it toward something I could actually ship. ## Where it landed Comic Chat for Mac is now available on my [GitHub](https://github.com/TimBroddin/comic-chat-macos?ref=broddin.be). You can download the full app from the [releases page](https://github.com/TimBroddin/comic-chat-macos/releases/?ref=broddin.be). Two days after my first prompt, there was a working native Mac app. It connected to real IRCX servers, rendered the original characters and backdrops, supported the emotion wheel and different balloon types, and could even save, print, and export conversations as PDFs. It's still rough and buggy. But it connects, and you can chat. I even threw in a new connection screen that has some of the community-run servers in it: ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/CleanShot-2026-07-19-at-22.38.11@2x.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/CleanShot-2026-07-20-at-08.32.24@2x.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/CleanShot-2026-07-20-at-09.55.32@2x.png) Fifteen-year-old me would never have believed that I would someday tinker with the source code of the program I used most. Nor would he have believed that I would use a robot to do it. ## What's next? Even though Comic Chat for Mac is a fun little nostalgia trip, I don't think there's anyone waiting for it. But I still like the layout engine and the comic book aspect a lot. As I said before, it has heart and soul. Two things we need more than anything in this world right now. I hope to use it in something more modern one day. --- But remember that phrase from last year? *"With AI as my co-creator and sketchpad, I can explore faster and build more than I ever could alone."* A year later, it reads almost old-fashioned. A sketchpad doesn't work for two days straight, then comes back with a working 1998 protocol stack and a wiretap. This weekend, I wasn't the person doing any of the heavy lifting. I described what I wanted, defended the parts that mattered, said “I want a full port,” and then lived my life while something else did most of the engineering. It's a strange thing to feel good and slightly obsolete about at the same time, and I won't pretend I've sorted out which one wins. But then again, no AI model would have built this port on its own. Because AI models are still just [clankers](https://en.wikipedia.org/wiki/Clanker?ref=broddin.be). They don't know nostalgia. They've never been a 15-year-old kid sitting behind a flickering CRT, looking at cartoon characters. No AI model ever wondered what happened in a chat room while it was away. But a fifteen-year-old kid from a small town near Antwerp in Belgium once did. And that kid waited 28 years to ask an AI model to bring back that nostalgia. --- Other cool projects using the legacy source code: - [Comic Chat Web](https://github.com/remsky/comic-chat-web?ref=broddin.be) by Jeremy Braun ### Festivalletje Beta: een festivalapp voor vriendengroepen URL: https://broddin.be/festivalletje-beta/ Last updated: 2026-07-19T19:03:07.000Z 💡 This post is in dutch. Just ignore it if you don't speak dutch. **tl;dr:** Festivalletje, een app voor vriendengroepen op festivals. Download de beta nu voor [iOS](https://testflight.apple.com/join/DUXWEuvY?ref=broddin.be) en [Android](https://play.google.com/store/apps/details?id=be.titansofindustry.festivalletje&ref=broddin.be). Een paar weken geleden ging ik met enkele vrienden een weekend naar Best Kept Secret. Superleuk, maar ook altijd een beetje stress. Sinds drankbonnen zijn afgeschaft, werk je met rondjes. En dan sta je elke ochtend op met de vraag: “heb ik gisteren wel genoeg getrakteerd?”. Het leek me wel de moeite om snel iets te vibecoden om dit probleem op te lossen, dus bouwde ik op geen tijd een PWA (zo'n website die je op je beginscherm zet) genaamd Trakteertje. Geen gedoe met komma's en euro's zoals in SplitWise, maar gewoon 1 pintje als universeel betaalmiddel. ![CleanShot 2026-07-01 at 13.33.27@2x.png](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-07-01-at-13-33-27-2x-large.jpg) Dit was tof en het werkte, maar PWA’s hebben ook nadelen (het is bijvoorbeeld een gedoe om ze op je homescreen te krijgen). Een echte app is veel leuker, en ik had nog wat tijd over tot het festival begon. Dus ik dacht: ![](https://media3.giphy.com/media/v1.Y2lkPTc5MGI3NjExMm5iMmoxeGV3bWFoa2U4cW54MmNyNWtqdXNnenpmZ21penJiaHhtMiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/Ie2Hs3A0uJRtK/giphy.gif) Omdat Apple nooit een echte app zou goedkeuren die enkel door Jens, Jokko, Philippe, Stijn en mezelf kan gebruikt worden op Best Kept Secret 2026, moest ik wel terug naar de tekentafel. Festivalletje is een gedeelde festivalapp voor vriendengroepen: timetable, notificaties, locatie, foto’s en alles wat je normaal in vijf WhatsApp-groepen probeert te regelen. - Een gedeelde timetable zodat je kan zien wie naar waar wil gaan kijken. - Notificaties x minuten voor een band die je wil zien start. - Een ingebouwde muziekspeler om naar bands te luisteren - De mogelijkheid om te laten weten dat je iedereen van je groep kwijt bent, en een kaartje om ze te vinden. (Merci voor de learnings en zegen, Hans van [FestivalRadar](https://www.festivalradar.io/?ref=broddin.be)). - Een gedeeld fotoalbum. - Widgets op je lockscreen & beginscherm met de volgende bands. Eigenlijk alles wat ik zelf van een moderne festivalapp zou verwachten. Want eerlijk ... alle festivalapps vandaag zijn gewoon andere skins op hetzelfde basisidee, gemaakt door dezelfde leverancier. Terwijl er zoveel meer mogelijk is om een festivalapp echt leuker te maken. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/schermafbeelding-2026-07-01-om-13-56-02-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/schermafbeelding-2026-07-01-om-13-54-02-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/schermafbeelding-2026-07-01-om-13-54-37-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/schermafbeelding-2026-07-01-om-13-55-06-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/schermafbeelding-2026-07-01-om-13-55-39-large.jpg) Festivalletje is nu in open beta. Het is nog een experimentje, maar als je binnenkort naar een festival gaat met vrienden, mag je het gerust mee kapotmaken: - [Download de beta voor iOS](https://testflight.apple.com/join/DUXWEuvY?ref=broddin.be) - [Download de beta voor Android](https://play.google.com/store/apps/details?id=be.titansofindustry.festivalletje&ref=broddin.be) Voorlopig zitten Werchter en Cactusfestival erin, maar laat me weten als je er graag een specifiek festival bij wil. ### Creating a poll that doesn't crash under load URL: https://broddin.be/creating-a-poll-that-doesnt-crash-under-load/ Last updated: 2026-07-19T19:03:09.000Z I was hired to create a poll that would run during an audience show at the [Nerdland Festival](https://nerdlandfestival.be/?ref=broddin.be) this weekend. The poll ran during one of the headlining shows in a tent with a 3.5K capacity. During the show the hosts showed a QR code on the big screens, which got scanned by loads of people in the audience, and they all voted at exactly the same time. ## The obvious solution My first reaction after getting the briefing was: simple, some serverless hosting ([Vercel](https://vercel.com/?ref=broddin.be) or [Cloudflare](https://www.cloudflare.com/?ref=broddin.be)), backed by some light database in the cloud (like [Turso](https://turso.tech/?ref=broddin.be) or [D1](https://www.cloudflare.com/products/d1/?ref=broddin.be)). I settled on the Cloudflare route and went to work. Everything looked fine, and I was nearly ready to deliver the project when I ran a final load test using [this free tool](https://loader.io/?ref=broddin.be) and quickly discovered that we had a problem. ## 250 requests per second, 26% success rate ![image.png](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-large.jpg) Under sustained load of 250 simultaneous requests per second the app would start returning 500 errors, and the requests that got through started taking a very long time. The reason was simple: the database would start queuing up the writes to the database and time out. While there probably wouldn't be 250 people all pressing submit at exactly the same moment in the audience, I didn't want to take the gamble on this one. So I went back to the drawing board. If only I could do this all in memory, I thought, without filesystem writes. But then a Worker crash or restart would mean lost votes. Same goes for Cloudflare spinning up multiple workers to handle load, which is a scenario that probably would happen here. ## Enter Durable Objects Luckily the people at Cloudflare came up with [Durable Objects](https://developers.cloudflare.com/durable-objects/?ref=broddin.be). A Durable Object is essentially a single-threaded actor: one instance per object, globally, processing requests in order. No two workers ever touch the same state at the same time, so the write contention that was killing the database simply doesn't exist. Storage is attached but optional, and you decide when to flush. For the vote I kept the tally in memory and persisted every minute, or every 10 votes, whichever came first. If the worker hibernated or restarted, at most 10 votes would be lost. Negligible. I ran the load test again, and the average response time went down from 4 seconds, to 150ms, and success rate went up from 26% to 100%. ![image.png](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-large-1.jpg) I also ran a benchmark on throughput and it landed on 1500 requests per second for the Durable Objects approach vs 50 per second for D1\. (I guess the 1500 req/s was also limited by my ISP speed.) Part of the project was also providing video output for the screens in the theatre, so the hosts could show the results on screen. Because I didn't want to take any chances to prevent writes to the votes Durable Object from blocking updates to the screen state (switching between pages of the results, ...) this was stored in a separate Durable Object. ![CleanShot 2026-05-26 at 11.40.22@2x.png](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-05-26-at-11-40-22-2x-large.jpg) ## Extra safeguards, and a 9-year-old The show ran three times. To strengthen it even further I added the option to restore backups from the previous days. Should the vote not work during the second or third run, we could've easily restored a prior vote (since results would've been similar). And to rule out the chance of the web UI crashing for whatever reason I also built a small TUI to control everything without a browser. ![CleanShot 2026-05-26 at 11.46.56@2x](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-05-26-at-11-46-56-2x-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-05-26-at-11-47-18-2x-large.jpg) But even with all those safeguards in place you cannot rule out everything. During the second show I had the control panel open on my Mac to quickly be able to intervene should something go wrong. I almost had a heart attack when my eldest daughter came down and said "I saw the Nerdland thing open on your computer. I clicked around and changed the charts to percentages". Fortunately out of all the buttons she could've clicked, it was the only one that didn't affect anything on the screens in the theatre. Next time I'm also building in a kiddie lock. ### The next chapter URL: https://broddin.be/the-next-chapter/ Last updated: 2026-07-19T19:03:09.000Z About a year ago, after I left Automattic and enjoyed some time off, I started looking for the next thing to do. This was not a fun period at all. I landed some interviews with Big Tech Companies™. Still, I struggled to get through the automated coding tests because of a) being nervous as hell, b) always wanting to overdeliver, and c) not being a hardcore engineer. I handled a lot of rejections, and they always fell into one of two categories: either me not being hardcore enough as a programmer, or me being too creative (or at least they thought I was, and that the job would be boring for me). I’m very thankful that around the time I really started to get worried, I got a call from Dimitri of [Vectrix](https://vectrix.ai/?ref=broddin.be). Vectrix is an AI startup that automates order entry for shipping companies. It was a world totally unknown to me. Behind every truck you see on the road, there’s a whole process that starts with the transportation company receiving an email to transport goods from A to B. Extracting those details from the email and entering them into the shipping system is hard and tedious work. Work that Vectrix wants to automate. I began working at Vectrix a few days a week, helping get their frontend up and running. Over time, I took on more responsibility and led the frontend for a product redesign. Even though I enjoyed the work, I started to feel like it wasn’t quite what I wanted. There were two main reasons for that: - First, transport logistics wasn’t really my area, and I do my best work when I’m solving problems that matter to me personally. - Second, it became harder to balance this job with what I really wanted to do: work on side projects and smaller ideas. The team at Vectrix understood my situation and let me reduce my hours, but I still felt torn. Juggling other projects alongside my main job was tricky. I decided to end my work with Vectrix on good terms. Last week was my final week wit them. And now I’m looking at a blank screen with the cursor blinking. So, what comes next? Over the past year, I’ve launched many side projects, and they have slowly become a real source of income. I plan to continue doing that, keep coming up with stuff, scratch my own itches, throw spaghetti to the wall, and see what sticks. To put in a mission statement, I want to add value to the world by creating apps, websites, and tools that provide real solutions to real problems, problems originating from my own world, because one person has already validated those problems (me!). This will be my main focus for the next few months. Besides that, I want to focus on The Fun Stuff™, select projects for clients that aren’t too long, that are fun to do, with people I like working with. Think campaign websites, bots, weird AI tools, and shops (please [buy a raincloud](https://buyrainclouds.com/?ref=broddin.be)). Please reach out if you think a project would fit my boat, I'm really good at this! These are exciting times. Let’s get started. ### Introducing HomeBar for Homey Pro URL: https://broddin.be/introducing-homebar-for-homey-pro/ Last updated: 2026-07-19T19:03:11.000Z We recently migrated from Home Assistant to [Homey](https://homey.app/en-be/?ref=broddin.be), for our smart home management. I'll write a blog post about the why and how everything went someday (spoiler: it's great). So what's a Homey? Homey is a smart home platform that connects all the smart devices you have in your house and lets them talk to each other. It allows you to turn on your Hue lights when someone is detected in your toilet by your Tuya presence sensor. And much, much more complicated things as well. ![Homey Pro – The world's most advanced smart home hub](https://homey.app/img/pages/homey-pro/buy/homey-pro-packaging.png) ## Problem: blinded by the lights My office has a massive window with built-in shades. Which is super nice. But, at least once a day, the sun decides to blind me. To fix it, I had to: 1. Stop what I was doing. 2. Find my iPhone or open the Homey Web app. 3. Navigate to the shades and click close. 4. Repeat the whole process an hour later to let the light back in. It felt like a chore that was begging for an automation. Or at least a faster interface. ## Solution: ✨ yet another menubar app ✨ Since I’m currently in my "menubar apps era," I knew exactly what I wanted. I dug into the [Homey Web API ](https://api.developer.homey.app/?ref=broddin.be)(which is super well-maintained) and hacked together a prototype. It didn't take long to come up with a first ugly prototype: ![CleanShot 2026-02-13 at 08.22.58@2x.png](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-13-at-08-22-58-2x-large.jpg) I then started polishing the UI, optimizing the click-path, and suddenly, controlling my office was a two-second task. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-01-28-at-20-12-07-2x-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-01-28-at-20-12-25-2x-large.jpg) ## Community Feedback & Beta Testing I released that version as a TestFlight beta, and headed over to the Homey community forums to see if anyone else wanted in. The response was wild, I had to cap the beta at 100 users. Thanks to their feedback, the app evolved from a simple "shade toggler" into a comprehensive control center. We squashed bugs, added requested features, and turned it into a robust tool. ## Version 1.0 I'm very happy to announce HomeBar for Homey Pro, a third-party app (the first?) for Homey that allows you to: - View all your Homey devices in your menubar - Control all your Homey Devices. It has support for all capabilities (even upcoming ones!). - Keep your favorite devices on top. - Group devices like lights. - Quick access to the most used features of a device in a simple mouse click - Start flows - View your energy usage - See who's home and change your presence easily - Support for local & cloud connections (so it even works when you're away from home) - Historical charts for any numeric capability (temperature, power, etc.) - Multi-Homey support ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-13-at-09-04-59-2x-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-13-at-09-05-22-2x-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-13-at-09-06-13-2x-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-13-at-09-06-36-2x-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-13-at-09-07-06-2x-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-13-at-09-07-18-2x-large.jpg) ## Download You can download HomeBar from its [official landing page](https://www.homebar.pro/?ref=broddin.be), or directly from the [Mac App Store](https://apps.apple.com/us/app/homebar-for-homey-pro/id6758399169?mt=12&ref=broddin.be). Also, the founder of Homey approves 👍 ![image.png](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-large-2.jpg) ### Free stuff I built the past few weeks URL: https://broddin.be/free-stuff-i-built-the-past-few-weeks/ Last updated: 2026-07-19T19:03:13.000Z I always forget to promote things I build. I'm going to try to make a post regularly with just a quick overview of that. These are all projects that try to scratch and itch I have. Not much polish, just quick solutions to quick problems. A recurring theme in the batch below is that they're pretty much all menu bar apps for macOS. I love to have my apps out of the way, but reachable. 💡 I also gave my GitHub profile a much needed glow up. It now contains everything I put out, so [check it out.](https://github.com/TimBroddin?ref=broddin.be) ## DivoomAlbumArt This one is pretty niche, but I have this [pixel art display](https://amzn.to/4acgXlf?ref=broddin.be) hanging on my wall that can display various things like weather info, and animated gifs. It's a fun piece of tech, but it gets boring kinda quick. I wondered if it would be possible to show the album art of your currently playing music on there, and after some hacking it was! I went ahead and built a simple UI for it that lives in your menubar. (I actually started on this [18 months ago](https://www.threads.com/@timbroddin/post/C%5F86DquM75J?xmt=AQGzTnXUgw6f96lCwE49u4eTkJJLYltkSdDySCSEMga3tw&ref=broddin.be), but got distracted somewhere along the way 🫠) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-12-at-08-35-36-2x-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img_0308-large-large.jpg) Installation is simple if you have Homebrew: ```text brew install --cask TimBroddin/tap/divoomalbumart ``` Or you can download the latest release on [GitHub](https://github.com/TimBroddin/DivoomAlbumArt/releases?ref=broddin.be). ## Portie Not knowing what (web) projects I have running, and which ports they run on happens to me all the time. That's why I build another very simple tool for this. You give it some ports to watch, and it will tell you which one are currently listening, and what process and page title they return. ![CleanShot 2026-02-12 at 08.45.26@2x.png](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-12-at-08-45-26-2x-large.jpg) Installation is simple if you have Homebrew: ```text brew install --cask TimBroddin/tap/portie ``` Or you can download the latest release on [GitHub](https://github.com/TimBroddin/portie/releases?ref=broddin.be). ## GitStatus Most of the time I work at home, but sometimes I work a day at a client. Something that has happened way too many times is that I worked on something before leaving, and forgot to push this. This happened to me yesterday, so I quickly wrote yet another menubar utility to prevent this. GitStatus watches your git repositories, and keeps track which one are ahead/behind their remote, and which ones have uncommited changes. ![CleanShot 2026-02-12 at 08.52.58@2x.png](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-12-at-08-52-58-2x-large.jpg) Installation is simple if you have Homebrew: ```text brew install --cask TimBroddin/tap/gitstatus ``` Or you can download the latest release on [GitHub](https://github.com/TimBroddin/gitstatus/releases?ref=broddin.be). ## Cloud Build Notifier Yet another menubar utility that allows you to watch your Google Cloud Builds. People who need this will know, the rest can praise themselves happy that they don't need Google Cloud. ![Screenshot](https://github.com/TimBroddin/cloud-build-notifier/raw/trunk/screenshot.png) I've yet to add it to my Homebrew tap, but you can download it on [GitHub](https://github.com/TimBroddin/cloud-build-notifier?ref=broddin.be). I'm also turning this into a real App Store app with easier authentication, but Google verification takes time. ## krankie Choosing the right keywords for your apps on the App Store is big business, and there are a lot of tools available to track your keyword ranking, like [Astro](https://tryastro.app/?ref=broddin.be) and [Appfigures](https://appfigures.com/?ref=broddin.be). However, these tools don't work well together with agentic AI. I want to be able to tell an AI: "look at the metadata of my app, look at the competitors, see which keywords are valuable, and optimize my app store presence". In theory, since an AI agent has a longer attention span than myself, this should be able to give some pretty decent results. I tried to get there by writing [my own MCP server](https://github.com/TimBroddin/astro-mcp-server?ref=broddin.be) to query Astro data, but MCP kinda sucks as it eats a lot of tokens. Since AI agents are really good at using CLI tools, I created Krankie (keyword rankie), a tool for keyword tracking aimed at agents. With krankie, an agent can easily search for an app, track keywords, and install a crontab to fetch keyword rankings every night. Using that data it can do research on how make your ASO better. It's all early days, but it works, and even comes with a basic TUI for humans: ![CleanShot 2026-02-12 at 09.13.50@2x.png](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-12-at-09-13-50-2x-large.jpg) You can use this tool by installing [Bun](https://bun.com/?ref=broddin.be) and running: ```text bunx krankie ``` Or by telling your agent "use krankie (`bunx krankie instructions`)". I'm working on the next version which will have support for ratings & reviews, and which will come with a web UI for humans. ![CleanShot 2026-02-12 at 09.14.47@2x.png](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-12-at-09-14-47-2x-large.jpg) ## Raybun I use [Spatie's Ray](https://spatie.be/products/ray?ref=broddin.be) extensively, it's the must have tool when you're debugging PHP - and since [I wrote the CMS for this blog](https://broddin.be/i-built-my-own-blogging-software/), I spend a lot of time in it. One thing I don't like about it, is that is can become very slow if you send it *a lot of logs*. Like really, a lot. That's why I asked Claude to look at how Ray works (the libraries to send logs are open-source), and help me build a fast Bun alternative. ![Raybun Screenshot](https://github.com/TimBroddin/raybun/raw/main/screenshot.png) It's easy to run and it's much faster: `bunx raybun-cli` After creating this I discovered that Spatie was working on a new version: [Ray 3](https://myray.app/?ref=broddin.be). This new version is also very fast, and much nicer to look at, so buying Ray is still the best thing to do. But if you need a quick tool to glance at your logs, [Raybun](https://github.com/TimBroddin/raybun?ref=broddin.be) could be an alternative. ### Creating a Minecraft clone in under a day URL: https://broddin.be/creating-a-minecraft-clone-in-under-a-day/ Last updated: 2026-07-19T19:03:16.000Z 💡 **tl;dr:** I wanted to create a game with my daughter in under a day. We created JanneCraft, a multiplayer sandbox game. Play it here: [https://broddin.be/content/files/2026/07/jannecraft-broddin-be-1.html](https://broddin.be/content/files/2026/07/jannecraft-broddin-be.html) Last week I watched [Hoe moeilijk kan het zijn?](https://www.vrt.be/vrtmax/a-z/hoe-moeilijk-kan-het-zijn-/2/hoe-moeilijk-kan-het-zijn--s2a11/?ref=broddin.be) (How hard can it be) with the kids. In the episode we watched, the host Thomas tried to create a full game in under a day, with the help of AI. My eldest daughter Janne (almost 9) has been learning [Scratch](https://scratch.mit.edu/?ref=broddin.be) for a while now, and has taken [Microbit](https://microbit.org/?ref=broddin.be) classes. So when I asked her if she wanted to try this as well, she immediately agreed. So we sat down with a laptop in the kitchen, I typed the magic word claude and we started creating. ## Our first attempt: Veterinary Tycoon The very first game we created was "Dierenkliniek Tycoon". She was very keen on creating a game where you needed to take care of little animals. One of my favorite skills to use with Claude Code is [obra/superpowers](https://github.com/obra/superpowers?ref=broddin.be). Instead of jumping straight into coding it asks you questions about what you're building, and it challenges your ideas. So when I asked Claude to "create a game where you need to take care of animals", it fired back a lot of questions: - What genre do you want this is? - What style do you envision? - How does difficulty ramp up? - ... After all these questions it comes up with a detailed plan, and most of the time it will be able to zero shot a solution without needing human intervention. After it had finished writing all its code, reviewing it on its own, and testing it, we started the game and were greeted with this: ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-09-at-08-25-43-2x-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-09-at-08-26-13-2x-large.jpg) We went on and tweaked it, but I could see that Janne wasn't too thrilled with the whole game. And even though it functioned, it would take a very long time to get the mechanics to feel right. Because even though it's amazing that an AI created this without human intervention, it didn't feel fun. But see for yourself, you can play it [here](https://broddin.be/content/files/2026/07/index.html). ## Our second attempt: JanneCraft The Tycoon game didn't really feel like a failure, but I felt we could do better. So I asked Janne if she wanted to try again, and maybe make a building game, like Minecraft. She agreed again, we followed the same approach, the AI asked way fewer questions because it already kinda understands what you want to build with this prompt: ```text Make a 3d voxel game called JanneCraft. Like Minecraft, but everyone is named Janne and there are also a couple of others: Use three.js ``` Claude zero shotted this once again. We then asked for some additional things: - NPCs like a red panda (her favorite animal) and cute little bunnies. - A basic crafting system. - Sound. - Random things her friends would say. - A day and night cycle. It took us almost no time. I think we had the basic version of JanneCraft running in under an hour. ![CleanShot 2026-02-09 at 08.47.58@2x.png](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-09-at-08-47-58-2x-large.jpg) You can play that basic version [here](https://broddin.be/content/files/2026/07/index-1.html). But hang on, it gets better. ## Opus 4.6 enters the chat Last week we didn't get one, but two frontier models released: [Anthropic released Opus 4.6](https://www.anthropic.com/news/claude-opus-4-6?ref=broddin.be) and the folks at OpenAI said "hold my beer" and dropped [Codex 5.3 ](https://openai.com/index/introducing-gpt-5-3-codex/?ref=broddin.be)ten minutes later. I've been playing around with both of those since they dropped, but on Saturday I gave Claude a very simple prompt in the Minecraft project: ```text In a preparation to make this multiplayer (and to make the game load faster). Can we stream a world via websockets? Use beads (br --help) to make tickets ``` It kicked off superpowers once again, and came up with a super nice plan. It put all of its todos in [Beads](https://github.com/Dicklesworthstone/beads%5Frust?ref=broddin.be), which is an issue tracker for agents, that allows them to track dependencies between todo items, and (together with the plan) to work much more efficient with context limitations. ![CleanShot 2026-02-09 at 08.54.44@2x.png](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-09-at-08-54-44-2x-large.jpg) The plan It didn't take Claude long to implement, and (it's getting boring) it all worked on the first try. I've had many epiphany moments with agents so far, but most of them were "this would've taken me so much longer to write myself". The blogging software [this blog runs on](https://broddin.be/i-built-my-own-blogging-software/)? It would take me months to write it, but the result would be about the same. But this? A multiplayer game server? This was the very first moment I felt surpassed by AI. There's no way I would have ever written a multiplayer websocket protocol using binary messaging by myself. And for sure not in ten minutes. What a time to be alive. I kept refining JanneCraft over the weekend: - Added costumes - Chat - Working torches - Multiple worlds with optional password protection. - A stats page After that I put it in a Docker container and threw it on a cheap VPS, and now anyone can play JanneCraft: [https://broddin.be/content/files/2026/07/jannecraft-broddin-be-2.html](https://broddin.be/content/files/2026/07/jannecraft-broddin-be-3.html) . But, please keep it clean - there could be kids around. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-09-at-09-15-43-2x-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2026-02-09-at-09-15-56-2x-large.jpg) ## Technical details I mostly stayed in the role of reviewer, nudging architecture and constraints. **I didn't write one line of code.** There are some areas I could steer the AI, and I influenced some of the technical choices it made. - [Bun](https://bun.com/?ref=broddin.be): the most awesome JavaScript runtime. Built-in support for both SQLite and WebSockets makes it awesome. And it's soooo fast. - [Three.js](https://threejs.org/?ref=broddin.be): the defacto 3D renderer for web. - SQLite: each world gets its own database file. Chunk data is stored as binary blobs, and player modifications (placed/broken blocks) are stored separately as a diff on top of the generated terrain. - Binary WebSocket protocol: every multiplayer message is a tightly packed binary buffer with a one-byte opcode. A position update is just 21 bytes. Chunk data gets compressed before sending. Since voxel worlds are mostly air, this compresses really well. ## How hard can it be? Turns out not hard at all. It's beyond crazy that you can now build a full Minecraft clone in under a day. It's not finished, and it has bugs, but the agents we have at our disposal now are so powerful that the amount of time and money it requires to build something are trending toward zero. Once in a while I read a comment by a programmer stating "I'm just waiting for the moment they need someone to clean up all the AI generated mess". I think they're wrong, AI generated mess will be cleaned by better AI, and humans will need to embrace that we'll no longer be the programmers but mostly the architects and product managers. We're living in the future. ### I built my own blogging software URL: https://broddin.be/i-built-my-own-blogging-software/ Last updated: 2026-07-19T19:03:17.000Z This blog is now running on an experimental CMS I wrote myself using the help of Claude Opus. I've been blogging since forever, and I've been hopping between blogging software ever since. I started out on [Nucleus](https://nucleuscms.github.io/?ref=broddin.be), then [WordPress](https://wordpress.org/?ref=broddin.be), finally landed on [Ghost](https://ghost.org/?ref=broddin.be). I love Ghost, but when the annual renawel reminder came, I was thinking to myself: can I build something myself? And how far can agents get me to achieve my goal? Not for the money (Ghost has pretty good [pricing](https://ghost.org/pricing?ref=broddin.be)), but because I just fucking love building things. It didn't take my long to come up with a very nice system, that's user friendly and fun to use. I call it Chirpie, but that name sucks, so I'll probably come up with something else soon. It packs the things I love from Ghost: - A Medium like editor. - Simplicity. - Newsletter functionality. - Simple analytics. And it adds some things I was missing: - Custom post types for links, videos & quotes. - Comments that don't require a log in (but do require moderation). And it looks good underneath the hood: ![](https://broddinblog.on-forge.com/storage/687/conversions/broddin.be_chirpie_posts_krankie-ai-first-app-store-keyword-ranking-tracker_edit-large.jpg) ![](https://broddinblog.on-forge.com/storage/688/conversions/broddin.be_chirpie_posts_krankie-ai-first-app-store-keyword-ranking-tracker_edit-(1)-large.jpg) ![](https://broddinblog.on-forge.com/storage/689/conversions/broddin.be_chirpie_posts_krankie-ai-first-app-store-keyword-ranking-tracker_edit-(2)-large.jpg) On a technical side it runs on: - Laravel 12 (which makes agentic development super smooth with [the Boost plugin](https://laravel.com/ai/boost?ref=broddin.be)) - React backend (Inertia) - Blade templated frontend (complete theming system). There's still a lot of work to do, and things can be buggy, but it's great to type this in something I oversaw. Once all the bugs are ironed out, I plan to release this CMS as [open source](https://github.com/timbroddin/?ref=broddin.be). ### Are we starving the tools we depend on? URL: https://broddin.be/are-we-starving-the-tools-we-depend-on/ Last updated: 2026-07-19T19:03:17.000Z I'm an optimist when it comes to the rapid progress we’ve seen with large language models these past few years. It's fantastic that the barrier of being able to write code has been lowered, and the increase of my productivity (or output at least) is amazing. That being said, even before this revolution, everything you do as a developer is thanks to people that came before you, that paved the road, that invented languages, technologies and frameworks. Or as Steve Jobs put it: I didn’t invent the language or mathematics I used. I make little of my one food, none of my own clothes. Everything I do depends on other members of our species and the shoulders that we stand on. \[...\] We try to use the talents we do have to express our deep feelings, to show our appreciation of all the contributions that came before us, and to add something to that flow. One of the "shoulders" I stand up, and use daily is [Tailwind CSS](https://tailwindcss.com/?ref=broddin.be). A lot of people would describe it as "styling for people that don't like CSS". And that's true, but it's also a great design system, giving you good defaults for spacing, font sizes and even colors. It's what helps me, not a designer, to make stuff that doesn't look like it was made by me. Tailwind has been popular for years, but the rise of LLMs gave it an enormous boost. Ask an LLM to create you a web app and chances are high it will use Tailwind. Which is great, but has it drawbacks. Today I [stumbled](https://simonwillison.net/2026/Jan/7/adam-wathan/?ref=broddin.be) upon [this comment by Adam](https://github.com/tailwindlabs/tailwindcss.com/pull/2388?ref=broddin.be#issuecomment-3717222957), the creator of Tailwind regarding the brutal impact AI is having on their business: But the reality is that 75% of the people on our engineering team lost their jobs here yesterday because of the brutal impact AI has had on our business. \[...\] Traffic to our docs is down about 40% from early 2023 despite Tailwind being more popular than ever. The docs are the only way people find out about our commercial products, and without customers we can't afford to maintain the framework. A beautiful open-source framework, carefully crafted by humans, used by millions around the world is unable to continue business because AI is stealing the traffic they need to be able to make money. This breaks my heart, and it's a sad reality we must face. Will there still be giant shoulders to stand on in the future? Or will we starve them to death? I sure hope we don't. There's so much craft and attention to detail in something like Tailwind, and we take it too much for granted. Just like we take so many other wonderful technologies we use for granted. So what can you do? Try to support the projects you use. If you use Tailwind, look into [Tailwind Plus](https://tailwindcss.com/plus?ref=broddin.be) or [sponsorship](https://tailwindcss.com/sponsor?ref=broddin.be). Most projects have some kind of way to support them, and even if it doesn't look like the best deal in the world, or if you're cheaper off DIY'ing something yourself instead ... if you can afford it, if you make money by using it, support them and pay for it. ### Table Champion v2.0: a much-needed glow up URL: https://broddin.be/table-champion-v2-0-a-much-needed-glow-up/ Last updated: 2026-09-08T09:30:23.000Z **tl;dr** Table Champion v2 is out now. Get it now! [Download now](https://apps.apple.com/us/app/table-champion/id6741796505?ref=broddin.be) In February I released **Table Champion** (Tafelkampioen in Dutch), an app I made to help my daughter practice her math tables. It was also a [small experiment](https://broddin.be/content/files/2026/07/table-champion-creating-and-submitting-an-app-in-less-than-20-hours.html) to see how quickly I could build a simple app using the new wave of AI-assisted coding. The app did what it needed to do. Over the past ten months it found its way into the hands of lots of kids and parents. But it was never really polished, and as my daughter got better at her tables, the app slowly drifted to the background. Now that we’re getting close to the end of 2025, I’ve been looking back at everything I shipped this year. It’s a long list. I’m trying to revisit each project and give it some well-deserved attention. I want to raise the bar for myself and make everything I make a bit more delightful, more polished, and a bit more whimsical. So here is **Table Champion 2.0**. The old layout was honestly pretty ugly. I went back in and redesigned the whole thing, with a tiny bit of help from my friend Claude. I’m really proud of the jump in quality. It doesn’t just look different, it also feels better to use, with haptics, small micro-interactions, and a clearer and calmer UX. Here are some before and after shots. This was **before**: ![](https://broddinblog.on-forge.com/storage/308/image-4.png) And this is **after**. ![](https://broddinblog.on-forge.com/storage/312/image-5.png) ![](https://broddinblog.on-forge.com/storage/311/image-6.png) I hope the difference it obvious. Besides the fresh look, there are a lot of new things: **New features** - Background music - Options to turn off the background music, sound effects, and the narrator - Three new game modes: Against the Clock, Bubble Pop, and Race the Robot - New question types: True or False, and Fill in the Blank - A brand new mascot ![](https://broddinblog.on-forge.com/storage/6/wavy.png) **Under the hood** - Updated to Expo 54, including my favorite new feature: [native liquid glass tabs](https://docs.expo.dev/router/advanced/native-tabs/?ref=broddin.be) - Removed Redux in favor of Zustand - Replaced Gluestack with Tamagui I hope you (and your kids) enjoy it! 🔥 You can download it now in the [Apple App Store](https://apps.apple.com/us/app/table-champion/id6741796505?ref=broddin.be). To celebrate the new version, the upgrade to the full version is free until December 7th 2025. *Pssst ... what about Android? Looking at last year's revenue for Table Champion, Android only accounted for 7%. While I hope eventually version 2.0 will also make it to Android, the amount of work needed to tweak the app to Android, create Play Store screenshots, and go through the review process does not justify the benefit. It will come eventually, just give me some time.* ### Lijsje v2.0: bigger, better, and coming to town 🎅 URL: https://broddin.be/lijsje-v2-0-bigger-better-and-coming-to-town/ Last updated: 2026-07-19T19:03:18.000Z tl;dr: Lijsje 2.0 launched. Check it out [here](https://lijsje.be/?ref=broddin.be). Last year, shortly after I quit my job at Automattic, one of the first projects I jumped into was [Lijsje](https://lijsje.be/?ref=broddin.be), a wishlist application. My big idea? There’s a lot of money in affiliate marketing, and if I could create *the* best wishlist experience out there, I might earn a bit of side income. **But boy was I wrong.** The competition is fierce. I dove in head-first without checking any of this, of course. There are tons of players in this space, and being the newest kid on the block is… not an advantage. Getting accepted into affiliate programs turned out to be surprisingly hard as well. Bol.com, which, fun fact, ends up being the shop added to wishlists about 50% of the time rejected me repeatedly. So much for easy money. On top of that, I’d always wanted to build something using Laravel and Livewire. It looked shiny and fun. And it is fun, but it’s no React. Invalidating data and refetching with TanStack Query is ridiculously easy; doing the same in Livewire felt like eating soup with a fork. (I'm still a very happy Livewire user with [OpenwebcamDB](https://openwebcamdb.com/?ref=broddin.be) and [BuyRainclouds.com](https://buyrainclouds.com/?ref=broddin.be)). When it was time to renew the domain name, I genuinely hesitated. The tiny bit of revenue Lijsje brought in barely covered the server costs, and I didn’t feel much like maintaining it. At that point I added this ticket to my Linear board: ![](https://broddinblog.on-forge.com/storage/8/cleanshot-2025-11-25-at-154724-at-2x.png) And like most things I put on a todolist, I forgot about this. Until one day, my mother asked me for the kids’ wishlists for [Sinterklaas](https://en.wikipedia.org/wiki/Sinterklaas?ref=broddin.be). I threw them into Lijsje, and it struck me: this thing is actually… pretty nice. Maybe it deserved another chance, and maybe *I* wanted to make something better after all. And that’s how [Lijsje 2.0](https://lijsje.be/?ref=broddin.be) happened. ## What's new? The initial plan was to just convert the whole frontend to React and call it a day. But then feature creep (my favorite kind of creep) appeared and now it's a whole new version 2.0. ### Technical overhaul I rebuilt the entire frontend from scratch. The app used to run on Laravel + Livewire, which worked, but felt clunky for the kind of real-time, collaborative experience I wanted. So I ripped it out and replaced it with React. Data fetching now runs through TanStack Query, which handles caching, background updates, and all the good stuff automatically. It feels so much smoother. Inertia is also in the mix, mainly to help with server-side rendering. ### Multiplayer and activity log One of my original goals with Lijsje was to prevent people from buying the same gift twice. But somehow, I still kept hearing stories about duplicate gifts… or, even worse, about items being crossed off without anyone actually buying them. So in version 2.0 I changed how crossing items off works. Whenever you want to check something off, the app now asks you to enter your name. That way, if there’s ever any confusion later, you can open up the activity log and immediately see who did what. ![](https://broddinblog.on-forge.com/storage/9/cleanshot-2025-11-25-at-160833-at-2x.png) And because I personally tend to forget what I already promised to buy, the app now also shows you a personalised view of all the items **you** crossed off. No more second-guessing yourself. ![](https://broddinblog.on-forge.com/storage/10/cleanshot-2025-11-25-at-161044-at-2x-1.png) On top of all that, Lijsje now shows a live overview of everyone currently viewing the list. So yes — you can see the exact moment tante Jeannine is buying your pair of Happy Socks. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;(This feature is still very much in beta)&lt;/span&gt;](https://broddinblog.on-forge.com/storage/11/cleanshot-2025-11-25-at-164724-at-2x.png) (This feature is still very much in beta) ### Bol.com integration After getting rejected multiple times last year, I finally got accepted into the Bol.com affiliate program. One of the benefits of the program is that you get access to their Marketing API, which gives access to the whole product catalog. So now you can **search all of Bol.com directly inside Lijsje**. ![](https://broddinblog.on-forge.com/storage/12/cleanshot-2025-11-25-at-161513-at-2x.png) ### Share images The thing I really hated about v1 was the awful Midjourney-generated share image. So I decided to change this for a dynamically generated one. ![](https://broddinblog.on-forge.com/storage/307/image-1.png) ![](https://broddinblog.on-forge.com/storage/14/cleanshot-2025-11-25-at-171157-at-2x.png) ### Many small quality of life features Lots of small things that make the experience smoother have been added as well: - Recently visited or administered lists are now saved in your browser, so you can jump back instantly. - Lists can optionally have an **end date**. - The non-functioning Amazon integration has been removed (good riddance). - All screens have been redesigned. ### Secret Santa And as a one more thing ... This feature has been requested so many times… and I kept postponing it. You can now create a **Secret Santa**, invite people or let them sign up themselves, and set a deadline. After that deadline, everyone automatically gets someone else’s wishlist and can start crossing off gifts. It’s simple, fun, and finally here. ![](https://broddinblog.on-forge.com/storage/15/cleanshot-2025-11-25-at-163135-at-2x.png) ## The future It’s still early days for v2.0, and I’m sure a few bugs will crawl out of their hiding spots once more people start using it. So the first step is simple: fix things, polish things, and respond to whatever the real world throws at me**.** After that, I want to keep improving Lijsje based on actual user feedback. A few ideas already floating around: - Real user accounts, so lists and preferences sync everywhere instead of living only in your browser. - A mobile app, because Lijsje feels like something you should be able to open quickly while out shopping. - Maybe translate it in English (because if you don't speak Dutch and made it this far, Lijsje will probably be of little use to you) - And probably a dozen other small features that future me comes up with. ## Wrapping up [Lijsje 2.0](https://lijsje.be/?ref=broddin.be) turned into a much bigger project than I expected when I first opened that “maybe just stop?” ticket. But giving it a second life reminded me why I built it in the first place: it’s a simple tool that actually solves real problems — especially when the gift-giving chaos starts. If you’re curious, or if you just want to avoid duplicate presents this Sinterklaas or Christmas, feel free to [give it a spin](https://lijsje.be/?ref=broddin.be). The interface is still **Dutch-only**, but if that doesn’t scare you off, everything is ready for you to try. I hope you enjoy using [Lijsje](https://lijsje.be/?ref=broddin.be) as much as I’ve enjoyed rebuilding it. ### We are f*****, the presentation URL: https://broddin.be/we-are-f-the-presentation/ Last updated: 2026-07-19T19:03:19.000Z After writing the blog post ["We are fucked" and some other half-assed thoughts on AI and coding](https://broddin.be/content/files/2026/07/we-are-fucked-and-some-other-half-assed-thoughts-on-ai-and-coding.html) I was asked by the [PXL college](https://www.pxl.be/?ref=broddin.be) to give a presentation to students software engineering (specialisation AI). This gave me a lot of anxiety, because of instant imposter syndrome and the fear that the students would just know everything I'd tell them already. But in the end, I think the presentation went well (except racing through it too fast - like I always do when doing public speaking). There were some good questions at the end as well about using LLMs and the future of the sofware engineer when models get even better. Some folks asked if there's a recording. I am very glad there isn't. But here are my slides and some very crude presentator notes. ![](https://broddinblog.on-forge.com/storage/17/pxl-2025001.jpg) ![](https://broddinblog.on-forge.com/storage/18/pxl-2025002.jpg) Let me quickly introduce myself. I'm Tim and I'm a creative developer. I have my own company which is called Titans of Industry, because having a bombastic name always does the trick. I freelance for a couple of clients. One of them is Vectrix, a startup in AI logistics. I do full stack work for them. Most of all I like building stuff, which some may call side projects. I live in Antwerp, but unless most of the people there I don't like talking about myself too much. I'm going to talk to you about how I use generative AI in my daily work. I don't have all the answers myself, but I'm going to tell a few stories. ![](https://broddinblog.on-forge.com/storage/19/pxl-2025003.jpg) When I feel an itch I build it. One of my projects is a step counter that shows you how many steps you have left until you die. For one of my other projects I couldn't find a public API of live webcams, so I built it. I also created an app for my daughter to practice her math tables. For a friend I made a website where you can order a rain shower, as a gift for someone. And a Reddit browser that skips the text and just shows images. I made it to browse memes, but apparantly the biggest use case for people who download it is browsing "other" content. ![](https://broddinblog.on-forge.com/storage/20/pxl-2025004.jpg) ![](https://broddinblog.on-forge.com/storage/21/pxl-2025005.jpg) ![](https://broddinblog.on-forge.com/storage/22/pxl-2025006.jpg) ![](https://broddinblog.on-forge.com/storage/23/pxl-2025007.jpg) ![](https://broddinblog.on-forge.com/storage/24/pxl-2025008.jpg) I've been using code assistance since the very beginning. I still remember the day Github announced Copilot and it changed everything. It couldn't do much, it could autocomplete your line, sometimes when you were very lucky it could write a generic function. It had almost zero context on your code and if you were to try that version today it would slow you down. But it was progress, it was shiny and it was amazing that a computer could do this for you. ![](https://broddinblog.on-forge.com/storage/25/pxl-2025009.jpg) Then came Cursor, which added context and most importantly: a chat interface. ![](https://broddinblog.on-forge.com/storage/26/pxl-2025010.jpg) And now there are so many tools available. And they've gotten so good. ![](https://broddinblog.on-forge.com/storage/27/pxl-2025011.jpg) ![](https://broddinblog.on-forge.com/storage/28/pxl-2025012.jpg) This is Jokko, a good friend of mine. He's an event photographer. ![](https://broddinblog.on-forge.com/storage/29/pxl-2025013.jpg) He's also in charge of the phototeam at Pukkelpop. And planning who will do which concert is a nightmare. I used to be a concert photographer too, and I remember us sitting around a printed timetable each morning. It was a chore. ![](https://broddinblog.on-forge.com/storage/30/pxl-2025014.jpg) Jokko doesn't know how to code. Yet, last year he started writing code. First just by asking ChatGPT for code and copy pasting it. Then he started using Cursor. And step by step he made a whole planning system for Pukkelpop. ![](https://broddinblog.on-forge.com/storage/31/pxl-2025015.jpg) And because he was on a roll, he also made a photo management system to cater his clients. ![](https://broddinblog.on-forge.com/storage/32/pxl-2025016.jpg) He showed my all this progress. Sending me screenshots daily. And I kept cheering him. Because what he made is awesome work. But I also started realizing that we, as software engineers, are screwed. And to be honest, I felt pretty bad for you guys as well. Because entering a job market where everyone can code is hard. ![](https://broddinblog.on-forge.com/storage/33/pxl-2025017.jpg) ![](https://broddinblog.on-forge.com/storage/34/pxl-2025018.jpg) ![](https://broddinblog.on-forge.com/storage/35/pxl-2025019.jpg) I wrote a blog post about it. ![](https://broddinblog.on-forge.com/storage/36/pxl-2025020.jpg) And while crafting that post dawned upon me ![](https://broddinblog.on-forge.com/storage/37/pxl-2025021.jpg) ![](https://broddinblog.on-forge.com/storage/38/pxl-2025022.jpg) Let's just set the terms straight regarding vibe coding & AI assisted coding with a very crooked graph. I think on the one end of the spectrum you have vibe coding, not looking at any code at all. Just YOLO and let the system figure it out. On the other hand you classic coding. And then you have AI assisted coding, which can also mean not writing one line of code by hand, but you still have a mental model of the code, and you can jump in and correct things. ![](https://broddinblog.on-forge.com/storage/39/pxl-2025023.jpg) I could show you how I use AI at my freelancing clients. But I'm bound by NDAs, and it would also just be screenshots of me talking to a chatbot. So let's do something completely else. Let's jump back in time. Around 10 years ago I worked at VRT on Sambal. It was kind of "De Ideale Wereld" but for 16-20 year olds. Every day we would come up with around 3-4 funny articles, and a game or other digital tool. It was a lot of fun. ![](https://broddinblog.on-forge.com/storage/40/pxl-2025024.jpg) ![](https://broddinblog.on-forge.com/storage/41/pxl-2025025.jpg) ![](https://broddinblog.on-forge.com/storage/42/pxl-2025026.jpg) ![](https://broddinblog.on-forge.com/storage/43/pxl-2025027.jpg) ![](https://broddinblog.on-forge.com/storage/44/pxl-2025028.jpg) ![](https://broddinblog.on-forge.com/storage/45/pxl-2025029.jpg) ![](https://broddinblog.on-forge.com/storage/46/pxl-2025030.jpg) Or this. We were in Nantes this summer with the kids. I promised my girlfriend that I wasn't going to do any work there, but as we were researching what we could do in the city it started itching again. I asked ChatGPT to do a Deep Research of fun things in the city with kids. I fed that research to Claude Code, and I asked it to create a Next.js app. I also asked it to integrate with Google Places so the map could show us restaurants close by. I started on this project at 9, we left for the city at 10. One hour. ![](https://broddinblog.on-forge.com/storage/47/pxl-2025031.jpg) For example: I hate creating marketing images, you know those Facebook Share images etc. Photoshop doesn't think like a programmer - so I quickly built my own browser based Photoshop. It allows for logical layout using things someone working with web technologies knows: flexboxes, tailwind system, ... In less than 3 hours. ![](https://broddinblog.on-forge.com/storage/48/pxl-2025032.jpg) Same for all the iPhone screenshots in this presentation. I made a tool for that that now gets used all the time. Vibe coding takes the time needed to go from an idea to a prototype and divides it by ten. ![](https://broddinblog.on-forge.com/storage/49/pxl-2025033.jpg) ![](https://broddinblog.on-forge.com/storage/50/pxl-2025034.jpg) The first version of Copilot was powered by a model that was weaker than GPT 3.5 Turbo. If you see that the frontier models are now 5x better than this, that's a huge leap. In less than 3 years. ![](https://broddinblog.on-forge.com/storage/51/pxl-2025035.jpg) ![](https://broddinblog.on-forge.com/storage/52/pxl-2025036.jpg) ![](https://broddinblog.on-forge.com/storage/53/pxl-2025037.jpg) ![](https://broddinblog.on-forge.com/storage/54/pxl-2025038.jpg) ![](https://broddinblog.on-forge.com/storage/55/pxl-2025039.jpg) ![](https://broddinblog.on-forge.com/storage/56/pxl-2025040.jpg) ![](https://broddinblog.on-forge.com/storage/57/pxl-2025041.jpg) ![](https://broddinblog.on-forge.com/storage/58/pxl-2025042.jpg) ![](https://broddinblog.on-forge.com/storage/59/pxl-2025043.jpg) ![](https://broddinblog.on-forge.com/storage/60/pxl-2025044.jpg) ![](https://broddinblog.on-forge.com/storage/61/pxl-2025045.jpg) ![](https://broddinblog.on-forge.com/storage/62/pxl-2025046.jpg) ![](https://broddinblog.on-forge.com/storage/63/pxl-2025047.jpg) This is one of those quotes you see in every presentation these days. There's some kind of truth in it, but I want to end on a more cheerful note. ![](https://broddinblog.on-forge.com/storage/64/pxl-2025048.jpg) ![](https://broddinblog.on-forge.com/storage/65/pxl-2025049.jpg) ### "We are fucked" and some other half-assed thoughts on AI and coding URL: https://broddin.be/we-are-fucked-and-some-other-half-assed-thoughts-on-ai-and-coding/ Last updated: 2026-07-19T19:03:19.000Z "We are fucked." Those were the first three words of a blog post I started a few weeks ago. I never finished or published it. I wrote those three words after a friend of mine, who has 0 coding experience, was able to put together a complete application to manage the schedule of photographers at an event. He had no clue about how the code behind his app worked, what it did, or why it did what it did. He didn't need to. And the scariest part? The application worked, looked beautiful, and was better than anything I could have produced in double the time. It left me thinking: *This is it. The robots have arrived to take my job.* All those years, learning layer after layer of good architecture, all those programming languages and best practices ... poof ... obsolete. It made me feel down. Even though I kept cheering for my friend whenever he showed off a new feature of his app, deep down, I felt the end of an era creeping up. It was like a magician standing on stage, explaining to the audience exactly how the tricks worked. *My* tricks. And it hit me: soon, everyone would be able to do the tricks that once made me special. But instead of drowning in sorrow, I decided to open up. I started talking to ex-colleagues, asking them how they feel about all this. And I started coding, like I had something to prove. Assisted by robots. Side by side. Not rivals, but partners. That unpublished post was written in fear. This one is not. Here's what I've learned since: ## Becoming the conductor I still love programming. I think in code. But I've come to accept that it's no longer, and will continue to be less, the core of what I do. By using powerful tools like [Claude Code](https://www.anthropic.com/claude-code?ref=broddin.be) (an AI coding assistant from Anthropic), I've become more of a conductor. I tell the AI what to build based on my experience with tooling, architecture, and libraries. And that’s made me far more valuable to my clients than if I were typing every single character by hand. By planning together with the AI, reviewing its changes, and quickly iterating on ideas, I've been able to create features that were estimated to be weeks of work in days or less. Large language models are incredibly good at the boring parts. Creating something like a context in React, for instance (don’t worry if you don’t know what a React is), is a repetitive task I’ve done more times than I can count. It’s not hard. It’s just tedious. It might take me 30 minutes to do manually. With an AI coding agent? Probably in under a minute. That’s 29 minutes I can now spend on things that actually matter—like product thinking, polish, or moving faster toward the next idea. ## A faster brush I love creating. Whether it's coding, photography, or 3D printing a dickosaurus - I love adding things to the world that weren't there before. But when it comes to creating, there’s something that really matters, and that’s often overlooked: speed. Not because we're in a rush, but because momentum is creative fuel. Ideas are fragile, and the longer they sit unfinished, the more they wither. By using AI to code (or even [vibe-code](https://x.com/karpathy/status/1886192184808149383?ref=broddin.be)), I can sketch ideas much more quickly. Not perfect, far from it, but quick. I can describe an idea, like "make [a game of Mario where you play as the Goombas](https://claude.ai/public/artifacts/6d9009a6-2b03-4c80-b048-b1fe80baad5e?ref=broddin.be)", and within minutes, I’ve got something running. And in the case of Mario and the Goombas… well, let’s just say there’s a reason Nintendo didn’t make it themselves. But the point is: I didn't waste two weeks building it. I spent ten minutes, had a good laugh, tried to pivot it into a 3D game (which was even worse!), and moved on. The ability to quickly validate ideas and discard them is what makes the next good idea possible. I used to get stuck trying to refine an idea to the point of death. Now I just make three versions and throw two away. Working with an AI coding agent feels like having an endless sketchpad. Most of the sketches won’t make it to the fridge—but without them, the masterpiece would never happen. ## Slop as superfuel There has been a lot of writing on [AI slop](https://www.theguardian.com/global/commentisfree/2025/jan/08/ai-generated-slop-slowly-killing-internet-nobody-trying-to-stop-it?ref=broddin.be), the sludge of low-quality output of generative AI, flooding the internet. And yeah, I agree: that’s a problem. To be fair, the internet was already in a bad enough state even before AI slop got involved. But I'd like to make a case for slop too. Because in the hands of a creator, slop isn't pollution, it's raw material. It's noise you can sift through, remix, reject, or refine. It lowers the cost and barrier of experimentation to almost zero. You can try out five different directions, see what sticks, and discard the rest without hurting any feelings. It's creative superfuel. Slop only becomes a problem when you confuse it with the final product. Treat it like a sketch, and it becomes a tool, not a threat. ## The unresolved Of course, I don't want to paint an overly rosy picture. We're still at the very beginning of a revolution. It's been less than 3 years since ChatGPT was unveiled to the world, and we're now seeing new model releases weekly. We do not yet know how this shift will affect the world around us. The impact on designers, writers, coders, actors, engineers or anyone whose creativity can now be cloned by a machine is still unfolding. These models consume enormous amounts of energy and water, and are all owned by big tech, requiring [infrastructure the size of Manhattan](https://www.theguardian.com/technology/2025/jul/16/zuckerberg-meta-data-center-ai-manhattan?ref=broddin.be). There's also a growing divide between those who have access to these tools and know how to use them, and those who don't, even though they might be just as creative and driven. A co-worker recently raised an interesting question: We can now all produce more, and save time, but do we get that time as free time in return? That one stuck with me. We’re building faster than ever, but are we rushing past the craft? The joy? Are we buying time we never cash in? And if this pace continues, will we eventually run out of work? How will this impact us as a society? These are significant and unresolved issues. We can’t ignore them. And we shouldn’t. However, they should also not paralyze us. ## I'm not obsolete, I'm just getting started I don't have all the answers. But I know this: AI coding tools haven't made me obsolete. They've made me faster. More daring. More curious. Less afraid to fail. They gave me back the part of programming I fell in love with: imagining something... and watching it come to life. I still hold the baton. I still choose the direction. But now, with AI as my co-creator and sketchpad, I can explore faster and build more than I ever could alone. That unpublished post was written in fear. This one is the start of something. And to revisit the magic trick analogy: the trick isn’t gone. It’s just no longer a solo act. And honestly, I’m excited, because lowering the barrier of entry to creating digital experiences and delight might just change the world for the better. As an epilogue, my current AI coding stack (July 2025): I have a Claude MAX subscription, which I use in conjunction with Claude Code. Previously, I used Cursor (and Windsurf), but now I exclusively use stock VS Code. I find stock VS Code to be much more modern and faster than the ancient version that Cursor once forked. I have Claude Code running in a side panel inside VS Code. Additionally, I usually have one or more extra Claude Code instances running in a terminal. Because I hate waiting around while one Claude instance is busy thinking 😀 I use some MCP servers, but nothing too exciting ([context7](https://context7.com/?ref=broddin.be), [Figma](https://www.figma.com/blog/introducing-figmas-dev-mode-mcp-server/?ref=broddin.be), [Sequential Thinking](https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking?ref=broddin.be), [GitHub](https://github.com/github/github-mcp-server?ref=broddin.be), and [Playwright](https://github.com/microsoft/playwright-mcp?ref=broddin.be)). I also have GitHub Copilot Pro, which I receive as a gift every month due to the open-source contributions I made at my previous company. I use Copilot primarily for tab completions inside VS Code. I tried many other tools, such as CodeRabbit, to increase code quality, but I've found them to be of little to no additional value compared to asking the same question to a normal coding agent. "Please review my staged changes" is something every agent can handle quite well. You achieve better code quality improvements by using a strict linter config ([ultracite](https://github.com/haydenbleasel/ultracite?ref=broddin.be)) and good typings, in my opinion. ### Playing around with the DeskHog URL: https://broddin.be/playing-around-with-the-deskhog/ Last updated: 2026-07-19T19:03:21.000Z A while ago, [PostHog](https://www.posthog.com/?ref=broddin.be) — the company behind a fantastic product analytics tool (and so much more) — ran a hackathon and came up with something unexpected: a hardware product called **DeskHog**. Because, as they say: People who are really serious about software should make their own hardware. - Alan Kay DeskHog is a tiny computer terminal that sits on your desk. It can show you information cards and even play games like Flappy Bird and Pong. It runs on an ESP32-S3 — a dual-core microcontroller — and features an LCD screen about the size of a postage stamp, along with four physical buttons. You can either buy one pre-assembled or go the DIY route: print the case (if you, like me, have too many 3D printers), order the microcontroller from a [shop](https://botland.store/arduino-compatible-boards-adafruit/22891-feather-esp32-s3-reverse-with-tft-display-wifi-module-4mb-flash-2mb-psram-compatible-with-arduino-adafruit-5691.html?ref=broddin.be), and follow the instructions. ## Printing The printing process is pretty straightforward. Although PETG is recommended, I found it printed just fine in PLA. When I tried PETG, the reset tab broke off easily, likely due to moisture in my old PETG stock. In the pictures below, the print quality of the logo looks rather bad, but it's really just so tiny that these are almost macro photos 😀 I need to tweak my flow ratio of the white a bit to get a perfect result. ## Flashing the firmware I won't go into too much detail on how to flash the firmware, since it's fairly straightforward. You need: - Visual Studio Code (since MS made it impossible to use the C++ extension on forks, you won't be able to install PlatformIO on Cursor very easily). - PlatformIO IDE extension After that, you should clone the project from GitHub, open it up and in the PlatformIO sidebar pick **"Erase Flash & Upload"**. On subsequent builds **"Upload"** will do. ## Running it After booting, DeskHog shows a QR code. Scan it to join a local WiFi network, which lets you connect the device to your actual WiFi. ![](https://broddinblog.on-forge.com/storage/68/d792c04a-c863-4c7f-8d15-8cf24c18d351-1-102-1.jpg) Once connected, you can then access the configuration UI in your browser. I love how this has the familiar PostHog UI. ![](https://broddinblog.on-forge.com/storage/69/cleanshot-2025-06-19-at-122120-at-2x.png) ## So, what can it do? Critics would say: *not too much*. Optimists (like me) say: *a world of possibilities*. Out of the box, it can display a motivational hedgehog and show PostHog insights. But it’s clear that this is just the beginning. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/e5b56b10-763e-4e74-8dab-10d46611fb58-1-102.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/f5c921c9-0f46-49f2-b824-fe5d02c6ffb1-1-102.jpg) There are [PRs](https://github.com/PostHog/DeskHog/pulls?ref=broddin.be) with extra upcoming features — Pomodoro timers, games, and more. The card system and card registration are actively being [improved](https://github.com/PostHog/DeskHog/pull/17?ref=broddin.be), too. I really wanted a [HomeAssistant](https://broddin.be/content/files/2026/07/table-champion-creating-and-submitting-an-app-in-less-than-20-hours-1.html) card to glance at the unbearable temperatures in my office. It took me about half an hour to vibe code a first working attempt. ![](https://broddinblog.on-forge.com/storage/72/7fef9ce8-24d5-41f7-b8fa-74aa0fc45c9a-1-102-1.jpg) Even though this is probably the quirkiest hardware ever to be released by a product analytics company, I'm very impressed with the thinking behind it and the overall project architecture. The way I was able to add a new card type in almost no time makes this an impressive little device that's extremely fun to play around with. ### Table Champion: creating and submitting an app in less than 20 hours URL: https://broddin.be/table-champion-creating-and-submitting-an-app-in-less-than-20-hours/ Last updated: 2026-07-19T19:03:22.000Z 🫢 **tl;dr:** I speed built an iOS/Android app to practice the tables of multiplication/division. It's available here: [iOS](https://apps.apple.com/us/app/table-champion/id6741796505?ref=broddin.be) / [Android](https://play.google.com/store/apps/details?id=com.timbroddin.maaltafels&ref=broddin.be). My oldest daughter is in her second year of elementary school, deep in the trenches of learning multiplication and division tables. Every evening, we have this routine: she pulls out two little boxes from her satchel filled with flashcards of the tables she's learned. It's a bit cumbersome, and keeping her motivated to practice this way is hard. That got me thinking... what if I could create a simple app for her iPad? That way, she would be more motivated to do her daily exercises because she loves that device. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-1790-large.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/ecd4c8b3-1a04-452b-bb34-b1b693c107ca-1-102.jpg) Play testing an early version of the app. There's been tons of videos on YouTube about how people with little to no programming language create apps in no time. I'm a bit skeptical of those for two reasons: - Seeing people with no background in software architecture run around in circles doesn't feel that effective. - There's so much more to building an app than just the coding. Lately, there have been some great articles like this: [AI is Creating a Generation of Illiterate Programmers](https://nmn.gl/blog/ai-illiterate-programmers?ref=broddin.be). I feel that one. Using AI exclusively to build stuff takes away much of the craftmanship and fulfillment of being a software engineer. When used as an experienced software engineer, it can make you lazy, waste your potential, and, ultimately, dumb you down. But, there's a big difference between letting AI write your entire app and using it strategically as part of your development workflow. While skeptical of the "AI built my app" trend, I believe in using AI as a powerful tool that enhances rather than replaces craftsmanship. Back to the multiplication tables. I'd promised my daughter an app and challenged myself to create it as quickly as possible—from coding to the app store. As an additional challenge, I wanted to develop it for iOS and Android. ## Setting Up for Speed 🤓 Feel free to skip this section & the next if you're not a nerd. I configured [Cursor](https://www.cursor.so/?ref=broddin.be) (my IDE with AI support) with some specific `cursorrules`: - One general [rule](https://gist.github.com/TimBroddin/b72d98e0a01c69fafeecfbf91e91697b?ref=broddin.be) for Expo development. - One [rule](https://gist.github.com/TimBroddin/8f3335bab4af74ad552785d3194328dc?ref=broddin.be) telling the AI how [Gluestack](https://gluestack.io/?ref=broddin.be) v2 components work, because otherwise it will start outputting code for Gluestack v1. - And finally, there is a [rule](https://gist.github.com/TimBroddin/3d4f89687f34a902049d2769524a708a?ref=broddin.be) telling the AI that when it makes mistakes, it should document them in a separate file and try to learn from them. The newest version of Cursor supports MCP (Model Context Protocol), which gives AIs a standard way to call external tools. I installed the [awesome-mcp-server](https://github.com/kleneway/awesome-cursor-mpc-server?ref=broddin.be), which allows Cursor to better architect, take screenshots, and do code reviews. Taking the time to configure Cursor for this project paid off in the end. It was able to navigate the code base better and make fewer mistakes. It was also charming to see it document its own mistakes. ## My starter kit I start every project with an open mind and pick the tools I need for battle. For this project, I choose: - [Expo](https://expo.dev/?ref=broddin.be) for all the cross-platform goodness. - [Redux-toolkit](https://redux-toolkit.js.org/?ref=broddin.be) \+ [Redux Persist](https://github.com/rt2zz/redux-persist?ref=broddin.be) for state management. Many people hate Redux, but I like how this combination allows me to persist the whole state tree easily. Also, by using the toolkit, Redux doesn't feel like Redux anymore. - [Gluestack UI](https://gluestack.io/?ref=broddin.be): it's the `shadcn/ui`It also brings Tailwind styling to mobile apps for free. - [RevenueCat](https://www.revenuecat.com/?ref=broddin.be): their SDK makes implementing in-app purchases child's play, and they offer quickly configurable [paywalls](https://www.revenuecat.com/docs/tools/paywalls?ref=broddin.be) that you can change without having to resubmit your app. Best of all, it's free until you start making a lot of money (in which case it's still very, very cheap at 1% of MRR). - [Firebase](https://firebase.google.com/?ref=broddin.be): I don't like Google Analytics that much, but it's decent for use in native apps. Furthermore, Crashlytics is handy and a breeze to set up. - [Lingui](https://lingui.dev/?ref=broddin.be): an excellent library for translations - I started with just Dutch, added English, and somehow ended up supporting seven languages (Dutch, English, French, German, Spanish, Italian, and Portuguese). Besides software libraries, I also used a couple of services. - [Midjourney](https://midjourney.com/?ref=broddin.be): still the best image generation AI out there. - [T3.chat](https://t3.chat/?ref=broddin.be): the best AI chat out there. It offers all essential pro models (Claude, Deepseek, OpenAI, Gemeni) at less than the cost of a pro plan at any of these. Also: the UI does not suck. I used Claude and Gemini heavily for all the translations. - [AppScreens](https://appscreens.com/?ref=broddin.be): a tool to create App Store screenshots. It comes packed with beautiful templates, and it manages all required screen sizes for you. It also offers free machine translation of your screenshots and the ability to upload them automatically to the stores. It's no Canva in terms of ease of use, but it's a time saver. ## The real timeline I didn't time it, but a rough estimate is that the total time I spent building this app and submitting it was around two working days. Much of that time was spent on metadata (app descriptions, screenshots, clicking around in the hells known as App Store Connect and Play Developer Console). A guestimate: | Task | Time | % | |-|-|-| | Coding | 10 | 50% | | Creating assets | 1 |5% | | Translations | 2 | 10% | | Submitting & metadata (taking 140 screenshots) | 5 | 25% | | Testing | 1 | 5% | | \*\*Total\*\* | 20 | 100% | ## AI I wanted to avoid becoming one of those 'illiterate programmers' the [article](https://nmn.gl/blog/ai-illiterate-programmers?ref=broddin.be) mentioned. To me, AI is a fantastic tool that enhances my skills. Cursor's AI has been such a great help with something I find pretty tedious: boilerplate. It was so fulfilling to ask it to implement a new Redux slice and watch it get it right! Small, straightforward tasks had an almost 100% success ratio. I asked for a fun background animation, and it came up with something that would've taken me half a day in less than a minute. When I asked it to do things that required more thinking, things became a lot less clear. It often produced results that looked good at first glance but were actually pretty bad—and sometimes produced hard-to-find bugs. Fixing those mistakes often took me way longer to prompt the model than it would've taken me to write the code myself. AI will keep improving at coding, but at least I don't have to fear for my job (yet 😱). 💡 Talking about jobs: I'm for [hire](https://www.titansofindustry.be/?ref=broddin.be). Drop me a line if you want **your** app idea developed in record time. ## The final product The game won't win any Game Awards, but it scratches my itch, and Janne loves playing it 😺 This is the final feature set for version 1.0. - You choose which tables you want to practice. - There are two types of questions: multiple choice and open, where you must type the answer. - It has an awkward text-to-speech voice that encourages you. - There's a screen where you can learn/view the tables. - There are multiple profiles so that multiple kids can play on the same tablet. - There's a screen where parents can track the progress of their kid(s). - Tables 1 through 5 are free. Tables 6-12 can be unlocked for a minimal fee of 1 euro. There's also a "parent gate" before unlocking, which offers you a slightly more difficult multiplication. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/clipboard-13-feb-2025-at-1025.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/clipboard-13-feb-2025-at-1026.jpg) There are some enhancements I've got planned for the next version, such as more types of exercises, a better difficulty slope, achievements, more parental insights, and the ability to train on past mistakes. But there's only so much you can do in 20 hours 🤪 You can download the app today. It runs on both iOS and Android — tablets and phones. Enjoy! ![](https://broddinblog.on-forge.com/storage/311/image-6.png) ![](https://broddinblog.on-forge.com/storage/291/image-7.png) ### Launching Titans of Industry URL: https://broddin.be/launching-titans-of-industry/ Last updated: 2026-07-19T19:03:23.000Z I finally got around to launching [my professional website](https://www.titansofindustry.be/?ref=broddin.be) for my company, which is called Titans of Industry. How did it get that name? Back in my days at VRT's Creative Lab, we regularly held off-site brainstorming sessions for major projects like election coverage and the European Championships. These multi-day retreats culminated in pitching our ideas to stakeholders, typically heads of subbrands or marketing executives. At one particular retreat, when the usual stakeholders couldn't make it, we were told we'd be presenting to representatives from various external companies - or as our producer dramatically put it, "titans of industry." The phrase became an instant inside joke during the retreat and stuck around long after. Later, I didn't overthink the name choice when I needed to incorporate a company for my contract work with Automattic. To this day, it still confuses the mailman when he has to deliver a package. After leaving Automattic, creating a website lingered on my to-do list. Despite several false starts, I finally set myself a firm deadline: launch something - anything - by the end of January. And I made it. I've always been fascinated by early Windows and DOS aesthetics. How they created functional information interfaces before real computer graphics were viable still amazes me. Some of my earliest computing memories involve those text-based interfaces, before Windows got "pretty" around version 3. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-1.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-2.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image.png) I made several attempts at recreating something like that, a text user interface meets early 90's BBS using [xterm](https://github.com/xtermjs/xterm.js?ref=broddin.be), but even though it worked - it felt like a gimmick, was very hard to navigate on mobile, wasn't accessible at all, and couldn't be crawled by Google. I also wanted these very hackery scanlines and curvature, which got me in a WebGL shader rabbit hole I still have nightmares about. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;A very early version&lt;/span&gt;](https://broddinblog.on-forge.com/storage/84/cleanshot-2025-02-03-at-084118-at-2x.png) A very early version I eventually settled on incorporating the aesthetic of text user interfaces while building on modern web technologies. The result is fully crawlable by search engines and accessible to all users, and I even managed to preserve the original WebGL shader effect in the header. Oh, and there's an easter egg hidden somewhere! Check out the site here: [titansofindustry.be](https://www.titansofindustry.be/?ref=broddin.be) ![](https://broddinblog.on-forge.com/storage/85/cleanshot-2025-02-03-at-090952-at-2x.png) With this launch, I'm now taking on new projects and collaborations. If you're looking for someone who brings both technical expertise and creative problem-solving to the table, let's [talk](https://www.titansofindustry.be/contact?ref=broddin.be). ### Life at/after Automattic URL: https://broddin.be/life-at-after-automattic/ Last updated: 2026-07-19T19:03:31.000Z *Last October, I took what's called an "alignment offer" - a severance package offered when an employee and company's values no longer align. With six months of runway, I decided to take a sabbatical to work on personal projects and explore what's next. If you're curious about the journey, check out parts* [*1*](https://broddin.be/content/files/2026/07/freedom-week-1-1.html)*,* [*2*](https://broddin.be/content/files/2026/07/freedom-week-2-1.html)*,* [*3*](https://broddin.be/content/files/2026/07/freedom-week-3-1.html)*,* [*4*](https://broddin.be/content/files/2026/07/life-after-automattic-week-4-1.html)*,* [*5*](https://broddin.be/content/files/2026/07/life-after-automattic-week-5-1.html)*,* [*6*](https://broddin.be/content/files/2026/07/life-after-automattic-week-6-2-1.html)*,* [*7*](https://broddin.be/content/files/2026/07/life-after-automattic-week-7-1.html)*,* [*8*](https://broddin.be/content/files/2026/07/life-after-automattic-week-8-1.html)*,* [*9*](https://broddin.be/content/files/2026/07/life-after-automattic-week-9-1.html)*,* [*10 and 11*](https://broddin.be/content/files/2026/07/life-after-automattic-week-10-11-1.html)*.* This blog post concludes my series on what I did after leaving Automattic*.* I'm not starting a new job yet, but I'm slowly moving into freelancing and probably won't have as much to share in the coming weeks. This post is not meant to kick around wildly, screaming awful things. I'm very thankful for my time at Automattic, all the good stuff the company brought me, and all the incredible people I met there. I need to write this down to close that chapter of my life. This will be a long one and undoubtedly be a big brain dump. I promise to name the child CEO only once in the text below. He causes [enough drama](https://bullenweg.org/?ref=broddin.be) on his own already. ![](https://broddinblog.on-forge.com/storage/87/photo-2023-07-17-09-10-54-1-1.jpg) I wrote about [leaving Team Apex](https://broddin.be/content/files/2026/07/goodbye-team-apex.html) in March last year to join a new team. As I was still employed at the company, I couldn't write about how conflicted I was at the time. A higher-up asked me to join the new team, and I sincerely saw it as an awesome opportunity to learn new things, meet new people, and explore other areas of the company. But it hurt me so fucking much to leave behind my old team. Almost everything at Automattic revolves around performance. On the internal pages, there's a table where you can see how you perform compared to your teammates (or anyone at the company). You're assigned a number compromised of code written and shipped, Slack messages, and P2 (intranet) posts. If you or your team goes below the bar, you're given a few weeks to improve your performance drastically — or you're kicked out. Not to brag, but I was considered a high performer. I like to ship fast and iterate, which gave me a headstart on more punctual teammates who want to take their time and probably do the same work without needing to iterate later. It hurt me to leave Apex because I knew that by leaving, I would leave them more vulnerable to performance reviews. Something that became clear a few months later when one of my former teammates was fired. It made me so angry because that person - while maybe not the most performant coder on the team - was what bonded the team together. He made us do social calls, welcomed every new employee on Slack, and was the guy who never stopped talking and interacting with everyone at meetups. He was the glue of Team Apex. Not finding him a suitable spot for him in a 2000-person company is an HR failure. (It also hurt me a lot to leave Apex because I love every single one of them, and I consider them all friends and among the finest people I've ever met.) My journey toward leaving began months before the team switch, in February 2024 when WordPress.com's leadership moved to a new person. This person wanted to break with the old. He told us to drop everything, adopt a new project management method, and shift our focus on developers. He and I started on the wrong foot, which became a conflict that evolved into him criticizing our whole team and watching us closely. This, in turn, gave me a lot of stress and made me extremely unhappy. The atmosphere felt toxic. I was so close to sending HR my resignation. But I told myself to give it another day, then another week, and time kept moving. Then, I switched teams. My new team wasn't the same as Apex. Things weren't as personal, and we didn't have social meetings for a long time. Most of our communication was work-related. We did have a standup bot that asked us daily what we are working on and that would post the answers on Slack. I abused this bot and overshared my personal life with it. Pics of the children during the weekend? Check. What song was I currently listening to? Why not. Slowly, I noticed that the other guys were also opening up more and starting to share personal things. Not long after, we started having social calls. They were awkward at first, but they were happening. I'm a firm believer in personal relationships at work. You cannot do a great job if you don't know the people you're working with at least a little. Empathy is the ingredient to success. Having Caribou come together a little closer is perhaps my most significant accomplishment in that team. The people in the Caribou team were friendly. We went on a meetup in Milan, and while Apex meetups were more focused on fun and project planning and less on work, I truly enjoyed it. However, the work was meh. I did three projects in Caribou, all of which were really dry. One involved scheduling plugin updates, another involved updating 200K sites to a new version of PHP, and the last one involved exporting user content to AI providers. The AI export project killed me. It was so dull, had so many steps and procedures, and I felt all creativity draining from my body. I think I was getting pretty close to burnout then. I rediscovered this draft blog post from around that time (June 2023), centered around a [Taylor Swift song](https://www.youtube.com/watch?v=nsN3tANPZO8&ref=broddin.be) that resonated a lot with me back then. I never published it, but I was on one of the lowest lows of my entire career. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;See how I stole a classic Bright Eyes &lt;/span&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=3dhXOMvsnak&quot;&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;line&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt; there.&lt;/span&gt;](https://broddinblog.on-forge.com/storage/88/cleanshot-2025-01-09-at-112701-at-2x-1.png) See how I stole a classic Bright Eyes line there. But I kept working, thinking, "Next week will be better," and voicing my frustration with not feeling creatively challenged at every opportunity. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;A note with my development goals&lt;/span&gt;](https://broddinblog.on-forge.com/storage/89/cleanshot-2025-01-09-at-112941-at-2x.png) A note with my development goals Things didn't get better. I even got the reply "But you're so good at it!" when I said I didn't like the work I was doing 😄 I don't want to point fingers here: everyone involved was operating at their best, given the situation. Finding your way in a big remote company is difficult, and things take much longer remotely. As we say in dutch: "Voor geld danst den beer". Loosely translated: money is what keeps the bear dancing. I kept going because it was easier than leaving and not having an income anymore. When Matt decided to turn the dial to 11 with his drama, asking us to either side with him or leave, the decision was easy to make. I disagreed with him, and I wanted out because what I was doing was not making me happy anymore. Looking back, I feel a lot of gratitude for my two years at Automattic and regret for not being able to fit into it. Drama and the CEO aside, it's a great company with some of the most gifted people I've ever met. A friendly agency once asked me to give a talk about how remote work works at Automattic. Because of a tight deadline, I had to reschedule that talk, and then I quit Automattic. In the end, I never gave the talk. The talk was about what's good, bad, and ugly at Automattic. If anyone who wants to apply ever ends up here, here you go. ## Good - The people. Most people are awesome. And clever. - The compensation and extras. - The travel, but also more on that in Bad. You get to see very nice places. - The culture. - The work/life balance. You get to pick up your kids from school. - There's an anonymous message board where you can rant about anything that bothers you. It's excellent to let off steam. ## Bad - It is a commercial company. When joining, I had high hopes of contributing to open-source, and while many of my contributions were technically open-source, they were only used by Automattic. - Lack of clear vision. We changed focus so often. In my first year we needed to become a competitor to Substack, when that didn't work out we had to focus on developers, and when that didn't achieve the wanted results, we shifted to Agencies. Make up your mind. - Lots of shifting around. We were "the newsletter team," and we had all the expertise in that area, but suddenly, another team took over, and we were handed a video plugin we had no clue about. - The spaghetti code. Fifteen years of code generates a lot of spaghetti. Finding your way around is hard. - The context switching. WordPress.com is so huge, and you're constantly switching context between all the projects and subprojects. It's a lot to keep in your head. - The travel. It's great to be able to meet up in beautiful places like Recife in Brazil. The bad is that the company expects you to work there and only take 1 "fun day". I think you need to utilize the time together to do things you cannot do as well remotely, like bonding and planning/discussing projects. - A nitpick: it's hard to impossible to talk about local stuff like Het Eiland, how Bart De Pauw is a bully who keeps rolling around his own self-pity or Belgian politics. This might seem stupid, but it makes casual chats a lot harder. ## Ugly - The politics and the unclarity to see where certain decisions come from. - The extreme focus on performance and the quantification of everything. Not everything needs to be data-driven. - If you want to do your job to the fullest, you don't get there with 40 hours a week. - The paperwork. Everything needs to be written down somewhere, so much time is spent on writing P2's and reviewing your colleagues. - Review inflation. It's a stick they use when you give someone a good review and higher up disagrees. In what feels now like a gift from the universe, my Automattic story came full circle when my old team had a new meetup. Out of all the cities in the world, they chose to do it in my hometown, Antwerp. It was a fantastic week. Almost every evening, I joined them for dinner and showed them around some of my favorite spots to eat. Even though I didn't know I would be leaving Automattic soon after, it was the closure I needed. Thank you guys. Onwards! ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-2796-large-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-3824-large-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-5910-large-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-5920-large-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-7279-large-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-8187-large-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-8217.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-9286-large-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-9896.jpg) ### Life after Automattic: week 10 & 11 URL: https://broddin.be/life-after-automattic-week-10-11/ Last updated: 2026-07-19T19:03:36.000Z *Last October, I took what's called an "alignment offer" - a severance package offered when an employee and company's values no longer align. With six months of runway, I decided to take a sabbatical to work on personal projects and explore what's next. If you're curious about the journey, check out parts* [*1*](https://broddin.be/content/files/2026/07/freedom-week-1-2.html)*,* [*2*](https://broddin.be/content/files/2026/07/freedom-week-2-2.html)*,* [*3*](https://broddin.be/content/files/2026/07/freedom-week-3-2.html)*,* [*4*](https://broddin.be/content/files/2026/07/life-after-automattic-week-4-2.html)*,* [*5*](https://broddin.be/content/files/2026/07/life-after-automattic-week-5-2.html)*,* [*6*](https://broddin.be/content/files/2026/07/life-after-automattic-week-6-2-2.html)*,* [*7*](https://broddin.be/content/files/2026/07/life-after-automattic-week-7-2.html)*,* [*8*](https://broddin.be/content/files/2026/07/life-after-automattic-week-8-2.html)*, and* [*9*](https://broddin.be/content/files/2026/07/life-after-automattic-week-9-2.html)*.* Dang, I didn't write an update last week. The reason is twofold: writing these updates takes a lot of time, and the things I worked on these past two weeks aren't that exciting to share. Don't get me wrong; I did a lot of work on side projects, but it's been mostly adding polish. ## Lijsje I added PostHog to Lijsje. [PostHog](https://posthog.com/?ref=broddin.be) is a really cool open-source analytics tool, that allows for advanced analytics, funnels, session recording, A/B testing, and even surveys. A consequence of adding PostHog was that I had to add a cookie banner to the site. I hate cookie banners, so I'll be evaluating if the extra insights are worth the hassle. I also added dark mode and made a carousel showcasing the site's features on the homepage. Traffic and conversion have been good these past few weeks, but with the holidays now only days away, it's steeply declining. I guess everybody has made their list and bought their presents 😄 ![](https://broddinblog.on-forge.com/storage/100/cleanshot-2024-12-23-at-132905-at-2x.png) ## Light parade Last week, the neighborhood held its yearly light parade. I repeatedly asked the kids if they wanted me to make them something over the past couple of weeks or if they wanted to take the lanterns I made [two years ago](https://broddin.be/content/files/2026/07/the-light-parade.html) for the third time. The answer was no every single time. Of course, one day before the event, they changed their minds. They wanted light-emitting tiaras. I find it very hard to say no, so I spent a whole day 3D-printing tiaras, attaching LED strips, soldering wires, and designing an enclosure for the microcontroller and battery. It was a race against the clock, but in the end, it all worked out. ## Misc - After the not-so-great launch of [Endgame](https://endgame.now/?ref=broddin.be), I decided to wind down development on it for a while. - I did start building another app using [Expo](https://expo.dev/?ref=broddin.be). I can't tell much about it yet. - My father-in-law and I rented a big machine to scrub the concrete floor last week. I totally underestimated the amount of time it takes to scrub a floor. It took a full day and was super exhausting, but the result was awesome. - I caught Vampire Weekend in Amsterdam. What a show. It was terrific, and there was so much joy. They started out as a three-piece until the backdrop fell, and there turned out to be a full band hiding behind it. After a lengthy normal set, they continued to play audience-sourced cover versions. The next two weeks will be very slow, since there are a lot of holidays, the kids are at home and I should probably relax a bit. See you next year I guess! ### Life after Automattic: Week 9 URL: https://broddin.be/life-after-automattic-week-9/ Last updated: 2026-07-19T19:03:42.000Z *Last October, I took what's called an "alignment offer" - a severance package offered when an employee and company's values no longer align. With six months of runway, I decided to take a sabbatical to work on personal projects and explore what's next. If you're curious about the journey, check out parts* [*1*](https://broddin.be/content/files/2026/07/freedom-week-1-3.html)*,* [*2*](https://broddin.be/content/files/2026/07/freedom-week-2-3.html)*,* [*3*](https://broddin.be/content/files/2026/07/freedom-week-3-3.html)*,* [*4*](https://broddin.be/content/files/2026/07/life-after-automattic-week-4-3.html)*,* [*5*](https://broddin.be/content/files/2026/07/life-after-automattic-week-5-3.html)*,* [*6*](https://broddin.be/content/files/2026/07/life-after-automattic-week-6-2-3.html)*,* [*7*](https://broddin.be/content/files/2026/07/life-after-automattic-week-7-3.html) *and* [*8*](https://broddin.be/content/files/2026/07/life-after-automattic-week-8-3.html)*.* This will be a quick one, since I've been putting way too much time in writing these updates 😄 ## 📋 Lijsje My social wishlist platform [Lijsje.be](https://www.lijsje.be/?ref=broddin.be) (pronounced "lay-sha") kept me busy this week as our user base continues to grow. With Christmas approaching, I launched a major new feature: sublists. This lets you create one master list containing multiple smaller lists - perfect for managing different gift lists for various occasions or groups. Instead of sending out five separate wishlists, you can now manage everything in one place. ![](https://broddinblog.on-forge.com/storage/102/cleanshot-2024-12-09-at-103847-at-2x.png) The sublist feature development led me to some unexpected technical improvements. While working through various challenges, I ended up rewriting significant portions of the views and logic. Everything now runs on [Livewire Volt](https://livewire.laravel.com/docs/volt?ref=broddin.be) functional components now – a bit of technical debt paid off that should make future development smoother. I've also been keeping an eye on what works well elsewhere in the wishlist space and added some quality-of-life improvements: - Shopping links now display website favicons, making them more recognizable at a glance - A new "lock" feature prevents items from being marked as purchased – especially useful for gift cards and similar items The best surprise? Affiliate revenue is starting to pick up, which should make for an interesting conversation with my accountant! ## 🏁 Endgame Endgame [launched](https://www.producthunt.com/posts/endgame?ref=broddin.be) on Product Hunt on Tuesday, and ... it didn't do too well. I was already kind of expecting this, since [Endgame](https://www.endgame.now/?ref=broddin.be) probably isn't that well suited to the audience of Product Hunt. I'm going to pause development on the project for a while so I can properly think about how (and if) to better market it. ## 🎨 PixooAlbumArt I started a tiny new project. I have this [Divoom Pixo64](https://amzn.to/49vwlXJ?ref=broddin.be) pixel art display hanging on my wall. It's a 64x64 LED display, that's capable of showing short GIF animations and some very basic dashboards. It's okay hardware, but the app to control it is so bad that I rarely use it. Until I discovered you can "hack" it, and display whatever you want on it, without having to use the terrible app. Some months ago, I wrote a Node.js script to update it with whatever I was playing on Apple Music. [](https://www.threads.net/@timbroddin/post/C%5F86DquM75J?xmt=AQGzTnXUgw6f96lCwE49u4eTkJJLYltkSdDySCSEMga3tw&ref=broddin.be) Wouldn't it be nice to turn that into a menu bar app for macOS I wondered last week? I then spent way too much time in making it: ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/bafkreidkioha476ernffz5pxivwlmhsn63tmhhmwlsywnxhln5n3q2e7ay.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/bafkreigecssawlvfrnztaazzs7dp2ndy7ndrbqulikxwclweymiu4diyjq.jpg) Compared to the script it adds some features: - It can scan your network to find the Divoom device. - It supports both Pixoo32 & 64. - There's a slider to make it more/less pixelated. - It works with whatever audio/video you have playing. It still needs some work, I hope I can finish it before the New Year. ## Misc - I've switched second-brain app again. I started out on Notion, then moved to Obsidian, and I'm now trying out [Craft 3](https://www.craft.do/?ref=broddin.be). It's really beautiful and simple. - I'm very much looking forward to playing the new [Indiana Jones game](https://www.youtube.com/watch?v=mkzeoNvYhSo&ref=broddin.be) tonight. The reviews are raving, it's created by top-notch MachineGames and well ... it's Indiana Jones. - We started watching Say Nothing, a miniseries about The Troubles in Northern Ireland on Disney+. It's so good, I highly recommend it. ### Life after Automattic: Week 8 URL: https://broddin.be/life-after-automattic-week-8/ Last updated: 2026-07-19T19:03:47.000Z *Previously on Life after Automattic: back in October, I took* [*an alignment offer*](https://ma.tt/2024/10/alignment/?ref=broddin.be) *because I disagreed with Automattic's direction. I received a generous six-month severance and took a sabbatical to work on personal projects and explore what to do next. Read more in parts* [*1*](https://broddin.be/content/files/2026/07/freedom-week-1-4.html)*,* [*2*](https://broddin.be/content/files/2026/07/freedom-week-2-4.html)*,* [*3*](https://broddin.be/content/files/2026/07/freedom-week-3-4.html)*,* [*4*](https://broddin.be/content/files/2026/07/life-after-automattic-week-4-4.html)*,* [*5*](https://broddin.be/content/files/2026/07/life-after-automattic-week-5-4.html)*,* [*6*](https://broddin.be/content/files/2026/07/life-after-automattic-week-6-2-4.html) *and* [*7*](https://broddin.be/content/files/2026/07/life-after-automattic-week-7-4.html)*.* Last week, I hit the wall. There were two reasons. First, I've been struggling with what I would call a lot of internal stress. I want this paid sabbatical to have purpose and meaning, and every second not working and being productive feels like a waste of time. It's completely irrational, I know. The primary purpose of this time off should be to refresh and rest, but my mind is having a tough time doing so. The second reason is [Endgame](https://www.endgame.now/?ref=broddin.be)'s launch. After months of development and weeks of [App Store bureaucracy](https://broddin.be/content/files/2026/07/life-after-automattic-week-5-5.html), I finally released my death countdown app last week 🎉 Working on something for a long time creates big expectations. When I pressed the launch button on the App Store, I expected people to start dancing in the streets, peace treaties to be signed around the globe, and solutions to both hunger and poverty to be implemented. Instead, nothing much happened. The app still hasn't reached 100 downloads. It's a bummer. It's increasingly difficult to launch anything these days. Algorithms oppose any form of self-promotion on social media. My original Instagram announcement story didn't get any views for hours, and the likes on my Facebook posts are laughably low. It's also not in my nature to shout and get attention for something I created. I'm not good at it, and things get awkward pretty fast. Maybe it's the idea. Perhaps it's good enough for a giggle but not enough to download. Maybe the idea became too big, and I should've kept it purer. Adding more features is an easy trap to fall into, and even though I said no to many ideas, maybe I still crammed too much inside. On the positive, the direct feedback I've received from several people was generally very positive, and I'm delighted that the percentage of users buying the $1 upgrade to Premium is high. It would probably be wise to stop pouring energy into Endgame, but I'm having a lot of fun building it. Even though it's pretty clear now that it won't make me rich, it's an excellent portfolio project. Both reasons made me question my sabbatical and drained my energy. They even made me wonder if I have failed at whatever I want to achieve during these months without A Real Job™, and it's time I start looking around. However, I quickly realized that I'd been paid generously and have been given this time and that, however cliché it may sound, the voyage is more important than the destination. Even if my expectations, which I hold myself accountable to, aren't being met, I'm learning and growing. All's good. Let's go. That intro was a bit longer than expected. So, what did I do last week? ## 🏁 Endgame After the disappointing launch, I started working on version 1.1, which has one significant feature that brings Endgame to the home screen: widgets. Besides the widget, there's a sleep left stat, which connects to your HealthKit sleep data of the past week (if available), and a stat that shows how many menstrual cycles you've left if it applies to you. And Android users rejoice: an Android version (with Health Connect sync) is in the works. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-1020.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2024-12-02-at-093144-at-2x.png) Version 1.1 can be downloaded [from the App Store](https://www.endgame.now/download?ref=broddin.be) today. Besides working on the Android version, I will try to do more marketing on Endgame this week, and I hope to double the downloads. ## 📝 Lijsje Lijsje took a backseat while I focused on Endgame, though it's still growing steadily with over 60 new lists created on peak days — which is wild. This week, I plan to implement sub-lists / sections. Because you often make one big list for everyone in your household, and not being able to add sections to such list is a roadblock. ![](https://broddinblog.on-forge.com/storage/108/cleanshot-2024-12-02-at-093728-at-2x.png) ## Misc - To relieve myself of the internal pressure, I didn't work on Friday 🎉 My girlfriend and I went to the city and visited the Antwerp sewers. I've wanted to do it for some time now, and it was fun. We were given a tablet and headphones, and at every stop along the way, we had to see a video that told us a bit of history. The videos were underwhelming, so if you ever want to do this, take a proper guide and not a tablet. ![](https://broddinblog.on-forge.com/storage/109/5827dab1-7f65-49a8-8300-e0ccce11de25-1-102.jpg) - Afterward, we had a lovely lunch at [Cannolo](https://www.cannolo.be/cannolo?ref=broddin.be). It was delicious. I highly recommend it if you like Italian food other than pizza or pasta. - If you like a long read about why React might not be the best option for anything, read this: [If Not React, Then What?](https://infrequently.org/2024/11/if-not-react-then-what/?ref=broddin.be) I don't agree with some things in it (I think RN will still give you a more *native* app than an HTML wrapper), but the author makes some very valid points. - I ordered new [keycaps](https://keychron.fr/products/iso-cherry-profile-dye-sub-pbt-full-set-keycap-set-developer?variant=40100683153537&ref=broddin.be) for my keyboard ⌨️ I've been keeping an eye on that color scheme for over a year now, but it was always sold out. - As for AI-assisted code editors, I keep switching between [Windsurf](https://codeium.com/windsurf?ref=broddin.be) and [Cursor](https://cursor.so/?ref=broddin.be). They are very alike in capabilities, and last week, Cursor added an agentic feature (still not as good as Windsurf's), and Windsurf added image uploads. It's like they're bunny-hopping constantly. Right now, I get the best results with Windsurf. ### Life after Automattic: Week 7 URL: https://broddin.be/life-after-automattic-week-7/ Last updated: 2026-07-19T19:03:52.000Z Quick recap. About two months ago, I accepted Automattic's alignment offer. The gist is that anyone who didn't agree with the company's actions toward WP Engine and the community was free to leave and would receive six months of severance. As an international contractor, I wouldn't have any right to any amount of severance under normal circumstances. As I didn't align with the actions being taken and didn't get the energy I needed from doing the job, I decided to take the deal. I decided not to go on a job hunt immediately but to give myself some months to explore side projects, learn new things, and ignite my spark again. I love building things, getting this in people's hands, and coding in general, but in my final months at Automattic, I wasn't doing any of those things nearly enough. Doing all of them daily for the past seven weeks has been a relief and has really made me a happier person. To keep myself accountable (and not play GTA all day long) I decided to keep a weekly log of what I've been up to: [week 1](https://broddin.be/content/files/2026/07/freedom-week-1-5.html) / [week 2](https://broddin.be/content/files/2026/07/freedom-week-2-5.html) / [week 3](https://broddin.be/content/files/2026/07/freedom-week-3-5.html) / [week 4](https://broddin.be/content/files/2026/07/life-after-automattic-week-4-5.html) / [week 5](https://broddin.be/content/files/2026/07/life-after-automattic-week-5-6.html) / [week 6](https://broddin.be/content/files/2026/07/life-after-automattic-week-6-2-5.html). ## 🍎 Apple Woes & Endgame Almost five years ago, I started developing a simple app: a step counter that counts toward your death. The simple app became more complex over time, and I lost interest. Reviving this app was one of the first things I started working on after leaving Automattic. After it was finished, I wanted to release it to the App Store but: Just as I was nearly finished, I got locked out of the new account. [— Week 4](https://broddin.be/content/files/2026/07/life-after-automattic-week-4-6.html) Three weeks later, after much bureaucracy, I finally have access to my Apple Developer account again. It took so many emails, and in the end it's still very unclear why I got locked out in the first place. I used the extra time the whole ordeal gave me to make some final changes: - The app now runs on React Native's [new architecture](https://docs.expo.dev/guides/new-architecture/?ref=broddin.be). It feels more snappy and "native". - I adapted it to store all XCode-specific configurations inside app.json, which makes it possible to deploy to the app store via [EAS](https://expo.dev/eas?ref=broddin.be). The final build quickly passed Apple's App Store review, and the app is just a button press away from release. ![](https://broddinblog.on-forge.com/storage/385/image-8.png) My fingers ache to click the button, but I'm going to do some final testing before releasing it to the world. I've found some minor bugs already, but those will need to be fixed in an update. Release early, release often. ## 🎁 Lijsje It's enlightening to see a big idea you had big expectations of fail and a much smaller thing take off. Two weeks ago, I started building a full-fledged product/gift finder. I wrote infrastructure to parse product feeds of a number of webshops and present the information in a pleasant interface. ![](https://broddinblog.on-forge.com/storage/112/cleanshot-2024-11-25-at-085938-at-2x.png) I launched the product finder last week, and ... it's rarely used. It seems like people either have a very good idea of what they want to add to their list already (and just copy/paste the link) or don't find what they're looking for inside the product finder. The second problem is because there's two big omissions from the list: Amazon and Bol.com. Both of these shops don't offer product feeds (since they have millions of items) and instead rely on an closed API to which you need access. I obtained access to Amazon's API, and instead of trying to merge the results of the API with the product database I created a new tab inside the "Add item" modal just for Amazon. ![](https://broddinblog.on-forge.com/storage/113/cleanshot-2024-11-25-at-090754-at-2x.png) The Amazon tab gets clicked less often, but people who click it are way more likely to add a product to their list. One of my goals this week is to try to get Bol.com to approve Lijsje for their affiliate program and offer a similar experience. As for next features I'd like to be able to offer some customization options for lists, such as password protection and a feature where you'd have to put in your name before being able to take anything of a list. This in turn would allow for some nice 'who's looking at the list' Google Docs like experience: ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;An early experimentation&lt;/span&gt;](https://broddinblog.on-forge.com/storage/114/cleanshot-2024-11-25-at-091531.gif) An early experimentation ## Misc - I started work on what will become the next admin panel for [Wannabes](https://wannabes.be/?ref=broddin.be). It's written in Laravel & Filament, and it's starting to work quite well. Next steps will be working on an importer for the current data & deciding whether this will act like an API for the current Next.js frontend, or if we'll just convert all templates to Blade. ![](https://broddinblog.on-forge.com/storage/115/cleanshot-2024-11-25-at-093025-at-2x.png) - As everyone has been migrating from X to [Bluesky](https://bsky.app/?ref=broddin.be), I dusted off my profile there and you can follow me via my handle [@broddin.be](https://bsky.app/profile/broddin.be?ref=broddin.be). I also created accounts for all my current side projects: [@lijsje.be](https://bsky.app/profile/lijsje.be?ref=broddin.be), [@woordje.be](https://bsky.app/profile/woordje.be?ref=broddin.be), [@endgame.now](https://bsky.app/profile/endgame.now?ref=broddin.be) and [@wannabes.be](https://bsky.app/profile/wannabes.be?ref=broddin.be). - Augustines, one of the best bands in the world too few people have heard about, [have been teasing](https://www.instagram.com/p/DClurHhuuUn/?ref=broddin.be) a reunion since last week. I'm stoked, as I would put their live shows among the best I've ever seen, and William McCarthy is one of the most charismatic frontmen around. ### Life after Automattic: Week 6 URL: https://broddin.be/life-after-automattic-week-6-2/ Last updated: 2026-07-19T19:03:53.000Z I'm a frequent reader of Nick Cave's [The Red Hand Files](https://www.theredhandfiles.com/?ref=broddin.be), and one of the most valuable lessons is how he sees creativity and freedom as an office job with office hours. He sits at his desk every day at 9 and starts writing. As many of you know, I observe specific protocols to open the creative mind – I sit at a desk in my office and write, working exclusively between 9am and 5pm. Within ‘office hours’ I find my mind becomes genuinely free, and I feel a creativity that is qualitatively richer than anything I may experience outside of this time, in the disorder and distraction of the ordinary world. [What does it take to be free? ](https://www.theredhandfiles.com/what-does-it-take-to-be-free/?ref=broddin.be) I try to follow the same approach to coding and creation. Even now, without "a job," I force myself to sit down at my desk at around 8 AM and start being productive. My day starts with checking the statistics of every side project I've got going on. After that, I decide what to work on that day, and start. I don't set any boundaries for projects, and I avoid scopes or deadlines - I just work and allow myself to sidetrack as much as I want. I trust my gut and experience to make the right decisions, and I know if I make wrong ones, I can fix them quickly. It's around eight hours of pure chaos, and I love it. It's electricity and this way of working, which is both discipline and anarchy at the same time, sparks my creativity and energizes me. I plan on writing a blog post about how this chaotic way of working beats project management systems like Agile and Shape Up (for me). But I'm still chewing on it. So, what did I do the last four-day week? ## 🎁 Lijsje Last week, I wrote: I didn't do much development work on [Lijsje](https://lijsje.be/?ref=broddin.be) this week. Instead, I've started drawing out the next feature, a product finder. I'm proud to say that the product finder feature is almost done. It was a ton of work. As an affiliate site, I apply to be a partner of webshops. The first step is to get them to accept you, after which you're provided with product feeds, lists of all their products. Every list tends to have another file format and other fields, so getting all those products in a database proved to be quite a hassle. The first step was writing parsers & field mappers for the seven webshops the product finder will launch with. This was super boring work, and I'm delighted AI did it mostly for me. ![](https://broddinblog.on-forge.com/storage/117/cleanshot-2024-11-18-at-090035-at-2x.png) Every product is stored inside a database, together with things like product category & brand. All this data is then indexed by [Meilisearch](https://www.meilisearch.com/?ref=broddin.be), which is a very fast search engine with excellent Laravel [integration](https://laravel.com/docs/11.x/scout?ref=broddin.be) and some nice features like AI embeddings. On the front, I wanted the product finder to look like something you'd find on a real eCommerce site. \[Pictures say more than words, so here it is\] ![](https://broddinblog.on-forge.com/storage/118/cleanshot-2024-11-18-at-091014.gif) Since there are now about 60K products in a database, I decided to use that data to create some extra pages where you can easily browse through everything: ![](https://broddinblog.on-forge.com/storage/119/cleanshot-2024-11-18-at-091401-at-2x.png) I plan on launching this feature Very Soon™. ## 🍎 Apple Woes Just like [last week](https://broddin.be/content/files/2026/07/life-after-automattic-week-5-7.html), I'm still locked out of my Apple Developer account. Last week, Apple asked me to pay for a certified translator to translate the documents proving I own my business. In an attempt not to have to pay €250, I tried providing them with official French documents (🙏 Belgium for being tri-lingual), and because they have a French team, they were able to verify me. Finally. The next step was for me to provide Apple with a new account, which they'll make the owner of my Developer account. Because one Apple account can only be the owner of one Developer account. This means there's a chance this new account will also be locked at one point, and no one at Apple will be able to able to tell why once more. Let's pray it doesn't happen. ## 🌀 Misc - I watched The Wild Robot with our eldest daughter on Monday. I highly recommend it; it's beautiful and heart-warming. - Last week, I wrote about how we bought a metal shelf to store my record collection, but it turned out the shelf couldn't hold the weight. I designed and 3D-printed a solution so we could put the records on the cabinet. I was very happy with how it looked, but ... it turned out the cabinet couldn't hold the weight of the records either. So we bought a record storage solution, which will be delivered in a few weeks. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;This looked nice, but the doors of the cabinet could no longer open.&lt;/span&gt;](https://broddinblog.on-forge.com/storage/291/image-7.png) This looked nice, but the doors of the cabinet could no longer open. - There's a new AI Code Editor out that I gave a spin: [WindSurf](https://codeium.com/windsurf?ref=broddin.be). I was pleasantly surprised: it was excellent in finding which files to edit and did a good job on completions and code generation (thanks to Claude 3.5).It's also cheaper than Cursor and offers unlimited fast requests (Cursor only provides 500). I don't think price should be that much of a deciding factor, because these tools should pay for themselves (like a good accountant) — but it's nice that they can offer so much value at $10/month.[Theo](https://www.youtube.com/@t3dotgg?ref=broddin.be) did a video on it in which he totally bashed Windsurf, but he has since unlisted that [video](https://www.youtube.com/watch?v=FqbMXtxDZYc&ref=broddin.be), probably because as an investor in Cursor he is a little bit biased and the comment section didn't agree on his opinions. - In related news: Cursor [bought](https://www.cursor.com/blog/supermaven?ref=broddin.be) Supermaven, another very capable (and fast) AI code tool. With all this rapid changes, I wouldn't take a yearly subscription to any of these tools and instead go for monthly. ## ✨ This week - Launch the product finder feature of Lijsje. - Pray to have the Apple Developer accounts resolved this week. - Get [Endgame](https://www.endgame.now/?ref=broddin.be) and [North Star](https://broddin.be/content/files/2026/07/---text-the-20account-20issues----f0-9f-8c-9f-20north-20star--after-20watching-20a.html) through Apple review. ### Life after Automattic: Week 5 URL: https://broddin.be/life-after-automattic-week-5/ Last updated: 2026-07-19T19:03:55.000Z Good news: my severance paycheck came in this week 🎉🎉 One of my biggest fears these past weeks was for Automattic not being able to honor their part of the deal. I can only imagine that having to pay 159 employees half a year of salary is a big sum of money to pay at once. But they came through 🙏 ## 🍎 Apple woes [Last week](https://broddin.be/content/files/2026/07/life-after-automattic-week-4-7.html), I mentioned how I was locked out of the new Apple account I set up for my business, and could not access their Developer portal and make changes to any of my apps. Last week, I was still hopeful this would be resolved with a phone call and a support engineer clicking a big unlock button. Boy, was I wrong! This week, I called normal Apple Support, who sent me to Developer Support, who sent me to Apple Support, who sent me back to Developer Support, and they finally escalated my problem. After a highly frustrating week, I'm now at the point where Apple demands me to pay a certified translator to translate my private company's incorporation papers from Dutch to English to prove that I own my own company — information that can just as easily be viewed [online](https://kbopub.economie.fgov.be/kbopub/toonondernemingps.html?lang=en&ondernemingsnummer=790242271&ref=broddin.be) by anyone. I get that they need to have some process to ensure that no one can take over someone else's business, but this amount of bureaucracy seems very un-Apple to me. After countless calls and emails, not a single Apple representative could explain why my account was locked in the first place. Had this happened to my personal Apple account instead, years of irreplaceable family photos and memories would have vanished into thin air - all without explanation or solution. ## 🎁 Lijsje Lijsje, my wishlist application, has been growing slowly but steadily. I'm seeing organic traffic pick up, and it has passed 600 wishlists now. Even though the numbers are small, I like lines that go up. ![](https://broddinblog.on-forge.com/storage/122/cleanshot-2024-11-11-at-104803-at-2x.png) I didn't do much development work on Lijsje this week. Instead, I've started drawing out the next feature, a product finder. The idea is that you no longer need to copy/paste links but can instead search or browse for the items you'd want on your wishlist. To create something like that, you need access to product feeds from affiliate partners, and to get those, you need to prove that your product offers enough value. So it's been a bit of a chicken and egg story — but we'll get there. ## 🏁 Endgame I implemented notifications in Endgame, a feature I planned to add in the first update, but since Apple is giving me some extra time due to the account issues. ![](https://broddinblog.on-forge.com/storage/123/img-3924-1.png) ## 🌟 North Star After watching a video about using [Cursor](https://www.cursor.so/?ref=broddin.be) to create an iPhone app in minutes, I wanted to give it a try as well. My first attempt was to let it create an app to find ducks nearby. Why? Because ducks are fun. I gave it access to a bird spotting API and let it do its thing. ![](https://broddinblog.on-forge.com/storage/308/image-4.png) After about an hour (we lost a lot of time because the API only has USA bird sightings), I ended up with a working app that shows where in the neighborhood there's a chance to see ducks. Amazing stuff. ![](https://broddinblog.on-forge.com/storage/312/image-5.png) Building this sample app reminded me of a fascination I've always had. Whenever I'm someplace, I always wonder about two things: - Which direction is home? - How far is it for a bird? I always end up checking the map and being completely off. I used Cursor's AI once more to develop an app for my very specific fascination. It's called North Star, and it simply allows you to add places and shows you which direction they lie and how far they are (in km/mi and steps). ![](https://broddinblog.on-forge.com/storage/311/image-6.png) It still needs some work, but I plan to release it once Apple returns my account. As for the premise of generating whole apps without coding - Claude/Cursor is genuinely impressive at this. However, it's still mediocre at project planning and tends to stack new features on top of each other without considering overall architecture. Using these tools without understanding the generated code will likely backfire sooner or later. In my experience, I often had to guide Cursor toward better solutions or ask it to revise earlier decisions. However, I cannot wait for this all to improve even more. Two years ago we found the first iteration of GitHub Copilot mindblowing, and it didn't do much more than offering fancy autocomplete, today we're generating complete apps. 🤯 It is a game-changer for this kind of small ideas I have all the time, though. ## 🌀 Misc - I wrote a blog post on [My 2024 programming stack](https://broddin.be/content/files/2026/07/my-2024-programming-stack.html). - I moved two WordPress sites to self-hosting this week. It's remarkable how much faster they run compared to where they were hosted before. - We bought a metal shelf to hold my vinyl records this week. It turns out vinyl is very heavy and the shelf started to bulge under the weight. I went ahead and designed a simple modular storage solution to keep the records together and upright, which uses interlocks to be able to extend it. I'm pretty happy with how it turned out. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2024-11-11-at-110632-at-2x.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-0823.jpg) ## ✨ Up this week - Today's a public Holiday. We're taking the kids to the movies later today. I'll be watching "The Wild Robot" with our eldest, and my girlfriend will go to "Fox & Hare" with the two smaller ones. - I hope to resolve the Apple woes this week 🤞 Worst case I just pay to have some documents translated and have this all over with. - If time allows, I want to start creating [Wannabes's](https://wannabes.be/?ref=broddin.be) backend in Laravel. Currently, the backend is an old Meteor app that can no longer be updated reliably, with a small GraphQL API sitting in front. ### My 2024 programming stack URL: https://broddin.be/my-2024-programming-stack/ Last updated: 2026-07-19T19:03:56.000Z Last [year](https://broddin.be/content/files/2026/07/ref-broddin-be.html) and the [year before](https://broddin.be/2022/05/23/my-2022-mostly-frontend-programming-stack/?ref=broddin.be) I wrote about the tech I use to create stuff. We're almost 18 months later, older and wiser, so it's time for an updated list. ## Framework: Next.js (app router) / Laravel *2023: Next.js (app router) - 2022: Next.js (pages router)* Last year I was super hyped about Next.js and the whole React Server components paradigm shift. It felt out of this world awesome to be able to mix and match client & server things. Inserting a row inside your form component feels like magic (and it sorta is). But ... my enthusiasm has cooled quite a bit. It is a lot of magic, and it requires an awful lot of context-switching. Also, it suddenly became very easy to hit [Vercel](https://vercel.com/?ref=broddin.be)'s limits. Caching was an afterthought so running React Server components quickly adds to those precious serverless seconds. With Next.js/React looking more like PHP each day you might as well just switch to the real deal. I've been dabbling with [Laravel](https://laravel.com/?ref=broddin.be) a lot these past weeks and I love it. It includes everything you could ever want from a framework, and whatever problem you throw at it, the answer is never that there's a PaaS for that. The Laravel ecosystem has real solutions to problems, which (most often) don't require you to open your wallet. Writing Laravel really helped me with my React/JavaScript/Next.js fatigue, and I guess going forward, I'll probably try to use Next.js and Laravel side by side. Next.js for smaller projects which lean more towards client-side interactivity and Laravel for Real Applications™. ![](https://broddinblog.on-forge.com/storage/145/image-3.png) ## Language: TypeScript / PHP *2023: TypeScript - 2022: TypeScript* I tried not having to use PHP ever again for a very long time. But then I joined Automattic, and even though my title there was *JavaScript Engineer*, I probably wrote more PHP than JavaScript/TypeScript there. Which was okay. ## CMS: A lot *2023: WordPress - 2022: DatoCMS* This is what I wrote last year: WordPress is likely the answer you would expect from someone working at Automattic ???? But I really mean it. I love WordPress. Looking back, I think I was a bit too enthusiastic there. WordPress is solid, and it would be my go-to CMS for whoever needs a content website on a budget. It's also very easy to get very messy. I've seen too many sites with tons of plugins enabled that just broke. My blog currently runs on [Ghost](https://ghost.org/?ref=broddin.be), which is an excellent blogging tool. For websites that need custom post types, structured data, and i18n I'd still use [DatoCMS](https://www.datocms.com/?ref=broddin.be), because it's awesome at that. There are also options that I want to use at some point in the future: [Strapi](https://strapi.io/?ref=broddin.be) for its open-source headless approach, [Stamatic](https://statamic.com/?ref=broddin.be) since it's built on top of Laravel, and so many more. ## Mobile: Expo / Swift(UI) *2023: React Native* I've been working on this React Native [project](https://www.endgame.now/?ref=broddin.be) ever since before COVID. While I love the ideas behind React Native (cross-platform, write in JS), I've found keeping a React Native app up-to-date with the latest version to be one of the worst developer experiences on the market. While restarting development on the project, I've migrated it to [Expo](https://expo.dev/?ref=broddin.be), which is sort of an ecosystem around React Native, with an easier upgrade path and first party tested packages. I like it, and even though it's not perfect, it's a big improvement over bare React Native. Lately, I've been creating some smaller apps and I like the simplicity of just doing that inside XCode using SwiftUI. ## State management: redux-toolkit, redux-persist, react-query *2023: same - 2022: Redux-toolkit + redux-persist* (+ swr) State management can still be a pain, but these tools have proven reliable enough that I didn't feel the need to explore alternatives this past year. The combination of redux-toolkit for global state, redux-persist for persistence, and react-query for server state management continues to serve well for most React use cases. ## APIs: no APIs *2023: no APIs - 2022: GraphQL* Last year I hoped that React Server Components would free us from having to write backend APIs. I still hold on to that dream, though the reality has proven more complex than initially promised. ## Styling: Tailwind *2023: Tailwind - 2022: stitches* Tailwind is still the best way for a non-design savvy programmer to create things that look better than what a 5-year-old would come up with. The defaults are great, and thanks to projects like [Tailwind UI](https://tailwindui.com/?ref=broddin.be) it's incredibly straightforward to create great user interfaces. Also, tools like [v0](https://v0.dev/?ref=broddin.be) are excellent at creating Tailwind components. ## Hosting: self-hosting *2023: Vercel - 2022: Vercel / Lambda / Docker* I was a very loyal Vercel fanboy, but the increase in usage from React Server Components, and their dropping out from sponsoring [Woordje](https://woordje.be/?ref=broddin.be)'s hosting forced me to look elsewhere. Elsewhere turned out to be hosting things myself again, just like in The Good Old Days™. I use [Coolify](https://coolify.io/?ref=broddin.be) to manage a few cheap VPS boxes, and it's been a breeze. The switch from Vercel to self-hosted VPS boxes cut my hosting costs significantly while giving me more computational resources to work with. For my Laravel project [Lijsje](https://lijsje.be/?ref=broddin.be), I use Laravel [Envoyer](https://envoyer.io/?ref=broddin.be) & [Forge](https://forge.laravel.com/?ref=broddin.be) to handle the continuous deployment & server configuration. ## Databases: self-hosted / Supabase / Turso *2023: Drizzle & PlanetScale - 2022: Prisma & PlanetScale* Last year, I recommended the *generous* free plan of [PlanetScale](https://planetscale.com/?ref=broddin.be) for hosting MySQL databases. Well, they discontinued it. I'm finally starting to grow old enough to realize that free plans are always messy. Eventually, every free tier of every service will probably be discontinued, which always means that you'll need to migrate to something else against the clock. I migrated [Woordje](https://woordje.be/?ref=broddin.be) from PlanetScale to Supabase, which is a great & open-source Firebase alternative. For the [Endgame landing page](https://www.endgame.now/?ref=broddin.be) I utilized [Turso](https://turso.tech/?ref=broddin.be), a hosted SQLite database PaaS. All my other recent projects use self-hosted MariaDB instances. ## Editor: Cursor *2023: PHPStorm - 2022: VSCode* At Automattic, I really had to use PHPStorm because it could index and search the enormous codebase 10,000 times faster than VSCode. But since I'm not working there anymore, I'm using whatever I want. My beloved editor at the moment is [Cursor](https://cursor.so/?ref=broddin.be). It packs so many AI features and does them so amazingly well that it hypercharges my productivity. You can open your code inside a notebook inside Cursor, ask it to implement a feature, and it will nail it on most tries (given a little guidance here and there). ## AI: Claude, Midjourney & Cursor *2023: GPT4, Midjourney & Copilot - 2022: Copilot* I've been a fan of [Claude](https://claude.ai/new?ref=broddin.be) ever since I first used it. It's better at everything than ChatGPT. Don't take my word for it: ![](https://broddinblog.on-forge.com/storage/306/image.png) For image generation my goto tool is still Midjourney, and I'm very happy that they finally have a Web UI. ## Analytics: Plausible *2023: Plausible - 2022: Plausible* *Just like last year:* Nothing to add here. [Plausible](https://plausible.io/?ref=broddin.be) is still my favorite **privacy-first analytics** solution. The only change is that I now self-host it. ## Terminal: iTerm / tmux *2023: iTerm - 2022: Hyper* Thanks to my ex-colleague (and forever friend) Juan I got into [tmux](https://github.com/tmux/tmux/wiki?ref=broddin.be) and it changed my terminal habits forever. Tmux is sort of like a window manager for your terminal. You type one command to enter a session, and then you can create as many windows and panes as you like. The best part: these sessions persist even if you close your terminal - they'll be right there when you reconnect. As someone who accidentally closes his IDE multiple times a day, this saves me a lot of setup. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;I&#039;m also a very big fan of the status bar&lt;/span&gt;](https://broddinblog.on-forge.com/storage/132/cleanshot-2024-11-07-at-151112-at-2x.png) I'm also a very big fan of the status bar ## Conclusion I think this past year taught me a couple of things: - Not everything has to be a single page React app, it's okay to embrace old and proven technologies again. - There's no such thing a free lunch: don't rely too much on PaaS free plans which will inevitably disappear one day. - tmux is amazing. - AI will take my job(\*) this year 🫠 ![](https://broddinblog.on-forge.com/storage/299/image-2.png) (\* I forgot I don't have a job for a moment. ) ### Life After Automattic: Week 4 URL: https://broddin.be/life-after-automattic-week-4/ Last updated: 2026-07-19T19:03:57.000Z *I didn't like the ring of "Freedom Update". It sounded too much "USA! USA! USA!", so I renamed it to Life After Automattic.* For those who missed the backstory: Four weeks ago, CEO Matt Mullenweg asked all of Automattic to either get behind him or leave the company with a 6-month severance. I took the offer, and I'm now taking some time off to think about what's next for me, try out some projects, do some fun coding, and reprioritize life. This week's update is lighter than usual since it was Autumn break—the kids were home from school, and I spent most of my time with them. I also caught a cold, which is my least favorite way of being sick. You're functional enough to do things, but everything feels like a drag, and there's just so much congestion to deal with. ### Lijsje Lijsje started gaining traction, primarily thanks to the Google Adwords campaign. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Lists created&lt;/span&gt;](https://broddinblog.on-forge.com/storage/135/cleanshot-2024-11-02-at-101138-at-2x.png) Lists created Made some notable improvements this week: - Added reminder emails for empty lists and lists that haven't had any items checked off after a week. Once again, Laravel made this surprisingly straightforward to implement. - I added a [blog](https://lijsje.be/inspiratie?ref=broddin.be) with some inspirational tips. - I pimped my admin dashboard to contain some stats which give insight into the target audience. ![](https://broddinblog.on-forge.com/storage/136/cleanshot-2024-11-02-at-101825-at-2x.png) ### Endgame Endgame is ready to ship, but I'm stuck in Apple Developer account limbo. Last week, I created a new Apple Developer account properly linked to my business and started transferring everything from my old account. Just as I was nearly finished, I got locked out of the new account. Every attempt at unlocking it has resulted in a 24-hour waiting period followed by... ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;🤷‍♂️&lt;/span&gt;](https://broddinblog.on-forge.com/storage/137/cleanshot-2024-11-02-at-102452-at-2x.png) 🤷‍♂️ I'm in touch with their support, but the back-and-forth is painfully slow. Next week's mission: try to reach an actual human at Apple. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/01.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/02.png) In the meantime, I'm working on features planned for v1.1: - Push notifications ("Damn boy, you only have 70 million steps left!") - Support for sharing to TikTok and Snapchat ### Misc - We finished cleaning out the cellar. There was a lot of junk to bring to the recycling center. I'm so glad it's finally all gone. ![](https://broddinblog.on-forge.com/storage/140/img-0669.jpg) - It looks like GitHub brought most of the stuff that makes [Cursor](https://www.cursor.so/?ref=broddin.be) the best AI-powered code editor to Visual Studio & Copilot. Most importantly, support for more models (they're finally admitting that ChatGPT sucks at coding) and multi-file edits. I'm planning to give it a try next week. - The makers of my favorite browser, Arc, announced last week that they'd put Arc on the back burner while they work on a new simplified browser. Arc's been my primary browser for these past 2+ years and I've always had the fear that something like this will happen. Investors always want their money back.I've dabbled with the [SigmaOS](https://sigmaos.com/?ref=broddin.be) browser this past week, and I don't know. I like its speed and Apple integration (logging into Apple with TouchID is more fun than Apple's very flawed Passkey flow), but I miss the pinned tabs at the top and bookmark folders. And Safari Devtools—it's kind of like going back to the 1900s. ### Freedom Week 3 URL: https://broddin.be/freedom-week-3/ Last updated: 2026-07-19T19:03:59.000Z Three weeks without [Automattic](https://broddin.be/content/files/2026/07/farewell-automattic.html), a quick update. ## Day off This was a four day work week for me, since the kids had a free day on Monday. We went to the [Illusion Museum](https://illusionantwerpen.be/?ref=broddin.be), which sits somewhere between a very obvious tourist trap and an actual fun activity. The kids did enjoy it a lot, and there's some cool photographs you can take there: ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;You wouldn&#039;t know how this illusion works, right&lt;/span&gt;](https://broddinblog.on-forge.com/storage/142/img-0515.jpg) You wouldn't know how this illusion works, right Afterwards we went to eat waffles & pancakes. Fun day. ## Endgame I spent most of my time this week getting Endgame ready for release. And, well, I think it just might be finished. ![](https://broddinblog.on-forge.com/storage/143/cleanshot-2024-10-25-at-114617-at-2x.png) Things I worked on this week: - Added a Dark mode. - Sharing. There's now native sharing to Instagram and Facebook Stories. - There's now a lot more fun categories. Ever wondered how many bricks of LEGO you'll still step on in your lifetime? Or how many spiders you'll still eat in your sleep? Well, now you can. - Consistent copy across the app. - Tons and tons of bug fixes. - Added and removed the ability to see how many X you've done, instead of left. It might return in version 1.1. - Getting an Apple Developer account ready for my company, so my accountant is happy when this app makes any sales. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-2-1.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-3.png) Oh, and I also created a landing page for the app. Since most domain names with endgame were already taken, I had to settle for [endgame.now](https://www.endgame.now/?ref=broddin.be). It's a simple self-hosted Next.js website. ![](https://broddinblog.on-forge.com/storage/146/cleanshot-2024-10-25-at-121455-at-2x.png) Next week I'll try to squeeze in submitting the app, and all five thousand screenshots required to Apple, so the waiting game can begin. ## Lijsje.be [Lijsje.be](https://lijsje.be/?ref=broddin.be) was off to a very slow start. The first days did barely see any lists being created. So I did two things. The first is redesign the homepage. The old version looked way too bland. I also used generative AI in Illustrator to create a more friendly icon. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2024-10-25-at-113606-at-2x.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2024-10-25-at-113321-at-2x.png) The second thing I did is throw some free Google Ads credits at it. Let's see if it creates some sort of flywheel effect. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Visitor numbers are sloooooowly increasing.&lt;/span&gt;](https://broddinblog.on-forge.com/storage/149/cleanshot-2024-10-25-at-113810-at-2x.png) Visitor numbers are sloooooowly increasing. Other changes this week include better email templates, more Plausible analytics tracking, and some changes to my internal dashboard. I also joined tons of affiliate programs 💸 ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Nice stats in the internal dashboard. So easy with Laravel &lt;/span&gt;&lt;a href=&quot;https://filamentphp.com/&quot;&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Filament&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;](https://broddinblog.on-forge.com/storage/150/cleanshot-2024-10-25-at-114211-at-2x.png) Nice stats in the internal dashboard. So easy with Laravel Filament. ## Misc - I started working on my own little company's website. I still have no idea what's next for me after I get bored of doing nothing, but it feels like a good idea to have a web presence besides this blog. I settled on Next.js + DatoCMS for this, but it's still in its very early stages. - Our Roborock vacuum/mopping robot started leaking a lot last week. This week I learned that sending a robot vacuum and cleaning base to Poland by mail is a hassle. It turned out to be a very big box. - My intention to do a 30 min training session on the training bike is still going strong 💪 It really helps me to focus much better doing the rest of the day. ![](https://broddinblog.on-forge.com/storage/151/cleanshot-2024-10-25-at-123404-at-2x.png) - I've been listening a lot to The Flaming Lips again lately. When their album **Oczy Mlody** came out I ignored it because they kinda lost me by then. I (re)discovered the album this week and it's such a gem. I like The Flaming Lips most when they sound somewhere between a celebration of life and a funeral. Oczy Mlody nails that sound. ### Freedom Week #2 URL: https://broddin.be/freedom-week-2/ Last updated: 2026-07-19T19:04:01.000Z It's the second week since I've decided to [resign from my role](https://broddin.be/content/files/2026/07/farewell-automattic-1.html) at Automattic. And well, time flies when you're having fun 😄 The past week, I worked on the [two side projects](https://broddin.be/content/files/2026/07/freedom-week-1-6.html) I mentioned last week. ## Endgame In January 2020, I started a fun little project: a step counter showing how many steps you've left until you die. I did not hit my imposed deadline of releasing a TestFlight beta version this week. I had too much fun on the other project and kind of sidetracked Endgame this week. What I did manage to do is completely overhaul the onboarding, which looked corporate and which was tedious before, to something more fresh and less obtrusive. **Before:** ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/simulator-screenshot-iphone-16-2024-10-18-at-134543.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/simulator-screenshot-iphone-16-2024-10-18-at-134550.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/simulator-screenshot-iphone-16-2024-10-18-at-134600.png) **After:** ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/simulator-screenshot-iphone-16-2024-10-18-at-135001-1.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/simulator-screenshot-iphone-16-2024-10-18-at-135052-1.png) Other changes from this week include swapping out the HealthKit library, polishing some components (like moving the date picker inside a slide-over modal as seen above), adding support for miles, and making sure you never get 0 steps left. I hope to have a beta ready next week and ship this fun little project before November arrives. Although, I'm afraid I'll need to remove the Adult category to get Apple to approve it 🫣 ![](https://broddinblog.on-forge.com/storage/158/simulator-screenshot-iphone-16-2024-10-18-at-135455.png) ## Lijsje A mini side project I've been pondering is something that has been done numerous times before. However, none of the implementations I've tried so far have hit the mark regarding ease of use or are any faster than just using a Google Doc. The idea is wishlist management, which is making a list of things you want for, for example, your birthday, where people can cross off items. Every website I've tried so far requires me to create an account or throws everything and the kitchen sink at the problem. I was a JavaScript guy for the past ten years or so, but even though my title at Automattic was JavaScript engineer I think 80% of the code I wrote there was PHP. And much to my surprise ... [PHP doesn't suck (anymore)](https://www.youtube.com/watch?v=ZRV3pBuPxEQ&ref=broddin.be). PHP has gotten a lot better in the past years, and Laravel is a big reason why. Laravel is a Swiss Army knife for building modern websites. Unlike most JavaScript frameworks that mainly just handle routing, Laravel comes fully loaded. It's got everything you'd usually need to tack onto a (for example) Next.js app to make it actually useful: ORM, Auth, task scheduling, email handling, and more. The Lijsje project is an excuse to try out Laravel, on a problem that's simple enough not to lose myself in. I started working on it Monday afternoon, and a couple of hours later, I had a basic working prototype. Laravel really blew my mind even more than I expected. It took me two more days to get it in a shape I deemed acceptable for an alpha version. Nerd alert! It features: - A WebSocket backend, to sync people checking things off a wishlist across different sessions. - A Redis-based worker queue. - Transactional emails through Amazon SES. - An admin panel. - [Livewire](https://laravel-livewire.com/?ref=broddin.be) components that handle the AJAX calls. - A Vercel-like build system, thanks to [Envoyer](https://envoyer.io/?ref=broddin.be) and [Forge](https://forge.laravel.com/?ref=broddin.be). It's unreal to build such a complex system so quickly, and even more so in a framework I've not touched in a long time. Laravel is beyond amazing, I soft-launched the alpha version of Lijsje yesterday. Please try it out (if you speak Dutch): [](https://lijsje.be/?ref=broddin.be) ## Misc - I bought a new record player last week, and I've been spinning the new Bright Eyes record [Five Dice, All Threes](https://brighteyes.lnk.to/Five-Dice-All-Threes?ref=broddin.be) like crazy. Such an amazing record, their best one since 2007's Cassadega. ![](https://broddinblog.on-forge.com/storage/159/66264247-c0f2-4b26-a998-2274100fb530-1-105-c.jpg) - I'm trying to avoid all the drama related to my former employer, but it seems he made [another alignment offer](https://www.theverge.com/2024/10/17/24272867/automattic-employee-buyout-wordpress-drama?ref=broddin.be) to current employees, and now they get a nine-month payout when they quit because they are not aligned. I'm glad I took the offer when it was first offered, because it felt like the right thing to do, but damn. - I forgot to change the DNS-record of [www.woordje.be](https://www.woordje.be/?ref=broddin.be) to my self-hosted environment. After I canceled my Vercel Pro plan, people started getting issues. All is fixed now. - We spent Wednesday afternoon in the sand at [Bar Leon](https://www.barleon.be/?ref=broddin.be), which was a lot of fun. - Friday was spent entirely on going to the hairdresser, buying some new clothes and shoes, charging the car, and writing this update. - I also replaced Minne's bike's tire, which was not as challenging as I imagined it would be 😆 - I look forward to playing [Super Mario Party Jamboree](https://www.nintendo.com/us/store/products/super-mario-party-jamboree-switch/?srsltid=AfmBOooeUvM0UWFzgVG52CmegvV5t2QBV3wThB58A8TG1UICzG2u2lIS&ref=broddin.be) with the kids when they get home. ### Freedom Week #1 URL: https://broddin.be/freedom-week-1/ Last updated: 2026-07-19T19:04:04.000Z Week 1 of me [not having a job](https://broddin.be/content/files/2026/07/farewell-automattic-2.html) has almost finished, and it was great 🎇 At my previous team at Automattic, a Slackbot would ping me daily to ask what I've been up to, a sort of daily virtual standup. I liked it, as it put some pressure on me to get things done and keep a record of what I've been up to. As I want to make the absolute most out of every day given to me, I've decided to keep a log. And since I'm all about building stuff in public, I will post it to my site here as well. ## Endgame In January 2020, I started a fun little project: a step counter showing how many steps you've left until you die. I've had much fun working on it, but finishing it was hard. Scope creep kicked in in, I had trouble preventing HealthKit syncing from causing tons of edge cases, and Reactive Native was being a bitch. Over the past few years, I've made a couple of attempts at reviving it, but I gave up every time because finishing it requires focus, and something always came up. I picked it up again this week and did quite some things: - Started over fresh, using [Expo](https://expo.dev/?ref=broddin.be) instead of - Converted all JS code to TypeScript - Migrated the old Redux code to redux-toolkit. - Played around with some i18n packages and settled on [Lingui](https://lingui.dev/?ref=broddin.be). - Translated the app in Dutch. - Made HealthKit syncing more robust. - Added some extra categories. - Reduced scope (gone are Apple Watch support and subscriptions - why did I ever think subscriptions were a good idea?). - Came up with a better name: Endgame. The original name was Hour Zero, which sounds like a bad zombie apocalypse movie. At least we're in Marvel territory now. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-4.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-1-1.png) The road to a release is still long, but I hope to be able to share a TestFlight link next week. ## Selfhosting On Wednesday, I worked on an update of an internal tool we have at Wannabes, which takes a post and uploads an Instagram carousel based on it. ![](https://broddinblog.on-forge.com/storage/163/cleanshot-2024-10-11-at-085336-at-2x.png) This is an old Next.js tool that uses Playwright under the hood to take a screenshot of the carousel. It's hosted on Vercel, and it's been giving me lots of headaches. Because of ✨ Serverless ✨ an API function cannot be bigger than 50M. Finding a Chromium binary with no issues to fit inside 50M has been a hassle every single time I touched this project. Vercel is also not cheap anymore. I paid $30/month for a Pro plan for a very long time, and in the beginning, I could throw whatever I wanted at it and stay within the limits. Recently, however, I've been hitting the limits of function calls quite often, resulting in extra charges. Vercel also chose to stop sponsoring [Woordje.be](https://www.woordje.be/?ref=broddin.be)'s hosting. Woordje uses ✨ Serverless ✨ GraphQL API, which at the volume Woordje is visited does not fit within Vercel's Pro plan at all. Since Next.js is [supposedly hard to self host](https://www.youtube.com/watch?v=E-w0R-leDMc&ref=broddin.be) I looked into a way to do it 😅 I found two really cool projects: - [Dokploy](https://dokploy.com/?ref=broddin.be) - [Coolify](https://coolify.io/?ref=broddin.be) Both platforms offer seamless GitHub integration, enabling automatic deployment on push and LetsEncrypt provisioning for domains. They also support Next.js projects out of the box and provide numerous templates for popular applications like Plausible, Ghost, and Supabase. While Dokploy's interface closely resembles Vercel's, I opted for Coolify due to its enhanced configurability. Both solutions utilize Nixpacks and Docker containers as their underlying technologies. I've set up a cheap VPS with Coolify, which is currently hosting the [Wannabes.be](https://wannabes.be/?ref=broddin.be) frontend, the internal Instagram tool, [Woordje.be](https://woordje.be/?ref=broddin.be) and my own [Plausible](https://plausible.io/?ref=broddin.be) instance. This allowed me to cancel my Vercel Pro subscription, saving some money. ## Lijsje A mini side project I've been pondering is something that has been done numerous times before. However, none of the implementations I've tried so far have hit the mark regarding ease of use or are any faster than just using a Google Doc. The idea is wishlist management, which is making a list of things you want for, for example, your birthday, where people can cross off items. Every website I've tried so far requires me to create an account or throws everything and the kitchen sink at the problem. I envision a site as simple to use as a Doodle, has real-time multiplayer, and requires no account creation or even cookies. It's still early days, but I've secured the domains lijsje.be and lijsje.eu (lijsje.nl was already taken 🥲). I plan to start scaffolding this project next week. I think I'm going to use Laravel since I've been doing too much Next.js lately. ## Cleaning the cellar I've also spent considerable time cleaning the cellar and driving to the recycling center this week. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/2d1f08d8-0ee0-4c8d-8708-e475927ef014-1-105-c.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/7afbb46e-ce02-4977-822f-d3e4f93b5b35-1-105-c.jpg) ## Misc Some weeks ago, I added a [WLED](https://kno.wled.ge/?ref=broddin.be)\-controlled string of lights above our bed. The mounting hooks I used on the wall had weak adhesive, and everything came down at night this week. I designed and 3D-printed some more sturdy hooks, which, together with some really good double-sided adhesive, should hold 🤞 ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/d227e4c0-c9d8-481f-b7b6-9c9a4128f1b8-1-105-c.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2024-10-11-at-135550-at-2x.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/47e27f95-c25b-4d0a-92e4-282881848572-1-105-c.jpg) I also finally got the chance to use [Cursor](https://www.cursor.so/?ref=broddin.be) full-time. Cursor is an AI code editor, that leverages multiple models (Claude 3.5, GPT4o, ...) to supercharge coding. It blows my mind. ### 👋 Farewell Automattic URL: https://broddin.be/farewell-automattic/ Last updated: 2026-07-19T19:04:04.000Z A week ago today, I started just another week of work. It was supposed to be a normal week with nothing major planned. On Wednesday morning, I sent my HR representative a Slack DM and told her I wanted to leave the company. On Tuesday, Wednesday, and Thursday, 158 other employees contacted HR with similar intentions to leave the company. In case you've missed it, there's been a lot of drama surrounding the WordPress ecosystem and Matt Mullenweg, Automattic's CEO and head of the Open Source WordPress project. It's a mess with many important details, but there's a good summary about it [here](https://techcrunch.com/2024/10/04/wordpress-vs-wp-engine-drama-explained/?ref=broddin.be#:~:text=The%20core%20issue%20is%20the,%E2%80%94%20around%2040%25%20of%20websites.) and [here](https://www.theverge.com/2024/9/27/24256361/wordpress-wp-engine-drama-explained-matt-mullenweg?ref=broddin.be). Matt asked anyone who did not align with his motives or actions to leave the company and made a generous [offer](https://ma.tt/2024/10/alignment/?ref=broddin.be) to ensure that no one was left hanging financially. I took the offer. There are two reasons: Firstly, I'm not aligned with the actions taken. I tried aligning but just couldn't. Whenever I started feeling somewhat aligned, some new fact or action would come up, taking away a lot of mental headspace. As Steve Jobs famously said: Don't be trapped by dogma - which is living with the results of other people's thinking. Secondly, I was holding myself back. I didn't feel creatively challenged anymore. I was in charge of (and nailed 💪) a lot of significant technical projects, but they didn't give me the energy I get when working on the things I love to work on, which are smaller and more quirky. ## So what's next? I have no clue, and that's frightening fine. The offer details are no secret since my ex-CEO [shared](https://ma.tt/2024/10/alignment/?ref=broddin.be) them with the world. I receive six months of pay, which gives me the comfort to think about what I want to be doing next. I've been working nonstop for almost twenty years now, and I've dreamed of having the luxury to step back for some time. Some things I plan on doing these first weeks: - Finish an app that's been sitting at 95% done on my hard drive since before COVID-19. - Maybe work on some other ideas I've been having. - Clean the cellar. - Read. - Give my family all the attention they need. - Keep working out daily. A couple of weeks ago, I started doing 30-minute bike training sessions every day before work, and it's refreshing. - Get on top of all things on the web again. I've missed being on the cutting edge of technology. - Write a blog post about the good, the bad & the ugly of working two years at a fully remote company. (spoiler: it's mostly good) - Avoid all drama. After I finish all that, I hope I will better understand what's next for me. One thing I hope to keep doing is making the web a better place™. ### Jane's Addiction **** URL: https://broddin.be/janes-addiction/ Last updated: 2026-07-19T19:04:06.000Z It was August 2002, and I found myself standing on a smelly and muddy festival ground. It was cold, I had lost all my friends, but I was witnessing one of the most captivating concerts I had ever seen. On stage was Jane's Addiction, a band of whom I only knew Jane Says because I accidentally downloaded it on Kazaa a few weeks earlier. It just hit. The theatrics of singer Perry Farell and the roaring guitar play of Dave Navarro were something I had never heared before and made me a big fan of the band. Over the next few years I turned into a very big fan, even collecting bootlegs of nearly every gig they ever played and burning them onto CD-R's. It took them 22 years to come back to Belgium. My initial expectations were low, because the two records they've released between then and now are mediocre at best — and it's often not the best idea to have high expectations for nostalgic reunion shows. But boy, they did kill it. The band created a massive wall of sound that engulfed the audience, and they delivered all of their classics with the same raw energy and passion that made me fall in love with them in the first place. Watching the band perform, I felt a sense of déjà vu wash over me. The wide-eyed, 18-year-old version of myself who had stood in awe at that muddy festival ground all those years ago seemed to nod in approval, his spirit still very much alive inside the 40-year-old I am today. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-9194.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-9163.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-9176.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-9226.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-9236.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-9244.jpg) ### The Eras Tour ***** URL: https://broddin.be/the-eras-tour/ Last updated: 2026-07-19T19:04:08.000Z There's this thing about perfection. It can look like something obvious, almost effortless, because it's too easy to overlook that perfection didn't happen overnight. It's easy to ignore that a perfect moment, product, album, or concert is the accumulation of everything that came before. Every small step and every failure along the way all led up to this moment in time. Perfection is about not giving up along the way, not becoming lazy, or settling at 70% of getting there. Perfection is pushing through, even when you don't have any more to prove to the world. Perfection is outdoing yourself in a way you've never done before, in a way that's not deemed possible. Taylor Swift's The Eras Tour should be on Wikipedia when you search for the definition of perfection. We traveled to Lisbon last week to see Taylor's first night of two, which was out of this world. Even though I've watched the concert many times on television, seeing it in real life is mindblowing. There's just no way a television picture can convey the feeling of being inside a giant stadium with 65,000 people singing every word of every song. Seeing an artist performing for 3.5 hours without any breaks, running and dancing on a massive stage, and giving her all to every person in the stadium is breathtaking. And even though the show is very tightly directed, and there are absolutely no surprises to be found anywhere at all (except in the acoustic set), the execution is just so damn incredible. There are goosebumps moments everywhere, from the first bridge of the evening (*I'm drunk in the back of the car*), over the fantastic ten-minute version of All Too Well (by far the best song written in this century) to the 4.5-minute-long [standing ovation](https://www.tiktok.com/@twopsandapassport/video/7372720332601478446?q=taylor%20lisbon%20ovation&t=1716834245934&ref=broddin.be) Taylor received after Champagne Problems— all in the feels, all in the feels. Few artists could fill a 45-song setlist without any dull songs, and The Eras tour is a prime demonstration of Taylor Swift's unique ability to write and compose amazing songs that so many people can relate to. Looking at her career, she's pushed through every pushback and kept on writing, performing, and getting stronger and stronger. She's found her voice so many times by now, reinventing herself without ever sacrificing herself. It led up to this moment, this tour de force that, when this tour ends, she will have performed for over 10 million people 🤯 The only thing that worries me now is where she can go next. She's reached the moon. Can she shoot any higher? But I have no doubt a genius like Taylor Swift will figure that out. Most asked question lately: so are you a Swiftie? Well, yes. Even though I don't like the term Swiftie, because I don't call myself a Radioheadie, Flaming Lipsie or IDLESIE either. I've been pulled in by Ryan Adams, who covered 1989, and who made me relisten the original record and really made me *listen* to what Taylor had to say (a lot). Ever since I've been pulled in deeper and deeper, and she's become one of my favorite artists. But hey, I shouldn't defend myself for being a fan because who's Taylor Swift anyway? *ew* ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-8934-2-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-8947-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-8970-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-8972-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-8991-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-8999-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-9029-1.jpg) ### Upgrading Home Assistant Yellow's Zigbee2MQTT from EZSP to Ember URL: https://broddin.be/upgrading-home-assistant-yellows-zigbee2mqtt-from-ezsp-to-ember/ Last updated: 2026-07-19T19:04:08.000Z Our smart home runs on a Home Assistant Yellow, which uses an EZSP adapter for its Zigbee communications. Unfortunately, EZSP support inside Zigbee2MQTT has been experimental forever and didn't allow you to do network backups, among other things, such as TouchLink. Recently, Zigbee2MQTT introduced a new driver called `ember` for ESZP devices, which should lift those limitations on top of being more performant and stable. I tried upgrading a couple of times this week and always ran into trouble, so I made this little guide, even though it isn't rocket science. This guide should also apply to other EZSP adapters, although it will be easier to use the [web-based flasher](https://darkxst.github.io/silabs-firmware-builder/?ref=broddin.be) for those. ## Upgrade the firmware of your Zigbee Adapter 1. Go to Addons > Zigbee2MQTT and stop the addon 2. Go to Addons & click the Addon Store button 3. Click the three dots in the top right, click repositories & add `https://github.com/mercenaruss/zigstar_addons` 4. Now you should be able to install the Silicon Labs FW Flasher addon ![](https://broddinblog.on-forge.com/storage/188/cleanshot-2024-05-16-at-092740-at-2x.png) 1. When installed, click the addon (don't start it yet!) and go to settings. 2. Visit [this page](https://github.com/darkxst/silabs-firmware-builder/tree/ember-nohw/firmware%5Fbuilds/yellow?ref=broddin.be) in a new tab and copy the URL of the latest `ncp-uar-hw-*` firmware. 3. Paste this link in the Firmware URL field, but replace `blob` with `raw`. At the time of writing, this would is `https://github.com/darkxst/silabs-firmware-builder/raw/ember-nohw/firmware_builds/yellow/ncp-uart-hw-v7.4.3.0-yellow-115200.gbl` 4. Check `/dev/ttyAMA1` and `115200` baud rate. ![](https://broddinblog.on-forge.com/storage/189/cleanshot-2024-05-16-at-093619-at-2x.png) 1. Save the settings and start the addon 2. Keep an eye on the logs for errors ## First, start Zigbee2MQTT normally It's very important to start Zigbee2MQTT using the ESZP driver once. Otherwise, you will get the error `*Current backup file is from an unsupported EZSP version (min: 12*)`. To do so, make sure you have these settings under the `serial` section Zigbee2MQTT: Now start Zigbee2MQTT. It should boot. Give it time to discover all your devices, then stop it again. ## Finally, change the driver to ember Now swap out `ezsp` for `ember`, and you should be good to go. ### Leo games (Dutch) URL: https://broddin.be/leo-games-dutch/ Last updated: 2026-07-19T19:04:09.000Z Ergens in de jaren '90 kreeg je bij aankoop van een pak LEO's een diskette met daarop een spel. Er waren twee spellen in omloop Leo Labyrinth en Leo Catch. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Credit &lt;/span&gt;&lt;a href=&quot;https://breezie.be/blog/289/milka-leo-catch-labyrinth-the-leo-computer-game-collection/&quot;&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;breezie.be&lt;/span&gt;&lt;/a&gt;](https://broddinblog.on-forge.com/storage/191/knipselz.jpg) Credit breezie.be Allebei waren niet echt top. Maar om één of andere reden zitten deze games diep in het geheugen van een hele generatie gegrift. Een paar jaar geleden werd me gevraagd of ik die oude games speelbaar kon maken in de browser, voor [het Stubru programma Gamelab](https://www.youtube.com/playlist?list=PLy8iBaOQWSCrDFeR9ZMDjG0VgJq2B8yA0&ref=broddin.be). Het was toen iets te kort dag, en oude Windowsgames speelbaar maken in de browser lag toen nog niet super voor de hand. Maar het bleeft wel kriebelen. Toen ik even geleden op X een tweet zag passeren besloot ik nog eens een poging te wagen. > Herinner je je de LEO-diskette die bij de LEO-wafels zat? Was nog oprecht een leuke game! > > — Julian De Backer (@juliandebacker) [March 23, 2024](https://twitter.com/juliandebacker/status/1771497829497762185?ref%5Fsrc=twsrc%5Etfw&ref=broddin.be) Hier zijn ze dan. LEO Catch & LEO Labyrinth speelbaar in de browser. Geef ze even de tijd om te laden na het klikken. Voor de techneuten: dankzij [BoxedWine](https://www.boxedwine.org/?ref=broddin.be) wordt een volledige Linuxmachine geëmuleeerd in WebAssembly die dan op zijn beurt Wine (een Windowsemulator) draait om de 16-bit games te emuleren. In de browser. We leven in de toekomst. ### Secret Life URL: https://broddin.be/secret-life/ Last updated: 2026-07-19T19:04:10.000Z Sometimes a record clicks right from the first time you hear it. And sometimes it doesn't, and you lose track of it, never to listen to it ever again. One such record that almost vanished from my Recently Added screen is **Secret Life** by Brian Eno and Fred Again... I listened to it once while working, classified it under boring elevator music, and moved on. Recently, I had a night flight home from Recife (Brazil) to Lisbon. It departed at around midnight and would take over 8 hours. I had a terrible night before, so I desperately needed to sleep. However, when you really want to sleep, you won't. I also didn't have any good music to fall asleep to. Normally I tend to preload some Sigur Ros or Nils Frahm on my iPhone - but I totally forgot. And IDLES or Taylor Swift really isn't music to fall asleep to. Except, there was one album. I must've accidentally pressed the button to download it. It was Secret Life. I thought: well, at least this elevator music would make me fall asleep. Of course, it didn't. I listened to Secret Life around ten times on that flight. Sometimes wide awake, sometimes a bit dozed off, never asleep. And it was so beautiful. It finally clicked. Please listen to it, give it a chance, and if it doesn't click right away, try again—ten times or so. You might just find yourself falling in love with this gem of an album. Listen to it on [Apple Music](https://music.apple.com/be/album/secret-life/1677345068?ref=broddin.be) or [Spotify](https://open.spotify.com/album/1FJVbtVFLARPKbn1HepNh1?si=rLtBSFqtTomB-Di1OduLmg&ref=broddin.be). ### Studio.Fuckhedz #14 URL: https://broddin.be/studio-fuckhedz-14/ Last updated: 2026-07-19T19:04:10.000Z It's already been over a year since I last created a playlist, but as I was walking back from bringing the kids to school this morning listening to Phosphorescent's excellent new single "Revelator", I felt the urge to create a new one again. I've just gotten back from a wild work trip to Brazil. What a beautiful country with such amazing people—but man, that heat was no joke. Temperatures were pushing 33°C, but the crazy humidity made it feel even hotter. Being back home made me appreciate our climate again, especially on days like today with that perfect winter sunshine. It's cold for sure, but you can just bundle up in all your coziest layers and it feels great. That's exactly the vibe I'm going for with this new playlist - it's like a warm musical blanket to wrap yourself in on these sunny yet chilly days. I wanted to capture that feeling of curling up inside while the world outside is bright and crisp. The kind of songs that just wrap around you like a hug when you need a little dose of soul warmth. They'll have you dreaming of sipping hot chocolate by the fire, watching the cold outside your window. 1. Phosphorescent - Revelator 2. Bill Ryder-Jones - I Know That It's Like This (Baby) 3. Taylor Swift - coney island (feat. The National) 4. The National - Laugh Track (feat. Phoebe Bridgers) 5. Better Oblivion Community Center - Chesapeake 6. Bright Eyes - Napoleon's Hat (Companion Version) 7. Brian Eno & Fred Again - Enough 8. Lana Del Rey - A&W 9. Sufjan Stevens - So You Are Tired 10. Black Country, New Road - The Place Where He Inserted the Blade 11. Indigo De Souza - Younger & Dumber 12. Eels - TIME Listen on [Apple Music](https://music.apple.com/be/playlist/studio-fuckhedz-14/pl.u-YWJ5PFYv4rq?ref=broddin.be) or [Spotify](https://open.spotify.com/playlist/6NtDa7Vima9DdP5g46bcJC?si=b6090344c36d4dfc&ref=broddin.be). ### Always Open With in Finder URL: https://broddin.be/macos-always-open-with-in-finder/ Last updated: 2026-07-19T19:04:10.000Z I've been using a Mac for almost twenty years now, and one thing that has always annoyed me is changing the default applications that open certain file types. Changing a default application is a multi-step task: - Right-click the file - Select Open With - Select Other (even when the application you want to make the default is listed there). - Find the application you want in the Finder window that pops up - Don't forget to check "Always Open With," or you did all this for nothing. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2024-03-06-at-125720-at-2x.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2024-03-06-at-125855-at-2x.png) I hate this approach. It's so cumbersome, and I've been wishing for Apple to fix this forever. But they don't. So let me show you a much quicker way. ![](https://broddinblog.on-forge.com/storage/196/cleanshot-2024-03-06-at-130218.gif) You can change the Open With menu item to Always Open With with a key. While the context menu is open, just press Option (**⌥**). ### Eighteen months at Automattic — farewell team Apex URL: https://broddin.be/goodbye-team-apex/ Last updated: 2026-07-19T19:04:13.000Z It's been 18 months now since I joined Automattic, and I've been planning to write about how it is to work at a fully remote company for a while now. But I never got past the first draft. ![](https://broddinblog.on-forge.com/storage/198/cleanshot-2024-03-05-at-093147-at-2x-1.png) The reason is that it's very tough to condense it into a blog post. So much has happened these past 18 months that I wouldn't know where to start. I'm forcing myself to look back since I'll be changing teams tomorrow. Changing teams occasionally is considered quite normal at Automattic, which I think is a good thing to keep things fresh. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Team Apex in Recife, Brazil. Left to right: me, Maciej, Yan, Ivan, Paulo and Juan. André is missing.&lt;/span&gt;](https://broddinblog.on-forge.com/storage/199/7a24e1d3-d237-44fe-acb9-9f3353b4de1a-1-105-c.jpg) Team Apex in Recife, Brazil. Left to right: me, Maciej, Yan, Ivan, Paulo and Juan. André is missing. When I started at Automattic in September 2022, I was assigned to team Apex. My very first encounter with the team was already quite special. My team-lead then, Yan, visited me in Antwerp, and we went to the zoo to get to know each other. The rest of the team joined virtually via Zoom, which was something the other visitors of the Zoo didn't really seem to have witnessed before 😀 ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Visiting the Elephants in the Zoo.&lt;/span&gt;](https://broddinblog.on-forge.com/storage/200/e7c60dcf-1c02-4770-b876-c0b48ef8c6ac-1-105-c-1.jpg) Visiting the Elephants in the Zoo. I've had so much luck with every team I've had during my working life, and Apex was no different. Despite cultural differences - the team has people from Brazil, Slovakia, Poland, Spain, and Malaysia - it clicked right from the start. Not only professionally, where all of us were complimentary, but most of all on a personal level. One of my biggest fears when joining Automattic was that working asynchronously wouldn't allow for true human connection, that we'd all just be little robots producing code from home, but I turned out to be very wrong. A core part of working at Automattic is the meetups. It is expected for every team to meet a couple of times a year. I've had the pleasure of going with these guys to Denver, Tenerife, Krakow, Munich, and Recife - and each was a blast. Combining work, culture, and (tons of) fun really brought the team together. It also brought me to places that I might have never visited on my own. The Krakow and Recife meetups were led by locals (Maciej from Poland and Paulo and André from Brazil), which brought us to spots off the beaten track. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/85822148-09b2-40ed-92e9-de7bedecf62f-1-105-c-1.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/6fa46723-750f-4e22-8800-a201b4b71d55-1-105-c.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/36895e9e-7348-4725-95cc-2737ac18b061-1-105-c.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/d3009b15-6287-4bb0-a19a-fd777a9e2804-1-105-c.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/8c3ad6a0-b467-413e-aea8-dbfad3dc580d-1-105-c.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/4f7e689d-51e7-406d-91b7-e7318726c9c3-1-105-c.jpg) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/32596256-ce37-4768-b043-e28711a32e09-1-105-c.jpg) Professionally, I was asked to lead the Apex team for a few months. This role was a great opportunity to understand my strengths and weaknesses. I found joy in the architectural aspects of leadership, such as breaking down a large project into manageable tasks. However, I also realized that the administrative responsibilities that came with the role were overwhelming and not within my realm of expertise. This led me to the conclusion that I thrive more as an engineer. One of the many cool things at Automattic is that such role change doesn't come with any extra compensation - so stepping down is easy. It also prevents people from [rising to their level of incompetence](https://en.wikipedia.org/wiki/Peter%5Fprinciple?ref=broddin.be#:~:text=The%20Peter%20principle%20is%20a,competent%2C%20as%20skills%20in%20one) (The Peter Principle). During my time with team Apex, we mostly worked on subscriber and subscription management. The two projects I'm most proud of myself are newsletter stats where we store a huge ton of data about sends, opens and clicks of newsletters and present them in a very clean way, and Apple Mapkit integration, which greatly reduced cost compared to the provider we were previously using. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2024-03-05-at-110508-at-2x.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2024-03-05-at-110631-at-2x.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2024-03-05-at-110817-at-2x.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/cleanshot-2024-03-05-at-110936-at-2x.png) Was it all blue skies? Well, of course not. Working remotely and async has its fair share of advantages, but it also has challenges. Communication is super important, and it's quite easy to misunderstand or misread things, especially without explicit non-verbal communication. This can make situations based on misunderstandings grow into monsters that are way bigger than they should be. Luckily, these things were always resolved with more communication. As Automattic's creed states: [communication is oxygen](https://automattic.com/creed/communication-is-oxygen/?ref=broddin.be). Tomorrow will mark my first day at Team Caribou. It's hard to leave behind my old team because I love them all, and I dig the vibe we have in the team. But I'm always curious about what's behind the next corner, so I said yes when the question came. As the proverb goes: change is the only constant in life. Thank you to an absolutely fantastic team for these past 18 months. I look forward to whatever's on my path in the next eighteen. ### The Bambu Lab X1C URL: https://broddin.be/bambu-lab-x1c-review/ Last updated: 2026-07-19T19:04:14.000Z Three years ago marked [my first venture into 3D printing](https://broddin.be/content/files/2026/07/3d-printer-prusa-i3-mks3.html). Ever since I’ve been printing non-stop, and I’ve been enjoying making my kids, friends, and family happy with funny and useful prints. Scroll down to the very end of this article for an image of some funny NSFW prints. A couple of months ago, I bought a new 3D printer: the **Bambu Lab X1C**. I was (and still am) a happy Prusa user – I owe both a **Prusa i3 MK3S+** and a **Prusa Mini+**, and I even had a pre-order open for the **Prusa XL**. But around a year ago, Bambu Lab came out of nowhere and introduced a printer that blows my old Prusa’s away: - It’s enclosed. - It’s speedy. - It’s a CoreXY printer, meaning the bed doesn’t sling back and forth like an i3-style printer. This improves print quality and speed. - It has a multi-material system that works (compared to the blood, sweat, and tears [the Prusa MMU](https://broddin.be/2021/07/13/troubleshooting-the-prusa-mmu2s/) cost me). - It comes with a LIDAR and load sensor for perfect first layers, no calibration needed. - It’s network-connected. - It has a built-in webcam, and AI faillure detection. - It has a beautiful touch screen. ![](https://broddinblog.on-forge.com/storage/213/img-7854.jpg) My impressions so far have been nothing short of amazing. It’s like switching from Windows to a Mac. The amount of magic that’s going on in this machine is incredible. - All of Bambu Lab’s filaments have RFID tags, which tell the machine what color and filament type is being printed and keep track of how much filament you’ve got left. - It does some test extrusions to get the perfect pressure. - The first layer is scanned, and printing is paused if it’s not perfect. - Print plates have QR codes, so you don’t accidentally print on the wrong plate. - If anything seems off printing, it is paused as well. The speed is Ludicrous (also the name of the highest speed setting). It prints a Benchy (the cute little boat) in 21 minutes, of which 7 minutes is calibrating the printer. On my big Prusa, this same object takes more than 2 hours. That’s a x4 improvement, which is crazy. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;BambuStudio printing a Benchy.&lt;/span&gt;](https://broddinblog.on-forge.com/storage/214/cleanshot-2024-02-08-at-165514-at-2x.png) BambuStudio printing a Benchy. The 7-minute calibration is okay when you do multi-hour prints, but it can become tedious when quickly prototyping something. You can shorten it by turning off some checks, but it would be nice if the printer could cache some of these tests. If you’re printing the same filament on the same build plate you did yesterday, it will probably be the same calibration result. Another minor downside is with the build plates themselves. Bambu offers both cool & hot plates. The cool plate requires a glue stick, and for most hot plates, it’s recommended. I hate glue sticks, they’re messy, and it makes your plate look like shit. I never had to use it on my Prusas. I never print with the cool plate anymore, as the hot plates work much better. However, they also have extreme adhesion, so prints leave marks that can appear on your subsequent prints. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Some marks, because the previous print left marks on the plate.&lt;/span&gt;](https://broddinblog.on-forge.com/storage/215/img-7852.jpg) Some marks, because the previous print left marks on the plate. The multi-material system is a dream. I’ve printed several multi-color prints and have yet to see it fail. It’s way less complex than what Prusa tried to do with the MMU, yet it’s also way more advanced. Out of the box, you get one AMS (Advanced Material System), which supports four colors - but you can expand this to four units or 16 colors. Even though I’ve done thousands of material changes by now, I’ve yet to have my first failure. This starkly contrasts with the Prusa MMU, which required constant attention. The only downside of the AMS is that, well, it poops a lot. Between color changes (and, in fact, even with single-color prints), a little bit of filament is pooped out through a waste chute in the back. This ensures the nozzle is empty and prevents any color bleeding between different colors. But it wastes a ton of filament. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Poop. One a big multi-color print this bucket can be full.&lt;/span&gt;](https://broddinblog.on-forge.com/storage/216/img-7858.jpg) Poop. One a big multi-color print this bucket can be full. At €1500, it’s a lot more expensive than the Prusa i3 I bought three years ago (which was €830 – but required [manual assembly](https://broddin.be/2021/03/18/3d-printer-prusa-i3-mks3/) – which took me a day). But if you add everything, it becomes a steal: ``` Prusa i3 MK4 Bambu Printer €890 €1500 Multi material system €330 included Raspberry Pi for Octoprint €100 not needed Enclosure €370 included Webcam €100 included Spaghetti Detective account €10/mo not needed Total €1790 €1500 ``` I’d highly recommend the Bambulab X1C (or the cheaper P1S and P1P) for anyone who wants to get serious with 3D printing. Compared to only a few years ago, it’s a giant leap forward, a lot less frustrating, and still as much fun to be able to 3D print. It prints in much better quality at a much higher speed than my previous printers. Five stars. ## The image below might be not safe for work Stop scrolling! ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;I warned you.&lt;/span&gt;](https://broddinblog.on-forge.com/storage/299/image-2.png) I warned you. ### Our home network, 2024 edition URL: https://broddin.be/our-home-network-2024/ Last updated: 2026-07-19T19:04:15.000Z A couple of years ago, I wrote [a blog post ](https://broddin.be/2021/01/06/ons-thuisnetwerk/)(Dutch) about the design of our home network. Since some things have changed, it's time for an update. ## 👋 Bye, bye Telenet We recently did a significant home renovation, which allowed me to rethink several critical aspects of the overall setup. I was not too happy with Telenet, the cable company we had before. Not only did I have a lot of administrative issues with them, but I also experienced regular downtimes, which is unacceptable for someone working from home. Also, I do a lot of file syncing and backups, and Telenet's poor upload speed of 250 Mbps just doesn't cut it. So the decision was pretty easy to make when Proximus installed fiber optic Internet in the street, which boasts speeds of 8.5 Gbps down and 1.5 Gbps at a competitive price. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;That&#039;s almost advertised speed&lt;/span&gt;](https://broddinblog.on-forge.com/storage/219/cleanshot-2024-02-07-at-214520-at-2x.png) That's almost advertised speed ## Server rack In order to accommodate 10 Gbps speeds, I needed to upgrade a lot of hardware in the server rack. Previously, the server rack housed a [Unifi Dream Machine Pro](https://eu.store.ui.com/eu/en/collections/unifi-dream-machine/products/udm-pro?ref=broddin.be), an excellent piece of hardware, which unfortunately only has 1 Gbps Ethernet ports. It's now been replaced by three devices: - A **UniFi NeXt-Gen Gateway Pro**, which is a 10 Gbps gateway. The CAT6 Ethernet cable that goes to the Proximus modem enters here. It has 2 SFP+ ports and 2 Ethernet ports. One is for the uplink (Internet), and one is for the downlink. - A **USW Aggregation is an eight-port 10 Gbps switch with only** SFP+ ports. This gives you the freedom to choose between fiber optic cabling and Ethernet. This switch is connected to the gateway using a short 10 Gbps direct attach cable. - A **Cloud Key Gen 2**, which runs the Unifi management console software. ![&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;It won&#039;t win any prices for most-well organized server cabinet.&lt;/span&gt;](https://broddinblog.on-forge.com/storage/220/img-7845.jpg) It won't win any prices for most-well organized server cabinet. The Aggregation switch connects to my office upstairs through a 25-meter 10Gbps fiber optic cable. There's also another fiber optic cable going to the living room. This one boasts only 1 Gbps (for now). Also inside the server rack is a **USW-Lite-8-PoE**; this rather inexpensive switch provides a PoE (power over Ethernet) connection to two WiFi access points: a **Unifi 6 Lite** in the cellar and a **Unifi 6 Pro** in the kitchen. I love Raspberry Pi's, and I also love having them on PoE, so there are also two of them in the rack. Each is dedicated to running a specific task: - [Adguard Home](https://github.com/AdguardTeam/AdGuardHome?ref=broddin.be): a network-wide ad & tracker filter - [Frigate](https://frigate.video/?ref=broddin.be): a PVR that uses AI to detect persons on our security camera. It utilizes a Google Coral TPU for the AI, which is pretty neat and probably worth another blog post. Also, next to the server rack is a Synology NAS. Recently I managed to blow up my old Synology's power supply. Since it showed its age, I've replaced/upgraded it to a [DS1522+](https://www.synology.com/en-us/products/DS1522+?ref=broddin.be). I've chosen this model because it boasts 8GB of RAM out of the box, and you can equip it with a 10 Gbps network card (which I did). It also features two M.2 slots for NVME SSDs. Aside from offering a storage pool for documents and backups, the Synology NAS also acts as a home server. It runs many Docker containers, all defined inside a tidy **docker-compose.yml** file. I'll try to write a future blog post about it soon. ## The Office In my office upstairs, there's a **Unifi Switch XG 6PoE**. This switch is connected to the server rack through a fiber optic cable and boasts five 10 Gigabit PoE ports. ![](https://broddinblog.on-forge.com/storage/221/65d223fc-44b1-4b20-b069-4d9de026b8c7-1-102.jpg) One of these ports is connected to my Mac Studio. The Mac Studio has a built-in 10 Gigabit Ethernet adapter. It just flies. There's no overhead whatsoever. Downloading from the Internet is incredibly fast, as is copying files from and to the NAS. It allows me to use my NAS as a fast external drive. Another port is connected to the **Home Assistant Yellow**. This device controls our smart home using its Zigbee antenna. ## Living room Our living room is on the first floor and has an old but trusty **US-8-150W switch**. All media-related devices, such as the Apple TV and game consoles, are limited to 1Gbps speeds, so there was no immediate need to update the network here to 10 Gbps (yet). Connected to this switch is a **Unifi 6 Enterprise** WiFi access point. This thing is an absolute beast. It does WiFi 6E, which uses the 6 GHz band - a frequency band less crowded than 5 Ghz in a densely populated area. It also boasts a lot of transmission power. At first, I thought we'd need an additional access point downstairs, but the Enterprise has everything covered. ## Further up Moving up in the house, two more WiFi access points serve as mesh satellites. There used to be three **Unifi 6 Lite** access points to cover the remaining three floors, but they've been replaced by one **Unifi 6 LR** and one **Unifi 6 Lite**. Together with the Enterprise in the living room, they deliver adequate (around 350 Mbps) speeds upstairs. ## Scheme & conclusion ![](https://broddinblog.on-forge.com/storage/222/network-1.png) Our renovation was a great opportunity to rethink networking in the house - with an eye on the future. Not only has the network been upgraded to a whopping 10 Gbps, but there's now also infrastructure to get cables everywhere without the need to drill any extra holes. It took a lot of planning, but I'm very happy with the state of our home network in 2024. ###  Vision Pro URL: https://broddin.be/vision-pro/ Last updated: 2026-07-19T19:04:15.000Z Like every nerd, I have watched hours and hours of Apple Vision Pro reviews over the past week. The two I enjoyed most were the ones by Casey Neistat and Cleo Abrams. The reason that I like their review above others is that a lot of other reviews focus primarily on the tech inside. Yes, it's a first-generation product, and yes, it has a lot of faults. But those reviews focussing solely on the technical side seem to forget that the word *vision* has multiple meanings: In my opinion, the Apple Vision Pro is all about the second meaning. It's a first-generation device that shows us how the future could /should be. It might be a bit cloudy to imagine it now - because people wearing ski goggles look ridiculous. Let's not forget that it is version 1, and I'm looking forward to every iteration of this idea. Just being able to bring your apps, the Internet, and everything with you inside this spatial environment will change the world. For the better. Like Casey and Cleo in the videos, I'm very excited about where this will take us. And I want one. ### Adding a network share to Finder's favourites URL: https://broddin.be/adding-a-network-share-to-finders-favourites/ Last updated: 2026-07-19T19:04:16.000Z I use a Synology to store all my files. One thing that’s bothered me a lot is that macOS doesn’t allow you to drag and drop a network share (or Sharepoint as Apple likes to call) them to your Finder’s favourites. ![](https://broddinblog.on-forge.com/storage/664/cleanshot-2024-01-24-at-082853.gif) It seems like Apple really doesn’t want you to do that. Luckily, there’s a workaround. With Finder focused, in the menubar choose **View > Show Path Bar**. Now enter the share you want to move to your favourites, and drag it there from the path bar. ![](https://broddinblog.on-forge.com/storage/665/cleanshot-2024-01-24-at-083314.gif) There you go. This will now stay in your Favourites forever, and will mount the network share when it isn’t already connected when you click it. ### Fancy in-wall panels using NSPanel, ESPHome and HomeAssistant URL: https://broddin.be/fancy-in-wall-panels-using-nspanel-esphome-and-homeassistant/ Last updated: 2026-07-20T12:35:35.000Z / In the past, I’ve written about [turning your house into a smart home](https://broddin.be/2021/02/01/home-assistant-turning-your-home-into-a-smart-home/) using Home Assistant. Since we are currently in the midst of a home renovation, I’ve been doing lots of research on how to make it even smarter. One of the products I came across while digging into this is the [NSPanel](https://sonoff.tech/product/central-control-panel/nspanel/?ref=broddin.be), a relatively cheap (€50) panel, consisting of a 3.5” 480\*320px LCD screen, two buttons (and relays), a temperature sensor and a buzzer. ![](https://broddinblog.on-forge.com/storage/666/nspanel.jpg) Under the hood, it sports an ESP32 microcontroller and a custom [Nextion](https://nextion.tech/?ref=broddin.be) touchscreen. These Nextion screens are quite fascinating, they contain some storage which you flash with a custom firmware, containing all the UI and interactions needed. By doing so, low powered devices like an ESP32 can display snappy high-resolution user interfaces without breaking a sweat. By default, it runs its own firmware, which you can control using the eWelink app, which is a no-go for me. I want deep Home Assistant integration, and I don’t want to be dependent on a closed ecosystem that might not be there anymore in a couple of years. ## Alternative firmwares Fortunately, there are cool people around who think the same. There’s plenty of alternative firmware around: - [NSPanel Lovelace UI](https://docs.nspanel.pky.eu/?ref=broddin.be): based on Tasmota, allows you to configure the UI with a configuration file. - [NSPanelManager](https://www.kickstarter.com/projects/nspanelmanager/nspanel-manager-open-source-wall-switch-software?ref=broddin.be): a promising looking project, which is still in early development. Once it’s released it will offer easy configuration of multiple panels through a UI. - [NSPanel\_HA\_Blueprint](https://github.com/Blackymas/NSPanel%5FHA%5FBlueprint?ref=broddin.be): ESPHome based, with easy configuration through a HomeAssistant Blueprint. I settled on the last one, because it’s the easiest to configure at this moment, and it looks pretty and well maintained. ### Installation Since the NSPanel doesn’t have a USB-port, flashing the custom firmware requires some steps. You’ll need a USB-to-serial converter, some wires, and some bravery to do this. I followed this easy to follow guide by Mark Watt, and won’t be writing down every step. There are however two things I discovered, that might help people ending up here through Google: ### Getting the NSPanel into boot mode I couldn’t get the ESP32 into boot mode by connecting the `IO0` to the pin indicated in the video. It would somehow short and my USB-to-serial adapter would disappear from my device tree and get really hot, really fast ???? Connecting it to the other ground pin (the one above) worked fine, though. ![](https://broddinblog.on-forge.com/storage/667/cleanshot-2023-07-04-at-102254-at-2x-1.png) ### Booting the NSPanel after flashing After flashing, (and disconnecting the cable from `IO0` to ground) the display didn’t turn on, and when inspecting the serial port in Arduino IDE I could see that it tried booting, but failed with messages such as `rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)`. I really thought I fried the board while flashing. Turns out, you can flash the NSPanel with 3.3V, but you cannot power it that way. I took a 220V power cable, connected it to live and neutral, put it in the wall, and boom … the device powered on. ![](https://broddinblog.on-forge.com/storage/668/img-5591.jpg) ## Configuration & usage After you’ve flashed the NSPanel, it will be discovered by Home Assistant as a ESPHome device. After this device is added, you’ll have to click a button to update the touch screen’s firmware. This part is a bit finicky and there is a [whole Wiki page](https://github.com/Blackymas/NSPanel%5FHA%5FBlueprint/wiki/%28EN%29-Common-Issues-TFT-Upload?ref=broddin.be) describing how to troubleshoot this. Hosting `nspanel_eu.tft` locally and trying a couple of times did the trick for me. Configuration is done using a Blueprint, which is very convenient. It might not be the most user-friendly UI (it’s pages and pages of options), but it works. ![](https://broddinblog.on-forge.com/storage/669/cleanshot-2023-07-04-at-105730-at-2x.png) We’re living in a rental house while waiting for the renovations in our home to finish, so I don’t have many entities I can add to this config yet. But once we’re moved, I intend to use the panels to control our lights and shades. \--- SONOFF also has a “Pro” version of this panel, the [NSPanel Pro](https://sonoff.tech/product/central-control-panel/nspanel-pro/?ref=broddin.be). It doesn’t have an ESP32 inside, but instead runs Android on an ARM chip. It’s also hackable, and can display the HomeAssistant UI through a kiosk browser. The biggest downside is that it doesn’t have any physical buttons. I’m currently thinking about a place to integrate this into our home ???? ### sudo with Touch ID URL: https://broddin.be/sudo-with-touch-id-mac-fingerprint/ Last updated: 2026-07-19T19:04:17.000Z As a programmer, you might have come across the `sudo` command while working on the terminal. `sudo`, short for “superuser do”, is a widely used command in Unix-based operating systems such as Linux and macOS. It allows a user with administrative privileges to execute commands that are restricted to the root user. One of the disadvantages of sudo is that it asks for your password. It’s 2023 and passwords should be a thing of the past, since all our devices are equipped with biometric sensors. Turns out it’s effortless to make `sudo` work with the Touch ID sensor in your Mac’s keyboard. First, open up a terminal and type: `sudo nano /etc/pam.d/sudo` Next, enter your password. This will be the last time you ever do. ![](https://broddinblog.on-forge.com/storage/227/cleanshot-2023-06-15-at-162257-at-2x.png) Finally, add this line to the top of the file: ```bash auth sufficient pam_tid.so ``` The full file should be something like this: ```bash # sudo: auth account password session auth sufficient pam_tid.so auth sufficient pam_smartcard.so auth required pam_opendirectory.so account required pam_permit.so password required pam_deny.so session required pam_permit.so ``` Save the file by pressing `control+x `and confirm that you want to save it by pressing `y`. The next time you `sudo`, you will be asked for your fingerprint: ![](https://broddinblog.on-forge.com/storage/228/cleanshot-2023-06-15-at-162632-at-2x.png) And as a nice bonus: if you have an Apple Watch that you’ve enabled to unlock your Mac, you can use this too to confirm your idenity. ### WordPress turns 20 URL: https://broddin.be/wordpress-turns-20/ Last updated: 2026-07-19T19:04:17.000Z This weekend marked the 20th birthday of WordPress, the blogging tool CMS I’m writing this post in, and the thing I also work on/with mostly during my working hours. Let’s go **back in time** a little bit. I’m an **old-timer in the blogosphere,** I started blogging back in 2000 on my very first website which was called fuckhedz.com. Back then, I wore baggy pants and bands like Korn & Limp Bizkit were all the rage, hence the name. It was supposed to be “cool”. Until that point, the web was mostly **static**. If you wanted to publish something, you’d edit the file offline and then **upload it to your web host**. There was no interactivity and no databases to store stuff. Unless you were a big company with a truckload of cash to burn, your web host only supported serving **static HTML files**. If you were really lucky, you might have also had access to the [FrontPage Server Extensions](https://en.wikipedia.org/wiki/Microsoft%5FFrontPage?ref=broddin.be#Server%5FExtensions), in which case you could show a dynamic counter on your website. Or Perl, don’t get me started on Perl. ![](https://broddinblog.on-forge.com/storage/230/cleanshot-2023-05-30-at-092149-at-2x.png) But let’s move forward. The release of PHP 4 shook up the entire hosting industry. This free & very capable **scripting language** is straightforward to use and understand, and very soon many web hosts started offering it. Static websites made way for more dynamic sites, backed by databases and whatnot. Somewhere in August 2000, I decided that I also wanted to jump this shiny new train. I registered fuckhedz.com and installed [PHP-Nuke](https://en.wikipedia.org/wiki/PHP-Nuke?ref=broddin.be) (a very early CMS). ![Fugly](https://broddinblog.on-forge.com/storage/312/image-5.png) Fugly And I started **blogging**, even though I didn’t know the term “blogging”. I started writing **short pieces** about what was happening in my life. And at the same time, I tried almost all the early **blogging CMS’s** out there, and for I while I even contributed plugins to my favorite one back then: ???????? [NucleusCMS](http://nucleuscms.org/?ref=broddin.be) by Wouter Demuynck. ![Nucleus ❤️](https://broddinblog.on-forge.com/storage/311/image-6.png) Nucleus ❤️ All this build up just to say: **I was there** when Matt Mullenweg [announced](https://wordpress.org/news/2003/05/wordpress-now-available/?ref=broddin.be) the WordPress project on May 27th of 2003\. The blogosphere was small, and the news of someone releasing **a new tool** was something big. I also remember being **not that impressed** when he did, as it was lacking many features that other blogging tools already had (such as multisite or plugins). But it had one thing going for it: polish. Right from the start, it wanted to be **the best place for your writings to live**. ![Source](https://broddinblog.on-forge.com/storage/299/image-2.png) Source It didn’t take that long for me to jump ship. WordPress **gained momentum rapidly**, thanks to the introduction of plugins and themes in a later release. And basically every other blogging CMS (some of which were expensive) **faded away**. WordPress **evolved a lot** in the following years, and I have to admit that until last year I wasn’t really paying close attention to it. I knew it was an excellent solution if you wanted to set up a blog, but if I needed to create a website for someone it was never the tool I choose because in my mind, WordPress was **still just a blogging tool**. And for blogging, I did move on to walled gardens such as Medium. Before applying to [Automattic](https://automattic.com/?ref=broddin.be) last year, I forced myself to really get to know WordPress again. And boy … was I **pleasantly surprised**. Not only, is WordPress still the best blogging tool around, but it’s also **the best site builder**. [Gutenberg](https://wordpress.org/gutenberg/?ref=broddin.be), the block editor, not only allows you to write posts and pages in **the most intuitive way**, but also allows you to **change everything else** about your site. And it’s just going to get better and better, with support for collaboration and multilanguage coming in the [next phases](https://wordpress.org/about/roadmap/?ref=broddin.be). Giving someone the tools to change everything about their site, is really a **game changer**. And full-site editing makes WordPress more than “just” a blogging CMS. It makes it a **site builder** à la Wix or Squarespace, but for free and just as good (if not better). ![Full site editing](https://broddinblog.on-forge.com/storage/308/image-4.png) Full site editing I’m really looking forward to seeing what the future holds for WordPress. It’s been quite a ride, and WordPress really **democratized publishing** for the past 20 years. Thanks to the power of **open-source software**, millions of people can get their thoughts published every day. That’s quite an accomplishment. Happy birthday, WordPress! (And if you want the best WordPress hosting, or try out WordPress for [free](https://wordpress.com/pricing/?ref=broddin.be), look no further than [WordPress.com](https://wordpress.com/hosting?ref=broddin.be)) ### My 2023 Mac apps & utilities URL: https://broddin.be/my-2023-mac-apps-utilities/ Last updated: 2026-07-19T19:04:22.000Z A little while back, I wrote a post about [my 2023 programming stack](https://broddin.be/2023/05/08/my-2023-programming-stack/). This post goes deeper on what Mac **apps & utilities** I use to get the job done. Don’t worry, there won’t be any programming related things in this post. This post is for **everyone**. ## Launcher: Raycast One thing that does suck in macOS is **Spotlight**. Besides launching apps and a quick calculation, Spotlight’s usability is very limited. That’s why I use [Raycast](https://www.raycast.com/?ref=broddin.be). It’s got **tons of functionality** out of the box, and is easily extendible with **1000s of plugins**. It may not have the advanced workflows [Alfred](https://www.alfredapp.com/?ref=broddin.be) has, but it looks much more polished. ![](https://broddin.be/content/images/wordpress/2023/05/CleanShot-2023-05-19-at-16.29.06@2x.png?resize=1024%2C722&ssl=1) ![](https://broddin.be/content/images/wordpress/2023/05/CleanShot-2023-05-19-at-16.30.12@2x.png?resize=1024%2C722&ssl=1) ![](https://broddin.be/content/images/wordpress/2023/05/CleanShot-2023-05-19-at-16.30.34@2x.png?resize=1024%2C722&ssl=1) ![](https://broddin.be/content/images/wordpress/2023/05/CleanShot-2023-05-10-at-10.50.53@2x.png?resize=1024%2C722&ssl=1) They’ve recently launched a **Pro subscription**, which gives you access to ChatGPT-powered AI, a true **game changer**. Raycast AI allows you to create **AI Commands**, which work on whatever text you currently have selected. I have, for example, created an action that rates the understandability of a text on a scale of 0-10 and gives suggestions. Whenever I write something, I can use this action to rate it: ![](https://broddinblog.on-forge.com/storage/670/cleanshot-2023-05-18-at-113645-at-2x.png) The Pro subscription also offers things like **syncing settings to the cloud**, and the support for custom themes. Some things I use Raycast daily for: - Launching apps (duh) - Calendar management – it shows my upcoming Zoom calls in the system tray - Emoji picker - Calculator / unit convertor - GitHub tool, it gives easy access to all my PR’s - Google Translate wrapper ## Browser: Arc Last year, I wrote a lengthy post about [the Arc browser](https://broddin.be/2022/07/12/arc-redefining-the-web-browser/). However, when I started working at Automattic, I **switched back to Chrome**. It seemed a tiny bit faster, and overall better suited towards web development work. Last week I finally switched back to Arc because **tab management** inside Chrome is still hell. Every day I start with 1 fresh tab, only to end up with **a row full of tiny icons** at the end. Arc really feels a lot **faster** than it did last year, and all the tiny **quality of life improvements** it brings to surfing the web really add up. Arc makes tab management easier by giving you **different spaces** to open links in. Every space has a vertical tab bar, which can have **pinned sites** (bookmarks) and your current tabs. Non-pinned tabs will disappear after 24 hours, and you can specify that specific sites open in specific spaces. You can even assign **different profiles** to each space, so you can be logged in into your work Gmail account in one space, and your personal Gmail account in the other. ![](https://broddin.be/content/images/wordpress/2023/05/CleanShot-2023-05-18-at-11.44.06@2x.png?resize=1024%2C663&ssl=1) Besides this, it also allows you to open two (or more) sites next to each other in **split-view**, which is very handy when you’re doing note-taking or writing a blog post. And if you click on a link that would normally open a new tab, it will open in **a modal** atop the current tab. ![A modal tab](https://broddin.be/content/images/wordpress/2023/05/CleanShot-2023-05-18-at-11.47.06@2x.png?resize=1024%2C663&ssl=1) A modal tab ## Mail: Apple Mail Over the past few years I’ve really tried every mail client possible for Mac. From Spark, Inbox, Edison, Airmail, Outlook to Newton. And the only one that stuck was the original **Apple Mail**. It isn’t sexy, it isn’t innovative, but **it gets the job done**. ## Passwords: 1Password I’ve been using 1Password for more than 10 years now, and it’s worth every penny. Besides just entering passwords, it also does a fantastic job with **2FA** and **SSH-keys**. ## Todos: Things [Things](https://culturedcode.com/things/?ref=broddin.be) is a **very capable todo app**. It supports multiple projects, syncs to your phone, and has a nice integration with Shortcuts and Zapier, which makes all kinds of automations possible. It’s a bit pricey, and you have to buy both the Mac, iPhone & iPad version separately, but you won’t regret it. ![](https://broddinblog.on-forge.com/storage/671/cleanshot-2023-05-18-at-114905-at-2x-1.png) ## Chat: Beeper Recently, after a 400 days wait, I finally got my Beeper invite. [Beeper](https://www.beeper.com/?ref=broddin.be) is an app that promises to **connect to almost all chat networks**: iMessage, Messenger, WhatsApp, Telegram, Instagram & Twitter DMs, … And it delivers. While there are some minor annoyances, mostly due to all those networks having **different feature sets,** it works. They push updates out at a rapid pace, for both their Mac & iOS app, so chances are they will eliminate most annoyances pretty quick. ![](https://broddinblog.on-forge.com/storage/672/cleanshot-2023-05-18-at-115308-at-2x.png) I’m only hesitant to link my iMessage to it, since it uses **real jailbroken iPhones** sitting somewhere in a data center to be able to offer that service. ## RSS: Reader & FeedBin I still like to **read and follow** numerous sites, and the best way to keep up with them is using **RSS**. [Reeder](https://reederapp.com/?ref=broddin.be) has been my RSS client for years, and I use it together with [FeedBin](https://feedbin.com/?ref=broddin.be). FeedBin is a web-service (like Google Reader or Feedly), that can be consumed by Reeder and offers some nice features, such as support for newsletters. ![](https://broddinblog.on-forge.com/storage/673/cleanshot-2023-05-18-at-123702-at-2x.png) ## Music: Apple Music My whole music library has been inside of **iTunes** ever since I bought my first iPod back in 2005\. Therefor, even when Spotify came to the scene I had to use **two apps to listen** to my music: **iTunes** for my own curated collection of high quality, high encoding MP3s, and **Spotify** to stream whatever else I wanted to hear. I canceled my Spotify subscription when Apple launched **Apple Music**. I was already using iTunes Match back then, which stored your own private collection in the cloud, so the step-up to a streaming service was small. And I could finally just use one app again. There are moments when I regret not having Spotify: their annual Wrapped overview is amazing, as are their social features. It’s something **Apple really is not good at**, despite being the largest company in the world. Also, don’t get me started on the Music app on Mac. It’s a mess. However, there are things **I love Apple Music** for. Foremost, Apple really **loves music**, their curated playlists are excellent, and Beats 1 hosts some great shows by great artists. Spotify looks like it’s having an identity crisis, [trying to become another TikTok](https://www.theverge.com/23638082/spotify-redesign-gustav-soderstrom-tiktok-stream-podcasts-music-discovery?ref=broddin.be). Secondly, **lossless encoding & spatial audio** are things that Spotify fails to deliver, just like **Airplay 2 and HomePod support**. You can discuss the need for such features, but since they come at no additional cost, it’s nice to have them. And lastly, and probably closest to my heart: **Apple pays artists** [more than double](https://www.macobserver.com/news/apple-music-pays-artists-more-than-double-spotifys-payout/?ref=broddin.be) of what Spotify does. ![](https://broddin.be/content/images/wordpress/2023/05/CleanShot-2023-05-18-at-12.56.59@2x.png?resize=1024%2C690&ssl=1) ## Second Brain: Notion / Obsidian My short-term memory is a disaster. Because I’m constantly **hopping between projects and contexts**, I tend to forget a lot of stuff. Because of this, I was always **Googling the same stuff**, and this cost me so much time. Whenever I feel like I’m acquiring some knowledge that I’m bound to forget, I now put it inside Notion / Obsidian. I switched from [Notion](https://notion.so/?ref=broddin.be) to [Obsidian](https://obsidian.md/?ref=broddin.be) somewhere last year because Notion is a bit of a **hefty beast**. You can’t use it offline, and it shows in overall responsiveness. But it is **powerful** and has a range of **capabilities beyond basic note keeping**. One of its strengths lies in its ability to create databases, making it a versatile option for **managing and organizing information**. Obsidian is much leaner, it’s basically **an interlinked Markdown** editor. It can do a lot of the more powerful things Notion can, but you’ll have to resort to plugins that can be daunting. Nowadays, I use them **both**. Obsidian for the basic notes I need to pull up during the day, and Notion for more complex things. ![](https://broddin.be/content/images/wordpress/2023/05/CleanShot-2023-05-18-at-15.41.07@2x.png?resize=1024%2C645&ssl=1) ![](https://broddin.be/content/images/wordpress/2023/05/CleanShot-2023-05-18-at-15.42.35@2x.png?resize=1024%2C871&ssl=1) ## Image editing: Pixelmator Pro If you’re looking for a **replacement for Photoshop** that costs about €50 look no further: [Pixelmator Pro](https://www.pixelmator.com/pro/?ref=broddin.be) is a very capable and very fast photo editor that does (almost) everything Photoshop does minus the monthly subscription. ![](https://broddinblog.on-forge.com/storage/674/cleanshot-2023-05-18-at-155258-at-2x.png) I haven’t done much RAW-editing the past year, but for that, I would probably still use **Adobe Lightroom**. Even though [Photomator](https://www.pixelmator.com/blog/2023/05/16/photomator-for-mac-is-out-now/?ref=broddin.be), the RAW-editor by the team behind Pixelmator looks very promising. ## Screenshots: CleanShot X [CleanShot X](https://cleanshot.com/?ref=broddin.be) is the **best screenshot app I’ve ever used**. It allows you to annotate screenshots, remove sensitive information, share screenshots to the cloud, make screen recordings, make GIFs, capture the same area multiple times, and so many more things. Best of all, it **doesn’t clutter your desktop** with thousands of screenshot files. After you take a screenshot, you’re presented with a small preview in the corner of your screen, which you can edit, and either save, copy or discard. It’s also included in Setapp, a subscription service containing lots of cool Mac utilities. Read on to get **one month free**. ## Terminal: iTerm2 + Fig There’s nothing too fancy about [iTerm2](https://iterm2.com/?ref=broddin.be), it’s **a terminal emulator** that’s **very fast**, and allows you to split windows however you like. [Fig](https://fig.io/?ref=broddin.be) is where the **magic** happens. It’s a utility that allows for **popup autocompletion** in your shell. ![](https://broddinblog.on-forge.com/storage/675/cleanshot-2023-05-18-at-160634-at-2x.png) It also allows you to configure **Dotfiles** from the GUI, create scripts and **aliases**, and it has a plugin store to make your CLI life easier. It also syncs your settings between machines. Amazing tool and it **costs nothing**. ## Backup: BackBlaze There’s not to much to tell about [BackBlaze](https://secure.backblaze.com/r/04w4g3?ref=broddin.be). It’s a backup service that offers cheap backup for **unlimited data**. The backing up works reliably, and I hope I’ll never need the recovery options. ## Automations: Hazel & Shortcuts [Hazel](https://www.noodlesoft.com/?ref=broddin.be) is a utility that **watches folders** on your Mac for changes, and when they change, runs through a bunch of **configurable rules**. For example: I have a rule that runs whenever I Airdrop an HEIC-image in Downloads, and that converts it to JPEG. ![](https://broddinblog.on-forge.com/storage/676/cleanshot-2023-05-18-at-161838-at-2x.png) **Apple Shortcuts** has the worst user interface in the world, but it’s perfect at running automations. Every morning when I start, I press a button on my Stream Deck to run this: ![](https://broddinblog.on-forge.com/storage/677/cleanshot-2023-05-18-at-162254-at-2x.png) ## Widgets: WidgetWall I have my MacBook open next to my big screen as a second screen to **temporary park windows**. Most of the time, however, this screen isn’t used at all. Thanks to [WidgetWall](https://amicoapps.com/app/widgetwall/?ref=broddin.be), it now displays some **useful information** such as the weather, a process monitor and my agenda for the day. ![](https://broddin.be/content/images/wordpress/2023/05/CleanShot-2023-05-19-at-16.03.28@2x.png?resize=1024%2C662&ssl=1) It’s also included in Setapp, a subscription service containing lots of cool Mac utilities. Read on to get **one month free**. ## Window management: Magnet macOS needs **better window management**. Apple keeps introducing party tricks like Stage Manager, and forgets to implement the most basic functionality one might need: just **tiling windows next to each other**. There are tons of utilities that fix this. I use [Magnet](https://magnet.crowdcafe.com/?ref=broddin.be). ## Cleanup: CleanMyMac X Disk space is always an issue for me. It just fills up so quickly. [CleanMyMac X](https://cleanmymac.com/?ref=broddin.be) is a fantastic utility to **clean up your Mac** by emptying trashes, stripping languages you don’t use and doing tons of maintenance stuff. ![](https://broddinblog.on-forge.com/storage/678/cleanshot-2023-05-19-at-161002-at-2x.png) It’s also included in Setapp, a subscription service containing lots of cool Mac utilities. Read on to get **one month free**. ## Other cool utilities - [Neptunes](https://www.neptunesmac.app/?ref=broddin.be): a desktop accessory for **Apple Music / Spotify**. Also has Last.fm integration. - [Rocket Typist](https://www.witt-software.com/rockettypist/?ref=broddin.be): a t**ext expansion utility**. Type an abbreviation and it will expand to the full text. - [BetterMouse](https://better-mouse.com/?ref=broddin.be): an excellent replacement for the crappy LogiOptions+ software that ships with Logitech mouses. - [LanguageTool](https://languagetool.org/?ref=broddin.be): a **Grammarly alternative** that also speaks Dutch. - [Bartender](https://www.macbartender.com/?ref=broddin.be): a utility that lets you customize the Mac’s **menu bar**, and that lets you hide menu bar icons. - [Permutate](https://software.charliemonroe.net/permute/?ref=broddin.be#pricing): **convert** anything to (almost) anything. - [iStat Menus](https://bjango.com/mac/istatmenus/?ref=broddin.be): show **nerdy stuff** like CPU usage in your menu bar. ## Setapp A lot of the apps that I use daily are included in Setapp, a s**ubscription service** for Mac and iOS apps: CleanMyMac, Cleanshot X, WidgetWall, Rocket Typist, Permutate, iStat Menus & Bartender. Besides those, they offer **240 other apps**. While I obviously haven’t tested them all, I know they’re very well curated, and you will only find wonderful apps in Setapp. At **$10 / month**, it’s a steal. ![](https://broddinblog.on-forge.com/storage/679/cleanshot-2023-05-19-at-162229-at-2x.png) If you’d like **one month of free Setapp service**, you can use this link: [https://go.setapp.com/invite/a568e46c-7a27-415f-bc1f-d3f17482609a](https://go.setapp.com/invite/a568e46c-7a27-415f-bc1f-d3f17482609a?ref=broddin.be) . If you subscribe, I’ll also get one month free. But I would recommend Setapp without getting anything as well, because it’s just so good. ## I’d like to hear from you Do you have any app you can’t live without? I’m really [obsessed with productivity enhancing apps](https://go.setapp.com/invite/a568e46c-7a27-415f-bc1f-d3f17482609a?ref=broddin.be), so please hit me up in the comments below. ### My 2023 programming stack URL: https://broddin.be/my-2023-programming-stack/ Last updated: 2026-07-19T19:04:23.000Z Last year, I penned [a piece](https://broddin.be/2022/05/23/my-2022-mostly-frontend-programming-stack/) about the tech I was using most. From languages to frameworks to tools, I gave a rundown of everything I love working with. It’s a new year. Time to update that list! ## Overview ### Framework: Next.js with App Router *2022: Next.js* Next.js is still my go-to framework for all **React** development. I love the **developer experience,** and how fast it is to ship something. In version 13 they introduced the new App Router, which uses **React Server Components** under the hood. It’s **a big paradigm shift**, and it makes Next.js behave a lot more like a classic PHP application (while still providing all the advantages of a single-page application). It’s really awesome to be able to make database calls directly in your application, and see that data being passed off to dynamic client-side components. That, combined with **server actions**, really makes you think about the good old days, when everything was just a PHP file. It’s a lot to wrap your head around, but I love it. My favorite front-end framework has evolved to **my favorite full-stack framework**. Just like last year, I’ve dabbled a bit with other frameworks, such as Svelte, Astro and SolidJS, and while they all have their unique concepts, I still feel **React is the right choice**. ### Language: Typescript *2022: TypeScript* Last year I was just starting out going all-in on TypeScript, this year I’m probably **overdoing** it. I like crafting **complex types**, and I love the time TypeScript saves me. The book which has helped me going from a novice to a somewhat confident TypeScript developer is [Effective TypeScript](https://effectivetypescript.com/?ref=broddin.be). If you buy one TypeScript book, let it be that one. ![](https://broddinblog.on-forge.com/storage/307/image-1.png) ### CMS: WordPress *2022: DatoCMS* WordPress is likely the answer you would expect from someone working at Automattic ???? But I really mean it. I love WordPress. In the past year, I’ve moved some sites that were using headless CMS systems to WordPress, and I’ve been very pleased with the ease of setup, the **customization** of block themes and the amazing **Gutenberg editor**. It’s fast, open-source & can be made to do whatever you want (from custom post types to headless GraphQL API’s). ### State management: redux-toolkit, redux-persist, react-query *2022: Redux-toolkit + redux-persist* (+ swr) Not much has changed here, except for **react-query.** I’ve found react-query to be much more powerful when doing **asynchronous state management** compared to swr. ### API’s: no API’s *2022: GraphQL* With the advent of React Server Component & server actions, I hope I can **skip writing API’s** for my own apps. We’ve come full circle, and I hope we can now avoid crafting this intermediary layer between our frontends and backends. There still are many gaps, since server actions are very new (alpha in Next.js, and they require a canary React release). So, I tend to resort to good old REST once in a while. ### Styling: Tailwind CSS *2022: stitches* It finally happened. I gave in to the Tailwind hype. When I first heard about Tailwind a couple of years ago, my first thought was … this is the **worst idea ever**. ![](https://broddinblog.on-forge.com/storage/306/image.png) But the more I read about it, the more I became compelled to try it. After realizing Tailwind is made by the same guys who wrote [one of the best books](https://www.refactoringui.com/?ref=broddin.be) on UI Design I’ve ever read, I jumped. And I love it for plenty of reasons: - The **built-in defaults** are excellent. The handpicked colors, for example, work very well for a non-designer like me. The same goes for the spacing. It’s a superb design system straight out of the box. - The **verbosity** of all those classes can be overwhelming, but at the same time it saves you time from jumping back and forwards between files. - You only **ship** the CSS you actually use. - Because you don’t want to change your code in countless places when changing design, it actually **forces you to think in components**. - Contrary to other CSS frameworks, not every website looks the same. - **ChatGPT** is excellent at creating Tailwind designs. Trying out the Tailwind CSS based UI library [shadcn/ui](https://github.com/shadcn/ui?ref=broddin.be) is on my todo list. ### Hosting: Vercel *2022: Vercel / Lambda / Docker* [Vercel](https://vercel.com/?ref=broddin.be) has only become better in the past year. Their **developer experience** has only continued to improve, and with the addition of PostgreSQL & Redis hosting they really want to offer **everything a web developer needs**. Every new project I start is hosted at Vercel, and I don’t think I’ll ever need anything AWS or Docker offers. I also like how they keep investing in the ecosystem, not only through Next.js, but also by employing key figures such as Svelte’s Rich Harris. ### Databases: Drizzle & PlanetScale *2022: Prisma & PlanetScale* For a project I’ve yet to launch, I’ve replaced [Prisma](https://www.prisma.io/?ref=broddin.be) with [Drizzle](https://github.com/drizzle-team/drizzle-orm?ref=broddin.be). The latter plays much more kindly with serverless functions, and is much more lightweight. [PlanetScale](https://planetscale.com/?ref=broddin.be) is still the quickest way to get a MySQL database up in the cloud. Their free plan is very generous, and their pricing is very affordable should you ever outgrow it. This past year, I’ve also dabbled around a bit with [Supabase](https://supabase.com/?ref=broddin.be), which sure is a great open-source alternative to Firebase. ### Editor: PHPStorm *2022: VSCode* Because I need to do some serious PHP debugging occasionally, I switched from VSCode to PHPStorm. VSCode is a great editor, but PHPStorm comes packed with **so many great tools & features**, which you’d have to rely on plugins for with VSCode, such as a full-fledged Git tool, superior refactoring, pre-commit code analysis, … I tried going back to VSCode a few times, but every time I miss . The only disadvantage is that it eats your **RAM for breakfast**. ![](https://broddinblog.on-forge.com/storage/680/cleanshot-2023-05-07-at-200555-at-2x.png) ### AI: GPT4, Midjourney & Copilot *2022: Copilot* Last year, I was super hyped I had **Copilot** in my IDE, which could autocomplete code in my editor. This year I paste whole files into **ChatGPT**, asking it to find errors, or I ask it to create whole designs. And when I need an image for something, I let **Midjourney** create it. Next year, I’ll probably write here that AI took my job. ### Analytics: Plausible *2022: Plausible* Nothing to add here. [Plausible](https://plausible.io/?ref=broddin.be) is still my favorite **privacy-first analytics** solution. ### Authentication: Clerk *2022: next-auth* I don’t ever want to roll out my own authentication system again. It’s **hard**, it’s **messy**, and it’s a lot of **boilerplate**. For a project I’ve yet to launch, I decided to give [Clerk](https://clerk.com/?ref=broddin.be) a spin, and it’s an amazing service. Their free tier allows you to have up to **5K monthly active users**, which should be enough for any hobby project, and they offer everything you’d want from an auth provider, including **2FA** and all the **social connections** you can think of. ## Conclusion It’s 2023, and **programming stuff** is still what I love doing the most. I’m truly grateful for all the tools that allow me to create things. While at first sight, there might not appear to be that many significant changes compared to last year’s list. But the move from Next.js’s pages to App Router is a big one, that’s still ongoing. I’m looking forward to seeing what the coming months look like in development land. Exciting times ahead! ### This band photo doesn't exist URL: https://broddin.be/this-band-photo-doesnt-exist/ Last updated: 2026-07-19T19:04:25.000Z I’m a **big fan of AI**. It’s changing our world at an unprecedented pace, and I’m pretty sure it has the chance to propel humanity into a bright future. But that will be the topic of another blog post, in which I explain why I’m an AI optimist. Last week, [Midjourney](https://midjourney.com/?ref=broddin.be) released version 5 of their **image generation algorithm**. One of the very first things I try with every new image generation is to ask it to **generate a band photo**. I have [some background in music photography](https://www.wannabes.be/?ref=broddin.be), and it also seems like a good way to test some things whether it’s good at composition, lightning, humans and famous people. Until now, the results were **terrible**. Take for example this prompt: “an award-winning photo portrait of Amy Winehouse taken in a dark & smokey bar, great lightning, realistic skin”. This is what [StableDiffusion](https://stability.ai/blog/stable-diffusion-public-release?ref=broddin.be) and [DALL-E 2](https://openai.com/product/dall-e-2?ref=broddin.be) come up with: ![StableDiffusion](https://broddinblog.on-forge.com/storage/681/cleanshot-2023-03-20-at-092004-at-2x.png) StableDiffusion ![DALL-E 2](https://broddinblog.on-forge.com/storage/682/cleanshot-2023-03-20-at-092521-at-2x.png) DALL-E 2 You couldn’t let anyone believe this was really Amy Winehouse. Some results look a bit like her, but the **uncanny valley is pretty deep**. And none of these pictures would be award-winning. Now, if you ask Midjourney 5 the exact same prompt: ![](https://broddinblog.on-forge.com/storage/307/image-1.png) Now, this is a good portrait. **I can feel it.** The hand is still a bit weird, but if I saw this picture in a magazine, I wouldn’t probably notice. Playing around with Midjourney 5 gave me the idea to **collect these portraits** on a site. In part because it’s a fun little project, but also because these algorithms are getting better and better, and I want to track the progress. I have loads of cool band photos coming up, so check it out at [https://thisbandphotodoesntexist.com/](https://thisbandphotodoesntexist.com/?ref=broddin.be) or on [Instagram](https://www.instagram.com/thisbandpho?ref=broddin.be). ![](https://broddin.be/content/images/wordpress/2023/03/radiohead.png?resize=1024%2C683&ssl=1) ![](https://broddin.be/content/images/wordpress/2023/03/kanyewest.png?resize=1024%2C683&ssl=1) ![](https://broddin.be/content/images/wordpress/2023/03/billie2.png?resize=1024%2C683&ssl=1) ![](https://broddin.be/content/images/wordpress/2023/03/brucespringsteen.png?resize=1024%2C683&ssl=1) ![](https://broddin.be/content/images/wordpress/2023/03/rollingstones.png?resize=1024%2C683&ssl=1) ### On virtual reality & the PlayStation VR2 URL: https://broddin.be/on-virtual-reality-and-the-playstation-vr2/ Last updated: 2026-07-19T19:04:25.000Z In 1997, my parents and I paid a visit to London, where we visited **SEGA World** at the Trocadero center, a very futuristic arcade / theme park. There’s only one attraction I still remember until today: **a virtual reality ride**. The graphics were [terrible](https://www.giantbomb.com/sega-vr-1/3030-45758/images/?ref=broddin.be), I was **nauseous** as hell when it was over, but boy … I was excited. This **incredible feeling of immersio**n inside a virtual world was something I never felt before, and something that I’ve been chasing ever since. Sega VR-1: Space Mission - Yokohama Joypolis (横浜ジョイポリス) - 1995 There have been several moments that could’ve been **breakthrough moments** for virtual reality gaming: the release of the **Oculus Rift** ten years ago, the release of the standalone **Oculus Quest** several years later, and the release of the **Valve Index** (and [Half-Life: Alyx](https://www.youtube.com/watch?v=O2W0N3uKXmo&ref=broddin.be)) in 2020\. But they all have their downsides: the Rift and Index require **a beefy gaming PC** and are expensive (€1100 for the Index), making them targeted towards a niche market. The Oculus Quest, even though being a **huge success** with millions of units sold, sacrifices visual fidelity because it’s basically a budget mobile phone. Don’t get me wrong, there are lots of great immersive experiences to be had with the Quest. I bought one way back when they released it, and I’ve had tons of fun with great games like **Space Pirate Trainer**, **Pistol Whip** and **Beat Saber**. But there isn’t a lot about what I love most: big story-driven adventures. What if you could have an adventure like **Tomb Raider** or an action-RPG like **Cyberpunk 2077**, but instead of looking at your TV, you’re inside it? Virtual reality on a PC has some of those experiences, but because the audience isn’t that big, game studios are hesitant to spend millions on AAA-games. Chicken and egg situation. When Sony announced the **PlayStation VR 2**, it kind of opened the possibility to change this. Millions of PlayStation 5’s have been sold, and Sony owns a lot of the big studios, so they can afford to take some risks, in order to sell the headset. ![](https://broddinblog.on-forge.com/storage/306/image.png) I pre-ordered one. It arrived a couple of days ago, and wow, it has been a ride. The displays are gorgeous. They’re 2000×2000 per eye, effectively given you **4K sharpness**. They are **OLED**, so blacks can be completely black, and they are incredibly vivid and bright. I was impressed with the Quest 1’s display several years ago, but this is so much better. You (almost) can’t see the pixels, and the **viewing angle is pretty wide**, being 110°, 20° more than the Quest. That being said, the first thing I really noticed was the **ski-mask effect**. Even though, the viewing angle is wide, it doesn’t fill your vision completely horizontally. This bothered me during my first 5 minutes, which is a **theme park like boat** ride in Horizon: Call Of The Mountain. But, once I started interacting with the environment, and I became focussed on the game instead of the VR-glasses, **this completely disappeared**. I got so submerged in the story, that I totally forgot I was inside a virtual world, something that really **blew my mind** 🤯. **Horizon: Call Of The Mountain** is an outstanding game, that serves as a **showcase** of what the PSVR2 is capable of. You play as a prisoner, who can redeem himself by helping the good guys investigate why the machines are going up the mountains. This naturally involves a lot of **climbing** through beautiful landscapes, filled with **breathtaking views**, **thrilling combat** against the machines and some physical puzzles (such as constructing your climbing gear or using keys in locks). VideoPress Video Player You move around in Horizon by moving your hands up and down, while pressing buttons, something that looks a lot like **Nordic walking** to bystanders. This feels very natural, and helps a lot against **nausea**, which is something I didn’t experience at all. A game that did make me feel nauseous is **Resident Evil: Village**. In this game, you move around like you would in a normal 2D-video game, using the **thumb sticks**. After about 15 minutes, I had to give up because I could **feel my stomach** fighting against it. They say that this kind of virtual reality experience is something you can get used to, if you train yourself, and you stop whenever you feel **discomfort**. I hope I’ll be able to continue this horror adventure in the future. It’s the full 10-hour experience, but completely adapted to VR, which is very neat. And it’s scary as hell … VideoPress Video Player Another highlight: **Gran Turismo 7**. I get pretty bored, pretty fast, by **racing games**, but this is something else. GT7 allows you to play the full game: all tracks & all cars in VR. Being **inside the cockpit**, you can look around while racing, even checking behind yourself just like in real life. At night, the **headlights of oncoming vehicles** can blind you through your mirrors, thanks to the HDR OLED displays. It really is spectacular, and would be a good first virtual reality experience for anyone. The [reviews of the PSVR 2](https://www.theverge.com/23601368/sony-playstation-ps-vr2-review-virtual-reality?ref=broddin.be) all mentioned that it **lacked a good launch lineup**. For me personally, having Horizon, Resident Evil & GT7 would have been enough. To me, it’s a **stellar lineup**, but it gets complimented by lots of other great games. They’re not exclusives, but I’ve been playing **Tetris Effect**, **Pistol Whip** and **No Man’s Sky** and have been amazed by all three. The **adaptive triggers** of the Sense controllers in Pistol Whip feel so satisfying, as does the **face rumble feedback** you get from the glasses itself when you get hit. It’s small things, but it really helps the total immersion. Combined with good headphones, it really gets you inside the simulation. One game I’m really looking forward to is **Before Your Eyes**. I like emotional stories, and this one that uses the eye tracking to see when you blink looks astonishing: Before Your Eyes - Announcement Trailer | PS VR2 Games Things I don’t like: - The **cable**. It’s a necessary evil, but it feels like a step back from the Quest. - The **sweet spot**. It can take a while to get the image really sharp. You have to wiggle the headset, and change the position ever so slightly because the sweet spot is tiny. - The **price**. It costs more than a PS5\. It’s still only about half of a Valve: Index set, and it packs a punch, but it’s a lot of money. All in all, the PSVR 2 brings my dream of big epic adventures in virtual reality a lot closer. It’s a more than capable machine, that feels like a **giant generational leap** from my Oculus Quest. I can only hope for lots of great AAA and indie games coming out for it. I’m really intrigued by the idea of studios like Rockstar, Naughty Dog or CD PROJEKT RED making full games in VR. Let’s hope Sony can sell a lot of PlayStation VR 2’s, so this becomes a reality. And please, Valve, give us Half Life: Alyx. We deserve it. ### Studio.Fuckhedz #13 URL: https://broddin.be/studio-fuckhedz-13-2/ Last updated: 2026-07-19T19:04:25.000Z It took a while, but I finally got around to creating a new playlist. It’s an extra long one. It contains music I enjoyed the past year, old & new. Enjoy! 1. Black Country, New Road – Concorde 2. Taylor Swift – Maroon 3. Christian Lee Hutson – Strawberry Lemonade 4. Phoebe Bridgers – Killer 5. The Go Find – Summer Quest 6. IDLES – Danke 7. Fontaines D.C. – I Love You 8. Wilco – Via Chicago 9. The Mountain Goats – No Children 10. Dawes – All Your Favorite Bands 11. David Byrne & Brian Eno – One Fine Day 12. CocoRosie – Not For Sale 13. Eels – Living Life 14. The Smile – Skrting On the Surface 15. Big Thief – Change 16. Kimya Dawson – My Heroes 17. Arcade Fire – Unconditional I (Lookout Kid) 18. Fred Again – Delilah (pull me out of this) 19. For Those I Love – I Have a Love 20. 65daysofstatic – Radio Protector 21. Conor Oberst – Million Dollar Bill 22. Yeah Yeah Yeahs – Lovebomb 23. Radiohead – You and Whose Army? 24. Martha Da’Ro – Fool 25. Styrofoam – Happiness is Obsolete 26. Silver Mt. Zion – For Wanda Listen on [Apple Music](https://music.apple.com/be/playlist/studio-fuckhedz-13/pl.u-bxYj3txaeJ0?ref=broddin.be) / [Spotify](https://open.spotify.com/playlist/6gdXUxDUYwqZv2PUGIwTEB?ref=broddin.be). ### The light parade URL: https://broddin.be/the-light-parade/ Last updated: 2026-07-19T19:04:29.000Z Before COVID hit the world, the school of our kids organized **a parade** each year. All the kids carry small candles and walk across the neighborhood, accompanied by a big fanfare. Because small candles are kind of boring, I decided I was going to **go big** the next edition, and make **super cool LED lights** for my kinds. I made plans and ordered plenty of LED panels. Unfortunately, the editions of 2020 and 2021 were both canceled. I was afraid there wasn’t going to be a light parade in 2022 as well, because we didn’t receive any info that it was going to take place. Until, just one week beforehand. Which left my with **little to no time** to create three lamps. ## The setup My original plan for the 2020/2021 light parade was to have **ESP32**‘s connected to **flexible** **WS8212B** LED panels, inside 3D-printed enclosures. One of the ESP32’s would have a **microphone** sensor and communicate the sound data to the other ESP32’s. They would all run a custom Arduino sketch, which would display sound-controlled effects on the LED’s. I would then be able to control the colors & effects using a custom React Native app. They would receive power by using USB-battery packs. Sounds way too complicated? It is. Enter the plan for 2022. Instead of using a powerbank, I opted for a **18650 battery**. This only delivers 3.6 volts, which shouldn’t be enough for driving the WS8212B LED panel, as it needs 5V. I was expecting to have to deep dive into level shifting and other electronics stuff, but to my surprise, the panel works just fine on the 3.3V PIN of the ESP32. ![](https://broddinblog.on-forge.com/storage/241/image-template-nkon19-0068-layer-76.jpg) I opted for the [LILYGO® TTGO T-Energy ESP32](http://www.lilygo.cn/prod%5Fview.aspx?TypeId=50033&Id=1170&FId=t3:50033:3&ref=broddin.be) board because it’s cheap (€12) and it includes a battery holder. The fewer wires, the better. ![](https://broddinblog.on-forge.com/storage/306/image.png) Instead of writing the firmware and controller myself, I decided to use [WLED Reactive](https://github.com/atuline/WLED?ref=broddin.be), a fork of the excellent WLED project, that includes **sound input & reactive effects**. Never write things yourself, when you can stand on the shoulders of giants. An early test I was planning to do **synchronization** between the lights over **Bluetooth LE**. The WLED firmware does support synchronization, but only over IP (UDP). At first, I was considering running one of the nodes as a Wi-Fi access point, but since the range of the ESP32’s antenna probably isn’t that great, I decided to go for a **standalone Wi-Fi router**. A couple of weeks ago, I learned about an outstanding [travel Wi-Fi router](https://www.amazon.com.be/dp/B08MKZXGBY?keywords=gl.inet&ref=broddin.be) from a video by [Snazzy Labs](https://youtu.be/LUILw91hiEY?t=23&ref=broddin.be). It’s cheap, it runs **OpenWrt**, and it’s powered via **USB-C**. I bought one, and powered it with my trusty [Anker PowerCore 24K power bank](https://www.amazon.com.be/-/nl/Anker-PowerCore-24-000mAh-oplader-vermogen-compatibel/dp/B09VPHVT2Z/ref=sr%5F1%5F4?keywords=anker+powercore&qid=1672228349&sprefix=anker+power%2Caps%2C144&sr=8-4&ref=broddin.be). All lights and my iPhone would connect to the WiFi-network that was being transmitted from my **backpack**. This allowed one light to be the master controller, and sync the chosen effect & color settings to the other lights. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/51hckvlgsel-ac-sx679.jpg) ![](https://broddin.be/content/images/wordpress/2022/12/71LinfGHuL._AC_SX679_.jpg?resize=679%2C849&ssl=1) For the microphone sensors, I used dirt cheap **MAX4466** modules. Next year I’m going to use more expensive digital microphone sensors because the MAX4466 picked up a lot of static, and was not reliable at all. They also seem very easy to break. Thankfully, WLED Reactive also allows you to sync sound data over UDP, so I only needed one working MAX4466 to drive three lights. ![Everything, in its right place.](https://broddinblog.on-forge.com/storage/244/3bf9102f-15f8-4047-ace4-f8bad207bd81-1-105-c.jpg) Everything, in its right place. I was able to adapt the design I made for **the case** last year. Since there didn’t need to be a big power bank inside it, I was capable of making it a bit more compact, reducing print time to 8 hours a piece. ![Not gorgeous, but functional](https://broddinblog.on-forge.com/storage/245/cleanshot-2022-12-28-at-130657-at-2x.png) Not gorgeous, but functional Assembling all three lights, tuning the microphone’s gain, and configuring a playlist of presets took most of the time. I was thrilled when I finally saw **three LED panels doing crazy effects in sync**. Final test ## The result ![](https://broddinblog.on-forge.com/storage/246/22fce060-eb36-4157-98f6-286bd1198afe-1-105-c.jpg) It was a rainy day, but everything worked. The lights, the effects and the sound reactivity. It was an amazing project to be able to work on in my spare time. Of course, I didn’t take enough pictures ???? ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-3354.jpg) ![](https://broddin.be/content/images/wordpress/2022/12/IMG_3349.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/12/IMG_3334.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/12/IMG_3332.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/12/IMG_3347.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/12/IMG_3329.jpeg?resize=768%2C1024&ssl=1) ### On Twitter URL: https://broddin.be/on-twitter/ Last updated: 2026-07-19T19:04:29.000Z When I was in high school, we had this little rich twat in our class. Everyone went to school by bike, but this guy had his daddy pick him up from school every day. When passing the other kids, he would spit out of the window. His daddy would laugh because why wouldn’t he. Nothing more fun than the rich kid spitting on the peasants who had to use their bikes, right? I’m sure no one really liked this kid, at least none of the people I liked did. But, he had quite a following. He had a pool and a PlayStation 2, when that was something we could only dream of. That guy was called Elon Musk. Sorry, no, he wasn’t. Bad joke. But I imagine Elon Musk to have the same type of personality as this irritating kid. \--- Back in the late 90s, I was an IRC guy. I really loved just chatting all day long, with friends I made along the way. Back in the day, we were all on this server hosted by the city of Antwerp, and when the city didn’t want to pay for it anymore, the community collapsed. Friendships were lost from one day to the other. I still remember that in the aftermath of this, a friend from IRC (*hi Dominiek!*) told me about this pretty, new, shiny thing called Twitter. He sold it to me as: “it’s like IRC, but you only hear the people you follow”. I was in, and I have very fond memories of those early years. On Facebook I had my friends, and had to be thoughtful of what I posted. On Twitter, I could just shout on a town square and just see what works. I met many people on Twitter, through joyful interactions, people who I probably won’t have met on any other social medium. Even though the cynicism and toxicity has risen tremendously these past few years, just like it did in our society, Twitter has always had a warm place in my heart. \--- But things turned sour a few weeks ago when the rich kid took over. I’m not going to repeat everything he’s done because it’s been in the press extensively. And I’m also not going to announce my departure (because I’m not an airport). I will, however, take things more slowly on Twitter. I’ll still lurk, and I’ll still do the occasional reply, but that will be it. I’m 100% against every decision Elon has taken so far. His decisions lack any hint of humanity, of decency, and I couldn’t disagree more with him on his vision of freedom of speech and Internet platforms. I’ve been exploring [Mastodon](https://mastodon-belgium.be/@timbroddin?ref=broddin.be) and even though it’s not as lively as Twitter, it kind of reminds me of those early 2007 Twitter times. I’m also experimenting with my [old Tumblr account](https://www.tumblr.com/blog/timbroddin?ref=broddin.be), and I’m liking it so far. Tumblr has always been this weird, fun part of the Internet, and I’m glad it still is. \--- No one knows how this will all turn out. Part of me hopes that Elon will get bored with his new toy and sells it to a better home. Another part of me hopes he will implement the ActivityPub protocol Mastodon uses and his little Twitter service will be just another part of the Fediverse (just like Trump’s TruthSocial is). And yet another part of me hopes this will all just blow up in his face, and he’ll realize that maybe it’s not too late to become a decent human being. Until then, you can find me on [@timbroddin@mastodon-belgium.be](https://mastodon-belgium.be/@timbroddin?ref=broddin.be) (and on all other social media accounts listed on this site). And let’s be perfectly clear boys and girls … Jarvis Cocker - Cunts are still running the world ### Tech time: Doom & Next.js 13 URL: https://broddin.be/tech-time-doom-next-js-13/ Last updated: 2026-07-19T19:04:30.000Z Hi there ???? A few days later than usual because I forgot to push the publish button. If you like this content, feel free to subscribe using the form down below. ### The early days of id Software I’m currently reading [Masters of Doom](https://www.amazon.com/Masters-Doom-Created-Transformed-Culture/dp/0812972155?ref=broddin.be), a book about how John Carmack and John Romero founded one of the most iconic gaming companies: id software. It’s full of anecdotes on shareware, Commander Keen, Wolfenstein 3D and – of course – DOOM. YouTube must have been spying on me because it suggested me this wonderful talk by Romero, which basically covers the same thing. "The Early Days of id Software: Programming Principles" by John Romero (Strange Loop 2022) ### Next.js 13 My favorite full-stack React framework launched a major update. It features a new router, server-side components and some other nice things such as lightweight image generation. Next.js 13… this changes everything However, there has been some backlash from the broader ecosystem, React is getting more and more intertwined with Next.js. Which isn’t really a good thing because React itself should not be opinionated towards any framework. ### The Metaverse is the world’s deepest money pit Here’s a good video essay about why the Metaverse is a total waste of time, effort and people. The Metaverse Is The World's Deepest Money Pit ### The insane graphics of Call of Duty You’ve probably seen this by now. The new Call of Duty game features some extremely hyperrealistic 3D-rendering. The first time I saw the video’s of how good the Amsterdam level looks, I thought it was a hoax and someone just put a filter on real video footage. ???? Modern Warfare 2 Amsterdam Mission (Ridiculous Graphics) ### Some more links if you need to pass some more time [A history of the horny side of the internet](https://www.theverge.com/2022/10/23/23415019/samantha-cole-interview-how-sex-changed-the-internet-bbs-porn-kink?ref=broddin.be) From the very beginning, people have been horny online. [Lenny Lipton, ‘Puff the Magic Dragon’ Lyricist and 3-D Film Pioneer, 82, Dies](https://www.nytimes.com/2022/10/21/arts/music/lenny-lipton-dead.html?ref=broddin.be) He used the royalties earned from the hit folk song, based on a poem he wrote in college, to fund decades of research into stereoscopic … [Why We’re Breaking Up with CSS-in-JS](https://dev.to/srmagura/why-were-breaking-up-wiht-css-in-js-4g9b?ref=broddin.be) Hi, I’m Sam — software engineer at Spot and the 2nd most active maintainer of Emotion, a… [Why we’re leaving the cloud](https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0?ref=broddin.be) Basecamp has had one foot in the cloud for well over a decade, and HEY has been running there exclusively since it was launched two year… [100 Days Of More Or Less Modern CSS](https://www.matuzo.at/blog/2022/100-days-of-more-or-less-modern-css/?ref=broddin.be) A blog post about modern CSS every day for 100 days. ### Tech Time: 👋 Notion, hello Obsidian URL: https://broddin.be/tech-time--f0-9f-91-8b-notion-hello-obsidian/ Last updated: 2026-07-19T19:04:32.000Z Hi folks, Another week, another update. I feel **exhausted** today because last night was the first night ever my girlfriend wasn’t home, so I had to take care of our three children. I was so stressed about having a bad night (because of children who couldn’t sleep) that I ended up having a terrible night. And the three girls? They slept like little **angels** 😇. I’m renaming this newsletter to **Tech time**, as it’s starting to become more than just a link dump. And it brings back some nice memories of when I did [something similar](https://medium.com/creativelab/tech-time-van-tim-shortcuts-gekke-elon-musk-en-zingende-ai-a087e8994e09?ref=broddin.be) for the [VRT Creative Lab](https://vrtcreativelab.be/?ref=broddin.be) ❤️. ## Markdown, and everything is stored locally in text files. It has tons of nice features like backlinks, tags, and it’s extensible with community plugins. Best of all: it’s **free**. They offer a paid syncing feature, but you can just as well sync your files through Git, Dropbox or iCloud. ## The Web’s Next Transition There’s a lot of exciting stuff happening in web development land. After the move from **multi-page applications** to **single page applications**, it seems like we’re moving back to … well, something in between. Or as Kent C. Dodds names it: **Progressively Enhanced Single Page Apps** (PESPA’s). His interesting read ends with a long advertisement for his previous employer, **Remix**, but you can see this move – and other alternative approaches – happening in plenty of frameworks. ![](https://broddin.be/content/images/wordpress/2022/10/card.png?ssl=1) ![](https://epicweb.dev/favicon.ico) ## Deno is here to stay Deno, the JavaScript runtime, built by the creator of NodeJS, is looking more and **more promising** every time I take a look at it. Deno and the future of backend development ## DALL-E 2 ❤️ Microsoft Microsoft is incorporating the DALL-E 2 image generation AI into a new tool, called **Microsoft Designer**. Looking for a photo to put in your brochure? Just type what you want, and it’ll generate a photo that does not exist. ![](https://broddin.be/content/images/wordpress/2022/10/designer-share.png?ssl=1) ![](https://broddin.be/content/images/wordpress/2022/10/favicon-16.png?ssl=1) ## The Metaverse of 1995 Back in 1995, one of the big new browser features was **VRML**. It was a markup language, like HTML, but for the big shiny thing back in the day: VR. The metaverse 25 years before Meta tried to reinvent it. ![](https://broddin.be/content/images/wordpress/2022/10/vrml_hero_3.jpg?ssl=1) ![](https://broddin.be/content/images/wordpress/2022/10/img_634eba7bd7a9e.) ## High-profile failures An interesting Twitter thread about **ignoring flaws**: ## Now Playing I’m enjoying the new album by The 1975 called **Being Funny In a Foreign Language a lot**! The 1975 - Looking For Somebody To Love (Official Live Performance) | Vevo ## Even more links? ???? ### Coding [RFC: First class support for promises and async/await by acdlite · Pull Request #229 · reactjs/rfcs](https://github.com/reactjs/rfcs/pull/229?ref=broddin.be) Adds first class support for reading the result of a JavaScript Promise using Suspense: ### Tech [Codeberg a GitHub Alternative From Europe](https://ruky.me/2022/10/17/codeberg-a-github-alternative-from-europe/?ref=broddin.be) Recently I started migrating my note-taking from Notion to Obsidian. Obsidian does not offer free syncing between devices and you will h… [Kanye West agrees to buy ‘uncancellable’ platform](https://www.bbc.com/news/technology-63285698?ref=broddin.be) Ye “will never have to fear being removed from social media again”, Parler boss George Farmer posts. [Turn your article into a cover image](https://www.stockai.com/tools/article-to-featured-image?ref=producthunt) Simply paste your article and our AI photographer will create a featured image for you, instantly. [▶️ Bun? Deno? Node.js? Creating your own JavaScript Runtime using V8, Libuv and more](https://youtube.com/watch?v=ynNDmp7hBdo&feature=share&ref=broddin.be) Have you ever thought about how Node.js was built back in 2009? [Tech Notes: retrowin32, a win32 emulator](https://neugierig.org/software/blog/2022/10/retrowin32.html?ref=broddin.be) [Upcoming features in Spark 3](https://sparkmailapp.com/help/general/upcoming-features-in-spark-3?utm%5Femail-source=newsletter&utm%5Fmedium=email&utm%5Femail-audience=mac%5Fexist&utm%5Femail%5Fid=announcement&utm%5Femail-campaign=newsletter%5Femail%5Fmac%5Fexist%5Fannouncement%5Fspark3launch%5Foct2022&ref=broddin.be) There are some great things the Spark 2 version can do that Spark 3 cannot yet do. We are eager to add them to the new Spark version in See you next week! ### The iPhone 14 Pro camera is out of this world URL: https://broddin.be/__trashed-5/ Last updated: 2026-07-19T19:04:36.000Z When Apple introduced the iPhone 14 Pro, my mind was blown by the dynamic island. Together with the always-on display, it justified upgrading for me. Now, about a month later, I can say that the feature that stands out the most is the new 48MP camera. Especially with RAW. To begin with, the dynamic range of the sensor is incredible. It’s been a while since I’ve used a professional camera, but the headroom this sensor has is incredible. Check this comparison: ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-2357-rotated.jpg) ![](https://broddin.be/content/images/wordpress/2022/10/IMG_2358-3.jpg?resize=5592%2C7456&ssl=1) This combined with all the extra detail you get, thanks to the extra pixels, give you a camera that rivals *real camera’s* in many situations. True, things get noisy at [100%](https://broddin.be/content/images/wordpress/2022/09/IMG%5F2358.jpg), but this is really incredible. Look at these butterfly at full size and 100%: ![](https://broddin.be/content/images/wordpress/2022/10/CleanShot-2022-10-16-at-11.04.22@2x.png?resize=1950%2C2596&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/10/CleanShot-2022-10-16-at-11.04.29@2x.png?resize=1994%2C2556&ssl=1) One major downside about the camera is that taking a RAW picture takes around 1-2 seconds, so it’s less spontaneous than just snapping away. And, you can’t shoot 48MP JPEGs with it. Two things they’ll probably solve in the iPhone 15. ![](https://broddin.be/content/images/wordpress/2022/10/IMG_2446-2.jpg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/10/IMG_2438-2.jpg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/10/IMG_2459.jpg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/10/IMG_2479-2.jpg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/10/IMG_2312-4.jpg?resize=1024%2C768&ssl=1) ### Link dump: softporn, the secret of life & much more URL: https://broddin.be/link-dump-softporn-the-secret-of-life-much-more/ Last updated: 2026-07-19T19:04:37.000Z Hey there, Hope you’re all having a nice week. I asked the [GPT-3 A.I.](https://openai.com/api/?ref=broddin.be) to write this brief introduction, but it was not only boring as hell, it was lying too. I’m not going to teach you how to make a cup of coffee. Here’s your weekly dose of internet goodness! This week, we’ve got articles on everything from learning to code to the best way to make a perfect cup of coffee. So sit back, relax, and enjoy the links! And don’t forget, you can subscribe to get these delivered straight to your inbox every week. Just fill out the form at the bottom of the page. The intro A.I. wanted you to see. But what’s true is that you can subscribe to get this newsletter straight in your mailbox every week. The form is down below! ## A slice of the pie Usually, I don’t like to link to crypto projects because, well, we all know that it’s just a pyramid scheme ???? [A Slice of the pie](https://a-slice-of-the-pie.live/?ref=broddin.be) is an artwork, that’s currently being exhibited at an exposition in Zürich. It’s basically a pizza shared screen with six slices. For a Tezo (around 1 euro) a piece, you can buy one or more slices and upload an image, which will then be displayed live in Zürich. Every few hours, the current slice will be minted into an NFT. ![](https://broddinblog.on-forge.com/storage/254/a-slice-of-the-pie-og.jpg) ## My Trip to Space Filled Me With ‘Overwhelming Sadness’ A year ago, William Shatner, who you might know from Star Trek, went to space aboard the Blue Origin space shuttle. Contrary to what he expected, he was filled with grief and sadness when he looked at our tiny blue planet. [This article](https://variety.com/2022/tv/news/william-shatner-space-boldly-go-excerpt-1235395113/?ref=broddin.be) is a prepublication of his book [Boldy Go,](https://www.amazon.com/Boldly-Go-Reflections-Life-Wonder-ebook/dp/B09RX45KT5/ref=tmm%5Fkin%5Fswatch%5F0?%5Fencoding=UTF8&qid=1665472214&sr=8-2&ref=broddin.be) which I added to my Kindle straight away. ![](https://broddinblog.on-forge.com/storage/255/favicon.png) “Every day, we are confronted with the knowledge of further destruction of Earth at our hands: the extinction of animal species, of flora and fauna . . . things that took five billion years to evolve, and suddenly we will never see them again because of the interference of mankind. It filled me with dread. My trip to space was supposed to be a celebration; instead, it felt like a funeral.” Variety.com ## Softporn The very first video game I ever got addicted to was called King’s Quest III. It was this low resolution graphical adventure game, where you played this boy who was held captive by an evil wizard. You could use the arrow keys to go to a door, and then you’d have to type “open door”. ![You can actually play it online here. The theme song is bonkers.](https://broddinblog.on-forge.com/storage/306/image.png) You can actually play it online here. The theme song is bonkers. King’s Quest was made by this couple called Ken and [Roberta Williams](https://en.wikipedia.org/wiki/Roberta%5FWilliams?ref=broddin.be), whose company Sierra made and published countless iconic games such as Leisure Suit Larry, Space Quest, Police Quest and even Half-Life. Little did I know (probably because I was only 7 years old) that before graphical adventures, they took a shot at text-only adult games. [This article](https://www.theatlantic.com/technology/archive/2014/12/the-odd-history-of-the-first-erotic-computer-game/383114/?fbclid=IwAR3t2OEcf3GaLqyNyP-x9e2AwHXgttSkKzomSBXXnxxKLDE7JGqZc4kgy-g&ref=broddin.be) tells the backstory of that endeavor called Softporn Adventure. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/original.jpg) ![](https://broddin.be/content/images/wordpress/2022/10/img_6347bfa532c3f.png?ssl=1) ![Play online](https://broddinblog.on-forge.com/storage/307/image-1.png) Play online ## Self-parking car evolution Explaining machine learning can be hard. The same is true for parking your car. Oleksii Trekhleb made [a website](https://trekhleb.dev/self-parking-car-evolution/?ref=broddin.be#/) where a car is being taught to park itself through machine learning, and it’s all being done in your browser. There’s also [a great explanation](https://trekhleb.dev/blog/2021/self-parking-car-evolution/?ref=broddin.be) on how it all works. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/site-meta-image-02.jpg) ![](https://broddin.be/content/images/wordpress/2022/10/img_6347bfa582d7a.) ## Jobs Last week marked the 11th anniversary of the passing of Steve Jobs. He was no saint, but he undeniably made the world a better place. His speeches were among the best, most inspirational out there. Personally, I think this is the best advice he’s ever given: Life Changing Advice from Steve Jobs(Subscribe for Career Boosting Tips from Award Winning MBA Prof) “Life can be much broader, **once you discover one simple fact, and that is that everything around you that you call ‘life’ was made up by people that were no smarter than you**. And you can change it, you can influence it, you can build your own things that other people can use.” Steve Jobs ## IDLES – live at AB If you need some extra energy today, watch this recording of the best concert I’ve seen this year. It’s mental. Idles Live at AB - Ancienne Belgique ## More linkdump ### Coding [▶️ Make Web Components great with Lit](https://www.youtube.com/watch?v=tzDcgII7W14&t=114s&ref=broddin.be) A quick look at Lit. [Introducing OG Image Generation: Fast, dynamic social card images at the Edge – Vercel](https://vercel.com/blog/introducing-vercel-og-image-generation-fast-dynamic-social-card-images?ref=broddin.be) Announcing Vercel OG Image Generation, a new library for generating dynamic social card images. [Day.js · 2kB JavaScript date utility library](https://day.js.org/?ref=broddin.be) 2kB JavaScript date utility library [Delightful UI Animations With Shared Element Transitions API (Part 1) — Smashing Magazine](https://www.smashingmagazine.com/2022/10/ui-animations-shared-element-transitions-api-part1/?ref=broddin.be) Shared Element Transitions API is a game-changing feature that will enable us to create impressive and elaborate UI animations easily. I… [GitHub – sqshq/sampler: Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.](https://github.com/sqshq/sampler?ref=broddin.be) Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file. – GitHub – sqshq/sampler: Tool for sh… [Optimize long tasks](https://web.dev/optimize-long-tasks/?utm%5Fsource=stefanjudis) You’ve been told to “don’t block the main thread” and “break up your long tasks”, but what does it mean to do those things? ### Tech [Ask HN: Is Substack the new Medium? | Hacker News](https://news.ycombinator.com/item?id=33137417&ref=broddin.be) [Lufthansa “bans AirTags in luggage” after passengers publicly shame it with location of lost bags | Boing Boing](https://boingboing.net/2022/10/08/lufthansa-bans-airtags-in-luggage-after-passengers-publicly-shame-them-with-location-of-lost-luggage.html/amp?ref=broddin.be) Apple’s AirTags are an excellent way to know where your luggage is—and a snitch on airlines who don’t know where your luggage is. Luftha… [Cover Your Tracks](https://coveryourtracks.eff.org/?utm%5Fsource=stefanjudis) See how trackers view your browser ### Misc [▶️ Flying in 4 Classes On The Same British Airways Flight…AGAIN | Including First Class & Club Suite!](https://www.youtube.com/watch?v=qcIApgvcvxo&t=287s&ref=broddin.be) We recreated our first ever all-class comparison and put British Airways’ 777-200 to the test! We flew from London to Washington DC in f… ### What we owe the future URL: https://broddin.be/what-we-owe-the-future/ Last updated: 2026-07-19T19:04:37.000Z I just finished reading *What we owe the future* by philosopher William MacAskill. And it blew my mind. ![](https://broddinblog.on-forge.com/storage/261/71vntc8nxul.jpg) This book is all about *longtermism*, or how we today can affect the positive outlook for mankind for thousands of years to come. Even though times are very grim today, this book showed me that it’s probably going to be alright in the end. Future people count, but we rarely count them. They cannot vote or lobby or run for public office, so politicians have scant incentive to think about them. They can’t bargain or trade with us, so they have little representation in the market. And they can’t make their views heard directly: they can’t tweet, or write articles in newspapers, or march in the streets. They are utterly disenfranchised. What We Owe the Future (p. 15). At the beginning of this book, you’re asked to imagine living through all persons who have ever walked this earth. You’re then told that if humanity lasts as long as a typical mammal, you’ll still have 99.5% of your life ahead of you. That’s something this book is excellent at. It puts things in perspective. While reading, you’ll feel tiny as a speck of dust, and at the same time very empowered to be able to have a (albeit it might be tiny) effect on the future lives of humankind. There will be plenty of challenges ahead of us: climate change, the rise of A.I. and nuclear weapons, to name a few. But we are now at a unique period in time when we can tackle these challenges. I won’t make this a book report. But I want to share some things William MacAskill thinks can affect the future of mankind: - **Philanthropy:** if you have the money to spare, give it to good causes. Even though changing your consumption (for example by not eating meat) is undeniably good, making donations to good causes has more impact. Doing both is of course even better. William MacAskill’s other book [Doing Good Better](https://www.effectivealtruism.org/doing-good-better?ref=broddin.be) is all about this. - **Work:** what you do for work can dramatically affect the future. Rethink your career path often. - **Have children:** this one is a bit controversial, but in the not-so-far future, population will start to decrease a lot. In 500 years, population would fall to less than 100 million. Less population means less scientists, fewer scientists mean the chances for technological stagnation are huge. He argues that the positive effects (both for the child and the world) of bringing a child into the world hugely outweigh the negative effects on the world. - **Political activism:** keep an interest in politics, and most importantly: vote. - **Spread good ideas:** read, educate yourself, and tell people about it. There’s a lot of theory in this book, which might not make it the best bedside literature. But I can highly recommend reading it, it will change your outlook forever, and make you more optimistic about where we are heading. \--- And if you don’t believe me, here are some quotes of more famous people: This is a book of great daring, clarity, insight and imagination. To be simultaneously so realistic and so optimistic, and always so damned readable … that is a miracle for which MacAskill should be greatly applauded. Stephen Fry An optimistic look at the future that moved me to tears. Joseph Gordon-Levitt This book will change your sense of how grand the sweep of human history could be, where you fit into it, and how much you could do to change it for the better. Ezra Klein ### Link dump - week 40 URL: https://broddin.be/link-dump-week-40/ Last updated: 2026-07-19T19:04:38.000Z Good day to you all! Another edition of what’s now seemingly turning into my own personal newsletter. If you’d like to receive this in your mailbox every week, you can find a form at the end of this. ## The Leeds 13 Way back in 1998 a group of British art students pulled a great prank on the press (and well everyone). They asked for a grant for an art project, and seemingly used all the money to go on a party trip to Málaga. But that’s not really happened. How We Conned the British Press | Fakes, Frauds & Scammers ## A.I. + games A.I. is not only great to create all the weird images that you have in your head, but it can also learn how to play games, and give you insights into the best strategies to use. For example, if you have a lot of patience you can learn A.I. how to drive a rather complex TrackMania track, or learn it how to win at Monopoly. A.I. Learns to Drive From Scratch in Trackmania AI Learns Insane Monopoly Strategies ## OG App Last week, some enthusiasts proved that it doesn’t take that much to create a better Instagram app. They launched their own Instagram client, aptly named [The OG](https://www.theogapp.com/?ref=broddin.be)[ App](https://www.theogapp.com/?ref=broddin.be), which offers everything everyone’s been wanting from Instagram (chronological timeline, no Reels, no ads) for a long time. Too bad Meta doesn’t allow anyone to make a better product than they do, and they swiftly let Apple remove it from the App Store. It’s still available for Android, and there’s a waitlist for iOS though (should they ever relaunch). ## React, it’s complicated Last week I linked this [excellent read](https://marmelab.com/blog/2022/09/20/react-i-love-you.html?ref=broddin.be) by François Zaninotto, about how he still loves React, but how over the course of several years he’s encountered various (valid) problems with its implementation. Things newer, more sexy frameworks seem to tackle more elegantly. This week, another piece called [“Get in Zoomer, we’re saving React”](https://acko.net/blog/get-in-zoomer-we-re-saving-react/?ref=broddin.be) was published, where it’s author argues that it’s not the framework that is the problem, but the current generation of web developers. What’s really frustrating about all this is how passive and helpless the current generation of web developers seem to be in all this. It’s as if they’ve all been lulled into complacency by convenience. They seem afraid to carve out their own ambitious paths, and lack serious gusto for engineering. If there isn’t a “friendly” bot spewing encouraging messages with plenty of ???? emoji at every turn, they won’t engage. Although he might sound a bit harsh, as I slowly start to grow into an old-timer, I must admit he’s right. Overall, it’s all just tooling, and just like I don’t really care about the brand of wrench my plumber uses, we should focus on the resulting product. We need to stop running in circles. ## Goosebumps alert I was skeptical when news first broke that HBO was making a TV series about what is probably one of the best video games ever. But look at this. It seems they’ve recreated the feeling, the key moments & the setting of the game. It’s still at least some months away, but I can’t wait. ## New music There was lots of great music these past few weeks. New releases by The Mars Volta, Afghan Whigs, Suede, Death Cab For Cutie and Björk have me a very happy boy. However, the record that surprised me most was “The End, So Far” by Slipknot. It might be part nostalgia towards my teenage years, but man, this records is good. It not only emphasizes what a great singer Corey Taylor is (that first track, it’s almost classic Bowie), but it shows a band that has managed to stay relevant, more than 20 years past [Wait & Bleed](https://www.youtube.com/watch?v=B1zCN0YhW1s&ref=broddin.be). My favorite track? I’d say Yen. It starts slow and beautiful, then rips you open. Slipknot - Yen \[OFFICIAL VIDEO\] ## ????Even more links???? ### Coding [GitHub – ImVexed/muon: GPU based Electron on a diet](https://github.com/ImVexed/muon?ref=broddin.be) GPU based Electron on a diet. Contribute to ImVexed/muon development by creating an account on GitHub. [The new wave of Javascript web frameworks](https://frontendmastery.com/posts/the-new-wave-of-javascript-web-frameworks/?ref=broddin.be) Make sense of the proliferation of new Javascript web frameworks. A deep dive into the problems at scale and the recent evolution of inn… ### Tech [▶️ I Paid Fiverr To Create An Entire YouTube Business](https://www.youtube.com/watch?v=eXAsCKSJir8&ref=broddin.be) View video part 2!https://www.youtube.com/watch?v=rOqDt\_g5dBASo, I had the bright idea to see if I could build an entire YouTube Channel… [▶️ Homelab upgrade: New Raspberry Pi Cluster rackmount](https://www.youtube.com/watch?v=akJ97oqmQlU&ref=broddin.be) It’s time to upgrade to my rackmount Pi cluster!You can buy the UCTRONICS Pi Rack Pro on Amazon: https://amzn.to/3BDZD5YOther products m… [Twitter’s actually rolling out editable tweets](https://www.theverge.com/2022/10/3/23385513/twitter-edit-tweets-roll-out-blue?ref=broddin.be) For Blue subscribers in certain countries [AI Test Kitchen](https://aitestkitchen.withgoogle.com/?ref=broddin.be) A place to improve AI technology, together. [soxoj/maigret: ????️‍♂️ Collect a dossier on a person by username from thousands of sites](https://github.com/soxoj/maigret?ref=broddin.be) ????️‍♂️ Collect a dossier on a person by username from thousands of sites – soxoj/maigret: ????️‍♂️ Collect a dossier on a person by userna… [Stadia died because no one trusts Google](https://techcrunch.com/2022/10/01/stadia-died-because-no-one-trusts-google/?guccounter=1&ref=broddin.be) There’s a lot of chatter right now about the “surprise” shutdown of Stadia, Google’s game-streaming service. While it’s true that rivals… ### Gaming [The Demise of the Mildly Dynamic Website](https://www.devever.net/~hl/mildlydynamic?ref=broddin.be) [▶️ Brewmaster: Beer Brewing Simulator – Release Date Announce Trailer | PS5 & PS4 Games](https://www.youtube.com/watch?v=1QwGFN6dvoI&ref=broddin.be) Brewmaster: Beer Brewing Simulator is coming to PlayStation 5 and PlayStation 4 on the 29th of September 2022! Brew your dream beer in t… ### Music [This or That? Play Pitchfork’s 1990s Music Battle Game](https://pitchfork.com/features/interactives/1990s-music-battle/?ref=broddin.be) Choose your favorites in head-to-head matchups of songs and albums from the 1990s. See you next week! ### Link dump - week 39 URL: https://broddin.be/link-dump-week-39/ Last updated: 2026-07-19T19:04:38.000Z Howdy! A few weeks ago I linked to DiffusionBee, an app that makes it easy to run Stable Diffusion, which is an algorithm similar to DALL-E 2 on your M1/M2 Mac. Sadly, Intel Mac users couldn’t use it. But since version 0.2 they can also join the fun (albeit slowly). The latest version also adds some nice UI tweaks, and they have [a brand-new website](https://diffusionbee.com/?ref=broddin.be). There used to be a time, not so long ago, when creating stuff for the web was harder than it should’ve been. Not being able to do what you want to do because you are limited by the platform was very frustrating. But that’s a thing of the past because The Web is Good Now. The Web is Good Now | Chris Coyier | CascadiaJS 2022 Here in Belgium, we use the AZERTY keyboard layout, and the rest of the QWERTY using world laughs at us. Some people swear by even stranger layouts, such as DVORAK. This raises the question: what is the most efficient keyboard layout? AI found out. Using AI to Create the Perfect Keyboard Lastly, before I just dump a crap load of links onto you. Aphex Twin has released an app. It’s called *samplebrain*, and it’s well … interesting. You can download it from [his Gitlab page](https://gitlab.com/then-try-this/samplebrain?ref=broddin.be). ![](https://broddinblog.on-forge.com/storage/264/cleanshot-2022-09-27-at-112415-at-2x.png) Have fun with the links below! ## Coding [Drivey.js – GL on Wheels](https://rezmason.github.io/drivey/?ref=broddin.be) [Type-Level TypeScript — Introduction](https://type-level-typescript.com/?ref=broddin.be) A course to take your TypeScript skills to the next level! [First Batch of Color Fonts Arrives on Google Fonts – Material Design](https://material.io/blog/color-fonts-are-here?ref=broddin.be) Customize color palettes, add gradients, and more with COLRv1 [React I Love You, But You’re Bringing Me Down](https://marmelab.com/blog/2022/09/20/react-i-love-you.html?ref=broddin.be) We’ve come a long, long way together. You changed. Where do we go from here? [GitHub – BuilderIO/qwik: The HTML-first framework. Instant apps of any size with \~ 1kb JS](https://github.com/BuilderIO/qwik?ref=broddin.be) The HTML-first framework. Instant apps of any size with \~ 1kb JS – GitHub – BuilderIO/qwik: The HTML-first framework. Instant apps of an… ## Tech [Introducing Peregrine: A Truly Realistic Text to Speech Model with Emotion and Laughter – Play.ht – Blog](https://play.ht/blog/introducing-truly-realistic-text-to-speech-with-emotion-and-laughter/?ref=broddin.be) Play.ht introduces realistic AI Text to Speech voice models that can express emotions and laughter. Create engaging voiceovers from text. [We Spoke With the Last Person Standing in the Floppy Disk Business](https://eyeondesign.aiga.org/we-spoke-with-the-last-person-standing-in-the-floppy-disk-business/?ref=broddin.be) This interview was originally published in Floppy Disk Fever: The Curious Afterlives of a Flexible Medium, a new book published by Onoma… ## Misc [Take Care of Your Blog](https://www.robinrendle.com/notes/take-care-of-your-blog-/?utm%5Fsource=stefanjudis&utm%5Fmedium=email) The website of Robin Rendle, a designer and writer from the UK. ### Link dump - week 38 URL: https://broddin.be/link-dump-week-38/ Last updated: 2026-07-19T19:04:39.000Z Here I am again with my weekly collection of links. But I forgot to bookmark the most interesting video I saw this week. Do you know how petrol pumps know how to turn themselves off? Turns out it’s caused by an engineering marvel. How petrol pumps know when to turn themselves off ## Coding [Roadroller: Flattens Your JavaScript Demo](https://lifthrasiir.github.io/roadroller/?ref=broddin.be) [Theatre.js v0.5 is out! – Theatre.js Blog](https://www.theatrejs.com/blog/theatre-05-is-out?ref=broddin.be) Theatre.js 0.5 introduces 3D scene editing, complex keyframing, and a new extension API [The seventh way to call a JavaScript function without parentheses](https://portswigger.net/research/the-seventh-way-to-call-a-javascript-function-without-parentheses?ref=broddin.be) I thought I knew all the ways to call functions without parentheses: [JavaScript APIs You Don’t Know About — Smashing Magazine](https://www.smashingmagazine.com/2022/09/javascript-api-guide/?ref=broddin.be) In this article, Juan Diego covers the least known yet extremely useful APIs, such as the Page Visibility API, Web Sharing API, Broadcas… ## Tech [▶️ PowerTower Pro: The Mac Clone That Almost Killed Apple](https://www.youtube.com/watch?v=vEm-f2MTjcY&ref=broddin.be) Apple’s official Mac licensing program in the mid-90s only lasted a bit over two years, but some companies came out with clones so compe… [New Block Diffusion Plugin Creates AI-Generated Images from Text Prompts](https://wptavern.com/new-block-diffusion-plugin-creates-ai-generated-images-from-text-prompts?ref=broddin.be) AI image generation has quickly become more accessible over the past few months and is making its way into different industries that req… [AI Seamless Texture Generator Built-In to Blender](https://github.com/carson-katri/dream-textures?ref=broddin.be) Stable Diffusion built-in to the Blender shader editor – GitHub – carson-katri/dream-textures: Stable Diffusion built-in to the Blender … [Welcome to Linux command line for you and me! — Linux command line for you and me 0.1 documentation](https://lym.readthedocs.io/en/latest/index.html?ref=broddin.be) [▶️ The REAL fight over AI art](https://youtube.com/watch?v=NiJeB2NJy1A&feature=share&ref=broddin.be) Why DALLE, Midjourney, and other AI image generation tools are so controversial… ## Gaming GTA 6 leaked … but it seems like all the videos are offline already 😬 ## Misc [Office Today](https://broddin.be/content/files/2026/07/officetoday-wordpress-com.html) Automatticians can work from anywhere – it can be pretty awesome. ### Fixing "The chromium binary is not available for arm64" URL: https://broddin.be/fixing-the-chromium-binary-is-not-available-for-arm64/ Last updated: 2026-07-19T19:04:40.000Z When installing Puppeteer on your new shiny M1/M2 powered Mac, you might come across this error message, when trying to install the Puppeteer NPM package: ```bash The chromium binary is not available for arm64: If you are on Ubuntu, you can install with: apt-get install chromium-browser ``` Fear not, there is an easy fix! Just install Chromium manually with HomeBrew: ```bash brew install chromium --no-quarantine ``` No quarantine? The no quarantine flags ensures you don’t get the “Chromium is damaged and can’t be openend”. After installing Chromium, just add these two lines to `~/.zshrc`: ```text export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true export PUPPETEER_EXECUTABLE_PATH=`which chromium` ``` Don’t forget to run source `~/.zshrc` afterwards. Your installation of puppeteer should now work. ### Link dump - week 37 URL: https://broddin.be/link-dump-week-37/ Last updated: 2026-07-19T19:04:42.000Z Welcome to the weekly dump of even more links. Goodbye DALL-E, it’s now possible to run the stable diffusion algorithm on your M1/M2 Mac, using the [DiffusionBee UI](https://github.com/divamgupta/diffusionbee-stable-diffusion-ui?ref=broddin.be). No more spending all your money on DALL-E credits. And you can ask for NSFW prompts, that’s why the thumbnail image of this post is a of a naked Donald Trump working in the red light district. ![](https://broddin.be/content/images/wordpress/2022/09/Trumpies.png?resize=512%2C512&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/09/Trumpie5.png?resize=512%2C512&ssl=1) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/trumpie-1.png) ![](https://broddin.be/content/images/wordpress/2022/09/Trumpiee.png?resize=512%2C512&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/09/Trump8.png?resize=512%2C512&ssl=1) Also, Dries Depoortere has [a cool new project](https://youtube.com/watch?v=sd%5FP0LxIBGI&feature=share&ref=broddin.be). See you next week! ## Coding [Introducing Signals – Preact](https://preactjs.com/blog/introducing-signals/?ref=broddin.be) Signals are a way of expressing state that ensure apps stay fast regardless of how complex they get. Signals are based on reactive princ… [Next.js 12.3](https://nextjs.org/blog/next-12-3?ref=broddin.be) Next.js 12.3 introduces TypeScript Auto-Install, improved Fast Refresh, stable new Image Component, and more! ## Tech [GitHub – divamgupta/diffusionbee-stable-diffusion-ui: Diffusion Bee is the easiest way to run Stable Diffusion locally on your M1 Mac. Comes with a one-click installer. No dependencies or technical knowledge needed.](https://github.com/divamgupta/diffusionbee-stable-diffusion-ui?ref=broddin.be) Diffusion Bee is the easiest way to run Stable Diffusion locally on your M1 Mac. Comes with a one-click installer. No dependencies or te… [The Steve Jobs Archive](https://stevejobsarchive.com/?ref=broddin.be) The Steve Jobs Archive is building programs, fellowships, collections, and partnerships that reflect Steve’s values and carry his sense … [▶️ Creating F1 graphics in JavaScript](https://www.youtube.com/watch?v=sA-X0Bw%5F7Gg&ref=broddin.be) Let’s make some F1 graphics, real fast.Thanks for Corey Mac Gregor for the commentary and to the people at For One Red for their appeara… [How The Merge will slash Ethereum’s climate pollution](https://www.theverge.com/2022/9/6/23339594/ethereum-merge-energy-pollution-proof-of-stake?ref=broddin.be) And what could go wrong. [How Cloudflare got Kiwi Farms wrong](https://www.theverge.com/2022/9/6/23339889/cloudflare-kiwi-farms-content-moderation-ddos?ref=broddin.be) Cloudflare came around in the end. Next time, it should get there faster. ## Make [Making your own e-paper dashboard for home from scratch!](https://lengrand.fr/complete-setup-epaper/?ref=broddin.be) In this post, I describe the complete setup I used to create my epaper and raspberry pi based dashboard running on node. ## Funny [Smell Dating](https://smell.dating/?ref=broddin.be) Mail Odor Dating ## Misc [▶️ The Follower – Using open cameras and AI to find how an Instagram photo is taken.](https://youtube.com/watch?v=sd%5FP0LxIBGI&feature=share&ref=broddin.be) Check out my website for more details https://driesdepoorter.be I’m a speaker and artist working with technology 🙂 [\*\* Museum of Endangered Sounds \*\*](http://savethesounds.info/?utm%5Fsource=stefanjudis) [Mental Models for Better Thinking – Farnam Street](https://fs.blog/mental-models-for-better-thinking-course/?ref=broddin.be) How do you make sense of the world around you? How do you navigate through it? When problems arise, how do you confront them?Mental mode… [Museum of Plugs and Sockets: home page](https://www.plugsocketmuseum.nl/index.html?ref=broddin.be) Annotated display of 1000 domestic electrical plugs and sockets from all over the world, including classic and obsolete types. ### Link dump - week 36 URL: https://broddin.be/link-dump-week-36/ Last updated: 2026-07-19T19:04:42.000Z Let’s write a brief introductory paragraph this week. This is a summary of all the interesting links I’ve saved to my bookmark manager, [Raindrop.io](https://raindrop.io/?ref=broddin.be), in the past week. Every week, a [small script](https://github.com/TimBroddin/raindrop-to-wpcom?ref=broddin.be) starts on an Amazon server, and automatically creates a draft blog post on my website, which I then edit and review. I usually create a stupid featured image with [DALL-E 2](https://openai.com/dall-e-2/?ref=broddin.be) or [Midjourney](https://www.midjourney.com/home/?ref=broddin.be), but this week I tried out *stable diffusion*, a new open-source AI algorithm you can run for free, and that even runs on Apple’s M1/M2 chips (see instructions below). I began working at [Automattic](https://automattic.com/?ref=broddin.be) yesterday, and so far, it has been a blast. The first two weeks will be a support rotation, learning the ins & outs of the company. I’ve met my team yesterday, and it looks like we’ll be having some good fun pretty soon. Be sure to check out the performances of IDLES and For Those I Love below. These two bands are very close to my heart, and I’m sure you’ll like them too. ## Coding [▶️ Why we need more JavaScript frameworks](https://youtube.com/watch?v=zoVUvgXl378&feature=share&ref=broddin.be) A quick look at Solid compared to React, and why keeping up with all the JS frameworks is a must…. [Hyper Fetch – Ultimate fetching solution | Hyper Fetch – Ultimate fetching solution](https://hyperfetch.bettertyped.com/?ref=broddin.be) Follow the flow of modern data exchange [JSON Crack – Crack your data into pieces](https://jsoncrack.com/?ref=broddin.be) Simple visualization tool for your JSON data. No forced structure, paste your JSON and view it instantly. [▶️ Magic tricks with the HTML parser | HTTP 203](https://youtube.com/watch?v=LLRig4s1%5FyA&feature=share&ref=broddin.be) ⚠️⚠️⚠️ It’s colleague [Bramus](https://www.bram.us/?ref=broddin.be)!!!!!! ⚠️⚠️⚠️ [▶️ New in Chrome 105: Container Queries, :has, the Sanitizer API, and more!](https://youtube.com/watch?v=qwdN1fJA%5Fd8&feature=share&ref=broddin.be) Chrome 105 is rolling out now! Container queries and :has() are a match made in responsive heaven. The new Sanitizer API provides a robu… [Understanding useMemo and useCallback](https://www.joshwcomeau.com/react/usememo-and-usecallback/?ref=broddin.be) What’s the deal with these two hooks?! Lots of devs find them confusing, for a whole host of reasons. In this tutorial, we’ll dig deep a… ## Tech [Islamic State Turns to NFTs to Spread Terror Message](https://www.wsj.com/articles/islamic-state-turns-to-nfts-to-spread-terror-message-11662292800?ref=broddin.be) National-security analysts see a potentially dangerous platform for recruiting and funding. [Draw Anything – Stable Diffusion Playground](https://www.drawanything.app/?ref=broddin.be) [‘How the Apple AirTag became a gift to stalkers](https://www.theguardian.com/technology/2022/sep/05/i-didnt-want-it-anywhere-near-me-how-the-apple-airtag-became-a-gift-to-stalkers?ref=broddin.be) A gadget the size of a 10p coin, the AirTag was intended to help people find their keys. Instead it has facilitated a boom in terrifying… [“Writing an app is like coding for LaserDisc”](https://shkspr.mobi/blog/2022/09/writing-an-app-is-like-coding-for-laserdisc/?ref=broddin.be) 11 years ago to the day, I was at a tech conference. It was 3 year after the iPhone had launched its app SDK. Those of us who had been i… [LG is bringing NFTs to its smart TVs](https://www.theverge.com/2022/9/4/23336997/lg-bringing-nfts-smart-tvs-cryptocurrency?ref=broddin.be) ???? [Run Stable Diffusion on your M1 Mac’s GPU](https://replicate.com/blog/run-stable-diffusion-on-m1-mac?ref=broddin.be) How to run Stable Diffusion locally so you can hack on it [Stable Diffusion Is the Most Important AI Art Model Ever](https://thealgorithmicbridge.substack.com/p/stable-diffusion-is-the-most-important) A state-of-the-art AI model available for everyone through a safety-centric open-source license is unheard of. ## Gaming [▶️ The Last of Us Part 1 – PlayStation 5 – The Digital Foundry Tech Review](https://www.youtube.com/watch?v=0mv0dAwPqCs&t=3s&ref=broddin.be) A contentious release for many, with Naughty Dog remaking a PlayStation 3 classic that already has an impressive PS4 Pro version that ru… [▶️ You SHOULDN’T hate the Blue Shell](https://youtube.com/watch?v=fPVH%5FaGvfzU&feature=share&ref=broddin.be) The Blue Shell is Mario Kart’s most HATED item. In every single Mario Kart game since 1996, this one item attacks players and causes RAG… ## Music [▶️ South Park the 25th Anniversary Concert (Full Broadcast Version)](https://youtube.com/watch?v=5x7TUiV8Urk&feature=share&ref=broddin.be) South Park The 25th Anniversary Concert features co-creators Trey Parker and Matt Stone taking the stage to perform songs from the show’… [▶️ For Those I Love – Live at The Olympia Theatre](https://www.youtube.com/watch?v=Srv5cCryRIk&t=2509s&ref=broddin.be) For Those I Love – Live at The Olympia Theatre November 17th, 2021 [▶️ IDLES live at Le Bataclan in Paris, Dec 2018 (Full Concert)](https://www.youtube.com/watch?v=0lbH%5FZ-Xi1Q&ref=broddin.be) Full performance of IDLES live at Le Bataclan in Paris, Dec 2018 followed by a Q&A with Joe. ## Funny [▶️ Sneaking In Worlds Most Secure Festival Through A Secret Tunnel](https://youtube.com/watch?v=6gzV07lRRVE&feature=share&ref=broddin.be) Sorry Michael Eavis, please don’t ban me. ## Misc [▶️ This is the most interesting roof in London.](https://youtube.com/watch?v=q3LuZeekVX4&feature=share&ref=broddin.be) The @Royal Albert Hall is 150 years old; the roof is 600 tonnes of glass and steel. And it turns out that there’s a terrifying technici… [▶️ Five Days at Memorial — Creating the Storm | Apple TV+](https://www.youtube.com/watch?v=wB52H0Xm8Qs&ref=broddin.be) For the production designers on Five Days at Memorial, re-creating Hurricane Katrina was no easy feat. Find out how the crew re-created … ### Weekly linkdump (week 35) URL: https://broddin.be/weekly-linkdump-week-35/ Last updated: 2026-07-19T19:04:43.000Z ## Coding [GitHub – jbranchaud/til: Today I Learned](https://github.com/jbranchaud/til?ref=broddin.be) :memo: Today I Learned. Contribute to jbranchaud/til development by creating an account on GitHub. [▶️ Bun and Deno: New Runtimes for the Third Age of JavaScript (Full Talk rerecorded)](https://youtube.com/watch?v=O7KVEwNau6w&feature=share&ref=broddin.be) [How to step up your GitHub game with “Saved Replies”](https://blog.ediri.io/how-to-step-up-your-github-game-with-saved-replies?utm%5Fsource=stefanjudis) In my personal opinion, reviewing Pull Requests (short: PRs) are one of the enjoyable and valuable things we can do in a pr… [Tota11y! instructions](https://tota11y.babylontech.co.uk/?ref=broddin.be) [GitHub – jetpack-io/devbox: Instant, easy, predictable shells and containers.](https://github.com/jetpack-io/devbox?ref=broddin.be) Instant, easy, predictable shells and containers. Contribute to jetpack-io/devbox development by creating an account on GitHub. [The good parts of Supabase](https://noahflk.com/blog/supabase-the-good-parts?ref=broddin.be) What I like about Supabase and what I don’t [Theme Redone: A New Block-Based Starter Theme for Building WordPress Websites and Gutenberg Blocks with an MVC Framework](https://wptavern.com/theme-redone-a-new-block-based-starter-theme-for-building-wordpress-websites-and-gutenberg-blocks-with-an-mvc-framework?ref=broddin.be) In the days before Gutenberg, the maturity of the WordPress theme ecosystem offered a diverse selection of dozens of well-known starter … ## Tech [alpaca – Humans ???? AI Models for Image generation](https://www.getalpaca.io/?ref=broddin.be) alpaca is a Photoshop Plugin for to combine AI image generation power with human skill. [Apple applies for ‘Reality One’, ‘Reality Pro’ trademarks ahead of AR headset launch](https://9to5mac.com/2022/08/28/apple-reality-headset-name/?ref=broddin.be) Apple has begun the trademark application process for a variety of ‘reality’ names, as it prepares to introduce its first augmented real… [rpilocator – Find Raspberry Pi Computers in Stock](https://rpilocator.com/?ref=broddin.be) Find Raspberry Pi computers in stock with this simple to use web application. ## Gaming [▶️ Masahiro Sakurai on Creating Games](https://youtube.com/channel/UCv1DvRY5PyHHt3KN9ghunuw?ref=broddin.be) Join Masahiro Sakurai, director of several Kirby games and the Super Smash Bros. series, as he reflects on his work in the games industr… ## Funny [How i experience web today](https://how-i-experience-web-today.com/?ref=broddin.be) [Design the next iPhone](https://neal.fun/design-the-next-iphone/?ref=broddin.be) Apple is running out of ideas and needs your help. [Viral Post Generator](https://viralpostgenerator.com/?target=998942e43ce445e7a8ed43cc51862f42¶ms=%7B%7D&ref=broddin.be) Go mega-viral on Linkedin | Generate a successful post with the power of AI ### Weekly linkdump (week 34) URL: https://broddin.be/weekly-linkdump-week-34/ Last updated: 2026-07-19T19:04:43.000Z ## Coding [▶️ John Carmack: Best programming setup and IDE | Lex Fridman Podcast Clips](https://youtube.com/watch?v=tzr7hRXcwkw&feature=share&ref=broddin.be) [▶️ Astro just Launched…. Could it be the ultimate web framework?](https://youtube.com/watch?v=gxBkghlglTg&feature=share&ref=broddin.be) Astro version 1.0 just launched giving developers a way to build server-rendered websites with any JavaScript framework. It uses the isl… [▶️ I built a JavaScript framework](https://youtube.com/watch?v=SJeBRW1QQMA&feature=share&ref=broddin.be) Learn how to choose a fullstack JavaScript framework by asking questions about your web app in a flow chart. If you’re crazy enough, you… [GitHub – sakofchit/system.css: A design system for building retro Apple interfaces](https://github.com/sakofchit/system.css?ref=broddin.be) A design system for building retro Apple interfaces – GitHub – sakofchit/system.css: A design system for building retro Apple interfaces [▶️ Michelle Barker | Creative CSS Layout | CSS Day 2022 – YouTube](https://m.youtube.com/watch?v=tueTFd2TQUA&ref=broddin.be) CSS layout has moved along in leaps and bounds in the past few years. Beyond flexbox and Grid, there is aspect-ratio, min, max and clamp… [SQLite is not a toy database](https://antonz.org/sqlite-is-not-a-toy-database/?ref=broddin.be) Here is why SQLite is a perfect tool for you – whether you are a developer, data analyst, or geek. ## Tech [This is Facebook’s plan to be cool again](https://www.theverge.com/2022/8/17/23309770/future-of-facebook-feed-discovery-engine-land-of-the-giants-podcast?ref=broddin.be) Facebook is going to start working more like TikTok. [A marketing masterclass by Steve Jobs](https://twitter.com/valaafshar/status/1559229028766306310?s=12&t=5qBOy5Y3O-MuBqmua0horg&ref=broddin.be) A marketing masterclass by Steve Jobs pic.twitter.com/I2kMipVg3n— Vala Afshar (@ValaAfshar) August 15, 2022 ## Tips & Tricks [▶️ Neuroscientist: How Caffeine Works and What It Does to Your Body](https://youtube.com/watch?v=OT0IsU6V-q8&feature=share&ref=broddin.be) [Add Spacers in the macOS Dock](https://chrispennington.blog/blog/add-spacer-in-macos-dock/?ref=broddin.be) A short Terminal script on macOS can add either regular or small spacers to your macOS dock, which you can use to separate icons. ## Funny [Andrej ⚡️ on Twitter](https://twitter.com/reactive%5Fdude/status/1558468983082422273?s=12&t=ljGOGhrLgkodIjdbo8Y1RQ&ref=broddin.be) How JavaScript developers create new projects pic.twitter.com/u3DCy7MfdL— Andrej ⚡️ (@reactive\_dude) August 13, 2022 [Why Were Medieval Monks So Susceptible to Intestinal Worms?](https://www.smithsonianmag.com/science-nature/why-were-medieval-monks-so-susceptible-to-intestinal-worms-180980608/?ref=broddin.be) Friars in Cambridge, England, suffered from these parasites at nearly double the rate found among average unwashed citizens ## Misc [Applying a rule from Pixar with a camera from 1961](https://news.gregjeanneau.com/pixar-camera-1961/?ref=broddin.be) While visiting Tokyo’s fabulous vintage camera stores, I discovered the Olympus Pen ee3\. This camera has an interesting origin story… ### Weekly linkdump (week 33) URL: https://broddin.be/weekly-linkdump-week-33/ Last updated: 2026-07-19T19:04:44.000Z ## Coding [Blitz.js – The Missing Fullstack Toolkit for Next.js](https://blitzjs.com/?ref=broddin.be) Blitz picks up where Next.js leaves off, providing battle-tested libraries and conventions for shipping and scaling world wide applications. [Will Bun JavaScript Take Node’s Crown](https://semaphoreci.com/blog/javascript-bun?ref=broddin.be) Bun is the newest and fastest all-in-one JavaScript framework. Will it take over Node? Is it better than Deno? Let’s do some testing. [CSS color pro tips](https://youtube.com/watch?v=lCD4kJ4rYq8&feature=share&ref=broddin.be) The color property is one of the first things we learn, and it seems really straightforward, but there is more that you can do with its … [Core Web Vitals Tools To Boost Your Web Performance Scores — Smashing Magazine](https://www.smashingmagazine.com/2022/08/core-web-vitals-tools-boost-performance/?ref=broddin.be) Identify, compare, analyze and fix your Core Web Vitals scores to boost web performance of your sites. These tools will help you to do j… [Astro 1.0 | Astro](https://astro.build/blog/astro-1/?ref=broddin.be) Astro 1.0 is out now! Astro is a web framework for building fast, content-focused websites. Performance powered by Astro next-gen island… [Patterns.dev – Modern Web App Design Patterns](https://www.patterns.dev/?ref=broddin.be) Improve how you architect webapps Patterns.dev is a free book on design patterns and component patterns for building powerful web apps w… [Cloudscape – Cloudscape Design System](https://cloudscape.design/?ref=broddin.be) Cloudscape offers user interface guidelines, front-end components, design resources, and development tools for building intuitive, engag… ## Tech [Magical Musical Thing: A vintage analog synthesizer for kids](https://www.youtube.com/watch?v=jRKqVYAfbGw&t=509s&ref=broddin.be) In this video, I explore the strange toy that is the Magical Musical Thing (Mattel 1979). I speak to Franklin Eventoff, the toy’s invent… [▶️ 10 amazing little features in 10 amazing Mac apps](https://www.youtube.com/watch?v=PoPIEcsvjPM&ref=broddin.be) I know this feels like the sort of video that might be sponsored, but it’s not! As always, I’m committed to sharing the best stuff only … [TikTok and the Fall of the Social-Media Giants](https://www.newyorker.com/culture/cultural-comment/tiktok-and-the-fall-of-the-social-media-giants?ref=broddin.be) Facebook is trying to copy TikTok, but this strategy may well signal the end of these legacy platforms. [CEO Shadow Program](https://about.gitlab.com/handbook/ceo/shadow/?ref=broddin.be) At GitLab, being a CEO shadow is not a job title, but a temporary assignment to shadow the CEO [Overrun by influencers, historic sites are banning TikTok creators in Nepal](https://restofworld.org/2022/nepals-historic-sites-banning-tiktok-creators/?ref=broddin.be) Prominent tourist and religious sites in Nepal are putting up “No TikTok” signs to keep creators from shooting at the premises. [iOS Privacy: Instagram and Facebook can track anything you do on any website in their in-app browser · Felix Krause](https://krausefx.com/blog/ios-privacy-instagram-and-facebook-can-track-anything-you-do-on-any-website-in-their-in-app-browser?ref=broddin.be) [There aren’t that many uses for blockchains](https://calpaterson.com/blockchain.html?ref=broddin.be) A criteria for judging when a blockchain is applicable [Intigriti tips](https://twitter.com/thebinarybot/status/1556874676223512576?s=12&t=HMXcRcghZFtJ%5Fw7nML5evA&ref=broddin.be) I’ve been following @intigriti ‘s bug bounty tips for quite sometime and they’re super valuable.But it’s no use if I just store them wit… ## Gaming [▶️ Kirby 30th Anniversary Music Fest.](https://www.youtube.com/watch?v=zJoBSUoZjpw&ref=broddin.be) 2022年8月11日に開催される『星のカービィ 30周年記念ミュージックフェス』の当日の演奏模様をお届けします。 ## Music [▶️ Yeah Yeah Yeahs – Burning (Official Video)](https://www.youtube.com/watch?v=vSffKUyr0lk&ref=broddin.be) Yeah Yeah Yeahs – ‘Burning’ (Official Video) from the upcoming album ‘Cool It Down’, out September 30th. Stream ‘Burning’ Out Now: https… [▶️ Chat Pile – Slaughterhouse (Official Music Video)](https://www.youtube.com/watch?v=74Wm1d3Dq8c&ref=broddin.be) [▶️ Phoebe Bridgers – I Know The End (Feat. Arlo Parks) (Glastonbury 2022)](https://www.youtube.com/watch?v=UiJxHzmPiF4&ref=broddin.be) ## Funny [Fake an un-ecofriendly online with Instagreen](https://olifro.st/instagreen/?ref=broddin.be) Instagreen is a new tech startup with a mission: to help you look richer, but live greener. ## Misc [The Big Bang didn’t happen | Eric Lerner](https://iai.tv/articles/the-big-bang-didnt-happen-auid-2215?ref=broddin.be) The Big Bang Hypothesis – which states the universe has been expanding since it began 14 billion years ago in a hot and dense state – is… [On being tired – Jukka Niiranen](https://jukkaniiranen.com/2022/02/on-being-tired/?ref=broddin.be) What happens when your mental battery gets drained & how I’ve personally experienced this in recent times. [Ultimate list of Japanese Vegetable Cutting Techniques – The Chef Dojo](https://thechefdojo.com/japanese-vegetable-cutting-techniques/?ref=broddin.be) Want to improve your knife skills? Take a look at this list of Japanese vegetable cutting techniques. Start from the basics, and work … ### Weekly linkdump (week 32) URL: https://broddin.be/weekly-linkdump-week-32/ Last updated: 2022-08-09T09:00:45.000Z ## Coding [⌘K](https://cmdk.paco.me/?ref=broddin.be) Fast, composable, unstyled command menu for React. [nearform/lyra: ???? Fast, in-memory, typo-tolerant, full-text search engine written in TypeScript.](https://github.com/nearform/lyra?ref=broddin.be) ???? Fast, in-memory, typo-tolerant, full-text search engine written in TypeScript. – nearform/lyra: ???? Fast, in-memory, typo-tolerant, … [Mailing](https://www.mailing.run/?ref=broddin.be) Build + test + send emails with React [GitHub – hackergrrl/art-of-readme: Things I’ve learned about writing good READMEs.](https://github.com/hackergrrl/art-of-readme?ref=broddin.be) :love\_letter: Things I’ve learned about writing good READMEs. – GitHub – hackergrrl/art-of-readme: Things I’ve learned about writing goo… [PowerGlitch – Glitch anything on the web](https://7ph.github.io/powerglitch/?ref=broddin.be#/) [Finer grained control over CSS transforms with individual transform properties](https://web.dev/css-individual-transform-properties/?ref=broddin.be) Learn how you can use the individual translate, rotate, and scale CSS properties to approach transforms in an intuitive way. [GDPR For Developers By Example](https://blog.blether.chat/2022/08/03/gdpr-for-developers-by-example/?ref=broddin.be) [GitHub – moyix/fauxpilot: FauxPilot – an open-source GitHub Copilot server](https://github.com/moyix/fauxpilot?ref=broddin.be) FauxPilot – an open-source GitHub Copilot server. Contribute to moyix/fauxpilot development by creating an account on GitHub. ## Tech [I replaced all our blog thumbnails using DALL·E 2 for $45: here’s what I learned | Deephaven](https://deephaven.io/blog/2022/08/08/AI-generated-blog-thumbnails/?ref=broddin.be) Blog posts with images get 2.3x more engagement. Here’s the problem – we make a query engine for streaming tables. How the heck are you … [Amazon’s Roomba Deal Is Really About Mapping Your Home](https://www.bloomberg.com/news/articles/2022-08-05/amazon-s-irobot-deal-is-about-roomba-s-data-collection?ref=broddin.be) In buying iRobot, the e-commerce titan gets a data collection machine that comes with a vacuum. [Kanye West’s Stem Player – An engineering disaster](https://krystalgamer.github.io/stem-player-emulator/?ref=broddin.be) This post covers the history of the Stem Player, the development of the emulator, how badly the product was handled and some behind-the-… [The OG Social Network: Other People’s Websites](https://blog.jim-nielsen.com/2022/other-peoples-websites/?ref=broddin.be) ## Gaming [New Kirby Cafe coming to Japan’s most underappreciated foodie town with exclusive menu items](https://soranews24.com/2022/08/06/new-kirby-cafe-coming-to-japans-most-underappreciated-foodie-town-with-exclusive-menu-items/?ref=broddin.be) Kirby, and his appetite, show some love to Nagoya. [RollerCoaster Tycoon: The Most Impressive Game Ever Developed](https://youtube.com/watch?v=expgMekxlvU&feature=share&ref=broddin.be) Chris Sawyer wrote the original RollerCoaster Tycoon in x86 Assembly…and that’s insane. Today, we take a technical look at why I belie… [How To Combine Video Game Genres](https://youtube.com/watch?v=H63Bqex1Urs&feature=share&ref=broddin.be) GMTK is powered by Patreon – https://www.patreon.com/GameMakersToolkit Great video games can come from combining genres – but getting t… ## Music [Jürgen De Blonde – Hometaping Is Killing Music](https://m.soundcloud.com/dekoergent/jurgen-de-blonde-hometaping-is-killing-music?ref=broddin.be) Stream Jürgen De Blonde – Hometaping Is Killing Music door de Koer op desktop en mobiel. Speel meer dan 265 miljoen tracks gratis af op … [Elliott Smith – Live at Bumbershoot Festival, 2000 \[HD Remaster\]](https://youtube.com/watch?v=SDHXMAxVe5Q&feature=share&ref=broddin.be) Video AI upscaled and colour corrected, audio cleaned up & re-mixed in stereo. Not my best upscale due to the poor quality of the source… [Baz Luhrmann’s “Sunscreen Song” — The 90s’ Most Unlikely Hit (with Avery Trufelman) — Switched On Pop](https://switchedonpop.com/episodes/everybodys-free-to-wear-sunscreen-avery-trufelman-baz-luhrmann?ref=broddin.be) How Baz Luhrmann’s “Everybody’s Free To Wear Sunscreen,” a 7 minute long graduation speech set to downtempo electronic music, became a B… ## Make [Building a Lego-powered Submarine 4.0 – automatic depth control](https://www.youtube.com/watch?v=KLEH8RJsYgI&t=1s&ref=broddin.be) This radio-controlled submarine can maintain a steady depth or a certain distance from the bottom. It is equipped with a pressure sensor… ## Funny [Young People Try Windows 98](https://youtube.com/watch?v=NteoTonrnP8&feature=share&ref=broddin.be) ## Misc [Prison Money Diaries: What People Really Make (and Spend) Behind Bars](https://www.themarshallproject.org/2022/08/04/prison-money-diaries-what-people-really-make-and-spend-behind-bars?ref=broddin.be) We asked people in prison to track their earning and spending — and bartering and side hustles — for 30 days. Their accounts reveal a th… ### Weekly linkdump (week 31) URL: https://broddin.be/weekly-linkdump-week-31/ Last updated: 2022-08-02T09:00:46.000Z [AutoAnimate – Add motion to your apps with a single line of code](https://auto-animate.formkit.com/?ref=broddin.be) A zero-config, drop-in animation utility that automatically adds smooth transitions to your web app. Use it with React, Vue, Svelte, or … [Eight photo-centric social sites that are not Instagram](https://www.theverge.com/23280518/instagram-flickr-vero-photos-social-networks?ref=broddin.be) Show off your photography in these interesting alternatives to Instagram. [A TikTok Music app could challenge Spotify and Apple](https://www.theverge.com/2022/7/31/23286166/tiktok-music-app-challenge-spotify-apple-streaming-bytedance?ref=broddin.be) TikTok might be working on a music streaming service. [How far can you get by train in 5h?](https://chronotrains-eu.vercel.app/?ref=broddin.be) [MillionJS: Virtual DOM into the future.](https://millionjs.org/?ref=broddin.be) ???? [Qwik](https://qwik.builder.io/?ref=broddin.be) Qwik is Framework reimagined for the edge [Douglas Crockford: “The best thing we can do today to JavaScript is to retire it.”](https://evrone.com/douglas-crockford-interview?ref=broddin.be) We had a nice chat with Douglas Crockford, a well-known American computer programmer who was involved in the development of the JavaScri… [Analogue’s Pocket is finally getting its 1.1 update, though in beta to start](https://www.theverge.com/2022/7/29/23278164/analogue-pocket-v-1-1-update-beta-library-memories-save-states?ref=broddin.be) It’s finally here. [Meet the developers still making games for your calculator](https://www.polygon.com/23272242/graphing-calculator-games-texas-instruments?ref=broddin.be) A look at the thriving community developing games you can play in class [Why Microsoft Word is the best IDE for programming](https://www.youtube.com/watch?v=X34ZmkeZDos&ref=broddin.be) In this video, I tell you the best IDE to use for programming. No matter what kind of programming you do.Music by Joy Ngiaw:https://www…. [Mantine](https://mantine.dev/?ref=broddin.be) React components and hooks library with native dark theme support and focus on usability, accessibility and developer experience [Eugeny/tabby: A terminal for a more modern age](https://github.com/Eugeny/tabby?ref=broddin.be) A terminal for a more modern age. Contribute to Eugeny/tabby development by creating an account on GitHub. [Adam Mosseri confirms it: Instagram is over](https://www.theverge.com/2022/7/26/23279815/instagram-feed-kardashians-criticism-fuck-it-im-out?ref=broddin.be) I guess I’ll stop doing this, too. [Pixelarticons](https://pixelarticons.com/?ref=broddin.be) Beautiful open-source pixel-art icons. [Quick Explorer](https://www.quick.be/nl/explorer?fbclid=PAAaaQvuppu7JpLiSjufB4YksyF4XSmILAeP%5FQvj%5F7I7Z0P-52548AXVoy-2I%5Faem%5FAV6gVv4tf9qeoGlOReKyZ61CKCBkoH3J00rJmOlDRVyjZg7jsFf3LG24o2UHFOWGEG3qV1A%5FUwmvy-IN5OGMzPp7NdOCQVCFAyQNlYU1zK2%5Fk8AwUbxrYTUlQPcpn80aUZU&ref=broddin.be) Belgian take on GeoGuessr [Privacy Tools: Fight Mass Surveillance with Encryption](https://www.privacytools.io/?ref=broddin.be) The most reliable source for privacy tools since 2015\. Software, services and privacy guides to fight surveillance with encryption for ### 👋 VRT. URL: https://broddin.be/byebye-vrt/ Last updated: 2026-07-19T19:04:49.000Z Ik suck in eindes. En ik suck in afscheid nemen. Donderdag was mijn allerallerlaatste werkdag bij VRT. Meer dan acht jaar heb ik daar gezeten. Ik, de jobhopper, die op alle jobs ervoor gemiddeld 2 jaar ergens op post bleef. 2013\. Na een klein jaar werken voor Bonka Circus was ik toe aan een nieuwe uitdaging. Ik wilde **mijn eigen baas zijn**, en nergens meer te lang zitten. Dus ik vroeg een ondernemingsnummer aan, zocht een boekhouder en liet iedereen weten dat ik binnen een paar weken beschikbaar zou zijn om op **projectbasis** te werken. Nogal snel kreeg ik een DM van mijn toekomstige baas Lesley: ![](https://broddinblog.on-forge.com/storage/683/image-13.png) Daar ging mijn plan om alleen nog maar kleine projecten te doen. ## Het begin: Sambal Voor wie het niet kent: Sambal was een experimenteel [online-nieuwsplatform voor jongeren](https://beta.sambal.be/updates/achter-de-schermen-bij-tik-tak?ref=broddin.be) van VRT. De redactie, waar ik ook deel van uitmaakte, maakte elke dag artikels in de stijl van BuzzFeed, en ik zorgde dan voor regelmatig **een leuk spelletje**. Een soort van De Ideale Wereld, maar dan online en zonder sketches, en vaak *net niet* zo geniaal. ![OG Sambal](https://broddin.be/content/images/wordpress/2022/07/2769BE73-65EE-429E-A78A-E567261D8A7B-577x1024.jpg?resize=577%2C1024&ssl=1) OG Sambal Maar **elk begin is moeilijk**, ook bij Sambal. Hoewel we later tot het fantastischte team ooit zijn geëvolueerd, was het die eerste weken vooral erg **awkward**. Als we ‘s middags samen lunchten werd er geen woord gezegd. Hetzelfde tijdens het werken, **we wisten niets over elkaa**r en spraken eigenlijk alleen maar tijdens de redactievergadering. Dat ging zelfs zo ver dat deze situatie 100% echt gebeurd is: **Pauline:** hebben we al likes op Facebook? **Ik:** alleen een zekeren Frederik El Massri, kent iemand die? **Collega** **Fred (zittend naast mij):** dat ben ik Om maar te zeggen, het begin liep niet vlot. Als je al de volledige naam van de man die naast je zit niet kent. Al een geluk was Pauline dat zo beu dat ze alles heeft gedaan om dat te keren. Tijdens het eten vragen naar wat mensen ‘s avonds gingen doen en **awkward afterwork evenementen plannen**. Zonder zever, zonder haar was ons team geen lang leven beschoren. ![](https://broddin.be/content/images/wordpress/2022/07/814072B0-EADE-4F8C-98EA-FB96E27AF38C_1_105_c.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/07/FBBC9449-E0A1-4744-B5F0-0C899B0B0A24_1_105_c.jpeg?resize=768%2C1024&ssl=1) We kregen met Sambal een ontzettend fijne speeltuin, met heel veel vrijheid. We deden veel toffe dingen, gingen een paar keer viraal (haha zo 2014) en haalden zelfs **Het Journaal**, met Telefoonburen. VideoPress Video Player ## Creative Lab Het team van VRT Startup, waar Sambal ook onder viel, werd intussen uitgebreid met Hannes, Vincent, Wouter, Bockie, Julie, Stijn en Kurt. Zij waren “**De Piraten**“. Zij bedachten gekke nieuwe digitale concepten voor de VRT-merken. Langzaam maar zeker begonnen we minder Sambal te doen, en meer echt werk voor de merken van VRT. Tot Sambal uiteindelijk in slaapmodus ging, en we **fuseerden** met de piraten. Omdat de piraten niet de beste naam voor een afdeling is op de serieuze VRT, werd voor het iets matuurdere **VRT Creative Lab** gegaan. Binnen het Creative Lab heb ik ontzettend veel projecten gedaan. Het zou saai zijn om die allemaal op te sommen – straf dat je hier al bent geraakt – maar er zijn er wel drie die me altijd zullen bijblijven: ### RIP Yvette Voor de soap Thuis verhuisden we met een klein team naar Leuven. Toen we daar nog maar een paar dagen zaten, stierf in de reeks een personage: **bomma Yvette** Het leek me een goed idee om een rouwregister te maken, waarin de Thuiskijkers een bericht konden achterlaten. Maar blijkbaar maakte dat toch nogal veel gevoelens los. Met heel wat **heisa** en krantenartikels tot gevolg. ![Lesson learned: maak nooit een rouwregister voor een fictief personage.](https://broddinblog.on-forge.com/storage/684/fb94cd74-664a-4271-87a8-e700253844c0-1-105-c.jpg) Lesson learned: maak nooit een rouwregister voor een fictief personage. ### De pronostiektool Nog een fijne, maar heel **intensieve periode** was het WK van 2018\. We zagen toen de opportuniteit om met VRT een pronostiektool te maken. Met een heel klein team begonnen we daar toen (achteraf bekeken redelijk laat) aan. Ik was de enige coder in het team, en ik heb dan ding toen in **recordtijd** in elkaar gestoken. Het was mijn eerste echt gigantisch groot project van mijn loopbaan (enkele honderdduizenden deelnemers), en het was zwaar kicken om te zien hoe goed dat – op een crash na het allereerste doelpunt na – gewerkt heeft. Dit was toch iets **anders dan de kleine fratskes** die ik tot dan maakte. ![](https://broddin.be/content/images/wordpress/2022/07/35E9385E-29B1-447C-A12F-89146D4D118A_1_105_c.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/07/A7D4FC13-2D5D-4E46-9E12-1A48FAE9E1AF_1_105_c.jpeg?resize=1024%2C768&ssl=1) ### De gekke Boeva gamingshow Het allerleukste dat ik op VRT gedaan heb, is iets wat waarschijnlijk niet veel volk gezien heeft. Om wat ervaring met **Twitch** op te doen, en om gaming wat binnen te loodsen bij VRT hebben **William Boeva**, m’n ex-collega **Fredje** en ik enkele jaren geleden een knotsgekke liveshow in elkaar gebokst. Die show had **Lotte Vanwezemael** en **Showbizz Bart** als gasten, een spel waarmee je met een bus moest rijden, een datingsimulator, en een ingehuurde figurant van tachtig die toastjes en taart kwam brengen. Ik snap tot vandaag niet waarom er hier niet direct vijf seizoenen van besteld zijn. De volledige show is **verloren gegaan**, maar ik heb nog een fragment kunnen terugvinden. De Niels Destadsbader cover ## All work & no play make Jack a dull boy Maar de afgelopen acht jaar was natuurlijk veel meer dan alleen werken. Baas Lesley heeft een **heel goede neus voor fijne mensen**, en fijne mensen hebben zo al eens de gewoonte om naast het werk dingen samen te doen. **Weekends** waarop de gekste zaken gebeurden. Collega’s werden vrienden, en ik ben blij dat ex-collega’s ook nog steeds worden uitgenodigd voor al die activiteiten. ![](https://broddin.be/content/images/wordpress/2022/07/CA8A2A25-8B21-4096-B53C-620ED33EA390_1_105_c.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/07/75573FAD-FC03-4C92-B481-33692145E88C_1_105_c.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/07/F9FD631F-E6BC-4CF5-825A-F5C132FD86BE_1_105_c.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/07/1C405E86-657C-49EB-928D-E8FF2A4DC12E_1_105_c.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/07/F580775E-821E-4DBF-8B36-BDD2B20BFADA_1_105_c.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/07/564A982C-D9C0-49F0-BDE4-2878F5A9F184_1_105_c.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/07/A44642EE-B3B5-4D0D-9461-A524008AA568_1_105_c.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/07/C5E58A50-7F9C-420A-A165-6BD5AC51100A_1_105_c.jpeg?resize=1024%2C768&ssl=1) Damn, ik ga het missen. Het was een mooie tijd. Maar aan alles komt een einde. Nu is het tijd voor **een lange vakantie**, en daarna een frisse start bij [Automattic](https://broddin.be/2022/06/01/ik-ga-werken-bij-automattic/). Bedankt Lesley, bedankt aan iedereen van het lab, past & present, en aan alle leuke mensen onderweg. 👋👋👋 ![Mijn afscheidslunch](https://broddinblog.on-forge.com/storage/685/30424953-408f-4628-bdfc-cda5896e6ebb.jpg) Mijn afscheidslunch ### Weekly linkdump (week 30) URL: https://broddin.be/weekly-linkdump-week-30-2022/ Last updated: 2022-07-26T09:00:46.000Z [TempleOS in 100 Seconds](https://www.youtube.com/watch?v=h7gf5M04hdg&ref=broddin.be) TempleOS is an open-source 64-bit operating system created by Terry Davis and designed to be the Third Temple prophesied by the Bible. I… [Ready or not, the Glassholes are coming back](https://www.theverge.com/2022/7/25/23054367/google-ar-glasses-glassholes-coming-back?ref=broddin.be) Much has changed over the past decade. [The Apple Store Time Machine](https://departmentmap.store/timemachine?ref=broddin.be) An interactive experience that recreates memorable moments in Apple history with painstaking detail and historical accuracy. [Elon Musk reportedly had an affair with Google co-founder Sergey Brin’s wife](https://www.theverge.com/2022/7/24/23276518/elon-musk-sergey-brin-tesla-google-affair-nicole-shanahan?ref=broddin.be) The WSJ reports the affair prompted Brin to file for divorce [Nathan Baugh on Twitter](https://twitter.com/nathanbaugh27/status/1550822914823491584?s=12&t=lTEYsvZU5EJic-bGYnNTzg&ref=broddin.be) The most important skill you’ve never been taught:Storytelling10 dead-simple tips to make you a better storyteller:— Nathan Baugh (@nath… [Virtual x86](https://copy.sh/v86/?ref=broddin.be) Run KolibriOS, Linux or Windows 98 in your browser [Excel Formula AI Bot](https://excelformulabot.com/?ref=broddin.be) A free tool that provides users with the Excel formula based on problems people are trying to solve, using AI. [The metaverse comes for Mythic Quest in first season 3 teaser](https://www.polygon.com/sdcc/23205812/mythic-quest-season-3-teaser?ref=broddin.be) New company, same old HR complaints in the Apple TV Plus show — but Joe Manganiello is there [Getting acquainted with death and Mexican tradition through Grim Fandango](https://www.eurogamer.net/getting-acquainted-with-death-and-mexican-tradition-through-grim-fandango?ref=broddin.be) Death. “The greatest of all human blessings” according to Socrates, “a very dull and dreary affair” to W. Somerset Maug… [0.4mm nozzles just became obsolete](https://youtube.com/watch?v=WgXM2zPusXo&feature=share&ref=broddin.be) Are you still using a 0.4mm nozzle? You probably shouldn’t be! Thanks to Fiberpunk for sponsoring this video! Check them out at https://… [Humane Ships Something](https://daringfireball.net/linked/2022/07/20/humane-ships-something?ref=broddin.be) Link to: https://hu.ma.ne/ [Humane ™ on Twitter](https://twitter.com/humane/status/1549414734570541056?s=12&t=4eKPXA5QnHS0ogvl6akipA&ref=broddin.be) It’s time for change, not more of the same. pic.twitter.com/I6K5FVYzx2— Humane ™ (@Humane) July 19, 2022 [Tweakpane](https://cocopon.github.io/tweakpane/?ref=broddin.be) A compact pane for fine-tuning parameters and monitoring value changes [JavaScript SDK “Package Size is Massive” – So we reduced it by 29%](https://blog.sentry.io/2022/07/19/javascript-sdk-package-reduced?ref=broddin.be) Developers started to notice just how big our JavaScript package was and yeah, we knew. We weren’t ignoring the issues; after all, we do… [RedwoodJS vs. BlitzJS: The Future of Fullstack JavaScript Meta-Frameworks – RisingStack Engineering](https://blog.risingstack.com/redwoodjs-vs-blitzjs-comparison/?ref=broddin.be) RedwoodJS & BlitzJS are meta-frameworks that provide tooling for creating SPAs, server-side rendered pages & statically generated conten… [Games like Stray and Endling are creating more realistic animals](https://www.theverge.com/2022/7/22/23272850/stray-endling-video-game-animals?ref=broddin.be) [The Verge’s back-to-school gift guide](https://www.theverge.com/23199281/back-to-school-student-gift-ideas-college-high-school-dorm-supplies-tech-2022?ref=broddin.be) ### My home office setup, a quick tour URL: https://broddin.be/my-home-office-setup-a-quick-tour/ Last updated: 2026-07-19T19:04:52.000Z Since I’ll be working from home completely starting in September, I started watching a lot of **home office improvement videos** on YouTube. My desk was always a **mess**, with too much stuff on it, leaving me **easily distracted**. So, I made some **changes**, making my office a much more pleasant workplace. ![](https://broddinblog.on-forge.com/storage/274/img-1259.jpg) Here’s an overview of my home office. ## The desk: custom-made During the pandemic, we asked a woodworker to create **a custom, compact desk** in our living room. It’s been a good desk, I just wish we asked for it to be around 10 cm deeper. It’s only 50 cm deep, which isn’t a lot. I could replace it with a bigger desk, but we’re doing big home renovations next year, and I’ll be moving to a much more spacious home office then. ## The chair: Herman Miller Embody One of the perks of working at Automattic is that you get a very generous budget to **improve your workplace**. They encourage you to buy a decent desk and chair, and while researching office chairs, one brand kept on popping up: **Herman Miller**. I read and watched dozens of reviews and settled on the Herman Miller Embody. It’s a big chair that **supports your back perfectly**, thanks to it’s advanced **exoskeleton,** which follows your spine. I really like how it looks and feels. The first few days were hard, it really took some time to get used to. On my old chair, I couldn’t sit still, my legs were always all over the place. The Embody really **forces you to have good postur**e. After a few days, however, I started loving it. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-1245-1.jpg) ![](https://broddin.be/content/images/wordpress/2022/07/IMG_1244-1.jpg?resize=768%2C1024&ssl=1) ## The desk shelf: OakyWood Dual Monitor Stand A way to declutter my desk, and put my iMac at eye-level, is a desk shelf. I felt in love with the desk shelf system [GroveMade](https://grovemade.com/desk-shelf-system/?ref=broddin.be) makes, but they don’t have a European importer, so I’d probably end up paying a lot of import taxes if I bought one from them directly. So, I settled on **the next best thing**: an OakyWood. It lacks the drawers and other organizational tools of GroveMade, but it’s much more economical. The quality and finish are excellent. ![](https://broddinblog.on-forge.com/storage/276/img-1247.jpg) ## The desk mat: DeltaHub Minimalistic Desk Pad One of those things you don’t know you need until you have had it: a desk pad. Laying your wrists on **felt** is so much better than hard wood. ## The mouse: Logitech MX Master 3 (Mac) This is the best accessory I have ever bought. If you’re still using an Apple Magic Mouse, stop reading this blog post and go buy a Logitech MX Master 3 right away. The MX Master not only **feels great** in your hand, but gives you so **many buttons** to customize. Plus, they way the scroll wheel scrolls is incredible. ## The keyboard: Logitech MX Keys (Mac) I never really liked the **key travel** on the Apple Magic Keyboard. Together with the MX Master mouse, I bought the MX Keys keyboard. Key travel is better, but if I were to buy a new keyboard again today, I’d probably look into their MX Keys Mechanical line. ## The touchpad: Apple Magic Touchpad 2 Wait, what? A mouse and a touchpad? Yes, this is actually a great combo. I use the trackpad for the occasional **gestures**. Three fingers down to quickly switch between open app windows, spread open to show my desktop, and of course zooming in apps like Pixelmator Pro. It’s on the left of my keyboard, and I often find myself using both the touchpad and the mouse at the same time. ## The thing with many buttons: Stream Deck XL The Stream Deck is a keyboard with **customizable buttons** which contain **small screens**. It’s geared towards streamers (hence the name), but I found it to be a good fit for **productivity**. Tons of plugins allow you to launch apps, set your Slack status, toggle your lights, control HomeAssistant, and much more. And with some knowledge of JavaScript, you can easily write your own. ![](https://broddinblog.on-forge.com/storage/277/img-1248.jpg) ## The pixel art frame: Divoom Pixo64 I’ve been wanting to **build some kind of pixel art display** myself ever since I saw [this YouTube video](https://www.youtube.com/watch?v=fz2QAV9z%5Fo8&ref=broddin.be). But since time is a luxury you don’t always have when you’ve got three children running around, I was pleased you can just buy pixel art displays on Amazon. The Divoom is a great device, which you control through an app. The app hosts a community where everyone can **share pixel art creations**. You can also display the weather, a countdown, your Twitter followers, and numerous other things on it. It’s made in China, so the app can be a little overwhelming, but you can get used to it. At first, I was worried that it would constantly distract me, but I’m actually quite excellent at **ignoring** it. ![](https://broddinblog.on-forge.com/storage/278/img-1258-1.jpg) ## The computer: iMac 27” My good old Intel-powered iMac 27”. There’s an i9 processor inside and 40 gigs of RAM, so it’s **quite a beast**, even after more than three years. *Soon to be replaced by a new MacBook Pro 16” and Apple Studio Display* ## The wall: IKEA SKÅDIS The final step of organizing of all the stuff that made my desk a mess was to put some **pegboards** on the wall. The IKEA SKÅDIS system is really cheap, and they have plenty of accessories for it (hooks, shelves, book holders, …). And if IKEA doesn’t sell it, you can find lots of [3D-printable mounts](https://www.printables.com/model/147771-skadis-mount-collection?ref=broddin.be) online. The wall holds my Magic Keyboard (needed because FileVault – the macOS disk encryption thing – doesn’t play nice with Logitech devices when booting an Intel Mac), my Game Boy Color, a book, and some other random stuff. ![A tidy wall](https://broddinblog.on-forge.com/storage/279/img-1178.jpg) A tidy wall ## The lightning: Philips Hue / WLED / IKEA There’s a Philips Hue lamp on my desk for **ambient lightning**, and a LED-strip controlled by WLED beneath. Both are controllable via the Stream Deck. There’s also an IKEA desk lamp (with built-in wireless phone charger) for more concentrated reading. (Read more about WLED in [this blog post](https://broddin.be/2021/01/05/how-i-turned-the-stairwell-into-a-nightclub/) about how I turned a staircase into a nightclub.) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-1252.jpg) ![](https://broddin.be/content/images/wordpress/2022/07/IMG_1253.jpg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/07/IMG_1254-1.jpg?resize=768%2C1024&ssl=1) ## Cable management: DIY There used to be some computer peripherals on my desk: an Ethernet switch (because cable > Wi-Fi), a Project MiSTer and an HDMI-splitter. And on the floor there were many cables and power strips. I decided to **bolt them all to the underside** of the desk. I designed mounts in Fusion 360, 3D-printed them and I screwed them into the bottom of the desk. No more cables ???? ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-12.png) ![](https://broddin.be/content/images/wordpress/2022/07/IMG_1251.jpg?resize=768%2C1024&ssl=1) So, that’s my home office. I hope I inspired you! ### Arc: redefining the web browser URL: https://broddin.be/arc-redefining-the-web-browser/ Last updated: 2026-07-19T19:04:52.000Z A few days ago, I received an invitation by [The Browser Company Of New York](https://thebrowser.company/?ref=broddin.be), to test their take on the modern web browser: Arc. The web as a platform has gotten much better these past few years. Web browsers, however, have been all really **kind of the same** since Firefox popularized tabbed browsing way back in the early ’00s. An address bar, some tabs and a blank canvas. It’s strange that the one program all of us use the most, hasn’t evolved in the past 15 years. Arc tries to do things different. Here’s a short overview of what sets it apart. ## The sidebar Your tabs and address bar are on the left, inside **the sidebar**. You organize your browsing in **Spaces**, you can, for example, have one space for all your work related stuff, and another for a trip you’re planning. ![The sidebar](https://broddinblog.on-forge.com/storage/306/image.png) The sidebar Inside every space you can have **pinned tabs**, they will always be there, and **explore tabs**. Explore tabs are your regular browsing tabs, and Arc will remove them after 12 hours of inactivity. They are not lost, however. Arc keeps everything you browse in the **Archive**. ![The Archive, a visual overview of your history](https://broddinblog.on-forge.com/storage/307/image-1.png) The Archive, a visual overview of your history Just below the address bar, you can add your favorite sites, so they’re always just a click away (and you never lose them). ## Split view Another great feature of Arc is the ability to open **up to 4 tabs** next to each other. On a 27-inch screen, this really opens up countless possibilities. One thing that is seemingly missing is a way to save a split to your pinned tabs. ![Split view](https://broddinblog.on-forge.com/storage/145/image-3.png) Split view ## Built-in notes, capture & Easel Part of Arc’s mission is making **capturing information** easier. Arc comes with a built-in screen capture tool that lets you easily capture any part of a webpage. You can then use these captures inside an Easel, a sort of **blank canvas** on which you can draw, write text and organize your information. Everything you capture on an Easel will automatically link back to the original website you found it at, and it will sync across devices. You can use Easel as your own little local **Pinterest**. ![An Easel, showing some captures](https://broddinblog.on-forge.com/storage/308/image-4.png) An Easel, showing some captures Notes can also be added to a Space to have a more structured way of capturing ideas, to-dos, etc. Combined with Split view, you can have your notes or Easel, and a website side-by-side. ![Split view ????](https://broddinblog.on-forge.com/storage/428/image-10.png) Split view ???? Both Easel and Notes can also be shared with friends that don’t use Arc. ## Boosts The feature with the most **superpowers** is Boost. It allows you to create simple extensions without any (or much) code knowledge. Want to have a pink Twitter? Just add some custom CSS in under a minute. ![](https://broddinblog.on-forge.com/storage/311/image-6.png) ## Other delightful features If you start playing audio or video inside a tab, and shift focus to another tab, a small **mini-player** appears in your sidebar. If it’s a video, you get a picture-in-picture view. ![](https://broddinblog.on-forge.com/storage/299/image-2.png) When you press control + tab, you get a nice **visual tab switcher**: ![](https://broddinblog.on-forge.com/storage/289/tab.jpg) If you click a link in another app and Arc is your default browser, it won’t clutter your already opened tabs. Instead, it will load it in **Little Arc**, a lite version of the browser, giving you the ability to transfer it to a Space if it suits you. ![Little Arc](https://broddinblog.on-forge.com/storage/312/image-5.png) Little Arc Every file you download, as well as your desktop, Easels and Notes are easily accessible via the **Library**. ![](https://broddinblog.on-forge.com/storage/291/image-7.png) And, of course, there’s a built-in **command palette**: ![](https://broddinblog.on-forge.com/storage/385/image-8.png) ## Minor downsides and thoughts - Arc will probably have some **paid premium features** in the future. Does a paid browser have a future? (I hope so.) - It **takes some time** to get used to. - It’s currently only available on **Mac**. - I was on the **waitlist** for quite some time before I got an invitation. ## Is it a keeper? Yes. It took me a while to get used to the idea of tabs in a sidebar, but it all makes sense once you start using it daily. The idea of a set of Spaces, each with pinned tabs and explore tabs, really can make you more productive. Aside from all the innovations Arc brings to the table, perhaps the biggest joy is the **overall polish** of the product. From the initial onboarding to the tips & tricks gathered by the team, this is by far the most **welcoming** browser I’ve ever used. It screams **premium**. Just like a Mercedes probably drives better than a Dacia, this browser, well, it browses better than anything else out there. Will it be worth paying for once the beta ends? Most likely not for everyone, but I hope it will be for some. The team at The Browser Company clearly knows how to **reinvent browsing**. Ready to try Arc? [Join the waitlist](https://browserco.typeform.com/to/l9lYbJtU?typeform-source=thebrowser.company&ref=broddin.be). ### I created a small Google Chrome extension URL: https://broddin.be/i-created-a-small-google-chrome-extension/ Last updated: 2022-06-28T16:13:16.000Z Have you ever opened a new tab in Google Chrome and became totally blown away by how cool your new empty tab looked? Of course not. New tabs are **boring**. ![A bit boring](https://broddinblog.on-forge.com/storage/293/screenshot-2022-06-28-at-163225.png) A bit boring A few weeks ago, I stumbled upon [Plasmo](https://www.plasmo.com/?ref=broddin.be), a framework for creating browser extensions. They promise to be **battery-packed**, like a Next.js for browser extensions. They promise quite a lot: - Automatic generation of (V3) manifest files - First class TypeScript/React support - Automatic reloading - Automatically deploying your extension to all stores Anyone who has ever developed a browser extension knows that **it can be a hassle**. I was very eager to try out Plasmo. But I was out of ideas. I just **couldn’t think of anything small** I wanted a browser extension to do. While I was staring at an empty tab in Chrome, it suddenly hit me: let’s spice up this boring new tab screen. When I was younger, I founded a **rock photography collective** called [Wannabes](https://wannabes.be/?ref=broddin.be), and our team of photographers have visited over 4500 concerts these past years. This means we have **numerous high-resolution photos**. How about showing a photo from our archives, every time you open up a new tab? Plasmo did not disappoint. The total amount of code I wrote is only about [100 lines](https://github.com/TimBroddin/wannabes-extension/blob/main/newtab.tsx?ref=broddin.be) in total (most of it being the GraphQL query that’s sent to our backend). The development process with Plasmo is **super smooth**. It’s as if you’re writing a regular website, you just write your components & Plasmo handles literally everything else. ![](https://broddin.be/content/images/wordpress/2022/06/Screenshot-2022-06-28-at-16.34.52-1.png?resize=1024%2C538&ssl=1) You can download the Wannabes New Tab extension [here](https://chrome.google.com/webstore/detail/wannabes-new-tab-extensio/loceljoklkaiabemaoglnbenmaomiggo?hl=nl&ref=broddin.be). Source-code is available on [GitHub](https://github.com/TimBroddin/wannabes-extension/?ref=broddin.be). ### Best Kept Secret 2022 URL: https://broddin.be/best-kept-secret-2022/ Last updated: 2026-07-19T19:05:04.000Z Memories of a festival. Top 5 bands: - Nick Cave & The Bad Seeds (\*\*\*\*\*) - Fontaines D.C. (\*\*\*\*\*) - The Strokes (\*\*\*\*) - dEUS (\*\*\*) - 2manydj’s (\*\*\*\*) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-0804-1.jpg) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0810-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0817-1.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0819-1.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0827-1.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0832-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0844-1.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0848-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0850-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0852-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0855-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0861-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0862-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0865-1.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0868-1.jpeg?resize=1024%2C768&ssl=1) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/img-0870-1-1.png) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0873-1.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0879-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0880-1.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0883-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0886-1.jpg?resize=576%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0888-1.jpg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0895-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0898-1.jpeg?resize=1024%2C768&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0906-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0909-1.jpeg?resize=768%2C1024&ssl=1) ![](https://broddin.be/content/images/wordpress/2022/06/IMG_0911-1.jpeg?resize=768%2C1024&ssl=1) ### I ❤️ HomePod Mini URL: https://broddin.be/i-love-homepod-mini/ Last updated: 2026-07-19T19:05:04.000Z Our kids need music to fall asleep. Our oldest daughter loves listening to **theme park tunes** before closing her eyes (she’s a massive fan of [De Efteling](https://www.youtube.com/watch?v=huik3Qpf-gY&list=PLCzPKq5AG09cFiIbByWVsr5WmMbO6BKt%5F&ref=broddin.be)). Before, this meant waiting besides her bed, with the music playing on your phone, until she finally dozes off. ![](https://broddinblog.on-forge.com/storage/306/image.png) There were two disadvantages to this: - It takes a lot of **time** - It’s not possible to **listen to something** else on AirPods, while playing music on your phone’s speakers. (I had a workaround using my Apple Watch to stream directly to my AirPods, but this was cumbersome.) I did some experimentation with a **Google Nest Mini** I had lying around, but the sound quality is awful, and you need to bridge AirPlay with something like [AirConnect](https://github.com/philippe44/AirConnect?ref=broddin.be), which does not support Airplay 2\. I wrote a blog post in Dutch about [this](https://broddin.be/2021/01/13/airplay-op-oude-sonos-speakers-en-chromecasts/). So, I bought three HomePod Mini and I have been loving them ever since. Let’s get one thing out of the way: **Siri is not fantastic**. Especially in Dutch. We have a Nest Hub in our living room, which we mostly use to control our Harmony Remote (“hey google, turn TV on”) and it works so much better than Siri. That being said, I occasionally use Siri on the HomePod for small things like grocery lists and timers, and she does ok. Just never ask her to play a song by an American band in Dutch because using two languages in one sentence makes her confused as hell. What I do love about the HomePod Mini is the **sound quality.** It’s 8 cm tall, and it’s able to fill a room, and it doesn’t distort one bit when turned to the max. You have to hear this to believe it. It’s **spectacular**. Even bass sounds good (for a tiny speaker). The ability to **hand over** what’s playing on your iPhone to the HomePod Mini is something that feels like magic. When you hold your phone near the HomePod Mini you will feel a satisfying vibration and the HomePod will resume playing the song you were listening to. This also works the other way around. Controlling all those speakers is something that could use a little improvement, both in iOS and the Apple Music app. It works, but the **UX is quite hard** to wrap your head around. Luckily there’s a great screen in Control Center that offers you all speakers at a glance: ![](https://broddinblog.on-forge.com/storage/686/img-dc756ca25bc5-1.jpg) I’m a **happy user**, and thanks to the HomePod I don’t have to listen to theme park songs for too long now. I really hope Apple will launch a bigger HomePod for the living room in the near future. (This is just an excuse to try the WordPress story block:) ### Ik ga werken bij Automattic URL: https://broddin.be/ik-ga-werken-bij-automattic/ Last updated: 2026-07-19T19:05:05.000Z ```text Read the English version ``` Na 8 jaar trek ik eind augustus de deur van de VRT achter me dicht. Acht boeiende jaren, waar ik in een volgende blogpost nog wel uitgebreid op terugkijk. Op 5 september begin ik te werken als **Software Engineer** bij [Automattic](https://automattic.com/?ref=broddin.be), het bedrijf van **Matt Mullenweg**, de bedenker van WordPress. Ze maken naast [WordPress.com](https://wordpress.com/?ref=broddin.be) (een hostingplatform voor WordPress) ook nog [Tumblr](https://tumblr.com/?ref=broddin.be), [WooCommerce](https://woocommerce.com/?ref=broddin.be), [Pocket Casts](https://pocketcasts.com/?ref=broddin.be), [Day One](https://dayoneapp.com/?ref=broddin.be) en een hele hoop andere topproducten. ## Hoe ik daar beland ben De vele lockdowns de afgelopen twee jaar hebben ook op mij wel wat invloed gehad. Hele dagen thuiswerken toonden me dat **werken ook anders kan** dan ik tot dan toe dacht. Niet langer twee uur per dag in de auto zitten was een verademing, net zoals de kinderen rustig naar school kunnen brengen of halen. ![](https://broddinblog.on-forge.com/storage/307/image-1.png) Een jaar of vijf geleden heb ik [The Year Without Pants](https://www.bol.com/be/nl/p/the-year-without-pants/9200000010916368/?bltgh=uTLOj29s1-UddQnMzj9Bsw.2%5F6.7.ProductTitle&ref=broddin.be) over Automattic gelezen. Dit boek gaat over hoe ze bij Automattic dat thuiswerken **altijd al hebben gedaan**. Hoe ze kleine teams hebben, overal ter wereld, die volledig **zelfsturend** zijn. Teams die 49 weken per jaar thuiswerken, en die elkaar de resterende drie à vier weken in het echt ontmoeten. Dat doen ze tijdens enkele bijeenkomsten, waarbij het hele team samenkomt in een Airbnb ergens ter wereld. ![Heel het bedrijf samen tijdens de laatste pre-COVID meetup.](https://broddinblog.on-forge.com/storage/299/image-2.png) Heel het bedrijf samen tijdens de laatste pre-COVID meetup. Het boek gaat natuurlijk over **veel meer dan thuiswerken alleen**. Het gaat ook over hoe Automattic sterk inzet op **bedrijfscultuur**, en hoe het erin slaagt om die te blijven installeren, hoe groot ze ook worden. Snel itereren op ideeën, falen incorporeren en mensen die werken op het product alle mogelijke vrijheid geven zijn maar enkele van hun drijfveren. Naast hoe vet ik hun hele manier van werken vind, was er nog iets wat me nog meer aantrok. Hun slagzin is echt **100% mijn ding**. *We are* passionate about making *the web* a better place. Ik geloof zelf meer dan ooit in **een open web**. Weg van de **walled gardens** van de Metas, Googles en Apples van deze wereld. Betaald worden om daaraan te kunnen meewerken klinkt dan ook als een droom. Alle producten die Automattic maakt passen in die visie, en het lijkt me dan ook fantastisch om hier aan te kunnen bijdragen. Op een **buitengewoon grote schaal**, want WordPress drijft bijna een half miljard websites aan. Het meeste werk dat Automattic doet vloeit op één of andere manier terug naar het open-source WordPress project. ## Een sprong in het diepe Op een gegeven moment werd het me duidelijk dat het **tijd voor iets nieuws** was. Toevallig had ik net een [ontzettend interessant interview](https://www.theverge.com/2022/3/15/22977857/wordpress-tumblr-simplenote-internet-automattic-matt-mullenweg-interview?ref=broddin.be) met de oprichter van Automattic ([Matt Mullenweg](https://ma.tt/?ref=broddin.be)) gelezen. Negen jaar na het boek bleek Automattic nog op exact dezelfde manier te werken. Maar groter, **veel groter**. Ondertussen zijn ze uitgegroeid tot een bedrijf van bijna 2000 medewerkers, waarvan er een 700-tal in 2021 zijn aangeworven. En ze blijven groeien, dus ze zoeken constant **nieuw volk**. Mijn interesse was geprikkeld, en wie niet waagt, blijft **maagd**, dus zonder hoop op een antwoord besloot ik mijn sollicitatie in te sturen. ## Codetest Enkele dagen later ontving ik een mail om me te zeggen dat ze onder de indruk waren, en dat ik **naar de volgende fase mocht** ????. Ik werd uitgenodigd op de Slack van Automattic, kreeg heel wat leesvoer over [het aanwervingsproces](https://automattic.com/work-with-us/how-we-hire-developers/?ref=broddin.be) en werken voor Automattic, en kreeg een **coding challenge** voor de kiezen. Die challenge, waar je een uur of 4 à 5, over doet was leuk. Ik kreeg toegang tot een **git-repository** met daarin een klein project waarvoor ik enkele aanpassingen moest doen. Allemaal in pure **vanilla JavaScript**, zonder frameworks en met amper tooling. Zodat je kan bewijzen dat je de basis kent. Naast het coderen bekijken ze hier ook de manier van **communiceren**. Want communicatie is onmisbaar in een bedrijf waar iedereen thuiswerkt. I will communicate as much as possible, because it’s the oxygen of a distributed company. Automattic creed ## Trial Tijdens het wachten op mijn resultaat van de codetest werd ik zenuwachtig. Er zijn online [genoeg](https://pacurar.dev/trialling-at-automattic-without-success-this-time/?ref=broddin.be) [blogposts](https://dave.clements.uk/2014/04/01/experience-trial-automattic/?ref=broddin.be) te vinden van mensen die het niet haalden, of pas na twee of drie keer. Het moment dat ik te horen kreeg dat ik doorging naar de volgende fase was dan ook **pure euforie**. Gecombineerd met imposter syndrome. De volgende stap in het proces was **een betaalde proefperiode**. Hierin krijg je een project waarvoor je betaald wordt. Niet tegen je uiteindelijke loon, maar tegen $25/uur. Dit viel al een geluk net tijdens de paasvakantie, waardoor ik hier goed aan kon doorwerken. Je krijg in deze stap ook een **trial lead** toegewezen, waarmee je kan pingpongen over details. Ik heb met de mijne (hey Dan!) een keer een Zoom-call gedaan, waarin hij het hele project overliep en me benadrukte dat ik het moest bekijken als echt werk, en niet als een test. Wat een hele goede tip was, want anders had ik mezelf in details verloren. Al onze andere communicatie vond plaats over Slack en [P2](https://wordpress.com/p2/?ref=broddin.be). **P2**? P2 is een soort van Intranet dat door heel Automattic gebruikt wordt om asynchroon te kunnen samenwerken. Elk team heeft zijn eigen P2, en alles wat een team doet wordt gedocumenteerd op hun P2\. Dat gaat van de wekelijkse meeting notities, tot foto’s en details van hun teamtrip. [https://wordpress.com/p2/](https://wordpress.com/p2/?ref=broddin.be) Wanneer je begint aan je trial krijg je ook toegang tot de **Field Guide**, dit is een website met daarop alles gedocumenteerd wat je maar moet weten over werken bij Automattic. Dat gaat van alle voordelen tot learnings over de beste bureaustoelen. Toen ik dit allemaal las, begon ik **te dromen** over daar effectief werken. Gevaarlijk, want ik moest natuurlijk nog altijd mijn opdracht tot een goed einde brengen. Mijn opdracht bestond uit **twee delen**, die 1 voor 1 moesten uitgevoerd worden. 1. Een **probleem** in React oplossen. Dit was (expres) veel complexer dan het zou moeten zijn, en hier heb ik echt wel even op moeten kauwen. Maar eens ik het zag was het eigenlijk snel opgelost. 2. Een serieuze brok **systeemanalyse** en architectuur. Dit ligt buiten mijn comfort zone, maar is iets wat ik eigenlijk best graag doe. Het liet me ook toe om mijn kennis van moderne Web API’s te tonen. Naast coderen was mijn trial vooral **schrijven**. Mijn P2 vulde zich al snel met posts en comments heen en weer. Het was even wennen om echt elke gedachte neer te schrijven, en zeker om dat in het Engels te doen, maar het is handig – want **assumpties** worden snel bevestigd of ontkracht. (Eeuwig dank aan [Grammarly](https://app.grammarly.com/?ref=broddin.be) en [LanguageTool](https://languagetool.org/?ref=broddin.be) om mijn Engels beter te maken) Na **17 uur en 23 minuten** liet ik weten klaar te zijn. Toen begon weer de **waiting game**. Ik had mezelf er al bij neergelegd dat het niets zou worden. Toen kwam ergens midden in de nacht dit bericht: Nooit verwacht ik erdoor ging zijn. Hierna ging het allemaal snel. Er volgende nog een aangenaam gesprek met iemand van **Developer Experience** (hi Kevin!) waarin een geschikt team werd gezocht. Daarna een gesprek met iemand van HR (hi Caron!) waarin we onze verwachtingen naast elkaar legden, en enkele modaliteiten regelden. En dan zat er een **voorstel** in m’n mailbox. ## Welcome to the chaos\* Nadat ik getekend had, begon Automattic zich als **de grot van Alibaba** voor mij te openen. Ik werd voorgesteld aan mijn team, kreeg toegang tot de volledige Slack en kon een hele hoop P2s beginnen te lezen. Ik mocht ook direct mijn laptop en scherm bestellen, en kreeg een leuk **welkomstpakket** met de post opgestuurd. ![Welkomstpakket ????](https://broddinblog.on-forge.com/storage/300/00617d3e-b52c-405d-9bc2-c61e950b23cc-1-105-c-edited.jpg) Welkomstpakket ???? (\* met deze zin begint de Field Guide) ## Aftellen 1662364800 days hours minutes seconds until ???? Automattic Binnen een **dikke drie maanden** begin ik dus. In een team (team Apex) dat zich vooral bezighoudt met zaken die het maken van content makkelijker en beter maakt. Zoals blokken voor de fantastische editor uitwerken. Een team dat er nu al de max uitziet. Ik kijk enorm uit naar deze nieuwe uitdaging. Ik ga veel zaken **missen**, zoals het [geweldig team](https://vrtcreativelab.be/?ref=broddin.be) waar ik elke dag op VRT mee samenwerk. Ik heb ook een ander fantastisch aanbod hier in België laten schieten voor dit avontuur. Twee beslissingen die niet makkelijk waren. Maar het voelt als iets wat ik gewoon moet doen. Werken aan **een beter en opener Internet** is op mijn lijf geschreven. Dat ik dat kan doen van thuis uit, en een paar keer per jaar **de wereld mag verkennen** is mooi meegenomen. Het hele **aanwervingsproces** was ontzettend leuk. Iedereen met wie ik in contact kwam was buitengewoon vriendelijk en gaf me het gevoel welkom te zijn. Bij elke stap kreeg ik ook duidelijke en faire feedback. Ben je toevallig ook geïnteresseerd in een job bij Automattic? Bekijk [de openstaande vacatures](https://automattic.com/work-with-us/?ref=broddin.be). Ik kan de sprong in het diepe alleen maar aanraden. I am in a marathon, not a sprint, and no matter how far away the goal is, the only way to get there is by putting one foot in front of another every day. The Automattic creed \--- Begin jaren ’00 was ik een **fervent blogger**. Ik heb toen WordPress weten opkomen, en was zelf een vroege gebruiker. De allereerste versie van [Wannabes](https://wannabes.be/?ref=broddin.be) draaide erop, en ik heb toen veel geploeterd in de code om zaken gedaan te krijgen. Dat ik nu, 20 jaar later, kan werken op WordPress.com is onbeschrijfelijk. Een slimme man zei ooit *“You can’t connect the dots looking forward; you can only connect them looking backwards”*. Ik begin te denken dat hij gelijk heeft. ### I'm starting at Automattic URL: https://broddin.be/im-starting-at-automattic/ Last updated: 2026-07-19T19:05:05.000Z ```text Lees de Nederlandstalige versie ``` At the end of August, after more than 8 years, I will leave my current company (VRT). Eight exciting years, which I will look back at in detail in a subsequent blog post. On September 5th, I will start working as a **Software Engineer** at [Automattic](https://automattic.com/?ref=broddin.be), the company started by **Matt Mullenweg**, the creator of WordPress. Besides [WordPress.com](https://wordpress.com/?ref=broddin.be), they also make [Tumblr](https://tumblr.com/?ref=broddin.be), [WooCommerce](https://woocommerce.com/?ref=broddin.be), [Pocket Casts,](https://pocketcasts.com/?ref=broddin.be) [Day One](https://dayoneapp.com/?ref=broddin.be) and countless other great products. ## How I ended up there The many lockdowns over the past two years also had some influence on me. Working from home each day showed me that **working can also be different**. No longer sitting in the car for two hours a day was life-changing, it really allowed me to balance work and life much better. And the kids liked it as well because they had much more time with me. ![](https://broddinblog.on-forge.com/storage/307/image-1.png) About five years ago, I read [The Year Without Pants](https://www.bol.com/be/nl/p/the-year-without-pants/9200000010916368/?bltgh=uTLOj29s1-UddQnMzj9Bsw.2%5F6.7.ProductTitle&ref=broddin.be), a book about Scott Berkun’s experience of working at Automattic in 2013\. This book is about how, at Automattic, they have always worked at home, years before the pandemic. It’s about how they have small teams, all over the world, that are completely **self-managing**. Teams work fully remote 49 weeks a year, and meet in person for the remaining three to four weeks. They do this during a few meetups, where the whole team gathers anywhere in the world for a week. Or during the grand meetup, where the entire company meets. ![The last grand meetup](https://broddinblog.on-forge.com/storage/299/image-2.png) The last grand meetup The book is about **much more than just working remotely**. It’s also about how Automattic is strongly committed to **corporate culture**, and how it manages to keep installing it, no matter how big they get. Quickly iterating on ideas, incorporating failure, and giving people who work on the product all possible freedom are just a few of their motivations. In addition to how much I like their complete new way of working, there was something that attracted me even more. Their catchphrase is really **100% me**. *We are* passionate about making *the web* a better place. I believe in **an open web** more than ever before. Away from the walls of Meta, Google, Medium and Apple. I love the Internet, and I believe if we can give users the right tools, we can empower them, and keep them outside the walled gardens. Getting paid to be able to contribute to this sounds like a dream to me. All products by Automattic fit this vision, and they do so on a **giant scale**, as WordPress drives almost half a billion websites. Most of the work that’s being done at Automattic makes it way back to the open-source community. ## A leap of faith At one point, it became clear to me that it was time for something new. Coincidentally, I just read a [fascinating interview](https://www.theverge.com/2022/3/15/22977857/wordpress-tumblr-simplenote-internet-automattic-matt-mullenweg-interview?ref=broddin.be) with Automattic founder [Matt Mullenweg](https://ma.tt/?ref=broddin.be). Nine years after the book, Automattic still works the same way. But they are bigger, **much bigger**. Meanwhile, they have grown into a company of almost 2000 employees, of which about 700 were recruited last year alone. And they keep growing, so they’re constantly searching for **new people**. Time to take a leap of faith. I sent out my application. ## Code test A few days later, I received an email telling me they were impressed with my application, and that I was **allowed to go to the next phase** ????. I was invited to the Automattic Slack, got some reading about [the recruitment process](https://automattic.com/work-with-us/how-we-hire-developers/?ref=broddin.be) and working for Automattic, and got a **coding challenge**. That challenge, which took me about 5 hours, was fun. I got access to a **git repository** containing a small project that requires you to make some adjustments. All in pure **vanilla JavaScript**, without frameworks and with barely any tooling. You really have to show you know the basics. In addition to coding, they also look at the way you **communicate** here. Communication is indispensable in a company where everyone works from home. I will communicate as much as possible, because it’s the oxygen of a distributed company Automattic creed ## Trial While waiting for my code test result, I got very nervous. There are [plenty](https://pacurar.dev/trialling-at-automattic-without-success-this-time/?ref=broddin.be) of [blog posts](https://dave.clements.uk/2014/04/01/experience-trial-automattic/?ref=broddin.be) online from people that didn’t make it, or only after two or three times. The moment I was told that I was moving on to the next phase was pure euphoria. I barely slept that night, and got me a good portion of [imposter syndrome](https://www.verywellmind.com/imposter-syndrome-and-social-anxiety-disorder-4156469?ref=broddin.be). The next step in the process was **a paid trial period**. In this, you get a project for which you are paid. Not at your final pay, but at $25/hour. Luckily, it was Easter holiday, so I had some time on my hands. In this step, you will also be assigned a **trial lead**, with which you can ping pong about details. I did a Zoom call with mine (hey Dan!) to get up and running. He explained the project to me and told me to look at it as if it were a real job, not a test. This tip helped me a lot because otherwise I would have gotten lost in the details. All our other communication took place over Slack and [P2](https://wordpress.com/p2/?ref=broddin.be). **P2**? P2 is a type of Intranet that is used by the whole of Automattic to work together asynchronously. Each team has its own P2, and everything a team does is documented on their P2\. This ranges from the weekly meeting notes, to photos and details of their team trip, to AFK announcements (vacation days). [https://wordpress.com/p2/](https://wordpress.com/p2/?ref=broddin.be) When you start your trial, you also get access to the **Field Guide**, which is a website that documents everything you need to know about working at Automattic. That ranges from all the benefits to learnings about the best office chairs. When I read all this, I **started dreaming** about effectively working there. Dangerous, because, of course, I still had to complete my assignment. My assignment consisted of **two parts**, which had to be executed 1 by 1. 1. **Resolving a problem** in React. This was quite complex (probably on purpose). But once it snapped, I was able to find a good solution. 2. A serious chunk of **system analysis** and architecture. This was a bit outside my comfort zone, but was really fun to do. It also allowed me to show my knowledge of modern Web APIs. In addition to coding, my trial was mostly **writing**. My P2 quickly filled with posts and comments back and forth. It takes some getting used to really writing down every single thought, and certainly to do that in English, but it is also useful. It makes sure all assumptions are validated before moving on. (Many thanks also to [Grammarly](https://app.grammarly.com/?ref=broddin.be) and [LanguageTool](https://languagetool.org/?ref=broddin.be) for helping me to write better English) After 17 hours and 23 minutes, I announced that I was ready. Then the **waiting game** started again. I really didn’t expect to pass. Did I write enough? Was my writing clear enough? I had countless doubts. Then somewhere in the middle of the night came this message: I did not expect this at all! After celebrating, it all went fast. I had another pleasant conversation with someone from **Developer Experience** (hi Kevin!) in which they looked for a suitable team inside Automattic for me. Then a short conversation with someone from HR (hi Caron!) in which we juxtaposed our expectations, and arranged some modalities. And then there was a **proposal** in my mailbox. Which I signed. ## Welcome to the chaos\* After I signed, the company began to open up to me like **Alibaba’s cave**. I was introduced to my team, got access to all Slack channels and was able to start reading a bunch of P2s. I was also allowed to order my laptop and screen immediately, and received a nice **welcome pack** in the mail. ![Welcome pack ????](https://broddinblog.on-forge.com/storage/300/00617d3e-b52c-405d-9bc2-c61e950b23cc-1-105-c-edited.jpg) Welcome pack ???? (\* the first sentence of the Field Guide) ## Countdown 1662364800 days hours minutes seconds until ???? Automattic So, in **about three months**, I’ll start. In a great team (team Apex) that mainly deals with things that make content creation easier and better. Like creating new blocks for the fantastic editor. I’ve met them on Slack already and they seem great. I am excited about this new challenge. But I’m also going to **miss** countless things, like the [great team](https://vrtcreativelab.be/?ref=broddin.be) I work with every day at VRT. I also rejected another remarkable job offer here in Belgium for this adventure. Two decisions that weren’t easy to make. However, it feels like something I just have to do. Working on **a better and more open Internet** is something that’s in my DNA. The fact that I can do that from home, and **get to explore the world** a few times a year, is a bonus. The hiring process, start to finish, was a **real joy**. Everyone I met was friendly, welcoming, and they really want the best for you. Take a look at [the current job openings](https://automattic.com/work-with-us/?ref=broddin.be) if you’re looking for a new challenge, I can highly recommend taking the jump. I am in a marathon, not a sprint, and no matter how far away the goal is, the only way to get there is by putting one foot in front of another every day. The Automattic creed \--- In the early ’00s, I was an **avid blogger**. I remember the launch of WordPress and the ripple it caused in the blogging community, and was an early user myself. The first version of [Wannabes](https://wannabes.be/?ref=broddin.be) ran on it, and I spend a lot of time dabbling in the WordPress code back then. Being able to work on WordPress.com 20 years later is just incredible. A smart man once said, *“You can’t connect the dots looking forward; you can only connect them looking backwards”*. I’m starting to think he’s right. ### Back to WordPress(.com) URL: https://broddin.be/back-to-wordpress-com/ Last updated: 2026-07-19T19:05:05.000Z After some years of running this blog on [Ghost,](https://ghost.org/?ref=broddin.be) I’ve decided to switch back to WordPress. Ghost has made incredible progress during the past 9 years. But their focus has been on paid memberships and empowering creators for a while. This change of direction made me feel I’m not their target audience anymore. I’m just a simple blogger who likes to write down stuff quickly. I’ve been using WordPress since before version 1.0 (but lost sight some years ago). While checking out alternatives to Ghost, I became very impressed with the new block editor WordPress offers. It’s probably the best editor there is. So, I decided to switch back to WordPress. ![The block editor](https://broddinblog.on-forge.com/storage/303/wordpresscom-post-broddinbe-2745-1-1.png) The block editor I choose WordPress.com hosting because I don’t want to update versions every time manually. \--- While migrating data from Ghost to WordPress (easy thanks to the [Ghost Importer](https://nl.wordpress.org/plugins/import-from-ghost/?ref=broddin.be) & [Auto-upload images](https://nl.wordpress.org/plugins/auto-upload-images/?ref=broddin.be) plugin) I also decided to make some minor modifications to this website. Even though I find it more comfortable to write in Dutch, I’ve decided to focus on English from now on. My English posts are far more popular than my Dutch posts. I’m also trying to make my English a bit less rusty. *Voor stomme dingen die typisch Belgisch zijn ga ik natuurlijk nog wel in het Nederlands schrijven.* I’ve also opted for a more minimal theme. I hope this lowers the barrier for posting smaller stuff more often. \--- There’s one more reason why I switched to WordPress … but you’ll have to wait a bit more to find out. ### My 2022 (mostly frontend) programming stack URL: https://broddin.be/my-2022-mostly-frontend-programming-stack/ Last updated: 2026-07-19T19:05:06.000Z This post is a post that’s been in my draft folder for way too long. I’ve wanted to write about my current programming stack for a while. This post is an overview of all the **languages**, **frameworks**, **services,** and **tools** I’ve been using in 2022. ## Where I come from More than 20 years ago, I started experimenting with PHP, HTML, and CSS. Since then, I’ve used and dismissed lots of technologies. I remember how a hassle it was to write (cross-browser) JavaScript before **jQuery** came along. I’ve also seen the rise and fall of some pretty big frameworks such as **Angular** and **Meteor**. Damn, I’m starting to get old. *I was a big fan of Meteor, even with all its shortcomings. Meteor is a full-stack framework that offers real-time data updates out-of-the-box. I’ve yet to find a framework that makes it this easy to set up a proof-of-concept, complete with a backend database. But it’s a pain to deploy, it’s a pain to upgrade, and it’s way too slow.* I’ve been around long enough to start seeing **some patterns**. I’m now able to restrain myself from jumping on every **hype train**. But I still jump on quite some because progress still makes me excited like a little kid. ## My 2022 stack ### Framework: Next.js I’ve been using [Next.js](https://nextjs.org/?ref=broddin.be) ever since I saw [Guillermo Rauch](https://twitter.com/rauchg?ref=broddin.be) introduce it at ReactiveConf. It’s my **go-to React framework**. I love the **routing**, the incremental **static regeneration**, the **serverless functions**, and the fact that it leaves you free to plug in whatever other technologies you want to use (such as CSS-in-JS solutions). And it’s **fast**. Very fast. Fast for me as a developer (thanks to [SWC](https://swc.rs/?ref=broddin.be)), and fast for the user (thanks to the static generation). Look at [Woordje](https://www.woordje.be/?ref=broddin.be) & [Wannabes](https://www.wannabes.be/?ref=broddin.be). Both load **instantly**, even though Wannabes has a very slow Meteor backend powering it (though a GraphQL bridge). I’ve been watching [Remix](https://remix.run/?ref=broddin.be) closely, but I’ve yet to find a real advantage to using it over Next.js. I’ve also dabbled with [SvelteKit](https://kit.svelte.dev/?ref=broddin.be) for a small project, and I loved it, but I guess I’m too invested in the React ecosystem. ### Language: TypeScript This one is new for me. For a long time, I didn’t think I needed **type checking**. I was under the impression that you only required type checking when working on **big-ass projects** with a giant team. I couldn’t be more wrong. Since about two months ago (after Woordje), I started using [TypeScript](https://www.typescriptlang.org/?ref=broddin.be) on all my new projects. The advantages TypeScript brings to DX are enormous. It saves me a lot of time. Only disadvantage: I still have some learning to do. Thinking about stuff like generics still gives me a **tiny headache**. But all beginnings are hard. ### CMS: DatoCMS There are tons of headless CMS’es, but about a year ago, I settled on [DatoCMS](https://www.datocms.com/?ref=broddin.be). It allows you to create models (item types) easily and has rock-solid media management. Best of all: it makes a **GraphQL API** for you. Too bad it’s **pretty expensive** for hobby projects. We’ve been thinking about using it to replace our aging [Wannabes](https://wannabes.be/?ref=broddin.be) backend, but it’s just too expensive, even with the 50% price reduction for non-profits. I’ve been eyeing [Strapi](https://strapi.io/?ref=broddin.be) for quite some time. It’s an open-source CMS that offers many of the same functionalities. They’re making good progress, so maybe next year, this section will say Strapi. ### State management: Redux-toolkit + Redux-persist When React introduced the **useContext** hook, many people assumed Redux would be done. But it kept evolving. They created [Redux-toolkit](https://redux-toolkit.js.org/?ref=broddin.be), an opinionated framework on top of Redux that adds some **default middleware** (redux-thunk & devtools) and adds slices, which are reducers and action creators in one. It also uses [Immer](https://github.com/immerjs/immer?ref=broddin.be) under the hood, which allows you to mutate your state without actually mutating it. Sweet. In almost every project where I use Redux, I also use [Redux-persist](https://github.com/rt2zz/redux-persist?ref=broddin.be). This middleware persists the state to **IndexedDB** or **localStorage** so that the state is preserved across browser reloads and visits. **Middleware** is what makes Redux still a viable option in 2022 for me. Middleware and the devtools, I love being able to time-travel through state updates. There are some **hip newer libraries** such as [zustand](https://github.com/pmndrs/zustand?ref=broddin.be) and [jotai](https://jotai.org/?ref=broddin.be) on my radar, but Redux does the job. ### GraphQL: graphql-request, swr & graphql-codegen I love the **versatility** of GraphQL. I’ve used **apollo-clien**t to talk to GraphQL servers in the past, but it’s just too complex. It tries to do too much, even wanting to store all your local state. While there must be use-cases for this added complexity, I’ve yet to face them. My current workflow is writing my GraphQL queries and letting [graphql-codegen](https://www.graphql-code-generator.com/?ref=broddin.be) auto-generate the proper TypeScript types and [SWR](https://swr.vercel.app/?ref=broddin.be) hooks. [It’s magic](https://www.the-guild.dev/blog/graphql-codegen-plugin-typescript-swr?ref=broddin.be). I still use apollo-server for setting up a GraphQL server since that still seems the best option. ### CSS-in-JS: stitches I’ve been using **styled-components** a lot in the past. Recently (with [Woordje](https://woordje.be/?ref=broddin.be)), I jumped ship to stitches. [NextUI](https://nextui.org/?ref=broddin.be), the beautiful component library used by Woordje, uses it, and I didn’t want to ship two separate styling libraries. By using it, I quickly saw the advantages of [stitches](https://stitches.dev/?ref=broddin.be). Using **tokens** and **variants** is much cleaner than **injecting props in a string literal**. And every property and value is type-checked, which is fantastic for someone who makes a lot of typos. ### Animation: framer-motion I’ve been using [framer-motion](https://www.framer.com/motion/?ref=broddin.be) for a couple of years now, and it does everything I need from an **animation library**. ### Mobile: React Native / PWA I’ve created some native mobile apps in the past, and I’ve mainly used React Native. It’s easy, cross-platform, and you don’t need to learn a new language. Most significant pain: **upgrading to new versions**. I have a nice mobile app that’s 90% finished that’s sitting on my hard drive for over two years, and the biggest thing that’s keeping me from finishing it is the amount of work I have to put into just **getting it to run again**. I hope and pray that Apple will one day make [progressive web apps](https://web.dev/progressive-web-apps/?ref=broddin.be) **first-class citizens** on iOS. There’s nothing modern web technology can’t do compared to native. The only thing that’s keeping it back is propper support from Apple. ### Hosting: Vercel / Lambda / Docker The most obvious choice to host when you create Next.js apps is [Vercel](https://vercel.com/?ref=broddin.be). I like the ease of pushing to a Git branch and getting a preview deployment. Their free plan is also very generous. For some (non-Next.js) projects, I use AWS Lambda and custom Docker containers deployed to a cheap [Hetzner](https://www.hetzner.com/?ref=broddin.be) VPS. ### Databases: Prisma & PlanetScale I was forced to use MongoDB, a NoSQL database, during my Meteor days. At first, I was like, “woooohooo, no more database scheme!”. But as time went on, I started to miss many things from relational databases. I missed things like, well, proper relations, a powerful query language like SQL, and an enforced database scheme. When I need to create a custom data store, I use [Prisma](https://www.prisma.io/?ref=broddin.be), an ambitious JS/TS **ORM**, together with [PlanetScale](https://planetscale.com/?ref=broddin.be). The latter is a MySQL-compatible serverless database with a very generous free plan. ### Editor: VSCode I’ve tried many editors in the past, free and paid, but I stuck with VSCode. It’s **fast** and **easily extendible**. I also use [Github Copilot](https://copilot.github.com/?ref=broddin.be), an insane witchcraft magic AI that suggests code while I type. It’s insane how good the suggestions it makes can be. ### Analytics: Plausible I’m not too fond of cookie consent forms, and I’m not a big fan of Google Analytics. That’s why I use [Plausible](https://plausible.io/?ref=broddin.be). It’s not free, but your users’ privacy is worth it. ## Conclusion I plan on doing a post like this every year from now on. I’m intrigued at how things will change in the near & not-so-near future. ### Project MiSTer: de ultieme retromachine URL: https://broddin.be/project-mister/ Last updated: 2026-07-19T19:05:08.000Z Ik heb iets met nostalgie. Ik heb ook iets met oude computers en consoles. Hoe graag ik ook **de laatste next-gen games** speel op m’n Xbox, ergens heb ik diep vanbinnen een heel weke plek voor de tijd dat personages gewoon **een hoopje pixels** waren. Daarom heb ik een **Project MiSTer** gebouwd, de **heilige graal** voor retrofreaks. Maar eerst een kleine geschiedenisles … ## Emulatie PC-bezitters zijn al sinds de komst van de consoles droevig omdat hun buurman op zijn veel goedkopere Nintendo heel wat leukere games kan spelen. Hoewel consoles op papier natuurlijk **veel minder krachtig** zijn dan PC’s bevatten ze specifieke chips die heel snel exact dat doen wat consoles moeten kunnen: snel **grafische bewerkingen** uitvoeren. Heel wat slimme mensen hebben getracht om toch die games van die consoles draaibaar te krijgen op een gewone PC. Dat heet dan **emulatie.** Kort door de bocht leest een emulator de softwarecode die voor een ander systeem geschreven is, en **vertaalt** die naar de taal die het systeem waar de emulator op draait verstaat. Het duurde nog tot de **tweede helft van de jaren ’90** voor de eerste emulators verschenen die een NES en een SNES redelijk deftig konden nabootsen op een gewone computer. Pas dan waren de processors van PC’s krachtig genoeg om de vertaalslag te kunnen maken tussen NES/SNES en PC. How NESticle changed NES Emulation forever | MVG We zijn nu een goede 25 jaar verder, en emulatie is overal. Op AliExpress smijten ze naar je kop met goedkope handhelds en consoles die alle klassieke games goed kunnen draaien. En consolebouwers zoals Nintendo en Microsoft gebruiken emulators om hun oude spellen te kunnen spelen op nieuwe hardware Veel hobbyisten gaan ook aan de slag met een [Raspberry Pi](https://www.raspberrypi.org/?ref=broddin.be) om zo kleine **emulatorbakjes** te bouwen om aan hun TV te hangen. ## FPGA Maar de titel van deze blogpost is niet “Hoe bouw je de ultieme retromachine met een Raspberry Pi”. Deze post gaat over **Project MiSTer**, en dat is een heel ander beest. Software-emulatie heeft namelijk ook **nadelen**. Het is zoals de naam al zegt het nabootsen van een heel systeem volledig in software. Elke instructie in de programmacode (het spel) wordt zo goed mogelijk vertaald. Maar verschillende chips, verschillende timings en daaronder ook nog een besturingssysteem dat nog 100 andere dingen heeft af te handelen maken dat er niet makkelijk op. Daarom is software-emulatie vaak **niet accuraat**. Leg een geëmuleerd spel naast het echte, en de kans is groot dat er ergens wel glitches zijn of dat de audio niet perfect is. Er zijn wel emulators (zoals [higan](https://higan.dev/?ref=broddin.be)) die mikken op 100% accuraatheid, maar die zijn veel te zwaar voor bijvoorbeeld een simpele Raspberry Pi. Maar zelfs voor relatief krachtige systemen is het vaak moeilijk om emulatie juist te krijgen. Nintendo voegde bijvoorbeeld onlangs Nintendo 64 games toe aan de Switch, en kreeg bakken kritiek over de kwaliteit van hun zelfgebouwde emulator. Gelukkig bestaat er een manier om echt op hardwareniveau te gaan emuleren: de **FPGA** (Field Programmable Gate Array). Dit is een **programmeerbare processor** die tot eender wat geprogrammeerd kan worden. Dus bijvoorbeeld tot een complete Super Nintendo. Of een SEGA. Of tot eigenlijk eender welk apparaat dat fysiek op de chip past. ![](https://broddinblog.on-forge.com/storage/306/image.png) Het grootste voordeel van FPGA-emulatie is dat als de bouwer van de core (de implementatie van een systeem) zijn werk goed gedaan heeft je een **100% accurate emulatie** hebt, inclusief alle mankementjes die de originele hardware ook had. Het grootste nadeel is dan weer dat het duur is. [Analogue](https://www.analogue.co/?ref=broddin.be) begon enkele jaren geleden als eerste met het aanbieden van FPGA-systemen en die kosten rond de 200 euro per stuk per systeem (NES, SNES, Sega Master System, Game Boy, …) en dan heb je ook nog de originele cartridges nodig. ## Project MiSTer Enter de **open-source community**. Een aantal jaren geleden begonnen er daar een aantal enthousiastelingen aan een project om de A**mi**ga en de Atari **ST** te emuleren op een FPGA: MiST. Terwijl zij daar goed bezig waren bracht Intel een veel krachtiger FPGA-ontwikkelbord uit voor het onderwijs: de **DE10-Nano**. En omdat ze die studenten niet teveel wilden laten betalen besloten ze het onder de kostprijs te verkopen. Dat bracht [Alexey Melnikov](https://www.patreon.com/FPGAMiSTer?ref=broddin.be) op het idee om MiST te laten draaien op die DE10-Nano. Hij gaf het de naam Project MiSTer. Al snel was er een hele community rond dit project, en ook **een hele hoop cores**. De standaard klassieke console-emulators zijn er allemaal, maar ook een heleboel vintage computers en oude arcadekasten. Omdat de DE10-Nano naast een **Cyclone V FPGA** ook nog een relatief krachtige ARM-processor heeft, kan Project MiSTER bovenop de verschillende cores ook nog een (Linux) besturingsysteem draaien. ![Het besturingssysteem (bron)](https://broddinblog.on-forge.com/storage/307/image-1.png) Het besturingssysteem (bron) Dit besturingssysteem ziet er extreem **old-school** uit, en is een pak minder fancy dan wat je krijgt bij andere emulators. Maar het doet zijn job, en zorgt ervoor dat elke core op exact dezelfde wijze configureerbaar is. Daarnaast zorgt de **ARM-processor** er ook voor dat je beeld- en geluidsfilters kan toepassen, en allerlei andere **quality-of-life** aanpassingen zoals cheatmenus, savegames en hermappen van controllerknoppen. ## Waar te beginnen? Het minimum dat je nodig hebt om aan de slag te gaan met Project MiSTer is natuurlijk het **DE10 Nano bord**. De prijs h iervan durft te variëren, maar momenteel gaat dit voor zo’n 180 euro [hier](https://www.mouser.be/ProductDetail/Terasic-Technologies/P0496?qs=%2FacZuiyY%252B4ZdDLJqTxdJ5w%3D%3D&ref=broddin.be). Met enkel de DE10 kan je al een paar cores draaien, maar door \* *insert heel technische uitleg over geheugentimings\** heb je voor de meeste cores ook nog de **128MB SDRAM** uitbreiding nodig. It’s all about clock speed and latency. As DRAM evolved to give higher bandwidth the latency (time between request and returned data) got longer due to many factors. But the original systems sometimes rely on exact RAM timing. This can be mimicked using later DRAM by running it many times faster than the underlying core. Daarnaast wil je zeker een **USB-hub**, want de DE10 Nano heeft enkel een micro-USB aansluiting, en geen ingebouwde WiFi of Bluetooth. Dus wil je die twee, dan heb je al zeker een extra usb-poort nodig. Hetzelfde voor een toetsenbord of gamepads. Het laatste wat je misschien is het analoge of digitale **IO-board**. Dit voegt een extra SD-kaart slot toe en (bij het analoge) een VGA-out. Maar het handigste aan deze uitbreiding is dat je 3 fysieke knoppen krijgt om te resetten en het menu te openen. ![](https://broddinblog.on-forge.com/storage/308/image-4.png) Omdat heel het MiSTer project vanuit de community komt, en veel van de uitbreidingen gemaakt zijn door hobbyisten, zijn ze **niet te koop in de Fnac** of de MediaMarkt. In Europa heb je enkele webshops, en door de goeie recensies op het officiële MiSTer forum, besloot ik al mijn uitbreidingen te kopen bij [UltimateMister](https://ultimatemister.com/?ref=broddin.be). Omdat er weinig verkopers zijn en doordat MiSTer extreem populair is op het moment, lopen de wachttijden wel serieus op (2 weken hier). ## Mijn setup Ik bestelde de [Ultimate MiSTer Kit](https://ultimatemister.com/product/ultimate-mister-kit/?ref=broddin.be), voor ongeveer 200 euro. Dit omvat: - een fancy case - de SDRAM-module - het IO Board, dat extra analoge outputs, een extra SD-kaart slot en drie knoppen toevoegt - een fan, voor de meer veeleisende cores - USB-hub voor 7 apparaten Daarnaast kocht ik ook nog twee [8BitDo M30 2.4G](https://www.8bitdo.com/m30-2-4g/?ref=broddin.be) controllers, omdat deze door velen gezien worden als de ultieme retro controllers. Ik koos bewust voor de 2.4g versie in plaats van de Bluetoothversie. Hier zit een **dongle** bij, die automatisch verbindt. Bluetoothcontrollers doen dit onder MiSTer niet, wat heel lastig is. ![](https://broddinblog.on-forge.com/storage/309/screenshot-2021-10-28-at-125720.jpg) Samen met de aankoop van de DE10 loopt dit wel op, en de totaalprijs komt al snel in de buurt van die van een next-gen console. Mijn MiSTer is verbonden met zowel de TV als een monitor via een **HDMI-splitter**. Zo kan ik zowel lekker retrogamen op de bank, als oude computersystemen draaien op een scherm dat niet gigantisch groot is. ## Wat kan dat nu allemaal? Veel. Daarom verdeel ik het even onder in drie categorieën. Arcadebakken, consoles en computers. ### Arcadebakken Ongeveer **400 oude arcadegames** worden momenteel door de MiSTer ondersteund. Dat gaat van echt heel oude spellen zoals Space Invaders tot al wat modernere games op de [CPS2](https://en.wikipedia.org/wiki/CP%5FSystem%5FII?ref=broddin.be) en [Sega System 16](https://segaretro.org/Sega%5FSystem%5F16?ref=broddin.be#System%5F16C) systemen. Een interessant figuur om hierover te volgen is [Jotego](https://twitter.com/topapate?ref%5Fsrc=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor&ref=broddin.be), een hobbyist die er in slaagt om elke week wel een paar arcadegames naar de MiSTer te brengen. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/1-image-4.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-3-1.png) ### Consoles De MiSTer kan quasi elke console emuleren tot ongeveer midden jaren ’90\. Momenteel zijn er **26 cores beschikbaar** en dat gaat echt hele oude dingen zoals de Atari 2600 en Vectrex, tot relatief nieuwe zoals de SEGA Genesis (en **CD**), Gameboy Advance en Super Nintendo. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-6.png) ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/image-7.png) Voor moderne systemen (zoals de N64) is de FPGA op de MiSTer waarschijnlijk te klein/traag. Maar een **PlayStation 1** core [lijkt er wel te kunnen komen](https://twitter.com/AzumFpg/status/1451071803712053249?ref=broddin.be). De meeste cores hebben ook leuke extra’s. Zaken zoals **cheatmenus** hadden back in the day toen ik moest proberen Super Mario Land op 1 batterijlading uit te spelen best handig geweest. En **multiplayer Gameboy** is ook een leuke feature: ![Twee gameboys naast elkaar](https://broddinblog.on-forge.com/storage/312/image-5.png) Twee gameboys naast elkaar ### Computers Arcade en consoles zijn leuk, maar het allerleukste zij n de oude computers. De MiSTer komt met ongelofelijk veel cores die oude computers nabootsen. **Commodore**, **Amstrad**, **Amiga**, **Altair** en zelf zo’n ding met oscilloscopen en lampen. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/20211018-153528-screen.png) ![](https://broddin.be/content/images/wordpress/2022/04/20211018_154044-screen.png?ssl=1) Maar mijn favoriete twee zijn die van de Macintosh Plus, één van de allereerste Macs uit 1986, en die van de IBM PC. Ideaal om alle games en apps uit mijn nostalgisch verleden nog eens mee te spelen. ![](https://storage.ghost.io/c/07/26/07263624-ccbd-43f7-8802-4e22129ea722/content/images/2026/07/20211028-092300-screen.png) ![](https://broddin.be/content/images/wordpress/2022/04/20211119_092038-screen.png?ssl=1) ![](https://broddin.be/content/images/wordpress/2022/04/1_image-6.png?ssl=1) ## Tips als je er ook aan wil beginnen - [Update-all](https://github.com/theypsilon/Update%5FAll%5FMiSTer?ref=broddin.be): er zijn gigantisch veel cores, en die manueel up-to-date houden is onbegonnen werk. Het **update-all script** doet dit automatisch voor u, downloadt daarnaast alle arcade ROMs en BIOS-files, en sorteert uw arcadespellen zodat je er makkelijk je weg in vindt. - Ik heb heel de inhoud van mijn SD-kaart op m’n **NAS** gezet, en die share wordt automatisch [gemount](https://gist.github.com/TimBroddin/3be14fc418fe16b0f43cce293c48ca6f?ref=broddin.be) bij boot. Zo kan ik makkelijk ROMs toevoegen, en verlies ik minder mocht m’n SD-kaart het begeven. - Het is heel verleidelijk om ineens alle games ooit van een systeem te downloaden. Maar dan verlies je u sowieso in de **overdaad**. Ik google gewoon lijsten van de X beste games en beperkt me daartoe. Want er is voor elk systeem echt **extreem veel crap** verschenen. - Voor de PC core bestaat er een VHD (virtuele hard disk) met daarop de 300 beste DOS-games: [MiSTer AO486 Top 300 DOS Games Pack](https://archive.org/details/top-300-final) - Voor de Macintosh Plus heb je iets soortgelijks, maar daar zitten dan ook nog heel veel applicaties bij: [MacPack](https://archive.org/details/macpack-20210807). Ideaal voor als je Photoshop 1.0 eens wil proberen. - Voor de Amiga is er iets soortgelijks: [AGS2](https://drive.google.com/file/d/1OsQUfea59LF9-wjabYPiOWMdNO2JyLBp/view?ref=broddin.be). - [Archive.org](https://archive.org/) is echt uw vriend voor **oude shit**, zelfs de [Blokken CD-ROM](https://archive.org/details/blokken3) staat erop. - Up-to-date blijven met de laatste ontwikkelingen kan in de [Facebook groep](https://www.facebook.com/groups/1870135613286506), of op het [officiële forum](https://misterfpga.org/?ref=broddin.be). ### Only one Airpod playing sound? URL: https://broddin.be/only-one-airpod-playing-sound/ Last updated: 2026-07-19T19:05:09.000Z I’ve been struggling with a pair of misbehaving AirPods Pro for about a month now. Sometimes the left earpiece would play, sometimes the right, and every time I opened the case, iOS kept bugging me that these weren’t my AirPods. I tried every tip on the Internet and finally got it to work following these steps: ## Step 1: make sure both earpieces are charged This step might sound trivial, but if one of your earpieces’ batteries is empty, it won’t play any sound. Make sure the charging pins of your charging case are clean. Sometimes these little pins like to play hide & seek. You can use tweezers to grab them and slightly move them. Be careful! ![Credit: /u/datsouljaboy](https://broddinblog.on-forge.com/storage/316/5-image.png) Credit: /u/datsouljaboy All is good when the little status light on your charging case blinks. ## Step 2: forget your AirPods Open your iPhone’s settings, select Bluetooth, pick your AirPods and forget the device. ![](https://broddinblog.on-forge.com/storage/317/6-image-1.png) ## Step 3: completely shut down your iPhone Press volume up and the side button to completely shut down your iPhone. ![](https://broddinblog.on-forge.com/storage/318/2-image-2.png) ## Step 4: factory reset your Airpods Press the button on the back of your Airpods until the light flashes amber three times. Wait for about a minute for the reset to be completed. While doing so, power on your iPhone. ## Step 5: reboot your iPhone once more I don’t know if this step is necessary, but I did it, and my Airpods work now. Do a complete reboot of your iPhone by short tapping volume up, short tapping volume down, then holding the side button until the Apple logo appears. ## Step 6: open the lid of your Airpods & pair them with your iPhone. All should work now! ### Get HyperPixel 4.0 working horizontally for Octodash URL: https://broddin.be/get-hyperpixel-4-0-working-horizontally/ Last updated: 2026-07-19T19:05:09.000Z Recently I managed to corrupt my Octopi SD-card by pulling the power plug while it was updating. Everything was up and running again relatively quickly, but one thing I could not get to work -no matter what I tried- was horizontal screen orientation for my [Pimoroni Hyperpixel 4.0 display](https://shop.pimoroni.com/products/hyperpixel-4?variant=12569485443155&ref=broddin.be) and [OctoDash](https://github.com/UnchartedBull/OctoDash?ref=broddin.be). Finally, I got it to work with these steps. ## Install the Hyperpixel overlays: ```bash curl https://get.pimoroni.com/hyperpixel4 | bash ``` Pick option 2: ![](https://broddinblog.on-forge.com/storage/320/screenshot-2021-09-22-at-104031.png) ## Make sure you load the 3D-driver Check that your `/boot/config.txt `includes `dtoverlay=vc4-fkms-v3d` ## Install xinput `sudo apt install xinput` ## Change your .xinitrc Change your `/home/pi/.xinitrc` as follows: ```text #!/bin/shxset s offxset s noblankxset -dpmsratpoison&DISPLAY=:0.0 xrandr --output DSI-1 --rotate leftDISPLAY=:0.0 xinput set-prop "pointer:Goodix Capacitive TouchScreen" "libinput Calibration Matrix" 0 -1 1 1 0 0 0 0 1octodash ``` ## Reboot! You should now have a rotated Octodash screen with correct touch inputs. ![](https://broddinblog.on-forge.com/storage/321/img-6711-2.jpg) ### Troubleshooting the Prusa MMU2S URL: https://broddin.be/troubleshooting-the-prusa-mmu2s/ Last updated: 2026-07-19T19:05:09.000Z 3D printing in one color is fantastic—3D printing in five colors is the next frontier. Ever since I started my 3D printing adventure, I’d wanted to buy a **Multi-Material Upgrade**, but I was hesitant after reading some reviews. Many people seem to be having trouble **getting the unit to function**, and that’s no surprise given it’s an assembly of 3 motors, five pulleys, and two sensors. If one thing goes wrong, the whole machine will say no. And with just three lights on top that can only blink, it can be **hard to debug**. But I was up for some challenge, and since the only true competitor for multi-material prints (the [Palette 3](https://www.mosaicmfg.com/products/palette-3-pro?ref=broddin.be)) is more than twice as expensive, I decided to take the plunge and pay Mr. Prusa 300 euros. ![](https://broddinblog.on-forge.com/storage/323/2-image-3.png) I’m a grown-up man, but **this machine brought me to tears**. It was **infuriating** to get going. I can’t recall how often I’ve unscrewed everything, fastened bolts, and loosened them again. I could not get this upgrade to print anything. Every filament would get stuck, would not load, or would fail to unload. I got really close to the point of just **reverting everything** and going back to my stock i3 MK3S+. But after watching a lot of videos ([this episode of Chris’s Basement](https://www.youtube.com/watch?v=XH-F8h7Y1tM&ref=broddin.be) is a must-watch), I finally managed to dial in all the proper settings, and now my MMU2S **works like a charm**. These are the tips & tricks that made my MMU2S **a joy** to work with. Most of them come from the Chris’s Basement video, but I’ve added my own experiences. If you are currently trying to get an MMU going, take heart and know you will get it going. Eventually. ### Assembly Just like with the Prusa printer itself: - Read the **comments** below[ every step](https://help.prusa3d.com/en/category/original-prusa-i3-to-mmu2s-upgrade%5F288?ref=broddin.be) before you do that step - Don’t overtighten - Re-check all wiring at least five times - Take your time (!) Building an MMU2S isn’t really hard, but it’ll take time. It’s a small device, but you’ll have to put some work into it. ### Make sure every sensor works. Two necessary sensors need to work flawlessly to be able to print with multiple materials. - The **FINDA**: this sensor (that works like the PINDA) will trigger when filament is inside the selector. - The **filament sensor** will trigger when filament has reached the Bondtech gears (the extruder motor). You can view the status of all sensors in your Prusa by going into **Support** and selecting **Sensor Status**. ![](https://broddinblog.on-forge.com/storage/324/sensors.jpg) Manually trigger the FINDA by pushing some filament down the selector. The filament sensor is easier to activate with a small hex wrench. If either one of them doesn’t trigger or fluctuates, you have to unscrew it and move it slightly until it works. I didn’t have any sensor troubles, but this seems to be **the most common MMU2S problem**. Make sure your sensors work correctly. Otherwise, strange things will happen. ![](https://broddinblog.on-forge.com/storage/325/icon-180x1803ade78ca804140b4d1655f779a25e369.png) ### Tension screws Ensure both the tension screws on the MMU2S unit and the extruder idler door have the **proper tension**. What’s the right tension? You’ll have to find out with trial & error. If the pulley can’t load the filament by itself, but it loads fine when you push down on the door of your MMU unit, you can **tighten** the tension screws a bit. If your filament has piecing missing, you probably **overtightened**. The same goes for the extruder idler door. If no filament gets extruded, the screw might be too loose. If the filament sensor doesn’t get triggered, it might be too tight (the filament can’t move the gears). This is **trial & error**, but just like first layer calibration, you will get the hang of it. ### Lose the buffer The filament buffer Prusa provides is a charming idea, but it’s not fun to work with. Set it aside, at least while debugging. You don’t want to fiddle with loading and unloading filament through the small openings. It’s **torture**. There are excellent alternatives available, like the [RMU MK3](https://filamentbuffer.co.uk/?ref=broddin.be), which has a better design, but you can just let the wires tangle freely while you try to get your MMU2S going. I have a [RepBox](https://www.repkord.com/collections/repbox-2?ref=broddin.be) mounted above my printer, and I’m still waiting for my auto-rewinding spool holders. But to be honest: I don’t think I’ll actually need them. I’ve never had more than 1 meter of excess filament tangling. ![My setup without filament buffer – works great.](https://broddinblog.on-forge.com/storage/326/separators.jpg) My setup without filament buffer – works great. ### Make sure filament moves freely. Test each filament path and make sure the filament moves **freely**. Don’t overtighten your fasteners, and make sure all your pulleys are aligned perfectly and mounted on the flat base of the stepper motor axis. Make sure filament can make its way from the back to the front through the selector. Any friction here has to be eliminated. ![Make sure they are all lined up in between the teeth of the pulleys.](https://broddinblog.on-forge.com/storage/327/linedup.jpg) Make sure they are all lined up in between the teeth of the pulleys. You also want to make sure your filament path is **as straight as possible**. The same extruder motor that was pulling a spool that was a mere 30 centimeters away on your stock Prusa i3 is now pulling filament that’s more than a meter away. You don’t want any bends. That’s why I printed some of these snap-together [PTFE tube separators](https://www.thingiverse.com/thing:3166394?ref=broddin.be) (as advised in Chris’s video – see the picture above). ### Tune your PrusaSlicer settings I was always getting tips that were slightly too fat to fit in the PTFE tubes. ![](https://broddinblog.on-forge.com/storage/328/5-image-4.png) The best way to get better tips is to tweak the **cooling moves** and **unloading speed** in PrusaSlicer. ![120mm/s and three cooling moves](https://broddinblog.on-forge.com/storage/329/screenshot-2021-07-13-at-121738.png) 120mm/s and three cooling moves By using 2 to 3 cooling moves, you’re giving the filament **some more time to cool down** in the constrained area of the extruder. And by increasing the unloading speed slightly, you’re giving the filament **less time to deform** before it gets inside the PTFE tube. You might have to tweak these settings for every filament. I have a spool of white AmazonBasics filament, which tends to string a lot unless printed at lower temperatures, so I created a separate profile for that filament. ### Buy a wider PTFE tube. Even with the correct slicer settings, I would sometimes still get stuck filament in the PTFE tube between the MMU2S unit and the extruder. There would be ever so **slightly too much friction** between the filament and the tube. Since this tube is nothing more than the guide between the MMU2S and your extruder, you can replace this with something a bit wider. The default tube is about 1.8mm wide, which is **quite snug**. I bought a 2mm, a 2.5mm, and a 3mm tube, and with the 2.5mm tube, I have yet to have another blockage. Remember to keep aside the old tube when you want to print with flexible filament (which likes tightness). ## Conclusion I hope these tips can save you some time. The MMU2S is an excellent piece of machinery, and I can really enjoy **watching it and awe** while it changes filament. But it can also be a **massive pain in your ass**. If you’re still struggling, keep trying. You will get there in the end. And I can’t stress it enough, watch this episode: Prusa MMU2 Multi Material Unit - Tips and Tricks - Chris's Basement ## ### Dolby Atmos op Apple Music URL: https://broddin.be/dolby-atmos-op-apple-music/ Last updated: 2026-07-19T19:05:09.000Z Ik ben één van die tien Apple Music gebruikers in België. Vooral om historische redenen: ik hou al sinds m’n eerste iPod al m’n muziek netjes bij in iTunes, en toen Spotify er kwam hadden zij een **limiet van 10.000 songs**. Een paar keer te klein voor mijn bibliotheek. Het is als Apple Music gebruiker vaak kut om te moeten zien wat voor leuke dingen Spotify allemaal in hun **snoepwinkel** legt. Af en toe probeert Apple wel iets, maar het is toch vaak net niet (zoals hun Replay playlists tegenover Spotify’s Wrapped). Ik verwacht wel meer van de uitvinder van de iPod. Waarom ik dan blijf? Het is gemakkelijk, het zit in ons Apple One abonnement, ze betalen artiesten bijna [dubbel zoveel](https://www.nme.com/news/music/apple-music-tells-artists-now-pays-double-spotify-per-stream-2922446?ref=broddin.be#:~:text=According%20to%20figures%20from%20last,cent%20per%20stream%20on%20average.) per stream, en ik ben content van hun playlists en radiostations. En heel af en toe durven ze echt **innoveren**. ## Lossless audio Een paar maanden geleden kondigde Spotify aan dat ze ergens later dit jaar **Spotify HiFi** lanceren. Een betalende upgrade die betere audiokwaliteit belooft. Ze haalden zelfs Billie Eilish en Finneas voor de camera om uit te leggen hoeveel beter dat is. Pure **marketing**, want 98% van de mensen is **niet in staat** om het verschil te horen tussen een gecomprimeerd bestand van goede kwaliteit en lossless. Maar zoals [Eddy Cue in Billboard](https://www.billboard.com/articles/business/streaming/9583947/apple-music-eddy-cue-spatial-audio-lossless-future-of-music/?ref=broddin.be) zegt: “When you hear the word lossless it sounds better than loss.”. Niet veel na Spotify hun aankondiging besloot Amazon Music om **gratis** lossless aan te bieden, en een paar weken geleden kondigde Apple hetzelfde aan. Plus dat ze enkele duizenden nummers ook gingen uitbrengen met **Spatial Audio** dankzij Dolby Atmos, en dat ze producers gingen helpen om Atmos mixes te maken. ## Dolby Atmos? Dolby Atmos is een formaat voor **surround geluid**, dat schaalt van bioscopen met 64 luidsprekers tot koptelefoons. Door het werk van heel slimme mensen kan technologie zoals Atmos ervoor zorgen dat je zelfs met een koptelefoon het gevoel kan hebben dat het geluid **van alle kanten** rondom je komt. Introducing Spatial Audio | Apple Music Er is de afgelopen jaren al vaker met Dolby Atmos en muziek geëxperimenteerd, door onder andere Amazon en Deezer, maar nu Apple zich erop smijt heeft het de kans om **meer dan een gimmick** te worden. ## Hoe klinkt dat nu? De afgelopen twee weken heb ik ontzettend veel Spatial Audio beluisterd, in alle genres en ik kan zeggen dat het **meestal een verbetering** is. ![Mijn wetenschappelijke bevindingen](https://broddinblog.on-forge.com/storage/331/sketch-2.png) Mijn wetenschappelijke bevindingen Ik had de vrees dat veel producers zich gingen laten verleiden tot **overdreven surroundmixes**, met een stem die van alle kanten zou komen. Dat is al een geluk niet het geval. De meeste tracks in Spatial Audio klinken vooral meer … **spatial**. Instrumenten hebben een **duidelijkere plaats** in het geluidsbeeld, en je voelt als het ware de weerkaatsing tegen de muren en het plafond. Blinding Lights van The Weeknd is een goed voorbeeld van hoe **geniaal** Atmos kan klinken. Een track die al geweldig klinkt in stereo, klinkt **minstens dubbel zo goed** in Atmos. Naast de uitschieters zoals The Weeknd, Billie Eilish, The Beatles, Taylor Swift en zowat alle klassieke muziek, zijn er ook **uitschuivers**. Nogal wat tracks (zoals Blink 182 hieronder) klinken nog alsof er gewoon een **standaardfilterke** over de muziek gelegd is. De stem klinkt dan altijd te zacht en de instrumenten klinken wat wijdser. Dit klinkt echt **slechter dan het origineel**, en hier zit ‘m een groot nadeel aan Spatial Audio.Er is namelijk geen makkelijke knop om het aan en uit te zetten. ## Dus … Het valt af te wachten of Apple artiesten kan verleiden om naast hun stereo-mix ook een Atmos-mix te maken, en of de rest van de industrie volgt (ja Spotify). Als het goed gedaan is dan is Spatial Audio écht een **verbetering**. Toen er een eeuwigheid geleden werd overgestapt van mono naar stereo waren er ook veel sceptici, en moest er ook leergeld betaald worden. Maar uiteindelijk is dat wel goedgekomen. Dus laat ons hopen dat we de komende maanden een lading goed afgemixte albums krijgen, zodat Spatial Audio een blijver wordt. ### Een playlist met niks dan Spatial Audio ### Adding a copyright notice to an Apollo GraphQL API URL: https://broddin.be/returning-a-copyright-notice-with-apollo/ Last updated: 2026-07-19T19:05:10.000Z You’re building an open API, but you want to make sure your copyright notice is displayed alongside the data? While building the backend for our[ rock photography website](https://wannabes.be/?ref=broddin.be), I faced the same problem. I want hobbyists and tinkerers to be able to play with [our API,](https://graphql.wannabes.be/?ref=broddin.be) but I want to clarify the copyright terms. We don’t want people stealing our images because our API is open. Unfortunately, [Apollo GraphQL](https://www.apollographql.com/docs/apollo-server/?ref=broddin.be) doesn’t offer an easy way to enforce fields to be sent to users. ### (bad) Solution 1: add it as a field to the schema You could add a copyright field to all your types and return it. But since you can’t force clients to fetch this field, this is rather useless. ![Not everyone will ask for the copyright field](https://broddinblog.on-forge.com/storage/333/carbon-2.png) Not everyone will ask for the copyright field ### (bad) Solution 2: add it to the headers You could write middleware to add an X-COPYRIGHT header to all your responses. But you can’t expect clients to inspect every header actively. ### (good) Solution 3: return it as data inside the extension object GraphQL responses can return meta-information inside an object named extensions. Apollo-server uses this object to return tracing info. By writing a simple apollo-server plugin, you can enforce the field: ```text const CopyrightPlugin = { requestDidStart(requestContext) { return { willSendResponse(context) { context.response.extensions = { ...context.response.extensions, copyright: "All data returned by this API is copyrighted by Wannabes and the respective photographer(s).", }; }, }; },}; const server = new ApolloServer({ ...createSchema(db), debug: false, engine: { reportSchema: true, }, cors: true, playground: true, introspection: true, tracing: true, plugins: [ CopyrightPlugin] }); ``` You could theoretically return it as an extra field on all your responses (skipping the extensions object), but it feels cleaner returning it as part of the extensions object. That’s it. You can use this technique to do other cool things, like returning rate limits, uptime, or other nifty stats. ![](https://broddinblog.on-forge.com/storage/334/carbon-3.png) ### Review: een week met de Airpods Max URL: https://broddin.be/airpods-max-review/ Last updated: 2026-07-19T19:05:10.000Z Eén van de zaken die ik tijdens de lockdown ben beginnen verwaarlozen is het luisteren naar muziek. Toen er elke dag nog op en af naar Brussel gereden moest worden, luisterde ik in de auto al 2 uur muziek per dag, en op onze luidruchtige bureau nog eens minstens zoveel. Maar nu er niet meer gependeld moet worden, en m’n bureau meestal muisstil is, **komt het er gewoon niet meer van**. Op de fiets en tijdens meetings gebruik ik met veel plezier de **Airpods Pro**. Maar om langdurig muziek te luisteren zitten die net niet goed genoeg. En het geluid is uitstekend voor oordopjes, maar toch niet hetzelfde als een deftige hoofdtelefoon. ### Dus ik ging op zoek naar een deftige koptelefoon Ik zat dus al even in m’n achterhoofd met het idee dat ik eens wat geld tegen een goede hoofdtelefoon moest gooien. De usual suspects zoals de **Sony WH-1000XM4** en de **Bose Quietcomfort** waren mogelijke opties. Maar dan was er natuurlijk ook nog dat **beest** van Apple. Toen Apple in december de [Airpods Max](https://www.apple.com/benl/airpods-max/?ref=broddin.be) aankondigde heb ik eens goed gelachen. Meer dan **zeshonderd euro** voor een hoofdtelefoon is, hoe mooi ook, er zwaar over. ![](https://broddinblog.on-forge.com/storage/336/img-5519.jpg) Maar het zaadje was geplant in mijn hoofd, en ik wist van mijn ervaring met de Airpods Pro dat door het feit dat Apple [het hele ecosysteem bezit](https://www.youtube.com/watch?v=qNAo0UdYF6g&ref=broddin.be) ze een gebruikservaring kunnen bieden waar de concurrentie enkel maar van kan dromen. Het automatisch pairen met het device dat je op dat moment gebruikt, de spatial Dolby Atmos audio (hierover later meer) en de **feilloze integratie** in zowel iOS als macOS. Het zijn allemaal details, maar ze zorgen voor **frustratievrije** producten die gewoon werken. Dus ja, toen ik zag dat de Airpods Max overal wel [extreem goed scoren](https://www.whathifi.com/reviews/apple-airpods-max?ref=broddin.be), en dat ze op zowel [Amazon](https://www.amazon.nl/Apple-MGYL3ZM-A-Nieuw-AirPods-Max/dp/B08Q2314VB/ref=sxts%5Fsxwds-bia-wc-rsf-lq2a1%5F0?%5F%5Fmk%5Fnl%5FNL=%C3%85M%C3%85%C5%BD%C3%95%C3%91&cv%5Fct%5Fcx=airpods+max&dchild=1&keywords=airpods+max&pd%5Frd%5Fi=B08Q2314VB&pd%5Frd%5Fr=72a22d97-9d7d-4802-ba04-8b81f0ecc447&pd%5Frd%5Fw=y52Ub&pd%5Frd%5Fwg=dLeIs&pf%5Frd%5Fp=41f9af04-c397-4d0e-8463-9fe50a0f444f&pf%5Frd%5Fr=6JAH3DA47EBRABMHGDPH&psc=1&qid=1622198509&sr=1-1-22a6e085-98be-41d5-a416-4c8c5c75905e&ref=broddin.be) als [Bol](https://partner.bol.com/click/click?p=2&t=url&s=1104825&f=TXL&url=https%3A%2F%2Fwww.bol.com%2Fbe%2Fp%2Fapple-airpods-max-draadloze-bluetooth-koptelefoon-grijs%2F9300000019796377%2F&name=Apple%20AirPods%20Max%20-%20Draadloze%20Bluetooth%20Koptel...905e&ref=broddin.be) voor 100 euro goedkoper gaan dan de adviesprijs besloot ik de sprong te wagen. ### Het belangrijkste: hoe klinkt dat? Ik ben geen audiofiel. Ik kan met de beste moeite van de wereld het verschil niet horen tussen [lossy en lossless audio](http://abx.digitalfeed.net/spotify-hq.html?ref=broddin.be) (wel tussen 128 en 320kbps). Maar ik heb in mijn leven al heel wat hoofdtelefoons versleten, en ik weet wel ongeveer wat goed klinkt en wat crap. De eerste keer ik mijn Airpods Max opzette en muziek hoorde was **hemels**. Zonder overdrijven een revelatie. Zoals ik tegen iemand zei: ![](https://broddinblog.on-forge.com/storage/337/7-image.png) Ik heb de afgelopen week verschrikkelijk veel muziek geluisterd gewoon uit nieuwsgierigheid over hoe bepaalde nummers en albums klinken. En echt werkelijk **alles klinkt fantastisch**. Ik heb instrumenten gehoord die ik nog nooit gehoord had op albums die ik vanbuiten ken. Het maakt niet uit welk genre\* je naar de Airpods Max gooit, het klinkt altijd fantastisch. Die **extreem goede geluidskwaliteit** komt enerzijds door de **goede speakers** in de Airpods, en anderzijds door de **algoritmes** die Apple op het audiosignaal loslaat. Twee audioprocessor met 10 audiocores analyseren constant de positie van je hoofd en passen het geluid zo aan. Dat klinkt misschien als **marketingspeak**, maar hoe je de Airpods ook op je hoofd zet, het geluid blijft altijd consistent hetzelfde klinken. ![](https://broddinblog.on-forge.com/storage/338/8-image-1.png) Ik kan hier nog van alles schrijven over de mooie bassen en het sublieme stereobeeld. Maar deze **echte audiofie**l kan dat allemaal beter uitleggen: Samengevat: het is de allerbeste Bluetooth koptelefoon (maar het blijft wel een Bluetooth koptelefoon). ### De noise cancelation Naast subliem geluid houdt de Airpods Max **ongewenst geluid ook heel goed buiten**. Door zijn 6 naar buiten gerichte microfoons en afgesloten oorschelpen zelfs een pak beter dan de Airpods Pro. Weetje: als de noise cancelation opstaat zonder muziek krijg je wel het gevoel dat je in een landend vliegtuig zit. Blijkbaar kunnen je oren het gebrek aan lage tonen niet aan en ervaren die dat hetzelfde als druk in je binnenoor. Dit is normaal. Nog indrukwekkend: **de transparency modus**. Deze stand waarbij het geluid van buiten wordt versterkt door de hoofdtelefoon zit tegenwoordig op elke hoofdtelefoon. Maar door de vele micro’s heb je bij de Airpods Max een heel **precies richtingsgevoel**. Klinkt alweer als een detail, maar maakt het allemaal **veel natuurlijker** dan bij bijvoorbeeld de Airpods Pro. ### Het design & comfort Smaken verschillen natuurlijk, maar ik vind het design **meer dan geslaagd**. Het heeft iets van een jaren ’70 hoofdtelefoon, maar dan zonder er hopeloos gedateerd uit te zien. Ik heb de blauwe en die ziet er in het echt zelfs **nog beter uit dan op foto**. Heel de koptelefoon is uit roestvrij staal. Dat zorgt ervoor dat hij ook behoorlijk zwaar is: **bijna 400 gram**. Mede dankzij de stoffen band heb je hier bijna geen last van. Je voelt dat je een zware hoofdtelefoon op hebt, maar het is geen probleem om hem **uren aan een stuk** op de laten staan. Hij blijft ook stevig op je hoofd staan, maar ik zou er nu niet mee gaan sporten. En de oorkussens … die zijn hemels. Ze zijn gemaakt uit **babyzachte stof**, met memoryfoam onder en je kan ze probleemloos uren verdragen. De binnenkant van de cup is ook gro ot genoeg om zelfs de grootste flaporen in kwijt te kunnen. Aan de rechteroorschelp zijn twee knoppen. Eén groot uitgevallen **Digital Crown** zoals gekend van de Apple Watch, waarmee je het volume kan regelen, kan pauzeren en nummers kan skippen. En dan een knop om te switchen tussen noise cancelation en transparency. Werkt vlot. ### Is er dan niets op aan te merken? Tuurlijk wel. Ten eerste die **idiote beschermberghoes** uit het Jonny Ive tijdperk. Ik kan me voorstellen dat er mensen zijn die dit modieus vinden, maar een beschermhoes die het meest kwetsbare van je hoofdtelefoon (de stoffen band) niet beschermt, is **nutteloos**. En het ergste is dat je deze hoes nodig hebt om de Airpods Max in slaapstand te krijgen, want er zit geen aan-/uitknop op de hoofdtelefoon. De batterij gaat wel 20 uur mee, dus als je er op tijd aan denkt van hem op te laden kan je die beschermhoes wel kwijtspelen. ![BH voor koptelefoons](https://broddinblog.on-forge.com/storage/345/img-5524.jpg) BH voor koptelefoons Dan is er ook nog het opladen. Dit is een kleine frustratie, maar dat is nog steeds met een **lightning kabel**. Misschien moeten ze daar in Cupertino hun ramen eens wassen en zien dat de rest van de wereld op USB-C zit. Over kabels gesproken: voor dat geld had er wel een **3,5mm audiokabel** meegeleverd mogen worden. Die kost los nog 40 euro extra. ### Spatial audio Airpods Pro en Max ondersteunen ook **virtuele surround** dankzij **Dolby Atmos**. Ik ben altijd redelijk sceptisch geweest tegenover virtuele surround: nhet bestaat niet dat 2-kanaalsaudio kan klinken als een echte fysieke Atmosopstelling met een stuk of 8 luidsprekers. Nou, breek mijn klomp. De demo’s in de Dolby Summit app zijn **waanzinnig**. Geluid voor, achter, boven en onder. Gecombineerd met het extreem goede geluid van de Airpods geeft dat een surroundbeeld dat **evenwaardig is aan dat uit de bioscoop**. Leuke bijkomende gimmick: als je je hoofd beweegt verandert de richting van het geluid mee. Dit geeft nog meer het gevoel dat je naar een echte speakers aan het luisteren bent. ![](https://broddinblog.on-forge.com/storage/346/1200x630wa.png) Nadeel: Spatial Audio wordt enkel ondersteund voor content op de iPod en iPad. Een film met surround kijken op je AppleTV zit er dus niet in. Hopelijk iets dat ze fixen in tvOS 15. In juni krijgt **Apple Music** naast ondersteuning voor lossless audio ook ondersteuning voor spatial audio. Heel benieuwd hiernaar. ![](https://broddinblog.on-forge.com/storage/347/3-image-2.png) ### Conclusie De Airpods Max zijn **duur**, maar ze **klinken extreem goed** en zitten ook geweldig. Als je in het Apple ecosysteem zit, en op zoek bent naar de allerbeste draadloze hoofdtelefoon en er het geld aan wil geven dan is het volgens mij een **no-brainer**. Wacht misschien gewoon tot je ze goedkoper dan de aanbevolen aankoopprijs van 620 euro kan scoren. var bol\_sitebar\_v2={"id":"bol\_1622105312901", "baseUrl":"partner.bol.com","productId":"9300000019796377","familyId":"","siteId":"1104825","target":true,"rating":true,"price":true,"deliveryDescription":true,"button":true,"linkName":"Apple%20AirPods%20Max%20-%20Draadloze%20Bluetooth%20Koptel...","linkSubId":""}; (\* behalve jazz natuurlijk – mopje) ### Review: my first week with AirPods Max URL: https://broddin.be/review-airpods-max/ Last updated: 2026-07-19T19:05:10.000Z One of the things I started to neglect during the lockdown is listening to music. When I still had to drive to work every day, I listened to a lot of music during my commute and in our noisy office. But now that there’s no need for commuting, and my desk is usually silent, **it just doesn’t happen anymore**. On my bike and during meetings, I use the **AirPods Pro** with great pleasure. But to listen to music for a long time, they are just not good enough. And the sound is excellent for earbuds, but not the same as a decent headphone. ### So I went in search of some decent headphones. I knew I needed to spend some money on a good pair of headphones. The usual suspects, such as the **Sony WH-1000XM4** and the **Bose Quietcomfort**, were possible options. But then, of course, there was that beast by Apple. When Apple announced the [AirPods Max](https://www.apple.com/benl/airpods-max/?ref=broddin.be) back in December, I had a good laugh. More than s**ix hundred euros** for headphones is too much. Even for Apple. ![](https://broddinblog.on-forge.com/storage/343/img-5519-1.jpg) But then I started thinking about how much I love my **AirPods Pro** and how good the user experience is. Thanks to Apple [owning the entire ecosystem](https://www.youtube.com/watch?v=qNAo0UdYF6g&ref=broddin.be), thus providing an experience the competition can only dream about. They are automatically pairing with the device you’re currently using. They support spatial Dolby Atmos audio (more on this later). They **integrate flawlessly** into iOS and macOS. These are all minor details, but they make for **frustration-free** products that work. After checking some reviews and seeing[ how well the AirPods Pro score](https://www.whathifi.com/reviews/apple-airpods-max?ref=broddin.be), I was tempted. Especially with them being on sale at [Amazon](https://www.amazon.nl/Apple-MGYL3ZM-A-Nieuw-AirPods-Max/dp/B08Q2314VB/ref=sxts%5Fsxwds-bia-wc-rsf-lq2a1%5F0?%5F%5Fmk%5Fnl%5FNL=%C3%85M%C3%85%C5%BD%C3%95%C3%91&cv%5Fct%5Fcx=airpods+max&dchild=1&keywords=airpods+max&pd%5Frd%5Fi=B08Q2314VB&pd%5Frd%5Fr=72a22d97-9d7d-4802-ba04-8b81f0ecc447&pd%5Frd%5Fw=y52Ub&pd%5Frd%5Fwg=dLeIs&pf%5Frd%5Fp=41f9af04-c397-4d0e-8463-9fe50a0f444f&pf%5Frd%5Fr=6JAH3DA47EBRABMHGDPH&psc=1&qid=1622198509&sr=1-1-22a6e085-98be-41d5-a416-4c8c5c75905e&ref=broddin.be) for only 520 euros. ### The most important thing: how do they sound? I’m not an audiophile. With the best effort in the world, I can’t hear the difference between [lossy and lossless audio](http://abx.digitalfeed.net/spotify-hq.html?ref=broddin.be). But I have owned many headphones in my life, and I know what sounds good and what sounds crap. The first time I put on my AirPods Max and heard some music, I was **blown away**. This experience was a true revelation, like going to arena shows my whole life and finally enjoying the better PA of an excellent music venue. This past week I listened to a lot of music just out of curiosity about how certain songs and albums sound. And really **everything sounds fantastic**. I have heard instruments that I had never heard before on albums I know by heart. No matter what genre\* you throw at the AirPods Max, it always sounds fantastic. This **outstanding sound quality** is due to the **good speakers** in the AirPods and the **algorithms** Apple uses on the audio signal. Two audio processors with ten audio cores constantly analyze the position of your head and adjust the sound accordingly. That may sound like marketing blabla, but no matter how you put the AiPpods on your head, the sound will always sound the same. ![](https://broddinblog.on-forge.com/storage/344/3-image-3.png) I can write a lot about the beautiful bass and the sublime stereo image here. But this real audiophile can explain it better: AirPods Max Review: An Audiophile's Perspective ### The noise cancelation In addition to sublime sound, the AirPods Max also keeps **unwanted sound** out very well. With its six outward-facing microphones and properly sealed earcups, they even do this a lot better than the AirPods Pro. Even more impressive: the transparency mode. This setting where the outside sound is amplified is on every headphone nowadays. But because of the many microphones, you have a clear **sense of direction** with the AirPods Max. It may sound like a detail, but it makes it all much more natural than the Airpods Pro. ### The design & comfort Tastes differ, of course, but I think the design is **solid**. It has something of a ’70s headphones vibe, but without looking hopelessly dated. I have the blue one, and it looks **even better in real life** than in pictures. All parts of the headphones are made of stainless steel. That makes them also **quite heavy**: almost 400 grams. Partly thanks to the fabric band, you hardly feel this. You know you’re wearing chunky headphones, but it’s no problem to leave them on for **hours at a time**. They also stay firmly on your head, but I wouldn’t go sporting with them. And the ear pads … they’re heavenly. They are made of **soft fabric**, with memory foam underneath, and you can easily tolerate them for hours. The inside of the cup is also large enough to hold even the most oversized ears. On the right cup, there are two buttons. One is a big **Digital Crown** like on the Apple Watch, which allows you to control volume, pause and skip tracks. The other is a button to switch between noise cancelation and transparency. They both work smoothly. ### Is there anything bad to say about the AirPods Max? Of course, there is. First of all, that idiot **protective cover** from the Jonny Ive era. I can imagine that some find this fashionable. Still, a protective cover that does not protect the most vulnerable of your headphones (the fabric band) is **useless**. Worst of all, you’ll need this case to put AirPods Max into sleep mode because there’s no power button on the headphones. The battery lasts up to 20 hours, so if you think about charging it in time, you can lose that protective case. ![Bra for headphones](https://broddinblog.on-forge.com/storage/345/img-5524.jpg) Bra for headphones Then there’s also the charging. Apple still sticks with that **lightning cable**. Maybe they should wash their windows in Cupertino and see that the rest of the world uses USB-C. Speaking of cables: for 620 euros, a 3.5mm audio cable should be included. It costs another 40 euros separately. ### Spatial Audio AirPods Pro and Max also support **virtual surround**, thanks to **Dolby Atmos**. I’ve always been reasonably skeptical about virtual surround. There is no way that 2-channel audio can sound like an actual physical Atmos setup with at least eight speakers. Well, I’ll be damned. The demos in the Dolby Summit app are insane. You hear sound in front, behind, atop, and below you. Combined with the excellent sound of the AirPods, this gives a surround image that is equivalent to that of the movie theater. There’s a nice additional gimmick: when you move your head, the direction of the sound changes. This gives you the feeling the sound is coming out of your device. ![](https://broddinblog.on-forge.com/storage/346/1200x630wa.png) **Disadvantage:** Spatial Audio is only supported for iPod and iPad content. So watching a movie with surround on your AppleTV isn’t going to happen. Hopefully, something they fix in tvOS 15. In June, Apple Music will receive support for lossless audio as well as support for spatial audio. I am very curious about this. ![](https://broddinblog.on-forge.com/storage/347/3-image-2.png) ### Conclusion The AirPods Max are **very expensive**, but they **sound perfect** and are also **great to wear**. Suppose you’re invested in the Apple ecosystem, looking for the very best wireless headphones, and want to spend the money. In that case, I think it’s a no-brainer. Maybe just wait until you can score them cheaper than the recommended purchase price of 620 euros. (\* except for jazz of course) ### OctoPrint: extra muscles for your 3D printer URL: https://broddin.be/octoprint-muscles-for-your-3d-printer/ Last updated: 2026-07-19T19:05:10.000Z It’s been almost two months since I installed my **Prusa i3 MK3S+**, and I’m still **happy as can be**. One thing that might scare off people who will buy a 3D printer (especially at Prusa) is the rather spartan user interface. The Prusa i3 runs on **an 8-bit microcontroller**, which is highly specialized but does not have enough power to create a smooth user interface on a touchscreen in addition to printing. Therefore, you have to control your printer by running around with an SD card and looking at an **old-school** monochrome LED screen. ![](https://broddinblog.on-forge.com/storage/362/6-image.png) ## G-code Before I present you with a solution, I’ll have to give you some theoretical background on 3D printing. My apologies. In itself, a 3D printer is a **relatively stupid** piece of hardware. The files you print contain a lot of codes, the **G-code**, with exact instructions on what the printer should run: ```text G0 X12 ; move to 12mm on the X axisG0 F1500 ; Set the feedrate to 1500mm/minuteG1 X90.6 Y13.8 E22.4 ; Move to 90.6mm on the X axis and 13.8mm on the Y axis while extruding 22.4mm of material ``` For a complex print, such a file quickly consists of **a million** commands. The printer itself never knows what it is printing, nor in what material. Therefore, you cannot simply send a 3D object to the printer. You must first convert it to G-code, tailored for your exact printer model and the material you use. This process is *slicing*. **Slicing** divides your 3D model into layers and draws those layers as efficiently as possible for your printer. To do that, you use a particular piece of software: the slicer. ![Slicing with PrusaSlicer](https://broddinblog.on-forge.com/storage/363/screenshot-2021-03-29-at-101237.jpg) Slicing with PrusaSlicer You save the G-code this process produces to an **SD card** and use the printer’s spartan interface to print it. It’s **cumbersome**. Why is there no wifi built-in? ## Enter OctoPrint Luckily Gina Häußge thought the same thing eight years ago when she started developing [OctoPrint](https://octoprint.org/?ref=broddin.be). This piece of software makes you control your 3D printer over your network and makes it possible to send G-code directly from your slicer or via the **web interface**. You install OctoPrint on (for example) a Raspberry Pi, which you then connect to your printer via **USB**. OctoPrint will talk to your printer via that USB cable and will make it pass any G-code you send to it to your printer. But it can do **much more than that**. OctoPrint turns your stupid 3D printer into a smart device: you can control your printhead directly, manage the fans, set temperatures, view your webcam, and so much more. ![OctoPrint in action](https://broddinblog.on-forge.com/storage/364/screenshot-2021-03-29-at-165631.png) OctoPrint in action Thanks to an ingenious plugin system, it is also expandable with extremely many other cool features. There are currently almost [300 plugins](https://plugins.octoprint.org/by%5Fname/?ref=broddin.be) available for download for OctoPrint. These are my favorites: ### Octolapse for creating time-lapses You can easily **connect a webcam** to OctoPrint to keep an eye on your print. OctoPrint can also take a photo of each layer printed, making a timelapse of how your printed object progresses. By default, this is pretty basic, and it takes a picture at the beginning of each layer. Because your bed is not in the same position on every layer start, the standard OctoPrint time-lapses are **not stable**. With [Octolapse](https://plugins.octoprint.org/plugins/octolapse/?ref=broddin.be), they are. This plugin analyzes the G-code and will determine the best point to take a picture per layer. This way, you get much more stable time-lapses. Like this one: ![](https://broddinblog.on-forge.com/storage/359/tentacle.png) ### Multi-cam By default, you can only add one webcam in OctoPrint. With [multi-cam](https://plugins.octoprint.org/plugins/multicam/?ref=broddin.be), you can add as many as you like. My Raspberry Pi 4 with OctoPrint installed has one HQ Camera, and I also have another Pi 4 with [MotionEyeOS](https://github.com/ccrisan/motioneyeos/wiki?ref=broddin.be) and two additional cameras. Thanks to multi-cam, I can easily switch between those three cameras. ![](https://broddinblog.on-forge.com/storage/365/screenshot-2021-03-29-at-110325.png) ![](https://broddinblog.on-forge.com/storage/359/tentacle.png) ### Telegram Notifications Some prints take hours, and then the Telegram plugin is handy. It offers a personal **Telegram bot** that sends the status of your print job every few millimeters via a text message, including a **photo or GIF**. You can also start and stop prints with it. Or check out the status when you’re waiting for your kid at the school gate. Setting up the bot is a little work, but it’s something you’ll only have to do once. ![](https://broddinblog.on-forge.com/storage/366/screenshot-2021-03-29-at-110852.png) ![](https://broddinblog.on-forge.com/storage/359/tentacle.png) ### The Spaghetti Detective When a print detaches from your build plate and your dumb 3D printer keeps printing filament in the air, you’ll soon end up with a whole bunch of **plastic spaghetti**. [The Spaghetti Detective ](https://www.thespaghettidetective.com/?ref=broddin.be)is a service that monitors your webcam and detects a lot of problems through AI, and alerts you if your print fails. They have a $4/month subscription, but they also offer their entire backend system as a [Docker image](https://github.com/TheSpaghettiDetective/TheSpaghettiDetective?ref=broddin.be). ![](https://broddinblog.on-forge.com/storage/357/1-apple-touch-icon.png) ### Arc Welder What Arc Welder does is **black magic**. Arc Welder looks at your G-code and, where possible, will replace several consecutive straight line commands with curvature commands. This replacement results in much less G-code (and therefore less communication between the printer and OctoPrint) and cleaner prints. Thanks to Arc Welder, the extruder (printhead) doesn’t jerk as much and makes smooth curves. It’s a **relatively new plugin**, but the guy behind Octolapse created it, and his code also begins to find its way to the different slicers. In the long run, hopefully, you will no longer need this plugin. ![Arc Welder before and after](https://broddinblog.on-forge.com/storage/367/7-image-1.png) Arc Welder before and after ![](https://broddinblog.on-forge.com/storage/359/tentacle.png) ### Some more fine plugins I use - [Bed Level Visualizer](https://plugins.octoprint.org/plugins/bedlevelvisualizer/?ref=broddin.be) & [Prusa Leveling Guide](https://github.com/scottrini/OctoPrint-PrusaLevelingguide?ref=broddin.be): an entirely straight print bed is the wet dream of many printer owners. These two plugins (in combination with the [nylock mod](https://www.reddit.com/r/prusa3d/comments/bp440f/full%5Fguide%5Fto%5Fdoing%5Fnylock%5Fmod%5Fif%5Fyou%5Fhavent%5Fyou/?ref=broddin.be)) make that possible. - [PrusaSlicer thumbnails](https://github.com/jneilliii/OctoPrint-PrusaSlicerThumbnails?ref=broddin.be): allows you to send a thumbnail in your G-code, which you can also see in the interface of OctoPrint. - [Resource monito](https://github.com/Renaud11232/OctoPrint-Resource-Monitor?ref=broddin.be)r: an extra tab in the interface that shows you how hard your Raspberry Pi is sweating. A stuttering Raspberry Pi can cause a failed print, so it’s best to keep an eye on the resources. - [UI Customizer](https://github.com/LazeMSS/OctoPrint-UICustomizer?ref=broddin.be): By default, OctoPrint UI is functional but not always pretty, especially on a mobile device. UI Customizer is trying to fix this. - [DisplayLayerProgress](https://github.com/OllisGit/OctoPrint-DisplayLayerProgress?ref=broddin.be): This shows the progress of a print in the title of your browser tab. ## OctoDash Since it seemed convenient to me to operate OctoPrint on the printer itself, I ordered a [7″ touchscreen on AliExpress](https://nl.aliexpress.com/item/33028036813.html?spm=a2g0s.9042311.0.0.688e4c4d1EjFdY&ref=broddin.be) to connect to the Raspberry Pi. Once it arrived, I quickly learned that the interface of OctoPrint is **not suitable to use with a touchscreen**. There are plugins like[ TouchUI](https://plugins.octoprint.org/plugins/touchui/?ref=broddin.be) trying to fix this, but I wasn’t happy with the result. Fortunately, there is [OctoDash](https://github.com/UnchartedBull/OctoDash?ref=broddin.be), a native application with a sleek appearance, which connects to your OctoPrint server via the API. The functionality is relatively limited, but it’s very good at the things it does. ![](https://broddinblog.on-forge.com/storage/368/img-4487.jpg) ## App OctoPrint doesn’t have a native app for iOS, but some developers have filled that gap. **OctoClient** is one of those, and I’m a happy user. ## Cons? You often hear that it would be more **reliable and faster** to print from SD cards. They will never feed the G-codes too slow, which used to be a problem with OctoPrint on older Raspberry Pis in the past. Also, your Prusa can resume from a power outage when printing from an SD-card. I’ve printed a lot in the past two months, and never has OctoPrint lagged. I think it’s fair to say that the Raspberry Pi 4 is indeed more than powerful enough to drive the G-code to the printer. A power outage sucks, but they don’t often happen (at least not in Belgium). So for me, the advantages of using OctoPrint outweigh those two things. ## Conclusion I can highly recommend anyone with a Prusa or any other 3D printer to use OctoPrint. It’s **free**, **easy** to install and configure, and it makes 3D printing much more **fun**. ### OctoPrint: spierballen voor je 3D-printer URL: https://broddin.be/octoprint-wifi-3d-printen/ Last updated: 2026-07-19T19:05:11.000Z Bijna vier weken staat mijn 3D-printer, de **Prusa i3 MK3S+** hier nu te ronken, en ik ben nog steeds **zot content**. Eén ding dat mensen die een 3D-printer gaan kopen misschien kan afschrikken (en zeker bij Prusa) is de nogal **spartaanse gebruikersinterface**. De Prusa i3 draait op een **8-bit microcontroller**, die heel gespecialiseerd is, maar niet genoeg spierballen heeft om naast het printen ook nog eens een vlotte gebruikersinterface op een touchscreen te toveren. Daarom moet je het doen met een old-school LCD-scherm en een draaiknop. ![](https://broddinblog.on-forge.com/storage/362/6-image.png) ## G-code Vooraleer ik met een oplossing hiervoor kom, eerst nog een saai theoretisch stuk. Mijn excuses. Op zich is een 3D-printer een **redelijk dom** stuk hardware. De bestanden die je afdrukt bevatten een hoop codes, de **G-code**, met daarin exacte instructies van wat de printer moet uitvoeren: ```text G0 X12 ; move to 12mm on the X axisG0 F1500 ; Set the feedrate to 1500mm/minuteG1 X90.6 Y13.8 E22.4 ; Move to 90.6mm on the X axis and 13.8mm on the Y axis while extruding 22.4mm of material ``` Voor een complexe print bestaat zo’n bestand al snel uit een **miljoen** commando’s. De printer zelf weet nooit wat hij aan het afdrukken is, en ook niet in welk materiaal. Daarom kan je niet gewoon een 3D-object naar de printer sturen, maar moet dat eerst *gesliced* worden naar G-code, specifiek voor jouw model printer en het materiaal dat je gebruikt. **Slicen** is je 3D-model in lagen verdelen, en die lagen zo efficiënt mogelijk uittekenen voor je printer. Om dat te doen gebruik je een speciaal stuk software: de slicer. ![Slicen met PrusaSlicer](https://broddinblog.on-forge.com/storage/363/screenshot-2021-03-29-at-101237.jpg) Slicen met PrusaSlicer De G-code die hieruit voort komt moet je dan op een **SD-kaart** zetten, in de printer steken en via de spartaanse interface selecteren. Omslachtig toch? Dat zou toch veel sneller via WiFi moeten kunnen. ## Enter OctoPrint Al een geluk dacht Gina Häußge exact hetzelfde 8 jaar geleden, toen ze begon met de ontwikkeling van [OctoPrint](https://octoprint.org/?ref=broddin.be). Dit stuk software zorgt ervoor dat je je 3D-printer kan aansturen via je netwerk, en dat je G-code kan sturen rechtstreeks vanuit je slicer, of via een **webinterface**. Je installeert OctoPrint op bijvoorbeeld een Raspberry Pi, die je dan via **USB** aansluit op je printer. Over die USB-kabel gaat OctoPrint dan met je printer praten, zodat je over je netwerk bestanden kan gaan afdrukken. Maar het is ook **veel meer dan dat**. OctoPrint maakt van je domme 3D-printer een slim device. Je kan rechtstreeks je printkop bedienen, de ventilators regelen, temperaturen instellen en nog zo veel meer. Dankzij een plug-in systeem is het ook uitbreidbaar met extreem veel andere coole features. ![OctoPrint in actie](https://broddinblog.on-forge.com/storage/364/screenshot-2021-03-29-at-165631.png) OctoPrint in actie Er zijn momenteel bijna [300 plugins](https://plugins.octoprint.org/by%5Fname/?ref=broddin.be) te downloaden voor OctoPrint. Dit zijn mijn favorieten: ### Octolapse voor timelapses Je kan op OctoPrint eenvoudig **een webcam aansluiten** om zo je print in de gaten te houden. OctoPrint kan ook van elke laag die geprint wordt een foto maken, en zo een timelapse maken van hoe je print tot stand komt. Standaard is dat redelijk basic, en neemt hij een foto aan het begin van elke laag. Omdat je bed niet bij elke foto op dezelfde positie staat zijn de standaard timelapses van OctoPrint **niet stabiel**. Met [Octolapse](https://plugins.octoprint.org/plugins/octolapse/?ref=broddin.be) zijn ze dat wel. Deze plugin analyseert de G-code en gaat per laag bepalen wat het beste punt is om een foto te nemen. Zo krijg je een veel stabielere timelapses. Zoals deze: 3D printing an elephant that dries your sponge #shorts ### Multi-cam Standaard wordt er maar 1 webcam weergegeven in OctoPrint, met [multi-cam](https://plugins.octoprint.org/plugins/multicam/?ref=broddin.be) kan je er zoveel instellen als je wil. Aan mijn Raspberry Pi 4 hangt één [HQ Camera](https://www.raspberrypi.org/products/raspberry-pi-high-quality-camera/?ref=broddin.be), en ik heb ook nog een Raspberry Pi 3 met daarop [MotionEyeOS](https://github.com/ccrisan/motioneyeos/wiki?ref=broddin.be) en twee extra camera’s. Dankzij multi-cam kan ik makkelijk tussen die drie camera’s wisselen. ![](https://broddinblog.on-forge.com/storage/365/screenshot-2021-03-29-at-110325.png) ### Telegram Notifications Sommige prints duren uren, en dan is [de Telegram plugin](https://plugins.octoprint.org/plugins/telegram/?ref=broddin.be) wel erg handig. Die biedt een persoonlijke **Telegram bot** die om de zoveel millimeter de status van je print doorstuurt via een bericht, inclusief **foto of gif**. Je kan er ook prints mee starten, en stoppen. Of gewoon even de status opvragen, als je aan de schoolpoort staat te wachten. Het opzetten van de bot is even werk, maar moet je al een geluk maar 1 keer doen. ![](https://broddinblog.on-forge.com/storage/366/screenshot-2021-03-29-at-110852.png) ### The Sp aghetti Detective Als een print loskomt en je domme 3D-printer gewoon in de lucht blijft printen, dan zit je al snel met een hele hoop **plastieke spaghetti**. [The Spaghetti Detective](https://www.thespaghettidetective.com/?ref=broddin.be) is een dienst, die je webcam in de gaten houdt en door middel van **AI** een hele hoop problemen detecteert en je waarschuwt als je print faalt. In theorie is dit fantastisch, en de **$4/maand** die ze vragen voor hun Premium-abonnement is echt cheap. Maar … omdat hun dienst op hun server draait moet je webcamstream continu naar hen uploaden, en dat is extreem belastend voor je Internetverbinding. Niet ideaal in tijden van telethuiswerk, maar ik ga binnenkort proberen de[ open-source variant](https://www.thespaghettidetective.com/docs/open-source/?ref=broddin.be) aan de praat te krijgen op onze NAS. ### Arc Welder Wat [Arc Welder ](https://plugins.octoprint.org/plugins/arc%5Fwelder/?ref=broddin.be)doet is eigenlijk **zwarte magie**. Arc Welder bekijkt G-code en gaat waar mogelijk verschillende opéénvolgende commando’s voor rechte lijnen vervangen door commando’s voor krommingen. Dit zorgt voor veel minder G-code (en dus minder communicatie tussen de printer en OctoPrint) en ook properdere prints. Dankzij Arc Welder beweegt de extruder (printkop) veel minder in kleine schokjes, en meer in vloeiende bewegingen. Het is een **relatief nieuwe plugin**, maar hij is gemaakt door de man achter Octolapse, en zijn code begint zijn weg ook te vinden naar de verschillende slicers. Op termijn gaat deze plugin dus niet meer nodig zijn. ![G-code voor en na. Elk zwart bolletje is een plek waar normaal een lijn zou beginnen (en dus mogelijk een klein artefact te zien is)](https://broddinblog.on-forge.com/storage/367/7-image-1.png) G-code voor en na. Elk zwart bolletje is een plek waar normaal een lijn zou beginnen (en dus mogelijk een klein artefact te zien is) ### Nog enkele fijne plugins die ik gebruik - [Bed Level Visualizer](https://plugins.octoprint.org/plugins/bedlevelvisualizer/?ref=broddin.be) & [Prusa Leveling Guide](https://github.com/scottrini/OctoPrint-PrusaLevelingguide?ref=broddin.be): een volledig recht printbed is de natte droom van menig printerbezitter. Deze twee plugins (in combinatie met de[ nylock-mod](https://www.reddit.com/r/prusa3d/comments/bp440f/full%5Fguide%5Fto%5Fdoing%5Fnylock%5Fmod%5Fif%5Fyou%5Fhavent%5Fyou/?ref=broddin.be)) maken dat mogelijk. - [PrusaSlicer thumbnails](https://github.com/jneilliii/OctoPrint-PrusaSlicerThumbnails?ref=broddin.be): maakt het mogelijk om een thumbnail mee te sturen in uw G-code, die dan ook in de interface van OctoPrint te zien is. - [Resource monitor:](https://github.com/Renaud11232/OctoPrint-Resource-Monitor?ref=broddin.be) een extra tab met daarin hoe hard uw Raspberry Pi aan het zweten is. Hopelijk nooit, want een stutterende Raspberry Pi kan zorgen voor een gefaalde print. - [UI Customizer](https://github.com/LazeMSS/OctoPrint-UICustomizer?ref=broddin.be): standaard is de UI van OctoPrint functioneel, maar niet altijd even praktisch, zeker niet op een mobiel toestel. UI Customizer probeert dit op te lossen. - [DisplayLayerProgress:](https://github.com/OllisGit/OctoPrint-DisplayLayerProgress?ref=broddin.be) toont de voortgang van een print in de titel van je browsertab. ## OctoDash Omdat het me handig leek om OctoPrint ook aan de printer zelf te bedienen bestelde ik op AliExpress [een 7” touchscreen](https://nl.aliexpress.com/item/33028036813.html?spm=a2g0s.9042311.0.0.688e4c4d1EjFdY&ref=broddin.be) om aan de Raspberry Pi te hangen. Eens aangekomen leerde ik al snel dat de interface van OctoPrint **niet geschikt is om met een touchscreen** te gebruiken. Er zijn plugins zoals [TouchUI](https://plugins.octoprint.org/plugins/touchui/?ref=broddin.be), die dit proberen op te lossen, maar ik was niet content van ‘t resultaat. Het ziet er oubollig uit, en de bediening is verre van ideaal. Gelukkig is er [OctoDash](https://github.com/UnchartedBull/OctoDash?ref=broddin.be), dit is **een native applicatie** met een **strak uiterlijk**, dat via de API verbinding maakt met je OctoPrint-server. De functionaliteit is redelijk beperkt, maar het doet alles wel perfect. Mijn scherm was wel veel te groot en nam te veel plek in op de tafel. ![](https://broddinblog.on-forge.com/storage/368/img-4487.jpg) Een betere oplossing: een scherm van 4” (de perfecte [HyperPixel 4.0 van Pimoroni](https://shop.pimoroni.com/products/hyperpixel-4?ref=broddin.be) en [een nieuw frontpaneel ](https://www.prusaprinters.org/prints/47153?ref=broddin.be)voor de printer. (Pro tip: bestel geen dingen meer in Engeland. Ik heb meer invoerrechten & douane betaald op dit scherm dan het koste.) ![Voor &amp; na](https://broddinblog.on-forge.com/storage/369/img-4472-2.jpg) Voor & na ## App OctoPrint heeft **geen native app voor iOS**, maar al een geluk zijn er enkele ontwikkelaars in dat gat gesprongen. [OctoClient](https://octoclient.com/?ref=broddin.be) is er zo één, en die doet z’n werk perfect. Ideaal om snel eens te kijken hoe uw print ervoor staat. ## Nadelen? Je hoort regelmatig wel dat het **betrouwbaarder en sneller** zou zijn om van op **SD-kaarten** te drukken. Enerzijds omdat die gegarandeerd de G-code op het gewenste tempo van de printer aangeven, en anderzijds omdat je dan bescherming hebt tegen stroomuitval. Dat eerste lijkt me geen probleem met een Raspberry Pi 4\. Er moet echt al heel veel aan de gang zijn alvorens zo’n beest niet snel genoeg G-code kan aanleveren. En ja, stroomuitval, het kan gebeuren, maar om daar nu alle voordelen die OctoPrint biedt te laten schieten? ## Conclusie Ik kan iedereen met een Prusa, of éénder welke andere 3D-printer OctoPrint **ten zéérste aanraden**. Het is gratis, [poepsimpel](https://octoprint.org/download/?ref=broddin.be) om te installeren en configureren, en het maakt 3D-printen echt veel leuker. Doe het wel stap voor stap. Zie eerst dat je goed kan printen van op de SD-kaart en test dan plugins één voor één uit. ### Building a 3D printer: the Prusa i3 MK3S+ URL: https://broddin.be/3d-printer-prusa-i3-mks3/ Last updated: 2026-07-19T19:05:11.000Z It’s been on my wishlist for a long time: a 3D printer. Every time I put an ugly microcontroller somewhere in the house, I thought, “How crazy would it be if I could print a nice enclosure right now?”. After doing some spring cleaning, we suddenly had some extra space in our house. This space was big enough to put a table with a 3D printer. So, I started dreaming about having one. And once I’m dreaming about something, it’s too late. ![Doing some spring cleaning, making some space.](https://broddinblog.on-forge.com/storage/376/img-4276.jpg) Doing some spring cleaning, making some space. ## Choosing a printer The first choice to make if you want to buy a 3D printer is whether you wish to have one that applies **layers of plastic on top of each other** (FDM) or one where a c**hemical liquid is exposed** with light, and thus a model is created (resin). Because I **don’t want to mess with chemical fluids**, I made my choice quickly. I then did my research, and it soon became apparent that there are roughly three price segments within the FDM printers: - **The ultracheap:** for sometimes less than $100, you can buy a 3D printer on Aliexpress that is often quite solid. The most significant disadvantage is the **bad support**, and that to get the print quality good, you usually have to do **numerous upgrades** (which can make the final cost even more expensive) - **The average:** decent printers that are all between 500 and 1000 euros in terms of price, and where you can count on quality and proper support. - **The very expensive:** like the Ultimaker S3 for more than 3000 euros. These are pretty plug’n’play, but more for professionals. I can handle quite a bit of **tinkering, tweaking, and frustration**, but in the end, I want something that keeps working once it works. And also, I want to get support in better English than on Aliexpress. On [All3DP](https://all3dp.com/?ref=broddin.be), they publish a monthly Buyer’s Guide on 3D printers. For several months now, they recommend the **Prusa i3** as the best buy. I looked around for alternatives, but I was sure that it would be a Prusa after watching the **documentary** below. The Road to 100,000 Original Prusa 3D printers ## Prusa? Prusa is a Czech company founded by **Joseph Prusa**, which designs and manufactures **open-source printers**. Joseph created the first design of Prusa in the context of RepRap, a project by Professor [Adrien Bowyer](https://www.youtube.com/watch?v=XxJgZnhq7I4&ref=broddin.be) that aims to build machines that can reproduce themselves. That project laid the base for the 3D printer revolution we’ve seen in the last ten years. In their early days, Prusa made several printers a week with two employees. Today, they employ **600 employees** and send over **2000 printers every week**. It is also lovely to see that they are using their success to support the **(local) community**. For example, Prusa runs a gigantic **maker space** on the ground floor of their 9-story factory. They manage to be more than just a printer maker. They are a **love brand**. If you buy a Prusa, you have two options: **a kit you have to build yourself** or a **ready-made one**. I chose the kit. That’s almost 300 euros cheaper, and it was recommended to me everywhere. Building a Prusa is very **fun**, and you suddenly learn how your printer works on the inside. One disadvantage to buying a Prusa: because they are so popular, the waiting time is weeks. When I ordered, the waiting period was four weeks, and that’s long. ## Putting it together On a beautiful Monday, DPD finally rang the door with a large box containing the kit. ![](https://broddinblog.on-forge.com/storage/377/img-4455.jpg) Looking around on the Internet, you’ll find a wide range of build times for the i3\. Some manage to put it together in **4 hours**, and others will spend **20 hours** building it. Some people find it an absolute joy, and others find it rather frustrating. I did it myself in about **12 hours**. The complete [building instructions ](https://help.prusa3d.com/en/guide/1-introduction%5F176529?ref=broddin.be)are online, and customers can leave comments per step. Reading these comments before you start a step can **save you an incredible amount of time**. For example, I wasted half an hour by pushing two bearings against each other, which should have remained separate, which the comments clearly warned against doing. The building itself is super **fun**. Anyone who likes to build LEGO or likes to put together IKEA cabinets will recognize the emotions you’ll be feeling. Sometimes you have no idea what you’re doing, or you can’t see screws anymore, but there is a certain **satisfaction** by the end of each chapter. And then you can also eat a few candy bears because Prusa puts a bag of Haribo inside each kit. Candy bears are tasty. ![](https://broddinblog.on-forge.com/storage/378/img-4459-3.jpg) The two most difficult parts are assembling the **printhead** (the extruder) and the cabling and **electronics**. With those two steps, you really have to keep your head. I was pretty surprised everything worked when I first powere d on the Prusa for the very first time. It runs a **self-check**, and everything was connected correctly. ## Calibration and Tuning Putting the printer together is **only the beginning**. Prusa printers have a lot of technology on board to make printing as simple as possible: they **calibrate their axes** themselves and correct for **errors in the bed leveling**. They can also detect crashes, and if the power goes out, they can continue printing without any problem. But you will still have to do some things yourself: like **calibrating the first layer**. The printer does not know precisely how close its print opening (the nozzle) is to the print bed. So you have to set that right in steps of thousandths of a millimeter. This calibration is not complex, but you do have to put some time into it. You have to do it right. Otherwise, your print will come loose, and you’ll end up with **a huge mess**. Also, you need to get your **temperature settings** right. Each material is different and requires different settings for both the material and the bed. [PrusaSlicer](https://www.prusa3d.com/prusaslicer/?ref=broddin.be), the program that converts 3D files into commands for the printer, already contains many manufacturers’ profiles. Still, here too, you’ll need to tune some settings occasionally or create a profile yourself. I’m not saying 3D printing is challenging, but even with all the technological tools that a Prusa has on board, it is a **continuous learning process**. It’s certainly not an HP Deskjet that you plug into an outlet, and you don’t have to worry about it anymore. ## Daily use The Prusa is – once properly calibrated – a dream to work with. The printer has been running almost non-stop for a week, and I don’t really have to worry about it. The quality of the prints is excellent, and it amazes who sees them. The time when a 3D print was a crappy object with clearly visible layers is clearly behind us. ![](https://broddinblog.on-forge.com/storage/379/img-4576.jpg) In the meantime, I have bought a **shitload of rolls of filament**. Both the [Prusament](https://prusament.com/?ref=broddin.be) that is made by Prusa itself and which has rigorous quality requirements, as well as cheaper brands such as [Real Filament](https://real-filament.com/?ref=broddin.be) and AmazonBasics and print perfectly. ## A few questions *How big can a Prusa i3 print?* This question gets asked by everyone. The answer is 25x21x21 cm (width\*length\*height). That’s not super big, but if you want to fill that up, you’re printing for [48 hours or more](https://www.prusaprinters.org/prints/23859-designer-lithophane-moon-lamp?ref=broddin.be). *Does 3D printing cost a lot?* Besides the cost of the printer: no. A roll of filament (the plastic you print with) costs somewhere between 20 and 30 euros for a kilo. Unique finished such as wood and satin also cost this much, but per 500 grams. *All that plastic can’t be good for the environment, can it?* PLA, the most commonly used material for filament, is made from corn. In terms of production, that is good. Because of the low melting temperature, we can’t recycle it together with other plastics. So there is still work to be done on recyclability. But by making your own everyday objects, you save a lot of packaging materials and single-use plastics, which in turn benefits the environment. ## A few learnings - Order a bottle of **95% cleaning alcohol (IPA)**. Finger marks on the circuit board release a print very quickly. I re-calibrated mine twice because I thought my first layer started too high. - Also, order **a torque wrench and Allen bits**. Having one is so much more convenient than those mini Allen keys you get. - Use the **7×7 bedlevelling**. This setting adds at most 1 minute to your prints but makes for a much better first layer. - The belt of my Y-axis was initially much too loose. Print the [Belt Tension Tester](https://www.prusaprinters.org/prints/46639-tension-meter-for-the-gt2-belts-of-i3-mk3s-or-prus?ref=broddin.be) to set the perfect tension. - Order a roll of [Prusament PETG](https://shop.prusa3d.com/en/42-prusament?ref=broddin.be) with your printer because you need it for the Belt Tension Tester. And add the [Textured Plate](https://shop.prusa3d.com/en/accessories-mk3s-mk25s-mini/214-powder-coated-spring-steel-sheet.html?ref=broddin.be) because PETG can stick very severely to the supplied Smooth Plate. - Take the time to **learn about 3D printing** in advance. The series [“3D Printing Basics” ](https://www.youtube.com/playlist?list=PLDJMid0lOOYnkcFhz6rfQ6Uj8x7meNJJx&ref=broddin.be)by [Thomas Sanladerer](https://www.youtube.com/user/ThomasSanladerer?ref=broddin.be) is highly recommended. - If you want to learn how to model in a CAD environment, the Fusion 360 tutorials from [Product Design Online](https://www.youtube.com/c/ProductDesignOnline?ref=broddin.be) are excellent. - **Be patient** in building and first steps. Everything will be fine anyway, and there’s very little you can do wrong. It won’t be 100% perfect from the first time, but you can tweak everything afterward. - Buy a Raspberry Pi and put OctoPrint on it. This way, you can keep an eye on your printer over your network. Soon I’ll write something about all the crazy things you can do with OctoPrint. So, these are my experiences about putting together a Prusa i3 MK3S+. Questions or remarks? Please leave them below! ### Bouw eens een 3D-printer: de Prusa i3 MK3s+ URL: https://broddin.be/3d-printer-prusa-i3-mk3s-bouwen/ Last updated: 2026-07-19T19:05:11.000Z Het stond al heel lang op mijn verlanglijstje. Een 3D-printer. Elke keer ik ergens een lelijke microcontroller plaats in huis, of moest knutselen met wat ik liggen had dacht ik: hoe zot moet het zijn als ik nu iets mooi kon afdrukken? Door wat op te ruimen in onze “rommelkamer” kwam er ineens plek vrij in huis. Plek waar ik eigenlijk wel een tafel met een 3D-printer op kon dromen. En eens ik aan het dromen ben over iets is het te laat. ![Rommelkot voor- en na](https://broddinblog.on-forge.com/storage/376/img-4276.jpg) Rommelkot voor- en na ## Een printer kiezen De eerste keuze die je moet maken als je een 3D-printer wil kopen is of je één wil die **laag boven laag** plastic aanbrengt (FDM) of één waar **chemische vloeistof** belicht wordt en zo een model getrokken wordt (resin). Omdat ik echt **geen zin heb om te klooien** met chemische vloeistoffen was die keuze snel gemaakt. Ik heb m’n research vervolgens gedaan en al snel werd duidelijk dat er grofweg **3 prijssegmenten** binnen de FDM-printers zijn: - **De ultracheapo’s:** voor soms minder dan $100 kan je op AliExpress een 3D-printer kopen die vaak nog degelijk is ook. Grootste nadeel is de **support**, en dat je om de printer echt goed te krijgen vaak nog **talrijke upgrades** moet doen (waardoor de uiteindelijke kostprijs nog flik kan oplopen) - **De middenmoot:** degelijke printers die zich qua prijs allemaal tussen de 500 en 1000 euro bevinden, en waar je kan rekenen op kwaliteit en deftige support. - **De echt hele dure:** zoals de Ultimaker S3 van meer dan 3000 euro. Die zijn redelijk plug’n’play, maar meer voor professionals. Ik kan wel redelijk wat geprul, getweak en frustratie aan, maar uiteindelijk wil ik wel iets dat eens het werkt blijft werken. En graag ook met **support in beter Engels** dan op AliExpress. Op [All3DP](https://all3dp.com/1/best-3d-printer-reviews-top-3d-printers-home-3-d-printer-3d/?ref=broddin.be), een site die al even in mijn bookmarks zit, wordt elke maand consequent de **Prusa i3** aangeraden als beste koop. Ik heb nog wat rondgekeken naar alternatieven, maar na het zien van onderstaande **documentaire** wist ik helemaal zeker dat het een Prusa zou worden. The Road to 100,000 Original Prusa 3D printers ## Prusa? Prusa is Tsjechisch bedrijf, opgericht door **Joseph Prusa**, dat **open-source printers** ontwerpt en maakt. Het eerste ontwerp van Prusa werden gemaakt in het kader van **RepRap**, een project van professor [Adrien Bowyer](https://www.youtube.com/watch?v=XxJgZnhq7I4&ref=broddin.be) dat tot doel heeft machines te bouwen die zichzelf kunnen reproduceren. Dat project legde de bass voor de **3D-printer revolutie** die we de afgelopen 10 jaar gezien hebben. In hun begindagen maakte Prusa enkele printers per week met twee werknemers. Tegenwoordig zijn ze met **600 werknemers** en versturen ze wekelijks meer dan **2000 printers**. Het is ook mooi om te zien dat ze hun succes gebruiken om de **(lokale) community** daar te steunen, onder meer door de gigantische **makerspace** die ze zelf runnen op het gelijkvloers van hun fabriek met 9 verdiepingen. Ze profileren zich daardoor ook heel hard als een **love brand**, dat veel meer is en doet dan gewoon printers fabriceren. Als je een Prusa koopt heb je twee mogelijkheden: een **zelfbouwpakket** of **kant-en-klaar**. Ik heb zelf voor het bouwpakket gekozen. Dat is 300 euro goedkoper en het werd me ook overal aangeraden. Het bouwen van een Prusa is namelijk heel leuk, en je leert er ineens door hoe je printer werkt. Eén nadeel aan een Prusa: doordat ze zo populair zijn is de wachttijd weken. Toen ik bestelde was het de wachttijd vier weken, en dat duurt. Tijd die je wel nuttig kan gebruiken, zie mijn tips onderaan. ## In elkaar steken Op een mooie maandag belde DPD eindelijk aan met een grote doos, met daarin het **bouwpakket**. ![](https://broddinblog.on-forge.com/storage/377/img-4455.jpg) Op het Internet circuleren de meest uiteenlopende duurtijden om de printer te bouwen: van **4 uur tot 20 uur**, en qua moeilijkheid van **supersimpel** tot **frustrerend** moeilijk. Ik deed het zelf in een uur of 12\. De basis maakte ik maandagavond, en voor de rest had ik dinsdag een dag verlof genomen. De volledige [bouwinstructies staan online](https://help.prusa3d.com/en/guide/1-introduction%5F176529?ref=broddin.be) , en per stap kan er ook commentaar achtergelaten worden. Deze commentaar lezen voor je aan een stap begint kan je **ongelofelijk veel tijd besparen**. Zo heb ik een half uur verspeeld door twee zaken tegen elkaar te duwen, die eigenlijk gescheiden hadden moeten blijven, iets waar in de comments voor gewaarschuwd werd. Het bouwen is **leuk**. Iedereen die graag LEGO bouwt, of graag IKEA-kasten in elkaar zet gaat de emoties die je daarbij voelt zien terugkomen. Soms heb je echt geen idee wat je aan het doen bent, kan je geen vijzen meer zien, maar tegen het eind van elk hoofdstuk is er wel een zekere **voldoening**. En dan mag je ook een paar snoepbeertjes eten, want Prusa steekt bij elk bouwpakket een zakje Haribo. Snoepbeertjes zijn lekker. ![](https://broddinblog.on-forge.com/storage/378/img-4459-3.jpg) De twee moeilijkste delen zijn het in elkaar zetten van **de printkop** (de extruder) en **de bekabeling en electronica**. Bij die twee stappen moet je wel echt je hoofd bijhouden. Ik was heel content dat ik een dag verlof had toen ik hem in elkaar stak, zodat ik niet gestoord kon worden door kinderen. Mijn **verbazing** was gigantisch toen de printer na afloop perfect opstartte. De eerste keer dat je de printer opzet doet hij een test, en die slaagde wonderwel. ## Calibratie en tunen De printer in elkaar zetten is één ding, maar **dan begint het pas**. Prusa printers hebben v**eel technologie aan boord** om het printen zelf zo eenvoudig mogelijk te maken: ze calibreren hun assen zelf en corrigeren voor foutjes in de **bed levelling**. Ook kunnen ze eventuele **crashes** zelf detecteren, en als de stroom uitvalt printen ze nadien zonder probleem verder. Maar je zal toch het één en ander zelf moeten doen: zoals het calibreren van de eerste laag (**first layer calibration**). De printer weet niet precies hoe dicht zijn printopening (de nozzle) bij het printbed is. Dus moet je dat in stapjes van duizendsten van een millimeter juist instellen. Dit is op zich niet moeilijk, maar je steekt er **wel wat tijd** in. Je moet het ook juist doen, anders komt je print los en eindig je met een **gigantische knoeiboel**. Daarnaast moet je elke print die je doet je **temperatuurinstellingen** juist krijgen. Elk materiaal is anders, en vereist andere instellingen voor zowel het materiaal, als het bed. [PrusaSlicer](https://www.prusa3d.com/prusaslicer/?ref=broddin.be), het programma dat 3D-bestanden omzet naar commando’s voor de printer, bevat al een geluk **heel wat profielen** voor verschillende fabrikanten, maar ook hier moet je af en toe wat bijtunen, of zelf een profiel maken. Daarmee wil ik niet gezegd hebben dat 3D-printen moeilijk is, maar zelfs met alle technologische hulpmiddelen die een Prusa aan boord heeft, is het **een continu leerproces**. Het is **zeker geen HP Deskjet** die je in de pries steekt en waar je niet meer naar moet omkijken. ## Dagdagelijks gebruik De Prusa is -eens deftig gecalibreerd- een droom om mee te werken. De printer draait hier al een week bijna non-stop en ik heb er eigenlijk geen omkijken naar. De kwaliteit van de prints is top, en verbaast wie ze ziet. De tijd dat een 3D-print gelijk stond met objecten met duidelijk zichtbare lagen ligt duidelijk achter ons. ![](https://broddinblog.on-forge.com/storage/379/img-4576.jpg) Ook heb ik intussen echt een **shitload aan rollen filament** gekocht. Zowel het [Prusament](https://prusament.com/?ref=broddin.be) dat door Prusa zelf wordt gemaakt en dat heel strenge kwaliteitseisen hanteert, als goedkopere merken zoals [Real Filament](https://real-filament.com/?ref=broddin.be) en [AmazonBasics](https://www.amazon.com/AmazonBasics-Printer-Filament-1-75mm-Black/dp/B07T6WLFML?ref=broddin.be) en eigenlijk print alles redelijk perfect. ## Een paar vragen *Hoe groot kan zo’n Prusa drukken?* Dit is echt de vraag die iedereen mij al gesteld heeft. Het antwoord is 25x21x21 cm (breedte\*lengte\*hoogte). Da’s niet supergroot, maar als je dat wil vullen, ben je toch al snel een dag of 2 aan het printen. Zoals voor [deze lamp](https://www.prusaprinters.org/prints/23859-designer-lithophane-moon-lamp?ref=broddin.be). *Kost dat veel, zo 3D-printen?* Buiten de printer dan: nee. Een rol filament (de plastic waar je mee drukt) kost ergens tussen de 20 en de 30 euro voor een kilo. Speciallekes zoals hout en satijn kosten ook zoiets, maar dan per 500 gram. *Al dat plastiek, dat kan toch niet goed zijn voor het milieu?* PLA, het meest gebruikte materiaal voor filament, wordt gemaakt van maïs. Qua productie zit dat dus wel goed. Door de lage smelttemperatuur kan het wel niet in de blauwe zak. Naar recycleerbaarheid is er dus nog werk aan de winkel. Een andere manier om het te bekijken is de zaak om te draaien. Door zelf je gebruiksobjecten te maken bespaar je heel wat verpakkingsmateriaal en single use plastics, wat het milieu dan weer ten goede komt. ## Nog enkele learnings - Bestel een fles van 95% **schoonmaakalcohol** (IPA). Vingerplekken op de printplaat doen een print heel snel loskomen. Ik heb de mijne 2x opnieuw gecalibreerd omdat ik dacht dat mijn eerste laag te hoog begon voor niks. - Bestel ook een **momentsleutel** en **inbusbits**. Dit is zoveel handiger dan die mini-inbussleutels die je erbij krijgt. - Gebruik de **7×7 bedlevelling**. Dit voegt hooguit 1 minuut toe aan je prints, maar zorgt bij mij voor een veel betere eerste laag. - De riem van mijn Y-as zat aanvankelijk veel te los. Print na afloop de [Belt Tension Tester](https://www.prusaprinters.org/prints/46639-tension-meter-for-the-gt2-belts-of-i3-mk3s-or-prus?ref=broddin.be) om zo de perfecte spanning in te stellen. - Bestel een rol [Prusament PETG](https://shop.prusa3d.com/en/42-prusament?ref=broddin.be) bij je printer, want die heb je nodig voor de Belt Tension Tester. En doe er ineens de [Textured Plate](https://shop.prusa3d.com/en/accessories-mk3s-mk25s-mini/214-powder-coated-spring-steel-sheet.html?ref=broddin.be) bij, want PETG durft heel hard aan de bijgeleverde Smooth Plate plakken. - Neem de tijd om op voorhand te **leren over 3D-printen**. De reeks [“3D Printing Basics”](https://www.youtube.com/playlist?list=PLDJMid0lOOYnkcFhz6rfQ6Uj8x7meNJJx&ref=broddin.be) van [Thomas Sanladerer](https://www.youtube.com/user/ThomasSanladerer?ref=broddin.be) is een aanrader. - En als je wil leren modelleren in een CAD-omgeving: de Fusion 360 tutorials van [Product Design Online](https://www.youtube.com/c/ProductDesignOnline?ref=broddin.be) zijn top. - Wees geduldig, niet enkel tot de postbode er is, maar ook in het bouwen en het eerste gebruik. Alles komt sowieso goed, en je kan heel weinig verkeerd doen. Het zal allemaal niet 100% perfect zijn van de eerste keer, maar je kan al**les achteraf tweaken**. - Koop een Raspberry Pi en zet er [OctoPrint](https://octoprint.org/download/?ref=broddin.be) op. Zo kan je over je netwerk je printer in de gaten houden. Binnenkort schrijf ik iets over alle zotte dingen die je met OctoPrint kan. Zo, dit zijn mijn ervaringen over het in elkaar zetten van een Prusa i3 MK3S+. Vragen of opmerkingen? Laat ze hieronder achter! ### Creating a native Next.js app with Capacitor URL: https://broddin.be/packaging-nextjs-capacitor/ Last updated: 2026-07-19T19:05:11.000Z [Next.js](https://nextjs.org/?ref=broddin.be) is **my favorite JavaScript framework**. It allows you to quickly build fully functional **React**\-powered websites with amazing **routing**, support for **SSR**, and an excellent **developer experience**. Next.js is also a great tool to build **mobile experiences**. Combined with a component library such as [Material UI](https://material-ui.com/?ref=broddin.be), you can create web apps that feel (almost) native. To submit your Next.js apps to the Apple App Store / Google Play Store you’ll need to package them in a real app. [Capacitor](https://capacitorjs.com/docs?ref=broddin.be) is an elegant way of doing this. The fine folks behind [Ionic](https://ionicframework.com/?ref=broddin.be) created it, and it’s the successor to Cordova (and PhoneGap). Besides just packaging Capacitor also allows you to access **platform-specific features** through [plugins](https://capacitorjs.com/docs/plugins?ref=broddin.be). ## Installing Capacitor Installing Capacitor is as easy as typing: ```text cd my-appnpm install @capacitor/core @capacitor/clinpx cap init --web-dir=out ``` ## Building your Next.js app After installing Capacitor in your Next.js project, you can simply build and export your project: `npx next build && npx next export`. This will output your project into a folder called `out`. If you forgot to pass `--web-dir` to `npx cap init` you can include this folder in your Capacitor project by setting `webDir` in `capacitor.config.json`. After this, you add the platforms you want to support: ```text npx cap add androidnpx cap add ios ``` (Electron is also a supported platform) Each time you build your app you’ll want to **copy** the assets over to your iOS/Android projects by typing: `npx cap sync`. An easy way to **automate** these steps is by including them in the scripts section of `package.json`: ```json { "scripts":{ "dev":"next dev", "build":"next build", "start":"next start", "export":"next export", "build-mobile":"next build && next export && npx cap sync" } } ``` ## Opening and running your project Opening the project inside **Xcode** or **Android Studio** is as easy as: ```text npx cap open androidnpx cap open ios ``` You can now run your app. ## 404’s in Android The first time I ran my project on Android, it didn’t work. I got 404’s on all my resources. After a lot of debugging, I discovered that Android Studio doesn’t copy assets starting with an underscore, like \_next. To fix this, find your app’s build.gradle and add *ignoreAssetsPatern* inside Android>defaultConfig>aaptOptions: ```text android { ... defaultConfig { ... aaptOptions { ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~' } } } ``` This will give you a working Next.js app inside a native app! ![](https://broddinblog.on-forge.com/storage/381/screenshot-2021-02-22-at-160438.jpg) ### Review: Roborock H6 - a cheaper alternative to Dyson URL: https://broddin.be/review-roborock-h6-a-cheaper-alternative-to-dyson/ Last updated: 2026-07-19T19:05:12.000Z **Update:** After about half a year, our Roborock H6 started to sputter. At first, he made a very high-pitched noise. Then he didn’t do anything. An inspection revealed that the printed circuit board that controls everything was extremely dusty and was not protected with a special coating as usual. Clearly a cost-saving operation, so I can no longer recommend the Roborock H6. **Original review:** One of the most popular posts on my site is about our robot vacuum cleaner: the [Roborock S6 MAXV](https://broddin.be/2020/09/09/review-roborock-s6-maxv-our-robot-friend/). Six months later, my opinion on it is identical: it’s easily **one of the best household purchases of my life**. Besides our little robot friend, we’ve also had a **Dyson V8** for several years. We were also quite satisfied with that, but it did have two drawbacks: - The **normal mode**, which allows you to vacuum for 25 minutes, is **not powerful**. - The **turbo mode** gives you **only 7 minutes of battery**, too short for an entire home. The last few months, our Dyson was running out of power rather quickly. My first thought was that the battery needed replacement. But a bit of research showed that it overheated in turbo mode. Of course, **the warranty had just run out**, and a new motor is costly. A new Dyson, then? Eight hundred euros is a lot for a V11 Absolute Extra Pro. ## Roborock Luckily our Chinese friends at Roborock have applied the knowledge they gained when developing robot vacuum cleaners to a wireless vacuum cleaner. Or so they say in their marketing talk. The first model wireless vacuum cleaner is called the Roborock H6. Because Roborock proved to be worthy of my trust in the field of robotic vacuum cleaners, we bought one. ![The H1 on our wall](https://broddinblog.on-forge.com/storage/383/3-image-6.png) The H1 on our wall Almost everything on the H6 screams **Dyson copy**. The accessories’ holes are even at an almost identical distance (however, do not try, the voltages are different). Those red clicky things for attachments? The same. ## Innovations However, Roborock has **managed to innovate in a few areas**. The first one is **weight**: a Dyson weighs 3 kilograms, the H6 is lightweight with its 1.4 kilograms. This low weight is thanks to its light **LiPo battery**. This type of battery is also used in drones and weighs much less than the classic Li-ion battery. Also, there is a **handy wall-mount** We got a bag for our attachments with our Dyson, which then disappeared into a closet, never to be seen again. The wall-mount of the H6 is broader, and you can store all accessories nicely. ![](https://broddinblog.on-forge.com/storage/384/2-image-7.png) ## Accessories You have your standard **motorized vacuum cleaner** head, something for **keyboard dust**, a **motorized small vacuum head**, a **crevice tool** for crevices, and a **flexible hose**. The latter, which we did not have with our Dyson, has already proved useful for hard-to-reach places, as the woman demonstrates below. ![](https://broddinblog.on-forge.com/storage/385/image-8.png) ## Suction At the maximum mode (**10 minutes** battery), it **sucks better than our Dyson V8.** According to the product specifications, 150 AW, compared with 115, 150, and 185 AW respectively for the Dyson V8, V10, and V11\. This good suction power puts it in front of the V10, which only lasts 6 minutes on this mode. However, you will only use that maximum mode if your child has thrown a plate of Choco Pops on the ground. For **everyday use**, you have the normal mode (**36 minutes** battery), perfect for vacuuming well. Here again, this is more powerful than our old Dyson and probably similar to the V10. If you want to vacuum for a long time, the eco-mode promises **90 minutes** of battery. But come on, who has such a big house that he needs to be able to vacuum for 90 full minutes? ## OLED & Handsfree There is a beautiful monochrome OLED screen on top of the vacuum on which you can see how long you can vacuum and in which mode you are using. However, my favorite little feature is the small button on the side: when you push it, you don’t have to pull the trigger anymore to engage the vacuum cleaner. ## Price & Conclusion **!!! Read the update at the top of this article.** The biggest reason to go for the Roborock H6, and not for a new Dyson, is the **price**. A Dyson V10 will cost you about 500 euros, a V11 about 800 euros, and the Roborock H6 can be found [on Aliexpress](https://www.aliexpress.com/item/4001223604932.html?spm=a2g0s.9042311.0.0.480b4c4d7EKYxy&ref=broddin.be) for **less than 300 euros** (with coupons). That price difference alone makes it worthwhile. The H6 is a **high-quality** vacuum cleaner that **does an excellent job**. You’ll probably lose a few hipster points with your Dyson friends, but with the price difference, you can buy some fancy dinner. Our H6 was delivered three days after we ordered (shipped from Germany). However, if you are reluctant to buy at Chinese webshop: ### Review: Roborock H6 - een goedkoper alternatief voor Dyson URL: https://broddin.be/review-roborock-h6/ Last updated: 2026-07-19T19:05:13.000Z **UPDATE:** Na ongeveer een half jaar begon onze Roborock H6 te sputteren. Eerst maakte hij een heel hoog geluid, nadien deed hij niks meer. Nazicht bracht aan het licht dat de printplaat die alles aanstuurt extreem bestoft was, en hier niet voor beschermd was met een speciale coating zoals gebruikelijk. Duidelijk een besparingsoperatie, en ik kan de Roborock H6 dus niet langer aanbevelen. **Origineel artikel:** Eén van de populairste posts op mijn site is die over onze robotstofzuiger: de [Roborock S6 MAXV](https://broddin.be/2020/09/09/roborock-s6-maxv-review/). Een half jaar later is mijn mening daar nog identiek hetzelfde over: **één van de beste huishoudelijke aankopen van mijn leven**. Naast onze robotvriend hadden we ook al enkele jaren een **Dyson V8** *.* Daar waren we ook tevreden over, maar die had wel twee nadelen: - De **gewone stand**, waarmee je 25 minuten kan stofzuigen, is **echt niet krachtig**. - De **turbostand** geeft je maar 7 minuten batterij, wat dan weer **veel te kort** is voor een volledig huis. De laatste maanden haalde onze Dyson zelfs nog maar een paar minuten in de turbostand. Mijn eerste gedachte was dat de batterij al aan vervanging toe was. Maar onderzoek wees uit dat hij oververhitte in turbo stand. Natuurlijk n**et buiten garantie**, en een nieuwe motor of behuizing is duur. Een nieuwe Dyson dan? Ja, hallo. **800 euro** voor een V11 Absolute Extra Pro. ## Roborock Al een geluk hebben onze Chinese vrienden van Roborock (zoals ze het zo mooi in hun marketingpraatje zeggen) hun kennis die ze opdeden bij het ontwikkelen van robotstofzuigers toegepast op de draadloze steelstofzuiger. Hun eerste model in die reeks heet de Roborock H6. Omdat Roborock mijn vertrouwen waard bleek te zijn op vlak van robotstofzuigers hebben we zo één in huis gehaald. ![De H1 aan onze muur](https://broddinblog.on-forge.com/storage/387/img-3381.jpg) De H1 aan onze muur Quasi alles aan de H6 schreeuwt **Dyson kopie**. De gaatjes van de toebehoren zitten zelfs op bijna identieke afstand (probeer het echter niet, de voltages zijn anders). Die rode klikdingen om toebehoren vast te maken? Ook **goed afgekeken**. ## Innovaties Roborock heeft op een paar vlakken wel zelf weten te **innoveren**. Ten eerste **gewicht**: een Dyson weegt 3 kilogram, de H6 is een lichtgewicht met zijn 1,4 kilogram. Dit is te danken aan zijn lichte LiPo-batterij. Dit type batterij wordt ook in drones gemaakt, en weegt veel minder dan de klassieke Li-ion batterij. Daarnaast is er het **handige ophangsysteem**. Bij onze Dyson kregen we voor onze opzetstukken een zak, die vervolgens in een kast verdween. Het ophangsysteem van de H6 is breder en je kan er alle accessoires mooi aan kwijt. ![](https://broddinblog.on-forge.com/storage/388/img-3398.jpg) ## Accessoires Je hebt je standaard **gemotoriseerde stofzuigkop**, iets voor **stof** van toetsenborden, een **gemotoriseerde kruimeldiefkop**, een **sleuf** voor tussen de plinten en **een flexibele slang**. Dat laatste hadden we niet bij onze Dyson en is al handig gebleken voor moeilijk te bereiken plaatsen, zoals de vrouw hieronder demonstreert. ![Vrouw doet blootsvoet voor hoe de flexibele slang je leven verrijkt.](https://broddinblog.on-forge.com/storage/389/9-image-1.png) Vrouw doet blootsvoet voor hoe de flexibele slang je leven verrijkt. ## Zuigkracht Op de maximumstand (**10 minuten** batterij) zuigt hij **harder dan onze Dyson V8**. Volgens de productspecificaties **150 AW**, tegenover respectievelijk 115, 150 en 185 AW voor de Dyson V8, V10 en V11\. Dit zet hem dus tegenover de V10, die slechts 6 minuten mee gaat op deze stand. Die maximumstand ga je echter alleen gebruiken als je kind een vol bord Choco Pops op de grond gekeild heeft. Voor **normaal gebruik** is er de middelste stand (**36 minuten** batterij) en die is perfect voor tja … te stofzuigen. Ook hier weer, krachtiger dan onze oude Dyson, en waarschijnlijk vergelijkbaar met de V10. Als je echt lang wil stofzuigen is er de **ecostand**, die **90 minuten** batterij belooft. Maar kom, wie heeft er nu zo’n groot huis dat hij 90 volle minuten moet kunnen stofzuigen? ## OLED & handenvrij Bovenop is er een mooi monochroom OLED-scherm waarop je kan zien hoe lang je nog kan stofzuigen en in welke stand je staat. Mijn favoriete kleine feature is echter het kleine knopje aan de zijkant: wanneer je hierop duwt moet je de trigger niet meer induwen om de stofzuiger te laten zuigen. Handenvrij stofzuigen als het ware. ## Prijs & conclusie **!!! Lees de update bovenaan !!!** De grootste reden om voor de Roborock H6 te gaan, en niet voor een nieuwe Dyson, was de prijs. Een Dyson V10 kost je ongeveer 500 euro, een V11 zoals reeds gezegd 800 euro, en de Roborock H6 kan je vinden [op AliExpress](https://www.aliexpress.com/item/4001223604932.html?spm=a2g0s.9042311.0.0.480b4c4d7EKYxy&ref=broddin.be) voor **minder dan 300 euro** (met coupons). Dat prijsverschil alleen al maakt het de moeite waard. De H6 is een minstens evenwaardige stofzuiger van **prima kwaliteit**. Je verliest er waarschijnlijk een paar hipsterpunten mee bij je Dyson vrienden, maar met het prijsverschil kan je een paar keer goed gaan eten. Onze H6 werd drie dagen na bestelling netjes geleverd (verzonden vanuit Duitsland). Sta je echter huiverachtig tegenover bestellen bij Chinese webshops dan vind je de H6 ook gewoon bij Bol.com (wel wat duurder): var bol\_sitebar={"id":"bol\_1612873615363", "baseUrl":"partner.bol.com","urlPrefix":"https://aai.bol.com/openapi/services/aai/","productId":"productid=9300000008253134","familyId":"","site\_id":"1104825","target":true,"rating":true,"price":true,"deliveryDescription":true,"button":true,"link\_name":"Roborock%20H6%20Steelstofzuiger","link\_subid":"","background\_color":"#FFFFFF","text\_color":"#CB0100","link\_color":"#0000FF"}; ### Home Assistant: turning your home into a smart home URL: https://broddin.be/home-assistant-turning-your-home-into-a-smart-home/ Last updated: 2026-07-19T19:05:14.000Z Recently I wrote about [driving a lot of LEDs](https://broddin.be/2021/01/05/how-i-turned-the-stairwell-into-a-nightclub/), [ESPHome](https://broddin.be/2021/01/15/a-house-full-of-sensors-with-esphome/), and how [our home network](https://broddin.be/2021/01/06/my-home-network/) works. In each of those posts, there was a mention of **Home Assistant**. But what exactly is Home Assistant? ![](https://broddinblog.on-forge.com/storage/407/img-3378-1.jpg) ## Open-source home automation software Once you have intelligent devices in your home, you can’t get around: it’s a mess of **different standards and platforms**. Apple is committed to HomeKit, Google has “works with Google”, home appliances from Siemens and Bosch use the HomeConnect platform, and things like Philips Hue also have their own system. [Home Assistant](https://www.home-assistant.io/?ref=broddin.be) brings all these things together in **a uniform way** and provides the necessary abstraction. For example, when you write an automation for Home Assistant, it doesn’t matter whether the lamp you connect is connected via Philips Hue, HomeKit, or WLED. Also, it offers the possibility to create **beautiful dashboard**s, so you can see the status of all your home appliances right away. Home Assistant is software that ensures that everything in your home can talk to everything else in your home, **regardless of the manufacturer**, and turns your home into a smart home. ![](https://broddinblog.on-forge.com/storage/408/untitled-artwork-10.jpg) ## Installation There are [several ways to install Home Assistant](https://www.home-assistant.io/docs/installation/?ref=broddin.be), but the two most recommended are: - [Install Home Assistant OS (Hassio)](https://www.home-assistant.io/docs/installation/?ref=broddin.be) on a Raspberry Pi 3 or 4 (or something similar). - Run it inside a[ Docker container](https://www.home-assistant.io/docs/installation/docker/?ref=broddin.be). I started with a Docker container but soon realized that you miss out on some features (such as running add-ons), and since I always have a spare Raspberry Pi, I switched quickly. ![My Home Assistant inside the server cabinet](https://broddinblog.on-forge.com/storage/409/img-4139.jpg) My Home Assistant inside the server cabinet ### SD cards As [Herman notes on DailyBits](https://www.dailybits.be/item/home-assistant-smarthome-raspberry-pi/?ref=broddin.be): Raspberry Pi’s and SD cards don’t like to play ball. The many small writes that the operating system makes significantly shorten the life of SD cards. Therefore, it is advisable to purchase memory cards with an A-class optimized for applications (hence the A). Also, always make sure your config has a backup. ## Lingo Once installed, it’s time to make yourself related to some of the concepts that you will often encounter: - **Integrations**: the link between Home Assistant (HA) and a particular platform. There are currently around 1700 included, and you can install many more. This goes from apparent things like Philips Hue or Sonos to [Domino’s Pizza](https://www.home-assistant.io/integrations/dominos/?ref=broddin.be) (to order automatically). - **Devices**: all your devices belong to an integration. - **Entities:** Each appliance then has one or more entities. For example, we have a few Philips motion detectors with three entities: movement, temperature, and brightness. - **Areas**: spaces in your home. - **Scenes**: you can save the state of individual devices in a scene. This is especially useful for lamps. - **Automations:** An automation is an action that is performed when something happens. - **Lovelace**: the user interface in which you create dashboards. ## Configuration The installation of Home Assistant is straightforward. On a Raspberry Pi, you just download the image and burn it to an SD card. After about 20 minutes, you can surf to http://homeassistant.local and start configuring your Home Assistant. An easy wizard will help you on your way to configuring all integrations. Here are the integrations I have running: - **Denon**: our amplifier. - **ESPHome**: for [all sensors](https://broddin.be/2021/01/15/a-house-full-of-sensors-with-esphome/) in the house. - **Google Cast**: to speak to Chromecasts. - **Home Connect**: for our washing machine. - **Internet Printing Protocol (IPP)**: to see how much ink our printer has left. - **Logitech Harmony Hub**: our universal remote. - **Meteorologisk Institutt**: a reliable weather provider. - **Philips Hue**: allows me to control our lights and all sensors/switches connected via the Hue bridge. - **Sonos**: for our old Sonos downstairs. - **Synology DSM**: stats from my Synology NAS. - **Ubiquiti Unifi**: some data about our network. - **WLED**: to operate my ESPs with WLED. ![](https://broddinblog.on-forge.com/storage/410/screenshot-2021-01-27-at-142224.jpg) ## Home Assistant Community Store (HACS) A vanilla Home Assistant installation is already top-notch. In the first hours, you’ll be adding all your devices and configuring your dashboard. But after a while the moment you’ll ask yourself: “hmmm, could I not add my bicycle/ca r/coffee machine?”. Or you’ll consider that standard theme is kinda ugly. Luckily there is something called the [Home Assistant Community Store](https://hacs.xyz/?ref=broddin.be). This is an alternative app store for integrations and Lovelace components that don’t come bundled with HA. I use the following things from HACS: - [Volkswagen We Connect](https://github.com/robinostlund/homeassistant-volkswagencarnet?ref=broddin.be): this way, I can see where my car is located in HA and if the doors are locked. - [Eufy Security](https://github.com/nonsleepr/ha-eufy-security?ref=broddin.be): an integration for our doorbell (currently broken) - [SpaceX](https://github.com/djtimca/HASpaceX?ref=broddin.be): a few entities track where the SpaceX caravan is located and when the next launch is. - [Light entity card](https://github.com/ljmerza/light-entity-card?ref=broddin.be): a Lovelace component to control the lamps that supports the effects of WLED. - [Kibibit theme](https://github.com/Kibibit/hass-kibibit-theme?ref=broddin.be): after trying a lot of themes, this is my favorite. - [Mini graph card](https://github.com/kalkih/mini-graph-card?ref=broddin.be): beautiful charts for Lovelace. - [Layout card](https://github.com/thomasloven/lovelace-layout-card?ref=broddin.be): a container map that enables more complex layouts. ## Dashboards These are my Lovelace dashboards at the moment (a perpetual work-in-progress): ![Weather &amp; temperature sensors](https://broddinblog.on-forge.com/storage/395/1.jpg) Weather & temperature sensors ![The lights](https://broddinblog.on-forge.com/storage/396/2.jpg) The lights ![System stats](https://broddinblog.on-forge.com/storage/397/3.jpg) System stats ![Synology NAS](https://broddinblog.on-forge.com/storage/398/4.jpg) Synology NAS ![Our car](https://broddinblog.on-forge.com/storage/399/6.jpg) Our car ![My bike](https://broddinblog.on-forge.com/storage/400/7.jpg) My bike ![Washing machine &amp; printer](https://broddinblog.on-forge.com/storage/401/8.jpg) Washing machine & printer Getting those dashboards right is a lot of work. Mine still are not 100% the way I want them to be, and the [YAML files](https://www.home-assistant.io/lovelace/dashboards-and-views/?ref=broddin.be) you have to write to create something more advanced quickly become quite big. ## Automation Those dashboards are great, but it’s even more fun not to have to look at them. That’s why I am also running this automation: - When the **laundry** is ready, it will be announced by every speaker in the house with[ text-to-speech](https://www.home-assistant.io/integrations/tts/?ref=broddin.be). - If my **bike** is charged or almost empty, I get a push notification. - When my **car** is at home, but the door is unlocked, I get a push message on my phone. - If the car arrives somewhere at a new location, I get a push message. - There’s an ESPHome in the attic so that the LEDs automatically turn on when it detects someone coming up the stairs. ![](https://broddinblog.on-forge.com/storage/402/screenshot-2021-02-01-at-124849-1.jpg) ## InfluxDB One of the advantages of running HA via Hassio (the Home Assistant Operating System) is the ability to install **add-ons**. Add-ons run in **separate containers** and have little impact on the rest of your system. My most used add-on is InfluxDB. This is a database optimized for **time-based measurements**. By default, HA already makes graphs of your sensors’ values over time, but with InfluxDB, you can go a lot further. And that’s really something for data nerds like me. For example, this is the evolution of my Touran’s fuel tank over the past six months: ![Not much fuel needed when there’s COVID.](https://broddinblog.on-forge.com/storage/403/screenshot-2021-01-22-at-155713.jpg) Not much fuel needed when there’s COVID. Or the light in the house the past few months: ![Winter really is darker](https://broddinblog.on-forge.com/storage/404/screenshot-2021-01-22-at-160344.jpg) Winter really is darker Or the temperature measured by different sensors: < figure class=”kg-card kg-image-card”> If you want to go further, there is also the [Grafana add-on](https://github.com/hassio-addons/addon-grafana?ref=broddin.be). You can visualize the data from Influx even more. It also provides sharable images, which you can then use in your Lovelace dashboards. ## Mobile Home Assistant also has apps for iOS and Android. They give access to all aspects of the system and **add several sensors**, which you can use in HA, such as your pedometer, battery level, and location (if desired). And from HA, you can send push notifications to your mobile phone without any hassle. ![](https://broddinblog.on-forge.com/storage/405/8-image.png) Because Home Assistant runs on your own network, you will need to make an extra effort to be able to handle it from the outside: - Either set up port forwarding on your router. - Either you run a VPN with DDNS. - Or subscribe to [Home Assistant Cloud](https://nabucasa.com/?ref=broddin.be). With that last one, you support the makers of HA, and it only costs 5 euros a month. A subscription gives some extra benefits, such as easier Google Home and Alexa integration. They will also send you an email if a security breach is found in your installation. ## Going deeper Home Assistant is incredibly extensive, and you can do really crazy stuff with it. Frenck, who also has many add-ons to his name, keeps a curated list of crazy Home Assistant things at **Awesome Home Assistant**. ### Home Assistant, de smart home lijm in huis URL: https://broddin.be/home-assistant-de-lijm-in-huis/ Last updated: 2026-07-19T19:05:16.000Z Onlangs schreef ik al over [een hoop leds aansturen](https://broddin.be/2021/01/05/600-leds-met-een-esp8266-en-wled/), [ESPHome](https://broddin.be/2021/01/15/hang-je-huis-vol-sensors-met-esphome/) en [hoe ons thuisnetwerk in elkaar zit](https://broddin.be/2021/01/06/ons-thuisnetwerk/). In elk van die posts kwam ergens wel een vermelding van **Home Assistant**. Maar wat is die Home Assistant nu juist? ![](https://broddinblog.on-forge.com/storage/407/img-3378-1.jpg) ## Open source home automation software Eens je intelligente dingen in huis hebt kan je er niet rond: het is een kluwen van v**erschillende standaarden en platformen**. Apple zet hard in op HomeKit, Google heeft “works with Google”, huishoudapparaten van Siemmens en Bosch zitten op HomeConnect en dan heb je nog zaken zoals Philips Hue die ook nog eens hun eigen platform hebben. [Home Assistant](https://www.home-assistant.io/?ref=broddin.be) brengt al die zaken samen op **een uniforme manier** en zorgt voor de nodige **abstractie**. Wanneer je automatisaties schrijft voor Home Assistant maakt het bijvoorbeeld niet uit of de lamp die je aansluit nu verbonden is via Philips Hue, HomeKit of WLED. Daarnaast biedt het de mogelijkheid om mooie **dashboards** te maken, zodat je ten alle tijden kan kijken hoe het in jouw huis gesteld is. Of kort samengevat: Home Assistant is software die zorgt dat alles in huis met alles in huis kan praten, **ongeacht de fabrikant**, en zo van je huis een smart home maakt. ![Stuur geld voor een tekencursus](https://broddinblog.on-forge.com/storage/408/untitled-artwork-10.jpg) Stuur geld voor een tekencursus Dit artikel gaat redelijk diep, maar ik heb geprobeerd om ook af en toe wat plaatjes te zetten. ## Installatie Er zijn [verschillende manieren](https://www.home-assistant.io/docs/installation/?ref=broddin.be) om Home Assistant te installeren, maar de twee meest aanbevolen zijn: - [Home Assistant OS (Hassio) installeren](https://www.home-assistant.io/docs/installation/?ref=broddin.be) op een Raspberry Pi 3 of 4 (of iets soortgelijk) - Het draaien in een [Dockercontainer](https://www.home-assistant.io/docs/installation/docker/?ref=broddin.be) Ik ben begonnen met een Dockercontainer, maar zag al snel dat je dan enkele features (zoals het draaien van addons) mist, en aangezien ik altijd wel een Raspberry Pi op overschot heb liggen ben ik snel overgestapt. ![Op dat klein bakje draait Home Assistant hier](https://broddinblog.on-forge.com/storage/409/img-4139.jpg) Op dat klein bakje draait Home Assistant hier ### SD-kaarten Zoals [Herman opmerkt op DailyBits](https://www.dailybits.be/item/home-assistant-smarthome-raspberry-pi/?ref=broddin.be): Raspberry Pi’s en SD-kaarten zijn niet zo’n goede vrienden. De vele kleine schrijfacties die het besturingssysteem doet verkorten de levensduur van SD-kaarten behoorlijk. Het is daarom aan te raden om geheugenkaarten met een uit de A-klasse te kopen, die zijn geoptimaliseerd voor applicaties (vandaar de A) en kunnen hier beter mee overweg. Zorg daarnaast ook steeds voor een goeie backup van je configuratie. ## Lingo Eens geïnstalleerd is het tijd om jezelf verwant te maken met enkele begrippen die je vaak gaat zien terugkomen: - **Integrations:** de link tussen Home Assistant (HA) en een bepaald platform. Er zijn er momenteel een 1700-tal die bijgeleverd worden, en je kan er nog veel meer installeren. Dit gaat van voor de hand liggende zaken zoals Philips Hue of Sonos tot [Domino’s Pizza](https://www.home-assistant.io/integrations/dominos/?ref=broddin.be) (om automatisch te bestellen). - **Devices:** al je toestellen behoren tot een integratie. - **Entities:** elk toestel heeft vervolgens één of meer entiteiten. Wij hebben bijvoorbeeld enkele bewegingsmelders van Philips hangen die drie entiteiten elks hebben: beweging, temperatuur en lichtsterkte. - **Areas:** ruimtes in je huis - **Scenes:** je kan de staat van bepaalde devices opslaan in een scene. Dat is vooral handig voor lampen. - **Automatisations:** een automatisatie is een handeling die wordt uitgevoerd wanneer er iets bepaald gebeurt. - **Lovelace:** de user interface waarin je dashboards maakt. ## Instellen De installatie van Home Assistant is heel eenvoudig. Op een Raspberry Pi is het niet meer dan de image downloaden en op een SD-kaart branden. Na ongeveer 20 minuten kan je dan surfen naar http://homeassistant.local en je Home Assistant beginnen te configureren. Een makkelijke wizard helpt je vervolgens aardig op weg om alle integraties in te stellen. Dit zijn de integraties die ik heb draaien: - **Denon:** onze versterker. - **ESPHome:** voor [alle sensors in huis](https://broddin.be/2021/01/15/hang-je-huis-vol-sensors-met-esphome/). - **Google Cast:** om tegen Chromecasts te spreken. - **Home Connect:** voor onze wasmachine. - **Internet Printing Protocol (IPP):** zodat ‘k in HA kan zien hoeveel inkt onze printer nog heeft. - **Logitech Harmony Hub:** onze universele afstandsbediening. - **Meteorologisk institutt:** een betrouwbare weerprovider. - **Philips Hue:** laat me toe onze lampen te bedienen, en alle sensors/schakelaars die verbonden zijn via de Hue bridge. - **Sonos:** voor onze oude Sonos beneden. - **Synology DSM:** stats van mijn Synology NAS. - **Ubiquiti Unifi:** wat gegevens over ons netwerk. - **WLED:** om mijn ESP’s met WLED te bedienen. ![](https://broddinblog.on-forge.com/storage/410/screenshot-2021-01-27-at-142224.jpg) ## Home Assistant Community Store (HACS) Out of the box is Home Assistant al top. De eerste uren kan je je bezig houden met al je apparaten toe te voegen en je dashboard te configureren. Maar dan komt onvermijdelijk het moment dat je je afvraagt: “hmmm, zou ik mijn fiets/auto/koffiemachine niet kunnen toevoegen?”. Of dat je dat standaardthema toch gatlelijk vindt. Al een geluk is er de [Home Assistant Community Store](https://hacs.xyz/?ref=broddin.be). Dit is een soort van **alternatieve app store** voor integraties en **Lovelace componenten** die niet standaard bij HA geleverd worden*.* Die zijn meestal ook iets minder goed getest, dus je kan al wel eens tegen problemen lopen, maar het is altijd het proberen waard. Zelf gebruik ik volgende zaken uit HACS: - [Volkswagen We Connect](https://github.com/robinostlund/homeassistant-volkswagencarnet?ref=broddin.be): zo kan ik in HA zien waar m’n wagen zich bevindt, en of de deuren op slot zijn - [Eufy Security](https://github.com/nonsleepr/ha-eufy-security?ref=broddin.be): een integratie voor onze doorbel (momenteel wel kapot) - [SpaceX](https://github.com/djtimca/HASpaceX?ref=broddin.be): een paar entities die bijhouden waar de SpaceX karavaan zich bevindt en wanneer de volgende lancering is. - [Light entity card](https://github.com/ljmerza/light-entity-card?ref=broddin.be): een Lovelace-component om de lampen te bedienen, ondersteunt de effecten van WLED. - [Kibibit theme:](https://github.com/Kibibit/hass-kibibit-theme?ref=broddin.be) na een hele hoop themes te hebben geprobeerd is dit mijn favoriet. - [Mini graph card:](https://github.com/kalkih/mini-graph-card?ref=broddin.be) mooie grafieken voor Lovelace. - [Layout card](https://github.com/thomasloven/lovelace-layout-card?ref=broddin.be): een containerkaart die complexere layouts mogelijk maakt. ## Dashboards Dit zijn mijn Lovelace dashboards op dit moment (een eeuwigdurende work-in-progress): ![Het weer en de temperaturen in huis](https://broddinblog.on-forge.com/storage/411/1-1.jpg) Het weer en de temperaturen in huis ![Alle lampen](https://broddinblog.on-forge.com/storage/412/1-2.jpg) Alle lampen ![Systeemstats](https://broddinblog.on-forge.com/storage/413/1-3.jpg) Systeemstats ![Synology](https://broddinblog.on-forge.com/storage/414/1-4.jpg) Synology ![De auto](https://broddinblog.on-forge.com/storage/415/1-6.jpg) De auto ![Mijn fiets](https://broddinblog.on-forge.com/storage/416/1-7.jpg) Mijn fiets ![De wasmachine en de printer](https://broddinblog.on-forge.com/storage/417/1-8.jpg) De wasmachine en de printer Het goed krijgen van die dashboards is echt een serieus geteen. Die van mij zijn nog steeds niet 100% hoe ik het wil, en de [YAML-bestanden](https://www.home-assistant.io/lovelace/dashboards-and-views/?ref=broddin.be) die je moet schrijven om iets geavanceerdere layouts te maken worden heel snel een boeltje. Maar het blijft een **work-in-progress**. En om de zoveel tijd steek ik er eens een uur in om het te verbeteren. ## Automatisatie Op zich zijn die dashboards tof, maar het is nog leuker om er niet naar te moeten kijken. Daarom heb ik ook nog deze automatisaties draaien: - Als **de was klaar is** dan wordt dit door elke speaker in huis aangekondigd met [text-to-speech](https://www.home-assistant.io/integrations/tts/?ref=broddin.be) - Als m’n **fiets** opgeladen is of bijna leeg is ook - Als m’n wagen thuis is, maar de deur niet op slot krijg ik een pushbericht op m’n telefoon - Ook als de auto ergens op een nieuwe locatie aankomt stuurt hij een pushbericht (met mooi kaartje bij) - [Op zolder ](https://broddin.be/2021/01/05/600-leds-met-een-esp8266-en-wled/)hangt sinds kort ook een ESPHome met bewegingssensor zodat die leds automatisch aangaan als iemand de trap opkomt. ![](https://broddinblog.on-forge.com/storage/418/screenshot-2021-02-01-at-124849.jpg) ## InfluxDB Eén van de voordelen van HA te draaien via Hassio (het Home Assistant Operating System) is dat je **addons** kan installeren. Addons draaien in **aparte containers< /strong> en hebben weinig invloed op de rest van je systeem.** Mijn meest gebruikte addon is InfluxDB. Dit is een database geoptimaliseerd voor **tijdsgebonden metingen**. Standaard maakt HA al wel grafiekjes van de waarden van je sensoren over tijd, maar met InfluxDB kan je daar veel verder in gaan. En da’s echt iets voor **datanerds** zoals ik. Dit is bijvoorbeeld de evolutie van de brandstoftank van mijn Touran het afgelopen half jaar: ![Corona: 7x getankt ipv de gebruikelijke 28x](https://broddinblog.on-forge.com/storage/419/1-screenshot-2021-01-22-at-155713.jpg) Corona: 7x getankt ipv de gebruikelijke 28x Of het licht in huis de afgelopen maanden: ![Ja, de winter is wel echter donkerder.](https://broddinblog.on-forge.com/storage/420/1-screenshot-2021-01-22-at-160344.jpg) Ja, de winter is wel echter donkerder. Of de temperatuur van verschillende sensoren (waarop je kan zien dat het uitvallen van de chauffage zelfs in de serverkast -die altijd lekker warm is- effect had): ![](https://broddinblog.on-forge.com/storage/421/3-screenshot-2021-01-22-at-160700.jpg) Als je hier nog verder in wil gaan is er ook nog [de Grafana addon](https://github.com/hassio-addons/addon-grafana?ref=broddin.be), hierin kan je de data uit Influx nog verder gaan visualiseren en deze voorziet ook in deelbare afbeeldingen, die je dan weer in je Lovelace dashboards kan gaan gebruiken. ## Onderweg Home Assistant heeft ook apps voor iOS en Android. Die geven toegang tot alle aspecten van het systeem, maar voegen ook een aantal sensors toe, die je dan ook kan gaan gebruiken in HA, zoals je stappenteller, batterijniveau en locatie (indien gewenst). En vanuit HA kan je zonder gedoe push notifications sturen naar je GSM ![](https://broddinblog.on-forge.com/storage/422/screenshot-2021-01-22-at-161728.jpg) Omdat Home Assistant op je eigen netwerk draait ga je wel **extra moeite** moeten doen om er van buitenaf aan te kunnen: - Ofwel stel je op je router port forwarding in - Ofwel draai je een VPN met DDNS - Ofwel neem je aan abonnement op [Home Assistant Cloud](https://nabucasa.com/?ref=broddin.be) Met dat laatste steun je de makers van HA en ‘t kost maar 5 euro per maand. Een abonnement geeft nog wat extra voordelen zoals makkelijkere Google Home en Alexa integratie, en ze sturen je ook een mail mocht er een veiligheidslek gevonden worden in jouw installatie. ## Nog meer Home Assistant is ontzettend uitgebreid en je kan er echt zotte shit mee doen. [Frenck](https://github.com/frenck?ref=broddin.be), die ook een hele hoop addons op zijn naam heeft staan, houdt op **Awesome Home Assistant** een gecureerde lijst bij van zotte Home Assistant zaken. Zeker een aanrader om in te duiken. ### Een digitale dobbelsteen maken met een M5Core URL: https://broddin.be/een-digitale-dobbelsteen-maken-met-een-m5core/ Last updated: 2026-07-19T19:05:16.000Z Onze oudste dochter Janne houdt enorm veel van het **gezelschapsspel** Bunny Hop. Dit is een spel waarbij je om de beurt een kaart trekt en dan het aantal vakjes dat daar op staat vooruit mag. Af en toe trek je een wortel en dan mag je aan de wortel draaien en verschijnen er op het speelveld gaten. ![](https://broddinblog.on-forge.com/storage/430/1200x1098.jpg) Echt allemaal tof, maar waarom die kaartjes? Nu ligt ons veel te klein tafeltje altijd direct vol met **stapels kaarten** en het zijn er ook nooit genoeg, waardoor je halverwege de stapel nog eens kan omdraaien. Een **simpele dobbelsteen** had hier waarschijnlijk volstaan. #firstworldproblems. Maar frustraties zijn er om weg te nemen. Ik had eerder vorige week namelijk een nieuw **ontwikkelbord** besteld: [de M5Core](https://m5stack.com/collections/m5-core?ref=broddin.be). Dat is een **ESP32** (dus WiFi, Bluetooth en 32-bit dualcore processor) gecombineerd met 320x240px **touchscreen**, enkele knoppen, een speaker en SD-kaartslot voor 30 euro. ![](https://broddinblog.on-forge.com/storage/431/4-image-5.png) Het mooie aan het systeem dat M5Stack heeft uitgedokterd met de M5Core is dat het er sowieso beter uitziet dan dingen die je zelf knutselt, en dat het **modulair** is. Onderaan kan je namelijk een hoop modules klikken, zoals een **batterij**, **GPS**, of de Faces plate, die batterij en extra uitbreidingsplaats combineert. Gewoon klikken en gaan. ![M5Core met Faces plate en een draaiknop (rotary encoder) plate](https://broddinblog.on-forge.com/storage/432/img-4091.jpg) M5Core met Faces plate en een draaiknop (rotary encoder) plate Als je wil knutselen, maar weinig zin hebt om te solderen of met breadboards en duizend draden in de weer te zijn is dit echt wel top. En het is **heel redelijk geprijsd**: de M5Core kost zoals gezegd 30 euro, de Faces-plate met oplaadbare batterij 11 euro en de draaiknop (met 6 RGB-leds) 10 euro. Geen geld voor wat je krijgt. Maar dus … ergens zat al even in mijn achterhoofd dat ik die verdomde kaartjes wou vervangen door iets elektronisch. De M5Core was een ideale aanleiding om er eens aan te beginnen. ## Het maken Eindelijk kwam die scanner hier eens van pas. De vier kaartjes erop gelegd en gescand: ![](https://broddinblog.on-forge.com/storage/433/konijn.jpg) Uitgeknipt in Photoshop en verkleind naar het haarscherpe 320×240: ![](https://broddinblog.on-forge.com/storage/434/screenshot-2021-01-25-at-120041.jpg) Vervolgens aan de slag gegaan in de Arduino IDE. Omdat ik toch die draaiknop al had liggen, en zo’n grote knop makkelijk is voor kinderhandjes gebruikte ik die. De code staat hier: [https://github.com/TimBroddin/m5core-bunny-hop](https://github.com/TimBroddin/m5core-bunny-hop?ref=broddin.be) Mijn bemerkingen: - De **SDK** die M5Stack gemaakt heeft (en de talloze voorbeelden) is echt top. Dit maakt ontwikkelen op hun kit echt wel heel eenvoudig. - De afbeeldingen erin krijgen was weinig gedoe, het scherm kan namelijk rechtstreeks JPEG schrijven en ze hebben [een handig script](https://github.com/m5stack/M5Stack/blob/master/tools/bin2code.py?ref=broddin.be) voorzien om jpeg om te zetten naar een arraybuffer. Gezien de 1MB opslagcapaciteit van de ESP32 is dit een lifesaver. - Ik had in plaats van de knop natuurlijk ook het touchscreen kunnen gebruiken, maar iets tactiel maakt het toch wel echter. ## Het resultaat Misschien nogal overkill voor zoiets stom, maar het spel Bunny Hop is nu wel 5 keer leuker. Iedereen content! Bunny Hop M5Core \--- Er is trouwens al even een opvolger: de **M5Core2**, die voegt nog onder andere een **microfoon** en **RTC** toe, maar is door een ontwerpfout niet op elke module te plaatsen. Mede daardoor is die momenteel slecht leverbaar, maar hij staat wel hoog op m’n wishlist. Een ander fijn product is de [M5Paper](https://m5stack.com/products/m5paper-esp32-development-kit-960x540-4-7-eink-display-235-ppi?variant=37595977908396&ref=broddin.be), die een ESP32 combineert met een e-ink display en ingebouwde batterij. Zo ééntje is ondertussen (natuurlijk) al onderweg naar hier. ### Creating a digital dice with an M5Core URL: https://broddin.be/creating-a-digital-dice-with-an-m5core/ Last updated: 2026-07-19T19:05:17.000Z Our eldest daughter Janne loves this game called **Bunny Hop**. This is a game where you take turns drawing cards and advancing the number of squares on them. There is a lot of mayhem going on while you advance your Bunny towards the end. ![](https://broddinblog.on-forge.com/storage/424/4-image-6.png) This is a great game, with one big frustration: **those cards**. Why not a simple dice? #firstworldproblems. Nothing a bit of hacking can’t solve. Earlier last week, I ordered a new development board: [the M5Core](https://m5stack.com/collections/m5-core?ref=broddin.be). That’s an **ESP32** (so WiFi, Bluetooth, and a 32-bit dual-core processor) combined with a **320x240px touchscreen**, some buttons, a speaker, and an SD card slot for around 30 euros. ![](https://broddinblog.on-forge.com/storage/425/3-image-7.png) The M5Core is a **beauty**. It looks much better than anything you can make yourself. There’s no soldering and no wires. Everything is **modular**, and they offer a lot of click-on modules like a battery, GPS, or the Faces plate, which combines battery and extra expansion space. Just click and go. ![](https://broddinblog.on-forge.com/storage/426/1-image-8.png) If you want to tinker but don’t want to solder or hassle around with breadboards and a thousand wires, this is really great. And it’s very reasonably priced: the M5Core costs 30 euros, the Faces plate with rechargeable battery 11 euros and the dial (with 6 RGB LEDs) 10 euros. That’s reasonably cheap for what you get. But I started with a problem: replacing those infuriating cards. M5Core to the rescue! ## Making I scanned the cards with an old scanner: ![](https://broddinblog.on-forge.com/storage/427/image-9.png) Cut them out in Photoshop and resized to the razor-sharp 320×240: ![](https://broddinblog.on-forge.com/storage/428/image-10.png) Then I fired up the **Arduino IDE**. I used the big rotary knob because it’s easy for children’s hands, I used it. The code is here: [https://github.com/TimBroddin/m5core-bunny-hop](https://github.com/TimBroddin/m5core-bunny-hop?ref=broddin.be) ## Remarks: - The **SDK** that M5Stack created (and the countless examples) is great. This makes developing on their kit really very simple. - Getting the images in there was easy because the screen can write JPEG directly, and M5Stack provided [a handy script](https://github.com/m5stack/M5Stack/blob/master/tools/bin2code.py?ref=broddin.be) to convert jpeg into an array buffer. Given the 1MB storage capacity of the ESP32, this is a lifesaver. - I could have used the touchscreen instead of the button, but something tactile makes it feel so much more fun. ## The result Spending 50 euros on a digital dice is overkill. But my daughter loves it and wants to play the game whenever possible. Bunny Hop M5Core \--- There is also a successor to the M5Core: the M5Core2, which adds a microphone and RTC, among other things. Another fine product is the M5Paper, which combines an ESP32 with an e-ink display and a built-in battery. ### Over giraffen, pandemieën en videogames URL: https://broddin.be/over-giraffen-in-videogames/ Last updated: 2026-07-19T19:05:17.000Z In elke **top 100 videogames** aller tijden scoort **The Last Of Us** erg hoog. Ik kocht dit spel destijds voor de PlayStation 3 op de dag dat het uitkwam. Maar in 2013 had ik het drukker met feesten dan met thuiszitten, en ik geraakte er nooit echt aan. Ik speelde een stuk, maar niet lang genoeg om goed te beseffen wat voor **meesterwerk** ik liet liggen. De PlayStation 3 werd hier opgevolgd door een Xbox One, en ik kon op mijn kin kloppen voor al die sublieme PlayStation **exclusives** die de Sony studios maar bleven uitkakken. Sinds kort staat er hier een **PlayStation 5** te ronken, en de reden waarmee Sony me bij hun presentatie finaal over de streep getrokken heeft is de **PS Plus Collection**: een collectie van 20 van die PS-exclusive games van de vorige generatie. Parels zoals Detroit: Become Human, God Of War, The Last Guardian maar dus ook The Last Of Remastered. ![Stevig trouwfeest](https://broddinblog.on-forge.com/storage/437/img-4011.jpg) Stevig trouwfeest ## Het verhaal Voor we aan de giraffen komen, toch nog even het verhaal kaderen, voor wie de afgelopen 7 jaar onder een steen geleefd heeft. The Last Of Us gaat over een **pandemie**. Eentje die nog niet iets erger is dan die waar wij ons nu in bevinden: geïnfecteerden worden namelijk zombies, en eens gebeten word je er zelf één. *\*\* milde spoilers ahead \*\** Je speelt The Last Of Us als Joel, een veertiger, die in het begin van de pandemie (na een ijzersterke openingsscene) zijn **dochter verliest**. Fast-forward 20 jaar en je wordt gevraagd om Ellie, een tienermeisje dat **immuun** blijkt te zijn voor beten van geïnfecteerden naar een rebellengroep (de Fireflies) te brengen. Een redelijk bekend **post-apocalyptisch** verhaal, zoals bijvoorbeeld ook al aangehaald in **Children of Men** of **The Road**. Onderweg naar die Fireflies kom je heel veel gruwel tegen. Hordes **geïnfecteerden**, maar ook andere **mensen**, die allemaal op hun eigen manier bezig zijn met **overleven**. Maar ook in afwezigheid van leven is het spel donker, je verkent huizen, kantoren en winkels en ontdekt zo levens die verloren gegaan zijn, en wat twintig jaar leegstand met een gebouw doet. ![Tom Waes zou zeggen: “mannekes, hier woonde dus echt iemand he, dat gelooft ge toch niet?”](https://broddinblog.on-forge.com/storage/438/img-4010.jpg) Tom Waes zou zeggen: “mannekes, hier woonde dus echt iemand he, dat gelooft ge toch niet?” Het spel is opgedeeld in seizoenen, en elk seizoen eindigt met een stomp in de maag en een fade to black. En elke keer had ik zin om mijn PlayStation uit te zetten en even gewoon **een half uur in de verte te staren**. Zeker na de winter. De finale hiervan speel je als Ellie, en je bevindt je in ondergesneeuwd **winterdorp** ergens in Colorado. De uren ervoor is het karakter van de “**slechterik”** David diep uitgewerkt. Hij is geëvolueerd van de charismatische man die je toevallig tegenkomt aan het begin van de winter (waar je ook zij aan zij mee vecht) tot het monster dat je ontdekt dat hij echt is. Tegenover dat monster sta je op het einde van het wintersegment in een brandend restaurant, en het eindigt absoluut gruwelijk. Fade to black. ## This here giraffe Al een geluk wisten de gamedesigners dat je na zo’n scene **niet nog meer lelijkheid** kan steken. De lente begint met heldere kleuren, en een Ellie die duidelijk **stiller** en meer **teruggetrokken** is. Je bevindt je in Salt Lake City en het ziekenhuis waar je Ellie heen moet brengen is letterlijk binnen handbereik. Je moet gewoon nog even door een busterminal. Ideale plek om honderden infected in te steken moeten de designers gedacht hebben. Maar dat deden ze niet, en in de plaats kozen ze voor **één van de mooiste scenes** die ik ooit in een videogame heb meegemaakt. Op een bepaald moment in die busterminal geef je Ellie een zetje zodat ze een ladder kan aangeven. Die ladder valt bijna op je hoofd want Ellie is ineens heel opgewonden, want ze ziet iets. Wat volgt zijn vijf minuten **pure magie**. \[4K\] The Last Of Us | Giraffe Scene Vlakbij de busterminal moet ooit een zoo geweest zijn, en de kudde giraffen loopt nu rond op wat ooit het sportveld was. Geprakt tussen al de gruwel van The Last Of Us zit ineens zoveel **menselijkheid**. Even een rustpunt. Het lijkt een klein moment, maar het is zo prachtig. Het is even broodnodige veiligheid en de batterijen terug opladen, vooraleer je aan het laatste (ontzettend) zware stuk van het spel begint. Terwijl je samen met Ellie daar op het dak staat te genieten van het uitzicht op de giraffen zie je duidelijk de deur waar je heen moet om verder te gaan. Je beseft dat eens je daar door gaat je **terug naar de harde realiteit** gaat en dat dit mooie moment voorgoed gedaan is. Maar voorwaarts is de enige weg. Of zoals Ellie zelf zegt vlak voor je de deur in gaat: *“After all we’ve been through. Everything that I’ve done. It can’t be for nothing.”* Woorden die na het einde nog als een boemerang terug in je gezicht knallen. Zoals heel het spel trouwens. Wat een **prachtprestatie** van ontwikkelaar Naughty Dog. Ik begin instant aan de DLC en aan deel 2. Trouwens, tijdens het spelen kon ik soms niet anders dan parallellen trekken met **de huidige pandemie**. Ok, we worden geen zombies, maar het afgelopen jaar heeft het er ook soms zwart en uitzichtloos uitgezien. We zijn ook allemaal meer dan eens een stukje menselijkheid kwijtgespeeld. Hoop en wanhoop wisselen zich nog steeds af. Maar onthou: er zullen altijd giraffen zijn. Letterlijk, maar vooral figuurlijk. **Koester die momenten.** \--- *Hallo Alexander De Croo, doe de dierentuinen eens terug open. Wel musea maar geen zoo? Slaat nergens op.* ### About giraffes, pandemics, and video games URL: https://broddin.be/about-giraffes-pandemics-and-video-games/ Last updated: 2026-07-19T19:05:17.000Z In every **top 100 video games of all time** list, **The Last Of Us** scores very high. I bought this game for PlayStation 3 the day it came out. But in 2013, I was way busier with partying than sitting at home, and I never really got into it. I played the first hour or so, not long enough to realize what kind of **masterpiece** I was missing out on. My PlayStation 3 was succeeded by an Xbox One. Because of this, I was missing out on all those sublime PlayStation **exclusives** that the Sony studios kept releasing. Recently, I’ve bought a Playstation 5\. A big reason was the **PS Plus Collection**: a collection of 20 of those previous generation PS Exclusive games you get for free. Gems like Detroit: Become Human, God Of War, The Last Guardian, and The Last Of Remastered. ![What a wedding party](https://broddinblog.on-forge.com/storage/437/img-4011.jpg) What a wedding party ## The story Before we get to the giraffes, a bit of back-story. The Last Of Us is a game about a pandemic. A **pandemic** that’s slightly worse than the one we’re in right now: infected become zombies, and once bitten, you become one yourself. \*\* Mild spoilers ahead \*\* You play The Last Of Us as Joel, a man in his 40s. Joel l**oses his daughter** at the beginning of the pandemic (in a powerful opening scene). Fast-forward 20 years, and you are asked to bring Ellie, a teenage girl who turns out to be **immune** to the virus, to a rebel group (the Fireflies). A fairly well-known **post-apocalyptic story**, as seen before in **Children of Men** of **The Road**. On the way to those Fireflies, you come across a lot of horrors. Hordes of **infected**, but also other **people**, all of whom are engaged in **surviving** in their own way. But even in the absence of life, the game is dark. You explore houses, offices, and shops and discover lives lost and the effect 20 years of vacancy does to buildings. ![](https://broddinblog.on-forge.com/storage/438/img-4010.jpg) The game is divided into seasons, and each season ends with a bang and a fade to black. And every single time, I wanted to turn off my PlayStation and just **stare into the void** for half an hour. Especially after “Winter” ended. You play this part as Ellie, and you’ll be in a **snow-covered winter village** somewhere in Colorado. The hours before, the character of the “bad guy” David is deeply refined. He has **evolved** from the charismatic man you happen to meet at the beginning of winter to the monster you discover he really is. The finale is horrible. Fade to black. ## This here giraffe Luckily, the game designers knew **you can’t put in any more ugliness** after such a scene. Spring begins with bright colors and Ellie, clearly quieter and more retracted. You’re in Salt Lake City, and the hospital you have to take Ellie to is **literally within reach**. You just need to go through a bus terminal. The ideal place to put hundreds of infected in, the designers must have thought. But they didn’t, and instead, they created **one of the most beautiful scenes** I’ve ever seen in a video game. At some point in that bus terminal, you give Ellie a little push so she can reach a ladder. This ladder almost falls on your head because Ellie is suddenly very excited about something she sees. What follows is five minutes of **pure magic**. \[4K\] The Last Of Us | Giraffe Scene Near the bus terminal must have been a zoo. The herd of giraffes is now walking around on what was once the sports field. Between all the horrors of The Last Of Us, there’s a sudden burst of humanity. A resting point. It may seem like a little moment, but it’s so beautiful. It’s a moment of much-needed safety, so you can recharge your batteries before you start the last (incredibly) heavy part of the game. While you’re on the roof with Ellie enjoying the view of the giraffes, you can clearly see the door where you need to go through to continue. You realize that you go **back to the harsh reality** once you go through there and that this beautiful moment is over forever. But forward is the only way. Or as Ellie himself says right before you go in the door, *“After all we’ve been through. Everything that I’ve done. It can’t be for nothing.”* Words that will hit you like a boomerang at the end of the game. What an **outstanding achievement** from developer Naughty Dog. I’ll start immediately on the DLC and part 2. By the way, while playing, I could not help but see **similarities** with the current pandemic. Okay, we’re not going to be zombies, but in the past year, it has also looked bleak and hopeless sometimes. We also lost some humanity along the way. Hope and despair still alternate. But remember, there will always be giraffes. Literally, but mostly figuratively. **Cherish those moments.** ### A house full of sensors with ESPHome URL: https://broddin.be/a-house-full-of-sensors-with-esphome/ Last updated: 2026-07-19T19:05:18.000Z These days you can waste a lot of money on **smart appliances**. Or make such smart devices yourself. ## ESP As I said in my previous article about [our staircase with 600 LED](https://broddin.be/2021/01/05/how-i-turned-the-stairwell-into-a-nightclub/)s, **Espressif ESP** boards are ideal for when you want to make things that connect to the Internet: Luckily other development boards are very good at that. Those boards contain the **ESP8266** microchip. That chip can be programmed in the same way as an Arduino but has **built-in WiFi** and the necessary libraries to enable IoT applications. His big brother, the ESP32, is also equipped with Bluetooth (and is twice as fast). ## Go big or go home This is what I made with my very first ESP8266 board: ![](https://broddinblog.on-forge.com/storage/447/img-9928.jpg) Many wires, a motion sensor, a light sensor, a microphone, a temperature and humidity sensor, a screen, and a laser beam. This thing is still hanging up in our meeting room at VRT and, of course, is **total overkill** to see whether the lights are on. I put **way too much time** into it at the time, but it taught me how to connect an ESP to the network and also the principles of [MQTT](https://mqtt.org/?ref=broddin.be) and [node-red](https://nodered.org/?ref=broddin.be). Everything these sensors capture is forwarded every 10 seconds to an MQTT server (a kind of telephone exchange for IoT applications), which communicates it to a small application that I wrote in node-red. ![Someone pulled the plug during this pandemic.](https://broddinblog.on-forge.com/storage/448/screenshot-2021-01-14-at-094204.jpg) Someone pulled the plug during this pandemic. Little did I know there’s already a project that does everything I did and more: **ESPHome**. ## ESPHome ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. In short, ESPHome is a firmware for ESP that allows you to create things like the above without writing any code and integrates with Home Assistant and others. After installation (`pip3 install esphome`), you can quickly start a new project via the wizard (`esphome serverkast.yaml wizard`), and after answering some questions, the wizard writes out a YAML file containing the minimum configuration: ```yaml esphome: name: serverkast platform: ESP8266 board: nodemcuv2 wifi: ssid: "" password: "" Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Sample Fallback Hotspot" password: "" captive_portal: Enable logging logger: Enable Home Assistant API api: ota: ``` When you **flash** this on your ESP (`esphome run serverkast.yaml`), your ESP will reboot, connect to your WiFi network and appear in Home Assistant. Of course, this does absolutely nothing. So it’s time to connect some **sensors**. Inside my server cabinet, there is an ESP8266 with a DHT11 temperature and humidity sensor connected to PIN D2\. In the configuration file, this becomes (beneath `ota:`): ```yaml sensor: - platform: dht pin: D2 model: DHT11 temperature: name: "Serverkast Temperature" filters: - calibrate_linear: - 0.0 -> 0.0 - 24.0 -> 23.5 humidity: name: "Serverkast Humidity" update_interval: 60s ``` (Because DHT11 temperature sensors are cheap but **not precisely accurate**, a small calibration occurs: 24 degrees is adjusted to 23.5.) After reflashing (via USB or over WiFi), these sensors appear in **Home Assistant**: ![](https://broddinblog.on-forge.com/storage/449/screenshot-2021-01-14-at-100948.jpg) In Home Assistant, the data from these sensors can now be used to perform **automations** or to create beautiful graphs using, for example, [InfluxDB](https://www.influxdata.com/?ref=broddin.be): ![Our radiator broke down while we were away …](https://broddinblog.on-forge.com/storage/450/screenshot-2021-01-14-at-101143.jpg) Our radiator broke down while we were away … ## Sensors, buttons & screens The great thing about ESPHome is that **everything you can think of** works out of the box. Hang an e-paper display on it? A camera? Or create your own IR remote control? It’s all possible, and it all works through the same configuration file. You can find an overview of all supported components [here](https://esphome.io/components/index.html?ref=broddin.be). ## Automations in ESPHome An automation I have planned for the ESP8266 in my server cabinet is to automatically start a fan when the temperature is higher than 30°. You can do this in the Home Assistant interface but also in the configuration file itself: ```yaml sensor: - platform: dht pin: D2 model: DHT11 temperature: name: "Serverkast Temperature" filters: - calibrate_linear: - 0.0 -> 0.0 - 24.0 -> 23.5 on_value_range: - above: 30.0 then: - fan.turn_on: fan - below: 30.0 then: - fan.turn_off: fan ``` The latter has the advantage that your automation works even when Home Assistant is not accessible and is especially recommended for **simple automation** that does not require other devices in your network. ## Automations in Home Assistant During the Christmas period, I connected an ESP with some LEDs (I didn’t know WLED at that time) and a button. When you hit that button, our Google Nest Hub started playing **Christmas music**, and the lights turned on. ESPHome To do this, the ESPHome sends an **event** to Home Assistant: ```yaml binary_sensor: - platform: gpio pin: number: D0 mode: INPUT_PULLDOWN_16 name: "Button" on_press: then: - homeassistant.event: event: esphome.button_pressed data: title: Button was pressed ``` Home Assistant sets the Nest’s volume to 75%, selects a random Christmas song, lights on, and turns on the Philips Hue’s Cozy scene. ```yaml - id: '1608044655971' alias: Play xmas description: '' trigger: - platform: event event_type: esphome.button_pressed condition: - condition: device type: is_off device_id: 3a18233816ee484b9780e3448c416fec entity_id: light.xmas_leds domain: light action: - service: media_player.volume_set entity_id: media_player.woonkamer data: volume_level: '0.75' - service: media_player.play_media data: media_content_type: music entity_id: media_player.woonkamer data_template: media_content_id: '{{ [ "http://www.edsstuff.org/Music/Christmas/Disney/Disc%20A/14-White%20Christmas.mp3", "http://news.bpmsupreme.com/wp-content/uploads/2015/12/Mariah-Carey-All-I-Want-For-Christmas-Is-You-Clean.mp3", ] | random }}' - type: turn_on device_id: 3a18233816ee484b9780e3448c416fec entity_id: light.xmas_leds domain: light brightness_pct: 50 - service: hue.hue_activate_scene data: group_name: Living scene_name: Gezellig ``` Be careful if you make something like this, and you have kids. You’ll get tired of this very quickly. ## Update ESPHome in Home Assistant After the first flash via USB, your ESPHome can update **OTA** (over-the-air – over WiFi). This is useful because it allows you to keep your sensors where they are and still make configuration changes. In Home Assistant, you also have an [ESPHome community add-on](https://esphome.io/guides/getting%5Fstarted%5Fhassio.html?ref=broddin.be). It contains the latest version of ESPHome and allows you to perform updates from the Home Assistant interface. ![](https://broddinblog.on-forge.com/storage/451/screenshot-2021-01-14-at-104201.jpg) I always copy my configuration files here after flashing via USB. This allows updating wherever possible and gives easy access to my various devices’ logs and status. ## The result I want to do some crazier things with ESPHome in the future, but I keep the temperature and humidity for now. ![](https://broddinblog.on-forge.com/storage/452/screenshot-2021-01-14-at-120523-1.jpg) ### Hang je huis vol sensors met ESPHome URL: https://broddin.be/hang-je-huis-vol-sensors-met-esphome/ Last updated: 2026-07-19T19:05:19.000Z Tegenwoordig smijten verschillende fabrikanten je naar je hoofd met toestellen om je huis **slimmer** te maken. Van regenmeters tot slimme stekkers en weerstations. Je kan hier veel **geld aan verspillen**, of zo’n slimme toestellen gewoon **zelf maken**. ## ESP Zoals ik reeds zei in mijn artikel over [onze traphal met 600 leds](https://broddin.be/2021/01/05/600-leds-met-een-esp8266-en-wled/) zijn de **ESP-bordjes** van Espressif ideaal voor wanneer je dingen wil maken die verbinden met het Internet: Al een geluk zijn er een andere ontwikkelbordjes die daar wel heel goed in zijn. Die bordjes bevatten de **ESP8266-**microchip. Die chip is op dezelfde manier te programmeren als een Arduino, maar heeft standaard **ingebouwde WiFi**, en de nodige bibliotheken om IoT-toepassingen mogelijk te maken. Zijn grote broer de ESP32 kan naast dat alles ook Bluetooth (en is dubbel zo snel). ## Go big or go home Dit is wat ik met mijn allereerste ESP8266 gemaakt heb: ![](https://broddinblog.on-forge.com/storage/447/img-9928.jpg) Heel veel draden, een bewegingssensor, een lichtsensor, een microfoon, een temperatuur- en vochtigheidssensor, een schermpje en een laserstraal. Dit ding hangt nog steeds op in onze vergaderruimte op de VRT en is natuurlijk **totale overkill** om te zien of het licht aan is. Ik heb er destijds **veel te veel tijd** ingestoken, maar het leerde me wel hoe je met een ESP verbindt met het netwerk en ineens ook de beginselen van [MQTT](https://mqtt.org/?ref=broddin.be) en [node-red](https://nodered.org/?ref=broddin.be). Alles dat de sensoren opvangen wordt elke 10 seconden naar een MQTT-server (een soort telefooncentrale voor IoT-toepassingen) doorgestuurd, die het dan op zijn beurt weer meedeelt aan een kleine applicatie die ik in node-red heb geschreven. ![Jammer genoeg heeft iemand de stroom uitgetrokken.](https://broddinblog.on-forge.com/storage/448/screenshot-2021-01-14-at-094204.jpg) Jammer genoeg heeft iemand de stroom uitgetrokken. Het schrijven van [de code](https://gist.github.com/TimBroddin/5a26f8a42f78ee2171968015d66928be?ref=broddin.be) en het opzetten van [Mosquitto MQQT ](https://mosquitto.org/?ref=broddin.be)en [node-red](https://nodered.org/?ref=broddin.be) had me allemaal bespaard gebleven als ik had geweten dat er een project bestaat dat al die dingen voor jou doet: **ESPHome**. ## ESPHome ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. Kort samengevat: ESPHome is **een firmware** voor ESP dat je toestaat dingen zoals hierboven te maken zonder code te schrijven, en integreert met Home Assistant en anderen. Na installatie (`pip3 install esphome`) start je eenvoudig een nieuw project via de wizard (`esphome serverkast.yaml wizard`) en na het beantwoorden van enkele vragen schrijft de wizard een YAML-bestand weg met daarin de minimale configuratie: ```yaml esphome: name: serverkast platform: ESP8266 board: nodemcuv2 wifi: ssid: "" password: "" Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Sample Fallback Hotspot" password: "" captive_portal: Enable logging logger: Enable Home Assistant API api: ota: ``` Wanneer je dit nu **flasht** op je ESP (`esphome run serverkast.yaml`) dan gaat je ESP terug opstarten, verbinding maken met je WiFi-netwerk en tevoorschijn komen in Home Assistant. Natuurlijk heb je hier nog geen bal aan. Tijd dus om wat **sensors** te verbinden. In mijn serverkast ligt een ESP8266 met een DHT11 temperatuur- en vochtigheidssensor verbonden met PIN D2\. In het configuratiebestand geeft dat dan (onder `ota:`) ```yaml sensor: - platform: dht pin: D2 model: DHT11 temperature: name: "Serverkast Temperature" filters: - calibrate_linear: - 0.0 -> 0.0 - 24.0 -> 23.5 humidity: name: "Serverkast Humidity" update_interval: 60s ``` (Omdat DHT11 temperatuursensors wel spotgoedkoop maar **niet echt accuraat** zijn vindt er een kleine calibratie plaats: 24 graden wordt bijgesteld naar 23,5.) Na het opnieuw flashen (via USB of over WiFi) komen die sensors dan proper binnen in **HomeAssistant**: ![](https://broddinblog.on-forge.com/storage/449/screenshot-2021-01-14-at-100948.jpg) In HomeAssistant kan de data van deze sensor nu gebruikt worden om **automatisaties** mee uit te voeren, of om **mooie grafieken** te maken met bijvoorbeeld [InfluxDB](https://www.influxdata.com/?ref=broddin.be): ![Rara, wanneer is de chauffage uitgevallen terwijl we weg waren?](https://broddinblog.on-forge.com/storage/450/screenshot-2021-01-14-at-101143.jpg) Rara, wanneer is de chauffage uitgevallen terwijl we weg waren? ### Sensors, knoppen, schermen, … Het mooie aan ESPHome is dat **alles dat je maar kan bedenken** out of the box werkt. Een e-paper display eraan hangen? Een camera? Of je eigen IR-afstandsbediening maken? Het kan allemaal, en het werkt allemaal via hetzelfde configuratiebestand. Een overzicht van **alle ondersteunde componenten** vind je [hier](https://esphome.io/?ref=broddin.be). ### Automatisaties in ESPHome Een automatisatie die ik nog gepland heb staan voor in [mijn serverkast](https://broddin.be/2021/01/06/ons-thuisnetwerk/) is **automatisch een ventilatiefan** te laten draaien wanneer de temperatuur hoger is dan 30°. Dit kan in de interface van Hom eAssistant, maar evengoed in het configuratiebestand zelf: ```yaml sensor: - platform: dht pin: D2 model: DHT11 temperature: name: "Serverkast Temperature" filters: - calibrate_linear: - 0.0 -> 0.0 - 24.0 -> 23.5 on_value_range: - above: 30.0 then: - fan.turn_on: fan - below: 30.0 then: - fan.turn_off: fan ``` Dit laatste heeft als voordeel dat je automatisatie ook werkt als HomeAssistant niet bereikbaar is, en is zeker voor **simpele automatisaties** die geen andere apparaten in je netwerk nodig hebben aan te bevelen. ### Automatisaties in HomeAssistant Tijdens de kerstperiode had ik een ESP verbonden met wat leds (toen kende ik [WLED](https://broddin.be/2021/01/05/600-leds-met-een-esp8266-en-wled/) nog niet) en een knop. Als je op die knop drukte begon er op onze Google Nest Hub **kerstmuziek** te spelen en gingen de lampjes aan. ESPHome Hiervoor stuurt de ESPHome een **event** naar HomeAssistant: ```yaml binary_sensor: - platform: gpio pin: number: D0 mode: INPUT_PULLDOWN_16 name: "Button" on_press: then: - homeassistant.event: event: esphome.button_pressed data: title: Button was pressed ``` In HomeAssistant wordt vervolgens het volume van de Nest op 75% gezet, een willekeurig kerstnummer gekozen, de lampjes aangezet en de scene Gezellig op de Hue ingeschakeld. ```yaml - id: '1608044655971' alias: Play xmas description: '' trigger: - platform: event event_type: esphome.button_pressed condition: - condition: device type: is_off device_id: 3a18233816ee484b9780e3448c416fec entity_id: light.xmas_leds domain: light action: - service: media_player.volume_set entity_id: media_player.woonkamer data: volume_level: '0.75' - service: media_player.play_media data: media_content_type: music entity_id: media_player.woonkamer data_template: media_content_id: '{{ [ "http://www.edsstuff.org/Music/Christmas/Disney/Disc%20A/14-White%20Christmas.mp3", "http://news.bpmsupreme.com/wp-content/uploads/2015/12/Mariah-Carey-All-I-Want-For-Christmas-Is-You-Clean.mp3", ] | random }}' - type: turn_on device_id: 3a18233816ee484b9780e3448c416fec entity_id: light.xmas_leds domain: light brightness_pct: 50 - service: hue.hue_activate_scene data: group_name: Living scene_name: Gezellig ``` Opgelet als je zoiets maakt en kinderen hebt. Dit word je heel snel beu. ### ESPHome updaten in Home Assistant Na de eerste keer flashen via USB kan je ESPHome gewoon **OTA** (over-the-air – over WiFi dus) updaten. Dit is handig want zo kan je je sensors **rustig laten hangen** en toch configuratiewijzigingen doorvoeren. In HomeAssistant heb je daarnaast ook een [ESPHome community add-on](https://esphome.io/guides/getting%5Fstarted%5Fhassio.html?ref=broddin.be). Die bevat de laatste versie van ESPHome en staat je toe om vanuit de Home Assistant interface updates uit te voeren. ![](https://broddinblog.on-forge.com/storage/451/screenshot-2021-01-14-at-104201.jpg) Ik kopieer mijn configuratiebestanden altijd na het flashen via USB hierheen. Dit maakt **updaten van eender waar** mogelijk, en geeft makkelijk toegang tot de **logs** en **status** van mijn verschillende apparaten. ## Het resultaat Ik wil nog wat zottere dingen doen met ESPHome in de toekomst, maar voorlopig hou ik er gewoon de temperatuur en vochtigheid mee bij. ![](https://broddinblog.on-forge.com/storage/452/screenshot-2021-01-14-at-120523-1.jpg) ## Nog vragen? Contacteer me gerust! ### AirPlay op oude Sonos speakers en Chromecasts met AirConnect URL: https://broddin.be/airplay-op-oude-sonos-speakers-en-chromecasts/ Last updated: 2026-07-19T19:05:20.000Z In mijn artikel over [ons thuisnetwerk](https://broddin.be/2021/01/06/ons-thuisnetwerk/) vergat ik nog één Docker container te vermelden die hier al heel vaak van pas is gekomen: **AirConnect**. AirPlay is een protocol van Apple waarmee je makkelijk **audio en video** kan afspelen op apparaten die het ondersteunen. Denk aan: een filmpje van je iPhone op je Apple TV tonen, of **muziek afspelen op je versterker** die AirPlay ondersteunt. Dat laatste gebruiken we hier thuis veel. Zowel onze versterker als de speaker op de kinderkamer ondersteunen AirPlay. Jammer genoeg hebben we ook apparaten in huis die dit niet ondersteunen: een oude **Sonos Play:1**, een **Google Nest Hub** en een **Chromecast**. Zeker bij die Sonos is dat zuur, want de eigen Sonos-app is echt extreem extreem **extreem kut**. [AirConnect](https://github.com/philippe44/AirConnect?ref=broddin.be) brengt redding. Dit is een tool die langs de ene kant naar **AirPlay luistert** en langs de andere kant wat **Sonos** en **Google**\-apparaten kunnen verstaan praat. Na de installatie ervan zie je alle speakers waarop je daarvoor niet kon afspelen gewoon in het AirPlay lijstje staan (met een + achter, zodat je ze nog uit elkaar kan houden): ![](https://broddinblog.on-forge.com/storage/454/img-bd3116ca2a2f-1.jpg) ## Installatie AirConnect is een command-line tool, je kan dus ofwel heel moedig zijn en de [installatie instructies op GitHub ](https://github.com/philippe44/AirConnect?ref=broddin.be)volgen. Ofwel installeer je gewoon een container op je NAS (of ander apparaat waarop je Docker draait). ### Via de Synology GUI Heb je een Synology en gebruik je niet graag de command line? Installeer dan het Docker pakket en zoek airconnect bij images. Die van **1activegeek** wordt het best onderhouden. ![](https://broddinblog.on-forge.com/storage/455/screenshot-2021-01-12-at-135230.jpg) Dubbelklik nadien onder **image** op de image die je juist gedownload hebt om een nieuwe container aan te maken. Klik op **Advanced Settings** en zorg ervoor dat je host networking gebruikt (het vinkje onderaan). ![](https://broddinblog.on-forge.com/storage/456/screenshot-2021-01-12-at-135451.jpg) Na het starten zie je normaal gezien al je speakers in het AirPlay menu. ### Command line Liever via de command line? Met één regeltje ben je er: `docker run -d --net=host 1activegeek/airconnect` Of in **docker-compose.yml**: ```text version: "2" services: airconnect: image: 1activegeek/airconnect network_mode: host restart: unless-stopped ``` ### Via Package Center Je kan AirConnect ook installeren via Package Center met [dit pakket](https://github.com/eizedev/AirConnect-Synology?ref=broddin.be). Maar gezien de voordelen die Docker biedt raad ik dat niet aan. ## Goed, maar niet perfect AirConnect werkt goed, maar zoals met alles in het leven is het niet perfect: - Er zit een **vertraging** van een seconde of 2 op voor de muziek effectief op de Sonos wordt afgespeeld. Hetzelfde met pauzeren en volume veranderen. Dit omdat de Sonos nogal lang buffert. - **Geen AirPlay 2**, dus geen muziek afspelen op meerdere speakers tegelijk. - Af en toe verdwijnen de AirConnect speakers, de container heropstarten doet ze dan steeds terugkomen. - Enkel audio Maar al bij al is het een toptool, onze Sonos zou nu **stof staan vergaren** mocht AirConnect niet bestaan. Nog vragen? Contacteer me gerust. ### Statistieken zonder cookies: Fathom en Plausible Analytics URL: https://broddin.be/statistieken-zonder-cookies-fathom-plausible/ Last updated: 2026-07-19T19:05:21.000Z Over mijn [afkeer van trackers](https://broddin.be/2020/07/21/pihole-dood-aan-alle-trackers/) heb ik al eens een uitgebreide blogpost geschreven. Daarin stond ook een stuk voor alle webbouwers: Zo’n Facebook like button onder je artikels? Google Analytics? Adsense? Allemaal installeren ze trackers, en allemaal zijn ze heel verleidelijk om te gebruiken en eenvoudig toe te voegen. Weeg de voordelen tegen de nadelen af als bouwer. Ja, Google Analytics geeft je heel veel inzichten, maar zorgt er ook voor dat Google jouw website meeneemt in de profielen die ze van ieder van ons maken. En is het echt nodig om te weten hoeveel % van je bezoekers graag fritjes eten? Tijd dat marketeers hun honger naar data een beetje intomen seg. ## Cookiehonger Trackers vertragen je Internetervaring en zorgen ervoor dat je 0 privacy hebt, maar ze hebben nog een ander nadeel (of voordeel – het is hoe je ‘t bekijkt). Ze moeten toestemming vragen om hun cookie te plaatsen. De zogenaamde cookie consent. Dat ziet er dan zo uit: ![](https://broddinblog.on-forge.com/storage/458/screenshot-2021-01-07-at-083347-3.jpg) Hoeveel UX-werk er ook inkruipt om die dingen zo helder mogelijk te maken: ze blijven kut. Zowel als bezoeker, als als webontwikkelaar. Want het laatste dat je wil is dit te moeten toevoegen op al je websites. ## De oplossing Maar er is [een heel eenvoudige oplossing](https://ma.ttias.be/loophole-cookie-notices/?ref=broddin.be): zet geen cookies. Je hebt ze niet nodig. Geslepen **content marketeers** hebben ons de afgelopen 25 jaar het idee verkocht dat we moeten weten welke schoenmaat onze bezoekers hebben en of een rode knop vaker wordt aangeklikt dan een groene. Maar tijd om wakker te worden: **dat hoeft echt niet**. ## Maar ik tel graag bezoekers Ja, ik ook. En tot voor kort dacht ik dat er niet rond **Google Analytics** te komen viel voor het bijhouden van bezoekers, maar toen leerde ik twee fijne alternatieven kennen. ### Fathom Analytics [Fathom Analytics](https://usefathom.com/?ref=broddin.be) provides simple, privacy-focused website analytics software to our amazing customers. We’ve been doing this for several years now, and we’ll be doing it for many years to come. [Fathom](https://usefathom.com/?ref=broddin.be) is een uiterst simpele dienst, en doet me van uitzicht denken aan hoe vroeger een Nedstat eruit zag. ![](https://broddinblog.on-forge.com/storage/459/screenshot-2021-01-07-at-162349.jpg) Ze dragen privacy hoog in ‘t vaandel, gebruiken **geen cookies** en je krijgt er gratis uptime monitoring bij. Maar ze zijn wel **redelijk prijzig**: $14 / maand voor 100K pageviews. Da’s betaalbaar voor bedrijven, maar **aan de dure kant voor hobbyprojecten**. Het is wel mogelijk om Fathom **zelf te hosten** in een [Dockercontainer](https://hub.docker.com/r/usefathom/fathom/?ref=broddin.be) . Dat is heel genereus van de makers, maar jammer genoeg gebruiken ze dan een cookie (ze noemen het ook Fathom Lite) en moet je dus een cookie-banner tonen. ### Plausible [Plausible Analytics](https://plausible.io/?ref=broddin.be) is an open-source project dedicated to making web analytics more privacy-friendly. Our mission is to reduce corporate surveillance by providing an alternative web analytics tool which doesn’t come from the AdTech world. Net zoals bij Fathom staat privacy bij [Plausible](https://plausible.io/?ref=broddin.be) op de eerste plaats. Ze zetten **geen cookies**, beloven ook plechtig geen data te verkopen en zijn daarnaast **volledig open-source**. Hun dashboard ziet er iets **mooier** uit dan dat van Fathom, en ze zijn **betaalbaarder**: $6 / 10K pageviews en $12 / 100K pageviews. ![](https://broddinblog.on-forge.com/storage/460/screenshot-2021-01-07-at-165823.jpg) Ze bieden ook integratie met de **Google Search Console** en **UTM-tags**, dus content marketeers zouden hier ook gelukkig van moeten worden. En, een leuke extra: je kan een [share-link](https://stats.broddin.be/share/FSfPfe0jrkud9yCqWjibp?ref=broddin.be) maken om gasten toegang te geven tot de statistieken van één bepaalde site (eventueel beschermd met een paswoord). Je kan Plausible ook **zelf hosten**, en daar hebben ze degelijke en [uitgebreide documentatie](https://plausible.io/docs/self-hosting?ref=broddin.be) voor. Zo draai ik het zelf voor mijn projecten ## Bijkomende voordelen Naast het niet moeten tonen van een cookie-banner zijn er nog t**wee grote voordelen** verbonden aan het gebruiken van een alternatief voor Google Analytics: - **Kleinere scripts**: dat van Plausible is 1kB, dat van Google Analytics is bijna 50 kB. - **Ad-blockers**: Google Analytics wordt door elke ad-blocker geblokkeerd. Dat zijn bezoekers die je niet meet. Zowel Fathom als Plausible worden dat niet, en je kan bij beiden ook een custom domein instellen. Durf dus af te stappen van Google Analytics als tool voor het meten van bezoekers. Er zijn **alternatieven**, die je ook goede data geven om gefundeerde beslissingen mee te maken. Ze schenden alleen de privacy van je bezoekers niet en zorgen ook voor een sneller ladende website. Nog vragen of opmerkingen? Contacteer me gerust. ### My home network URL: https://broddin.be/my-home-network/ Last updated: 2026-07-19T19:05:21.000Z I regularly get questions about how my network and applications are organized at home. That’s why I made this blog post. To share my setup and learnings with you. ## The server cabinet Until recently, there was quite a mess underneath our countertop. Somewhere between the potatoes and the milk, you could find our modem and a lot of wires. To untangle this mess, I bought [a small server cabinet](https://www.allekabels.be/serverkast/7070/1324752/netwerk-wandkast-6u.html?gclid=CjwKCAiAudD%5FBRBXEiwAudakX6X85FxMCLywh3rld9V2qNhv9EKZF6kw48yuRni6EC3KvVFXK24vZBoCCYUQAvD%5FBwE&ref=broddin.be). ![The server cabinet](https://broddinblog.on-forge.com/storage/473/491532b4-58ed-493b-9a03-0001f024b13b-1-105-c.jpg) The server cabinet Inside this server cabinet, the Internet enters via a modem owned by our ISP Telenet. This is a modem-only model. That model does not have WiFi, but also no built-in router, so (if you already have a router yourself) you will not suffer from double NAT. **Tip:** Telenet can be a PITA about providing such a modem. Contact them via WhatsApp, tell them you’re having problems with your VPN (not lying in my case), and ask if you can pick up a modem-only model at the Telenet shop. ## Unifi Dream Machine Pro The modem is connected to my router: the **Unifi Dream Machine Pro**. It has 8 UTP ports and 1 SFP port for a fiber optic backbone cable. ![Look at that tiny little screen](https://broddinblog.on-forge.com/storage/474/img-1976.jpg) Look at that tiny little screen The Dream Machine Pro is a serious machine that offers a **firewall with IPS/IDS**, **VPN** and clear insights into what is happening on our network. ![](https://broddinblog.on-forge.com/storage/475/screenshot-2021-01-04-at-163502.jpg) The UDM Pro also allows the network’s different devices to be divided into virtual networks (**VLAN**). For example, a Windows machine running under VMware can be isolated from the rest of the network. ## Synology On top of the UDM Pro lays a Synology NAS. It contains media, important documents, and backups (Time Machine). Every night important things are synchronized with the cloud. ![](https://broddinblog.on-forge.com/storage/476/7-image-3.png) ## Docker The Synology NAS also serves as a **Docker host**. Docker is a virtualization environment that allows applications to run in **containers**. Docker allows applications to run on their own islands without depending too much on the running operating system. I have **a lot of** containers running. These are the most important: - **Plex**: the most famous media server. It allows us to play media stored on our NAS on our Apple TV or anywhere on the go. Synology has a package for Plex, but they’re lagging behind the official releases. - **Pihole**: blocks trackers and ads. I already wrote a blog post about it before. The DHCP server of our UDM Pro returns the PiHole as a DNS server. You should set it up with a macvlan network so that it gets its own IP address on your network (see my docker-compose below). - **Traefik**: a reverse proxy, ensures that all Docker services are accessible via easy to remember URLs and provides SSL certificates. - **route53-dynamic-dns**: updates our external domain name. - [Watchtower](https://hub.docker.com/r/v2tec/watchtower/?ref=broddin.be): updates our docker containers automatically. - **Portainer**: a management environment for Docker. This way, you don’t have to remember all the Docker commands. - [Freqtrader](https://hub.docker.com/r/freqtradeorg/freqtrade/?ref=broddin.be): a bot that trades crypto. - **Heimdall**: a portal site for all network services. Synology has its own package to create Docker containers, but this is fairly basic. It is more flexible to create a [docker-compose.yml](https://docs.docker.com/compose/?ref=broddin.be) file in which you describe all containers. ![](https://broddinblog.on-forge.com/storage/559/favicon.svg) ## Home Assistant Also in the server cabinet: a Raspberry Pi 4 running [Home Assistant](https://www.home-assistant.io/?ref=broddin.be). We have quite a few things in the house that are “**connected**“: our Hue lights, Apple TV, Google Home, washing machine, and even my bike and car. Home Assistant allows us to view all these things in one interface and do fun stuff with it. For example, our Google Home says when the laundry is ready, or I get a push notification every time our car is parked somewhere and is not locked. Soon I will write an article about everything I do with Home Assistant. ## VMware ESXi There is also a 7-year-old Mac Mini in the server cabinet running VMware ESXi. This is (free) virtualization software. I run old operating systems like Windows 95 and BeOS for fun, and Windows 10 to test sites in Internet Explorer. ![Blokken 3 / Windows 98](https://broddinblog.on-forge.com/storage/478/screenshot-2021-01-05-at-162846.jpg) Blokken 3 / Windows 98 ## ESPHome The last thing that lies in the server cabinet is an ES P8266 microcontroller with DHT11 sensor. It runs eSPHome, a firmware for automation purposes, and gives HomeAssistant the server cabinet’s temperature and humidity. ![](https://broddinblog.on-forge.com/storage/480/screenshot-2021-01-04-at-174150.jpg) ## Going upstairs Both a **fiber optic** and a regular **UTP CAT6** cable depart towards the second floor from the Dream Machine Pro. Should the fiber optic connection fail (due to a break or something), the UTP cable will take over. Putting cables through a ceiling sucks, so it was easier to do 2 cables at once. This cable enters an Unifi Switch 8 150W. All ports are occupied by the Apple TV, iMac, game consoles, a Philips Hue bridge, and the WiFi router. ## WiFi Our house has many floors, and WiFi has always been problematic here. Simple repeaters repeat every package they hear and are therefore amplify the noise. The solution is **mesh-WiFi**, where an access point is placed on each floor. Each antenna knows which devices it operates, and the mutual access points communicate among themselves over their own channel. I chose **Ubiquiti’s Amplifi** system a few years ago. This works flawlessly since day one. Everywhere in the house (besides in the basement), the range is excellent. It does not do WiFi 6 or PoE, so I expect to replace it with access points from big brother Unifi within a few years. ![](https://broddinblog.on-forge.com/storage/480/screenshot-2021-01-04-at-174150.jpg) ## The basement We have a washing machine with WiFi. It sends out notifications when the laundry is done. One problem: there is no WiFi signal in our basement. That’s why another UTP cable goes down from the server cabinet, into the basement. An old Apple router serves as an access point for the washing machine. In the basement there is also an ESPHome to measure the temperature and humidity. ## Internet of things Over the years I have acquired a lot of “smart” devices in my home. We currently have this in house: - 3 ESPHomes (temperature/humidity) - 3 WLEDs - Roborock vacuum cleaner - Withings Smart Scale - Withings Home Baby Monitor - Withings Aura - Some more (smart) speakers - The doorbell - 6 Nest smoke detectors - The washing machine ![3 jaar tekenles gehad](https://broddinblog.on-forge.com/storage/481/untitled-artwork-4-1.jpg) 3 jaar tekenles gehad ### Ons thuisnetwerk URL: https://broddin.be/ons-thuisnetwerk/ Last updated: 2026-07-19T19:05:22.000Z Ik krijg regelmatig vragen over hoe het hier thuis allemaal in elkaar zit qua netwerk en toepassingen. Ex-schoolgenoot Herman post regelmatig over [zijn thuisnetwerk](https://www.dailybits.be/item/homeoffice-thuisnetwerk-serverkast-homelab/?ref=broddin.be), dus ik dacht toch ook eens een overzicht te maken. ## De serverkast Onder ons aanrecht stonden tot voor kort de cornflakes, de melk, da aardappels en ergens onder dat alles de Telenet-modem. Dat was nogal een rommel en dus besloot ik vorig jaar [een echte serverkast](https://www.allekabels.be/serverkast/7070/1324752/netwerk-wandkast-6u.html?gclid=CjwKCAiAudD%5FBRBXEiwAudakX6X85FxMCLywh3rld9V2qNhv9EKZF6kw48yuRni6EC3KvVFXK24vZBoCCYUQAvD%5FBwE&ref=broddin.be) te kopen. Een relatief klein model, zodat de cornflakes ook nog plek hebben, maar groot genoeg voor alles dat erin moet. ![De serverkast in opbouw](https://broddinblog.on-forge.com/storage/473/491532b4-58ed-493b-9a03-0001f024b13b-1-105-c.jpg) De serverkast in opbouw In de serverkast komt het Internet binnen via een Telenet-modem. Dit is een modem-only model. Dat model heeft geen WiFi, maar ook geen ingebouwde router, waardoor je (als je zelf al een router hebt) geen last hebt van dubbele NAT. **Tip:** Telenet doet soms moeilijk over het verstrekken van zo’n modem. Contacteer ze via WhatsApp, zeg dat je problemen met je VPN hebt (niet gelogen in mijn geval) en vraag of je een modem-only model mag gaan ophalen in de Telenet shop. Als ze daar moeilijk doen kan je dat bericht laten zien. ### Unifi Dream Machine Pro De router die achter mijn Telenet hangt is de **Unifi Dream Machine Pro**. Die heeft 8 UTP-poorten en 1 SFP-poort voor de glasvezel naar boven. ![](https://broddinblog.on-forge.com/storage/474/img-1976.jpg) Die Dream Machine Pro is een serieuze machine die naast **firewall met IPS/IDS** en **VPN** ook inzicht geeft in wat er zich op ons netwerk afspeelt. ![](https://broddinblog.on-forge.com/storage/475/screenshot-2021-01-04-at-163502.jpg) Ook staat de UDM Pro toe de verschillende apparaten op het netwerk hier onder te verdelen in virtuele netwerken (**VLAN**), zodat bijvoorbeeld een Windowsmachine die onder VMWare draait geïsoleerd kan worden en niet aan de rest van het netwerk kan. ### Synology Bovenop de UDM Pro staat een **Synology NAS**. Hierop staan media, belangrijke documenten en backups (**Time Machine**). Elke nacht (als data niet meetelt bij Telenet) worden belangrijke zaken ook naar de cloud gestuurd. De Synology is ondertussen al een paar jaar oud, maar doet zijn job nog steeds uitstekend. ![](https://broddinblog.on-forge.com/storage/476/7-image-3.png) ### Docker Die Synology doet tevens dienst als **Dockerhost**. Docker is een virtualisatie omgeving die toelaat om applicaties in **containers** te draaien. Kort door de bocht: Docker staat toe om applicaties op hun eigen eilandjes te draaien, zonder dat ze al te veel afhangen van het draaiende besturingssysteem. Ik heb **heel veel** containers draaien en ga ze niet allemaal overlopen, maar dit zijn er enkele: - [Plex](https://hub.docker.com/r/linuxserver/plex?ref=broddin.be)**:** de bekendste **mediaserver**. Het staat ons toe om media die op onze NAS staat af te spelen op onze Apple TV of eender waar onderweg. Synology heeft een pakket voor Plex, maar updaten ze altijd heel laat na officiële releases. - **Pihole:** blokkeert t**rackers en advertenties**, ik [schreef er eerder al een blogpost over](https://broddin.be/2020/07/21/pihole-dood-aan-alle-trackers/). Onze UDM Pro geeft de PiHole als DNS-server terug. Je stelt deze best in met een macvlan-netwerk zodat deze een eigen IP-adres op je netwerk krijgt (zie mijn docker-compose hieronder). - [Traefik](https://hub.docker.com/%5F/traefik?ref=broddin.be): een reverse-proxy, zorgt ervoor dat alle Docker diensten via makkelijke URL’s bereikbaar zijn en zorgt ook voor SSL-certificaten. - [route53-dynamic-dns](https://hub.docker.com/r/sjmayotte/route53-dynamic-dns/?ref=broddin.be)**:** update het domein waarop ons netwerk (via VPN) bereikbaar is van buitenaf als m’n Telenet IP-adres wijzigt. - [Watchtower](https://hub.docker.com/r/v2tec/watchtower/?ref=broddin.be): houdt alle Dockercontainers in ‘t oog en update ze wanneer er updates beschikbaar zijn. - [Portainer:](https://hub.docker.com/r/portainer/portainer?ref=broddin.be) een beheersomgeving voor Docker. Zo hoef je niet alle Dockercommando’s te onthouden. - **Freqtrader:** een bot die crypto verhandelt. - **Heimdall:** een portaalsite waar je al je diensten binnen je netwerk op kan beschikbaar maken. Synology heeft zijn eigen pakket om Dockercontainers te maken, maar dit is redelijk basic. Het is flexibeler om zelf een [docker-compose](https://docs.docker.com/compose/?ref=broddin.be).yml bestand te maken waarin je alle containers beschrijft. ![](https://broddinblog.on-forge.com/storage/559/favicon.svg) ### Home Assistant Nog in de serverkast: een Raspberry Pi 4 die [Home Assistant](https://www.home-assistant.io/?ref=broddin.be) draait. We hebben hier in huis redelijk wat dingen die “**connected**” zijn: onze Hue lampen, Apple TV, Google Home, wasmachine, en zelfs mijn fiets en auto. Home Assistant staat ons toe om al die zaken in 1 interface te bekijken en er leuke dingen mee te doen. Zo zegt onze Google Home bijvoorbeeld wanneer de was klaar is, of krijg ik een pushmelding elke keer onze auto ergens geparkeerd is en niet op slot staat. Binnenkort schrijf ik een artikel over alles wat ik met Home Assistant doe. ### VMWare ESXi Er ligt ook nog een 7 jaar oude Mac Mini in de serverkast, waarop VMWare ESXi draait. Dit is ([gratis](https://my.vmware.com/en/group/vmware/evalcenter?p=free-esxi7&ref=broddin.be)) virtualisatiesoftware waarop ik oude **besturingssystemen** zoals Windows 95 en BeOS draai voor het plezier, en Windows 10 als er echt nog eens een website in Internet Explorer moet werken. Het leuke is dat dit ook werk als ik van buitenshuis via VPN op ons netwerk ben ingelogd. Ik kan dus overal ter wereld Blokken 3 spelen. ![Blokken 3 op Windows 98](https://broddinblog.on-forge.com/storage/478/screenshot-2021-01-05-at-162846.jpg) Blokken 3 op Windows 98 ### ESPHome Het laatste dat in de serverkast ligt is een ESP8266 microcontroller met DHT11-sensor. Die draait ESPHome, een firmware voor **automatisatiedoeleinden** en geeft aan HomeAssistant de temperatuur en vochtigheid in de serverkast door. ![](https://broddinblog.on-forge.com/storage/480/screenshot-2021-01-04-at-174150.jpg) ## Naar boven Vanuit de Dream Machine Pro vertrekken er zowel een **glasvezel** als een gewone **UTP CAT6**\-kabel naar boven. Mocht de glasvezelverbinding uitvallen (door een breuk ofzo), dan neemt de UTP-kabel het over. Kabels trekken door een plafond is kut, dus het was makkelijker om ineens 2 kabels te doen. Deze kabel komt uit in een **Unifi Switch 8 150W.** Op deze switch is zoveel mogelijk bekabeld aangesloten: de Apple TV, de iMac, gameconsoles, een Philips Hue bridge en de WiFi-router. ## WiFi Ons huis telt veel verdiepingen en WiFi is hier altijd problematisch geweest. Met simpele repeaters zoals Telenet uitdeelt kom je niet echt ver, die herhalen gewoon elk pakket dat ze horen en zijn daardoor niet meer dan een domme flessenhals. De oplossing is **mesh-WiFi**, waarbij op elke verdieping een access point geplaatst wordt. Hierbij weet elke antenne welke apparaten hij bedient en communiceren de onderlinge access points onderling over een eigen kanaal. Ik koos enkele jaren geleden voor het **Amplifi**\-systeem van Ubiquiti. Dit werkt sinds de aankoop vlekkeloos. Overal in huis (buiten de kelder) is het bereik uitstekend. Het doet wel geen WiFi 6 of PoE, dus ik verwacht dit binnen een paar jaar door access points van grote broer Unifi te vervangen. ![](https://broddinblog.on-forge.com/storage/469/image.jpg) ## De kelder Toen we onze wasmachine zochten was WiFi geen vereiste, maar het was toch mooi meegenomen. Een notificatie op je smartphone als de was gedaan is is wel handig. Eén probleem: in onze kelder is geen WiFi signaal. Daarom gaat er vanuit de serverkast nog een UTP-kabel naar beneden waar een oude Apple router dienst doet als access point voor de wasmachine. In de kelder hangt ook nog een ESPHome om de temperatuur en vochtigheid te meten. ![De temperatuur in de kelder het afgelopen half jaar](https://broddinblog.on-forge.com/storage/470/screenshot-2021-01-06-at-082324.png) De temperatuur in de kelder het afgelopen half jaar ## Internet of things Door de jaren heen heb ik een hele hoop “slimme” apparaten in huis bijgekregen. Dit hebben we momenteel in huis: - 2 ESPHome’s (temperatuur/vochtigheid) - [2 WLED’s](https://broddin.be/2021/01/15/hang-je-huis-vol-sensors-met-esphome/) - [Roborock stofzuiger](https://broddin.be/2021/02/09/review-roborock-h6/) - Withings smart scale - Withings home babymonitor - Withings Aura - Nog wat (smart) speakers - De deurbel - 6 Nest rookmelders - De wasmachine Op termijn wil ik die nog isoleren van de rest van het netwerk, maar da’s me tot hiertoe nog niet gelukt. ## Schema ![3 jaar tekenles gehad](https://broddinblog.on-forge.com/storage/481/untitled-artwork-4-1.jpg) 3 jaar tekenles gehad # Einde Ziezo, da’s een snel overzicht van hoe het hier qua netwerk in huis in elkaar steekt. Nog vragen of opmerkingen? Contacteer me gerust. ### How I turned our stairwell into a nightclub URL: https://broddin.be/how-i-turned-the-stairwell-into-a-nightclub/ Last updated: 2026-07-19T19:05:23.000Z Recently we transformed our attic into a bedroom for our eldest daughter. There was no door before, so we had had a closet made with a sliding door in it. As a result, the attic is divided into a bedroom on one side and a dark staircase on the other. That dark stairwell begged for lights. After some playing around, this is the result. ![](https://broddinblog.on-forge.com/storage/490/f1ec4baf-28ee-49af-b46f-22b093efdfaa.jpg) ## TL;DR; Order this: - [ESP8266-board](https://www.aliexpress.com/item/4001278785276.html?spm=a2g0o.productlist.0.0.2fc2129e62VkAC&algo%5Fpvid=9e8575c2-7bd7-4427-8b00-22bda93b0c8a&algo%5Fexpid=9e8575c2-7bd7-4427-8b00-22bda93b0c8a-1&btsid=0b0a050116097480144134899ed1a5&ws%5Fab%5Ftest=searchweb0%5F0,searchweb201602%5F,searchweb201603%5F&ref=broddin.be) - [Power supply](https://www.tinytronics.nl/shop/nl/voedingen/5v/mean-well-voeding-5v-10a-switching-power-supply-lrs-50-5?ref=broddin.be) - [Power Cord](https://www.tinytronics.nl/shop/nl/kabels/230v-voeding/standaard-230v-voedingskabel-1.8m-haakse-stekker?ref=broddin.be) - [Jumper cables](https://www.kiwi-electronics.nl/componenten-onderdelen/prototyping/jumperwires-kabeltjes/Premium-Jumperwires-40-stuks-op-strip-20cm-male-female?ref=broddin.be) - [2 LED strips (5m IP30 60 leds/m)](https://nl.aliexpress.com/item/4000148759042.html?ref=broddin.be) - Micro-USB cable If you follow my fantastic schematic below and flash WLED to your ESP8266, you’re done. ## Introduction Two years ago, I began to immerse myself in the beautiful world of Arduino. For the novice: an **Arduino** is a small development board with a **microcontroller**, with which you can program circuits. Arduino’s are somewhat limited in terms of computing power, and if you want to connect to the Internet, you’ll have to put in a lot of effort. ## ESP Luckily other development boards are very good at that. Those boards contain the **ESP8266** microchip. That chip can be programmed in the same way as an Arduino but has **built-in WiFi** and the necessary libraries to enable IoT applications. His big brother, the ESP32, is also equipped with Bluetooth (and is twice as fast). The ESP family also has **a great price**. ESP8266 and ESP32 plates can be found on Aliexpress for less than 5 euros, which’s way less than the 30 euros you pay for a real Arduino UNO. Such an ESP board is ideal for connecting some sensors to, for example, to monitor the temperature of a room in real-time, but they are also suitable for controlling LEDs from a distance. ## Lights On Aliexpress, you can find LEDs of all shapes and sizes for almost no money. The easiest to control are 5V LEDs with **WS2812B** pixels (chip+LED). These are individually addressable (so each light can get a different color) and controlled with a high refresh rate. I have already ordered these lights myself: - [Christmas tree lights, 50 pieces for €5,44](https://nl.aliexpress.com/item/32963242773.html?ref=broddin.be). - [Flexible panels, around €10 for 256 LEDs](https://nl.aliexpress.com/item/1005001274718003.html?ref=broddin.be). - [LED strips of 5 meters with 300 LEDs for €11,39](https://nl.aliexpress.com/item/4000148759042.html?ref=broddin.be) In this post, I’m going to focus on the **LED strips**. I ordered 2 of them for the staircase, 1 for each side, so that’s 600 LEDs in total. ![Just a stock photo](https://broddinblog.on-forge.com/storage/491/9-image.png) Just a stock photo ## Power supply The easiest way to power an ESP8266 is via the micro USB port found on most boards. This has the disadvantage that you have relatively little amperage to control your LEDs. Knowing that each LED requires 60 milliamperes (20 milliamperes per color: red-green-blue at maximum brightness), you will be able to provide some 15 to 30 LEDs with full brightness **without an external power supply** (depending on the current of your USB adapter). The amount of LEDs you can drive is always higher in practice because you will not be showing bright white light a lot. If you want to control 600 LEDs, you can’t get around an **external power supply**. The math 600 \* 0.06A comes to a power supply of **36A**. But to test, I used [a power supply of 10A](https://www.tinytronics.nl/shop/nl/voedingen/5v/mean-well-voeding-5v-10a-switching-power-supply-lrs-50-5?ref=broddin.be), and it works perfectly. Because playing with 220 volts involves a little more risk, I also ordered locally and not on Aliexpress. ![A 10A power supply](https://broddinblog.on-forge.com/storage/492/10-image-1.png) A 10A power supply ## Connecting Connecting the LED strip itself is painless. The WS2812B strips have three wires: **red** (current), **black** (ground), and **green** (data). I have placed a diagram of my connection below: ![](https://broddinblog.on-forge.com/storage/493/untitled-artwork-3.jpg) As you can see (or not – because it’s really a lousy scheme), I connect the power supply to the board (via the VIN and GND pins) and different locations on the LED strips. 5V LEDs lose some voltage along the way, and by supplying them with power in different places, you **prevent the start of your ribbon from being brighter than the end**. I also connect the black wire of the strip to a GND pin of the ESP8266\. Otherwise, the data line would not work. Attentive readers will now say: the ESP8266 works on 3.3V, and your power supply and strip are 5V. How does that work? - For the board, it’s not a problem. The boards I use (and I suspect almost all ESP8266’s) convert power via USB and VIN internally to 3.3V. - **In theory**, you should convert the data signal on pin D4 via a level shifter, but I have never had to do this in practice. If you get funky things like flashing LEDs or pieces of the strip that do nothing, I recommend adding a level shifter in between. ![The power supply (top) and ESP8266 (bottom)](https://broddinblog.on-forge.com/storage/494/8c67726d-cbea-44bf-bf1a-2b603ec26428.jpg) The power supply (top) and ESP8266 (bottom) ## Software 1. Write a sketch yourself in the **Arduino IDE**, using an existing library such as [FastLED](http://fastled.io/?ref=broddin.be). This gives a lot of flexibility, but you have to do everything yourself. 2. Put [ESPHome](https://esphome.io/?ref=broddin.be) on your board. This is a firmware that focuses on **smart home applications** and makes it easy to make all kinds of **sensors**, **buttons**, and LEDs accessible via, for example, [Home Assistant](https://www.home-assistant.io/?ref=broddin.be). I use ESPHome to pass the temperature in my server cabinet and the humidity in the basement to HomeAssistant. For each application you want to create, you write a simple configuration file ([example](https://gist.github.com/TimBroddin/230bb7674a7171ced76286797d4f1a4c?ref=broddin.be)). You say which data pin each sensor is connected to, and after you flash it, you will see the necessary entities HomeAssistant. 3. Put [WLED](https://github.com/Aircoookie/WLED?ref=broddin.be) on your board. WLED is a bit like ESPHome, but just for LEDs. Where ESPHome comes with a dozen (reasonably basic) **effects**, there are more than a hundred in WLED. You’ll also get beautiful c**olor palettes**, the ability to create different **segments** (each with a different effect or mirrored), and lots of crazy extras like a custom app, user-friendly website, Philips Hue sync, and Home Assistant integration. The most user-friendly and comprehensive way is WLED. To put this on your ESP8266 using a Mac: - Open a Terminal - `pip3 install esptool.py` - [Download the latest version](https://github.com/Aircoookie/WLED/releases?ref=broddin.be) of WLED (WLED\_0.11.1\_ESP8266.bin at time of writing) - Go to the right folder - `esptool.py write_flash 0x0 ./WLED_0.11.1_ESP8266.bin` - You should be able to connect to the WiFi network *WLED-AP* with password *wled1234*. - If you browse to [http://wled.me](http://wled.me/?ref=broddin.be), you should get to the setup page where you need to set up your WiFi, among other things. Once connected to your WiFi, you can set up your LEDs via the **app** ([iOS](https://apps.apple.com/us/app/wled/id1475695033?ref=broddin.be) and [Android](https://play.google.com/store/apps/details?id=com.aircoookie.WLED&ref=broddin.be)) or in the browser ([http://wled.local](http://wled.local/?ref=broddin.be)). For example, you’ll have to indicate **how many LEDs** you want to control and how many amperes your power supply delivers, so WLED won’t overload. You can also divide your LEDs into multiple **segments**. You can find additional explanations [here](https://github.com/Aircoookie/WLED/wiki?ref=broddin.be) and [here](https://github.com/Aircoookie/WLED/wiki/Install-WLED-binary?ref=broddin.be) if it doesn’t work out. ![Not the prettiest app, but it works!](https://broddinblog.on-forge.com/storage/495/img-3934-1.png) Not the prettiest app, but it works! After installing, you can start playing with the many **effects**, **palettes**, and other fun stuff. If you have Home Assistant installed, the integration will also appear automatically. WLED effectjes ## Conclusion The total cost of this project was **less than 50 euros**. That’s 10 meters of LEDs for [much less](https://www.beaumotica.nl/philips-hue-lightstrip-plus-wit-en-gekleurd-licht-2m-basis-8718699703424?channable=0208b4736b750038373138363939373033343234f1&gclid=Cj0KCQiAlsv%5FBRDtARIsAHMGVSbSWjeD83MqyI-%5FK2-Tf7o9hRc92iBYF7Wz3fBkTLk164oAmx8B8IEaAtBzEALw%5FwcB&ref=broddin.be) than Philips sells you for only 2 meters (which can not even display different colors). Looking for a new hobby for 2021? Then I can only recommend playing with **microcontrollers** and home automation. By the way, I still have a few posts in the pipeline about ESPHome and HomeAssistant. So stay tuned. Any questions or comments? Leave them below! \--- - The **double-sided tape** that hangs on the LED strips is not of excellent quality. I expect I’ll have to replace it with something more decent. - Jumper wires tend to **loosen**. In time, I’m going to solder everything up. - The power supply dares to make a [squeaking sound](https://www.diyaudio.com/forums/power-supplies/321472-meanwell-epp-200-27-whining-hissing-2.html?ref=broddin.be) at low loads. That’s normal. - Are the **colors wrong**? Is red displayed as green and green as red? In the settings of WLED, you can choose the order. The order of the LED strip I use is GRB (green-red-blue). - I plan to equip this project with a motion sensor and a switch. WLED is easy to **customize**, and there are already many [usermods](https://github.com/Aircoookie/WLED/tree/master/usermods?ref=broddin.be). - There is also [a fork](https://github.com/atuline/WLED/wiki?ref=broddin.be) of WLED that responds to sound, interesting for cool visualizations. ### Hoe ik van de traphal een nachtclub maakte URL: https://broddin.be/600-leds-met-een-esp8266-en-wled/ Last updated: 2026-07-19T19:05:23.000Z Onlangs hebben we onze brakke zolder omgetoverd tot slaapkamer voor onze oudste dochter. Doordat daar slechts een trapgat was, hebben we een kast laten plaatsen met een schuifdeur in. Hierdoor werd de ruimte opgesplitst in de kamer enerzijds, en een donkere traphal anderzijds. Die donkere traphal smeekte om lichtjes. Na wat spelen is dit het resultaat. ![](https://broddinblog.on-forge.com/storage/490/f1ec4baf-28ee-49af-b46f-22b093efdfaa.jpg) ## TL;DR Pas na het schrijven van deze blogpost had ik door dat de vertelstijl niet de beste is voor als je ook gewoon 600 leds in een traphal wil ophangen. Daarom deze korte samenvatting, bestel dit: - [ESP8266-bord](https://www.aliexpress.com/item/4001278785276.html?spm=a2g0o.productlist.0.0.2fc2129e62VkAC&algo%5Fpvid=9e8575c2-7bd7-4427-8b00-22bda93b0c8a&algo%5Fexpid=9e8575c2-7bd7-4427-8b00-22bda93b0c8a-1&btsid=0b0a050116097480144134899ed1a5&ws%5Fab%5Ftest=searchweb0%5F0,searchweb201602%5F,searchweb201603%5F&ref=broddin.be) - [Voeding](https://www.tinytronics.nl/shop/nl/voedingen/5v/mean-well-voeding-5v-10a-switching-power-supply-lrs-50-5?ref=broddin.be) - [Stroomkabel](https://www.tinytronics.nl/shop/nl/kabels/230v-voeding/standaard-230v-voedingskabel-1.8m-haakse-stekker?ref=broddin.be) - [Jumperkabeltjes](https://www.kiwi-electronics.nl/componenten-onderdelen/prototyping/jumperwires-kabeltjes/Premium-Jumperwires-40-stuks-op-strip-20cm-male-female?ref=broddin.be) - [2 ledstips (5m IP30 60 leds/m)](https://nl.aliexpress.com/item/4000148759042.html?ref=broddin.be) - Micro-usb-kabel Als je dan mijn fantastisch schema hieronder volgt en WLED naar je ESP8266 flasht ben je klaar. ## Inleiding Een jaar of twee geleden begon ik me te verdiepen in de wondere wereld van **Arduino**. Voor de leken: een Arduino is een klein ontwikkelbord met daarop een **microcontroller**, waarmee je schakelingen kan programmeren. Dat kan gaan van een lampje dat aangaat bij een bepaalde temperatuur, tot de volledige aansturing van een 3D-printer. Qua rekenkracht zijn Arduino’s eerder beperkt en wil je ermee online gaan dan moet je jezelf in 500 bochten wringen. ## ESP Al een geluk zijn er een andere ontwikkelbordjes die daar wel heel goed in zijn. Die bordjes bevatten de **ESP8266-**microchip. Die chip is op dezelfde manier te programmeren als een Arduino, maar heeft standaard **ingebouwde WiFi**, en de nodige bibliotheken om IoT-toepassingen mogelijk te maken. Zijn grote broer de ESP32 kan naast dat alles ook Bluetooth (en is dubbel zo snel). En niet alleen in functionaliteiten is de ESP-familie een flinke verbetering op Arduino, ook **qua prijs zijn het toppers**. ESP8266 en ESP32 bordjes vind je op AliExpress voor minder dan 5 euro, da’s heel wat minder dan de 30 euro die je voor een echte Arduino UNO betaalt. Zo’n ESP-bord is ideaal om wat sensors aan te hangen, om zo bijvoorbeeld realtime de temperatuur van een kamer in de gaten te houden, maar ze zijn ook goed om leds vanop afstand aan te sturen. ## Lampjes Op AliExpress vind je voor bijna geen geld leds in alle vormen en maten. Het makkelijkst aanstuurbaar zijn 5V leds met **WS2812B** pixels (chip+LED). Deze zijn individueel adresseerbaar (dus elk lampje kan een andere kleur krijgen) en kunnen met hoge refreshrate worden aangestuurd. Ik heb zelf deze lampjes al besteld: - [Kerstboomlampjes, 50 stuks voor €5,44](https://nl.aliexpress.com/item/32963242773.html?ref=broddin.be). - [Flexibele paneeltjes, rond de €10 voor 256 leds.](https://nl.aliexpress.com/item/1005001274718003.html?ref=broddin.be) - [Ledstrips van 5 meter met 300 leds voor €11,39](https://nl.aliexpress.com/item/4000148759042.html?ref=broddin.be) In deze post ga ik me focussen op **de ledstrips**. Daarvan heb ik er 2 besteld voor de traphal, voor elke kant 1\. Dat zijn dus 600 leds in totaal. ![Stockfoto van een ledstrip](https://broddinblog.on-forge.com/storage/491/9-image.png) Stockfoto van een ledstrip ## Voeding De makkelijkste manier om een ESP8266 van stroom te voorzien is via de micro- USB-poort die op de meeste bordjes te vinden is. Dit heeft wel als nadeel dat je relatief weinig stroomsterkte hebt om je leds aan te sturen. Wetende dat elke LED 60 milliampère vraagt (20 milliampère per kleur: rood-groen-blauw bij maximale helderheid) zal je zonder **externe voeding** iets van een 15 à 30 leds van maximale helderheid kunnen voorzien (afhankelijk van de stroomsterkte van je usb-adapter). In de praktijk valt dit altijd wel hoger uit, omdat je meestal geen helder wit gaat tonen en omdat 100% helderheid echt wel extreem helder is. Maar als je 600 leds wil aansturen kan je niet rond een **externe voeding**. De rekensom 600 \* 0,06A komt uit op een voeding van **36A**. Maar om te testen heb ik [een voeding van 10A](https://www.tinytronics.nl/shop/nl/voedingen/5v/mean-well-voeding-5v-10a-switching-power-supply-lrs-50-5?ref=broddin.be) gebruikt, en die werkt perfect. Omdat spelen met 220 volt toch iets meer risico inhoudt heb ik ook lokaal besteld en niet op AliExpress. ![De voeding in kwestie](https://broddinblog.on-forge.com/storage/492/10-image-1.png) De voeding in kwestie ## Aansluiten Het aansluiten van de ledstrip zelf is eenvoudig. De WS2812B-strips hebben drie draden: **rood** (stroom), **zwart** (grond) en **groen** (data). Ik heb hieronder een schema van mijn aansluiting geplaatst: ![](https://broddinblog.on-forge.com/storage/493/untitled-artwork-3.jpg) Zoals je kan zien (of niet – want het is echt een slecht schema) sluit ik de voeding aan op het bordje (via de VIN- en GND-pinnen) en op verschillende plekken op de ledstrips. 5V leds verliezen onderweg wat voltage en door ze op verschillende plekken van stroom te voorzien voorkom je dat het **begin van je strip helderder is dan het einde**. Ik verbind ook de zwarte draad van de strip met een GND-pin van de ESP8266, anders zou de datalijn niet werken. Aandachtige lezers zullen nu misschien zeggen: de ESP8266 werkt op 3.3V en je voeding en strip zijn 5V. Hoe kan dat? - Voor het bord is het geen probleem. De bordjes die ik gebruik (en ik vermoed quasi alle ESP8266’s) zetten stroom via USB en VIN intern om naar 3.3V. - Het data-signaal op pin D4 zou **in princip e** via een level shifter moeten omgezet worden, maar in de praktijk heb ik dit nog nooit moeten doen. Als je funky dingen krijgt zoals knipperende leds of stukken die niets doen, dan is het aangeraden om hier nog [een level shifter](https://www.kiwi-electronics.nl/74ahct126-viervoudige-level-shifter-3v-naar-5v?ref=broddin.be) tussen te steken. ![De voeding (boven) en de ESP8266 (onder)](https://broddinblog.on-forge.com/storage/494/8c67726d-cbea-44bf-bf1a-2b603ec26428.jpg) De voeding (boven) en de ESP8266 (onder) ## De software Om de kleur van de LEDs te kiezen heb je drie mogelijkheden: 1. Zelf een sketch schrijven in de **Arduino IDE**, gebruikmakend van een bestaande bibliotheek zoals [FastLED](http://fastled.io/?ref=broddin.be). Dit geeft heel wat flexibiliteit, maar je moet wel alles zelf doen. 2. [ESPHome](https://esphome.io/?ref=broddin.be) op je bordje zetten. Dit is een firmware die zich richt op **smarthome toepassingen**, en het makkelijk maakt om allerhande **sensors**, **knoppen** en leds toegankelijk te maken via bijvoorbeeld [Home Assistant](https://www.home-assistant.io/?ref=broddin.be). Ik gebruik ESPHome om de temperatuur in mijn serverkast en de vochtigheid in de kelder door te geven aan Home Assistant. Per toepassing die je zo maakt schrijf je een simpel configuratiebestand ([voorbeeld](https://gist.github.com/TimBroddin/230bb7674a7171ced76286797d4f1a4c?ref=broddin.be)), waarin je zegt op welke datapin van je bord wat is aangesloten en nadat je dit geflasht hebt zie je dan de nodige entiteiten Home Assistant. 3. [WLED](https://github.com/Aircoookie/WLED?ref=broddin.be) op je bordje zetten. WLED is een beetje zoals ESPHome, maar dan enkel en alleen voor LEDs. Waar ESPHome met een tiental (vrij basic) **effecten** komt zijn het er bij WLED meer dan honderd. Ook krijg je mooie **kleurpaletten**, de mogelijkheid om verschillende **segmenten** te maken (elk met een ander effect of gespiegeld), en een hoop zotte extra’s zoals een eigen app, gebruiksvriendelijke website, **Philips Hue** sync en Home Assistant integratie. De meest gebruiksvriendelijke en uitgebreide manier is WLED. Om dit op de Mac op je ESP8266 te zetten is het niet veel meer dan: - Terminal openen - `pip3 install esptool.py `typen - De laatste versie van WLED [downloaden](https://github.com/Aircoookie/WLED/releases?ref=broddin.be) (WLED\_0.11.1\_ESP8266.bin op moment van schrijven) - `esptool.py write_flash 0x0 ./WLED_0.11.1_ESP8266.bin` typen (vanuit het juiste pad). - Normaal kan je nu verbinden met het WiFi-netwerk `WLED-AP` met wachtwoord `wled1234`. - Indien je nu surft naar http://wled.me zou je op de instellingspagina moeten komen waar je onder andere je eigen WiFi moet instellen. Eens verbonden met je eigen WiFi kan je via **de app** ([iOS](https://apps.apple.com/us/app/wled/id1475695033?ref=broddin.be) en [Android](https://play.google.com/store/apps/details?id=com.aircoookie.WLED&ref=broddin.be)) of in de **browser** ([http://wled.local](http://wled.local/?ref=broddin.be)) je leds verder instellen. Zo dien je bijvoorbeeld aan te geven **hoeveel leds** je wil aansturen, en ook hoeveel **ampère** je voeding levert, zo zal WLED nooit je voeding overbelasten. Je kan hier je leds ook verdelen in meerdere **segmenten**. Op [deze](https://github.com/Aircoookie/WLED/wiki?ref=broddin.be) en [deze pagina](https://github.com/Aircoookie/WLED/wiki/Install-WLED-binary?ref=broddin.be) staat nog **extra uitleg** mocht het niet willen lukken. ![](https://broddinblog.on-forge.com/storage/495/img-3934-1.png) Daarna kan je beginnen spelen met de massa’s **effecten**, **paletten** en andere geinigheden. Als je **Home Assistant** gebruikt verschijnt de integratie normaal gezien vanzelf. ## Tot slot De totale kostprijs voor dit projectje was **minder dan 50 euro**. Da’s 10 meter leds voor veel[ minder](https://www.beaumotica.nl/philips-hue-lightstrip-plus-wit-en-gekleurd-licht-2m-basis-8718699703424?channable=0208b4736b750038373138363939373033343234f1&gclid=Cj0KCQiAlsv%5FBRDtARIsAHMGVSbSWjeD83MqyI-%5FK2-Tf7o9hRc92iBYF7Wz3fBkTLk164oAmx8B8IEaAtBzEALw%5FwcB&ref=broddin.be) dan waarvoor Philips je 2 meter verkoopt (die dan nog niet eens verschillende kleuren kan weergeven). Ok, je moet zelf wel wat prutsen, maar al bij al is dit een **relatief klein project** dat er wel **serieus graaf** uit ziet. Nog op zoek naar een nieuwe hobby voor 2021? Dan kan ik spelen met **microcontrollers** en home automatisatie alleen maar aanraden. Ik heb trouwens nog een paar posts in de pijpleiding zitten over ESPHome en Home Assistant. Dus stay tuned. Nog vragen of opmerkingen? Stuur me gerust iets op [Twitter](https://twitter.com/timbroddin?ref=broddin.be). \--- - De **dubbelzijdige tape** die aan de ledstrips hangt is niet van superkwaliteit. Ik verwacht dat ik die nog zal moeten vervangen door iets deftiger. - Jumperwires durven al eens loskomen. Op termijn ga ik alles nog vastsolderen. - De voeding durft bij lage belasting [een piepend geluid ](https://www.diyaudio.com/forums/power-supplies/321472-meanwell-epp-200-27-whining-hissing-2.html?ref=broddin.be)te maken. Da’s normaal. - Zijn de **kleuren fout**? Wordt rood als groen weergegeven en groen als rood? In de instellingen van WLED kan je de volgorde kiezen. De volgorde van de ledstrip die ik gebruik is **GRB** (green-red-blue). - Ik plan dit project nog uit te bereiden met een **bewegingssensor** en een **schakelaar**. WLED is op zich makkelijk uit te bereiden en er zijn al vele [usermods](https://github.com/Aircoookie/WLED/tree/master/usermods?ref=broddin.be). - Er bestaat ook [een fork](https://github.com/atuline/WLED/wiki?ref=broddin.be) van WLED die reageert op **geluid**, interessant voor coole visualisaties. ### Hip hip hoera: 15 jaar Wannabes URL: https://broddin.be/15-jaar-wannabes/ Last updated: 2026-07-19T19:05:23.000Z Rockfotografiecollectief [Wannabes](https://wannabes.be/?ref=broddin.be) bestaat 15 jaar. Tijd voor een korte terugblik. ## Het allerbegin Als bij toeval kwamen [Anton Coene](http://www.antoncoene.com/?ref=broddin.be) en ik elkaar online tegen ergens in 2005\. Hij had zijn naam gegoogled en kwam op mijn toenmalige blog uit, waar ik ooit iets had geschreven over twee leerkrachten van mij: “den Anton” en “mevrouw Coene”. De juiste details zijn me intussen ontgaan, maar we ontdekten al snel onze gemeenschappelijke passie (concertfotografie) en onze gedeelde frustratie (online media publiceerden destijds altijd maar 1 foto en in postzegelformaat). De bal ging aan het rollen en op 3 januari 2005 lanceerden we de de allereerste versie van Wannabes. Die zag er ongeveer zo uit: ![Wannabes 1.0](https://broddinblog.on-forge.com/storage/497/6a23dd3d-8a0e-49e5-baa0-1a231b294408.jpg) Wannabes 1.0 Hoewel dat er nu behoorlijk gedateerd uitziet moet je bedenken dat in 2006 er nog geen Facebook was, de iPhone nog uitgevonden moest worden en dat digitale reflexcamera’s nog maar net betaalbaar waren. ## Wannabes 2 Tijdens die eerste maanden was Wannabes niet meer dan een portfolio waar Anton en ik foto’s die we voor [Goddeau](https://enola.be/?ref=broddin.be), [FileUnder](http://www.fileunder.nl/?ref=broddin.be) en [KindaMuzik](http://kindamuzik.net/?ref=broddin.be) maakten plaatsten. Maar we kregen toch enige tractie en zagen dat er echt wel publiek was die de foto’s van het optreden dat ze de dag ervoor zagen online en in het groot wilden zien. Ergens in de zomer van 2006 zijn we actief nieuwe mensen gaan zoeken zodat onze portfoliosite tot een volwaardig collectief kon evolueren. ![Zomer 2006](https://broddinblog.on-forge.com/storage/498/919b2404-9e33-4c03-8339-58288a0e8c94.jpg) Zomer 2006 De vlucht die we vanaf toen namen was fenomenaal. We hadden het geluk op korte tijd met een hoop fijne mensen in contact te komen, zowel in het clubcircuit als bij de artiesten. We hadden ook een ongelofelijke drive, zo typten we bijvoorbeeld ooit alle e-mailadressen uit de Who’s Who van Eurosonic over, in de hoop dat iemand geïnteresseerd zou zijn in onze foto’s. Met succes: daardoor werden we dat jaar huisfotograaf op het Zwitserse festival [Sankt Gallen](https://www.openairsg.ch/?ref=broddin.be). ![](https://broddinblog.on-forge.com/storage/499/screenshot-2021-01-02-at-135012-1.jpg) ## Het Wannabes-DNA Festivals zijn voor Wannabes waar het altijd samenkomt. Tijdens het jaar zien we elkaar slechts sporadisch (als er toch echt eens vergaderd moet worden), maar op festivals proberen we altijd een groot team te sturen. Enerzijds omdat we graag alles coveren, maar ook omdat het gewoon veel fijner is om zoiets in groep te doen. Zo zijn levenslange vriendschappen gevormd. Vriendschappen die het foto’s nemen en over materiaal praten overstijgen. Er zit iets in het Wannabes-DNA (en neen, het is geen Duvel) dat uniek is, en dat niet na te maken is. Het is geen toeval dat Wannabes altijd en overal samenhokken. Of dat nu op Primavera, Best Kept Secret, één van de legendarische andere weekends of gewoon op café is. ![Pukkelpop 2016](https://broddinblog.on-forge.com/storage/500/13988100-10157285689515641-5088841161065191629-o.jpg) Pukkelpop 2016 ## 15 jaar verder Het was natuurlijk niet allemaal rozengeur en maneschijn. In 2013 verloren we heel ons archief door een fout van ons toenmalig hostingbedrijf. Backups waren er ook niet, dus we zijn toen effectief alles verloren. We zijn toen meer dan een jaar offline geweest, en hebben serieus moeten krabben om toch nog iets van de jaren ervoor te kunnen reconstrueren. ![Allemaal kwijt](https://broddinblog.on-forge.com/storage/501/screenshot-2021-01-02-at-141337.jpg) Allemaal kwijt Maar zelfs met het stuk archief dat we missen hebben we op die 15 jaar tijd meer dan 4000 optredens gefotografeerd, dat komt neer op meer dan 2000 artiesten, in een 300-tal zalen en op een 50-tal festivals. Door de jaren heen hebben er 35 mensen voor Wannabes gefotografeerd, en daarvan zijn er in 2021 nog 17 actief. Al heeft het al een paar keer aan een zijden draadje gehangen, we doen voort. Met vers bloed, hernieuwde goesting en binnenkort ook met een nieuwe website. Die nieuwe website hadden we vandaag graag gelanceerd (ze is af – en we hebben de lat voor onszelf heel hoog gelegd), maar het voelt wrang aan om dit te doen wanneer de hele culturele sector op zijn gat ligt. Daarom stellen we de feestelijkheden nog even uit tot onze levens terug wat normaler worden. Op naar de 20 jaar! ![](https://broddinblog.on-forge.com/storage/502/1929880-13176807884-457-n-1.jpg) \--- Merci, merci, merci, bedankt aan iedereen die Wannabes mogelijk gemaakt heeft. (Ex-)fotografen, platenfirma’s, mensen van alle mooie concertzalen, festivalorganisatoren, collega’s van andere media en iedereen anders die ons de afgelopen 15 jaar gesteund heeft. Jullie weten wie jullie zijn. Zin om ons te vervoegen? Stuur me gerust een [mail](mailto:tim@wannabes.be). ### Telegate van Telenet kapot URL: https://broddin.be/telegate-van-telenet-kapot/ Last updated: 2026-07-19T19:05:23.000Z Als je aan 80% van je surfvolume zit dan toont Telenet je een vriendelijke waarschuwing wanneer je naar een site probeert te surfen. Normaal klik je dan op een knop en klaar is kees. Maar blijkbaar is die waarschuwingspagina geregeld kapot, en dan zit je dus vast, want elke (niet HTTPS-)site waar je naar surft toont dan een foutmelding (van op het domein https://telegate.telenet.be): ![](https://broddinblog.on-forge.com/storage/504/img-3758-1.png) Gelukkig is hier de oplossing. Gewoon op [deze link](https://telegate.telenet.be/telegate/dynamic/clearwarning.html?redirectedByJavascript=true&ref=broddin.be) klikken en je bent er vanaf. ### Review: Roborock S6 MAXV - een lange naam voor een fijne robotvriend URL: https://broddin.be/roborock-s6-maxv-review/ Last updated: 2026-07-19T19:05:24.000Z Op dinsdag komt onze poetshulp. Niks zo fijn om dinsdagavond thuis te komen in een volledig gekuist huis. De realiteit met drie kinderen is echter dat er van dat proper huis na ongeveer een uur niks meer overschiet. Soms lijkt het alsof er meer eten op de grond belandt dan in hun maag. ## De domme Roomba In 2013, toen ik nog een vrijgezellenbestaan leefde op een klein appartement met twee ruivende katten, had ik ongeveer hetzelfde probleem. Katten zijn lieve beesten, maar toch ook vooral **vuiligheid**. Toen besloot ik een **robotstofzuiger** te kopen, zo’n iRobot Roomba. Dat ding was achteraf bekeken het **allerlompste stuk technologie** dat ik ooit in huis heb gehaald. ![](https://broddinblog.on-forge.com/storage/513/dommeroomba.png) Dat onding reed gewoon rechtdoor tot het een obstakel tegenkwam en koos dan **een willekeurige hoek** om verder in de rollen. Tot hij weer ergens tegen reed (met zwarte strepen op de muur als gevolg). En na een half uur was hij klaar, of het nu proper was of niet. Als hij al zo ver geraakte, want meestal eindigde hij **verstrengeld in een kabel**. Maar we zijn ondertussen 7 jaar verder en robotstofzuigers staan ook heel wat verder. Stilaan begon zich dus in m’n hoofd het idee te vormen dat we misschien toch gebaat waren bij **een nieuwe robotvriend**. ## Down the rabbit hole Ik begon me te verdiepen in robotstofzuigers en had deze vereisten voor ogen: - **Slimmer** dan de oude Roomba. Niet kriskras kuisen. - Gewoon z’n werk doen **zonder eerst veel te moeten opruimen**. - Het moet **proper** zijn. Het eerste dat ik leerde tijdens mijn zoektocht was dat er **Youtubekanalen** zoals [Vacuum Wars](https://www.youtube.com/channel/UCvavJlMjlTd4wLwi9yKCtew?ref=broddin.be) bestaan die zich bezighouden met niks anders dan stofzuigers. Ooit twee robotstofzuigers in duel willen zien gaan? Of een robotstofzuiger willen zien bewegen over een doordacht uitgestippeld parcours? Vacuum Wars biedt binge-materiaal. Het tweede dat ik leerde is dat **Chinese** **merken** behoorlijk wat meer *bang for bucks* leveren dan westerse, en dat ze **technologisch wel wat verder staan**. Voor hetzelfde geld als een domme Roomba (die amper beter navigeert dan mijn model van 7 jaar geleden) koop je een Chinese robot die naast stofzuigen ook dweilt, navigeert met laser en met handige app. Na lang vergelijken kwam ik uit op deze drie modellen: 1. **De Xiaomi VIOMI V3**: een stofzuig-/dweilrobot van ongeveer **400 euro** met gigantisch waterreservoir. Wel enkel leverbaar bij Chinese webshops (wat gedoe oplevert als er iets kapot is). 2. **De Roborock S5 MAX**: een stofzuig-/dweilrobot in dezelfde prijsklasse als de VIOMI die door heel veel reviewers als de perfecte robot wordt omschreven. Bij Bol te verkrijgen voor [460 euro](https://www.bol.com/nl/p/xiaomi-mi-roborock-s50-max-white/9200000130023463/?bltgh=pDlAOxxdoPIy-Bo8bWtMYA.1%5F4.7.ProductTitle&ref=broddin.be), op AliExpress te vinden [onder de 400 euro](https://nl.aliexpress.com/item/10000412286165.html?spm=a2g0o.productlist.0.0.32c0f230Rm5t91&algo%5Fpvid=d8446688-d8cd-419c-ae4e-49b6aea9d521&algo%5Fexpid=d8446688-d8cd-419c-ae4e-49b6aea9d521-1&btsid=0bb0624515990394104844402e893e&ws%5Fab%5Ftest=searchweb0%5F0,searchweb201602%5F,searchweb201603%5F&ref=broddin.be). 3. **De Roborock S6 MAXV**: alles van de S5 MAX, maar krachtiger en met twee camera’s vanvoor en een straffere processor waarop een [Tensorflow](https://www.tensorflow.org/?ref=broddin.be) AI-model draait dat in tegenstelling tot de laser kleine obstakels herkent. Niet zo goed leverbaar, maar bij PhoneMarket.nl gevonden voor[ 650 euro](https://www.phonemarket.nl/xiaomi-roborock-s6-maxv-zwart?ref=broddin.be). Lang getwijfeld, maar nerd dat ik ben, gaven te termen **Tensorflow** en AI wel de doorslag: het werd de **S6 MAXV**. Hier durft wel al eens klein speelgoed rondslingeren in huis, en het handig dat de camera’s dat zien en de robot daar rond navigeert. var bol\_sitebar={"id":"bol\_1599649340206", "baseUrl":"partner.bol.com","urlPrefix":"https://aai.bol.com/openapi/services/aai/","productId":"productid=9300000006079168","familyId":"","site\_id":"1104825","target":true,"rating":true,"price":true,"deliveryDescription":true,"button":true,"link\_name":"Roborock%20S6%20MaxV%20Black","link\_subid":"","background\_color":"#FFFFFF","text\_color":"#CB0100","link\_color":"#0000FF"}; var bol\_sitebar={"id":"bol\_1599649243427", "baseUrl":"partner.bol.com","urlPrefix":"https://aai.bol.com/openapi/services/aai/","productId":"productid=9200000130023463","familyId":"","site\_id":"1104825","target":true,"rating":true,"price":true,"deliveryDescription":true,"button":true,"link\_name":"Xiaomi%20Mi%20Roborock%20S50%20Max%20white","link\_subid":"","background\_color":"#FFFFFF","text\_color":"#CB0100","link\_color":"#0000FF"}; ## Uitpakken Donderdag besteld, vrijdag geleverd. In de doos zit naast de robot en het dweilaccessoire natuurlijk ook een **oplaadstation**, de nodige **handleidingen** in perfect Engels en een **reservefilter**. Voor de premiumprijs had er toch ook nog wel een extra dweil mogen bijzitten, want die wordt wel heel snel vuil. Al een geluk vind je op AliExpress voor weinig geld reserve-onderdelen. ![](https://broddinblog.on-forge.com/storage/507/img-2475.jpg) Na de nodige bescherming te verwijderen, de **app** te installeren en het waterreservoir te vullen was het dan tijd voor de eerste kuisronde. ## Navigatie Het allereerste dat opvalt: **hij navigeert perfect**. De eerste keer de Roborock in een kamer start gaat de **LIDAR** (Laser Imaging Detection And Ranging) deze helemaal in beeld brengen. Muren en andere hindernissen worden op een kaart geplot en hij gaat die kaart de volgende keren gebruiken om efficiënter te kunnen navigeren. De S6 MAXV kan **vier verdiepingen** (of kamers) in beeld brengen, en weet daardoor perfect waar hij zich bevindt als je hem ergens in je huis neerzet. Wij hebben nogal wat kleine trapjes in huis waardoor we boven de vier verdiepingen uitkomen, maar dat is **geen probleem**: hij doet over ruimtes die hij niet kent gemiddeld een minuut of twee langer. Na het kuisen rijdt hij mooi naar zijn laadstation om op te laden. En als je zo’n groot huis hebt dat hij het niet op 1 batterijlading kan kuisen, dan gaat hij **tussentijds even bijladen** tot hij net genoeg heeft om zijn klus te klaren. Maar dan moet je echt een gigantisch huis hebben, want ik schat dat 1 batterijlading toch wel genoeg moet zijn om meer dan **100 vierkante meter** te kuisen. ![](https://broddinblog.on-forge.com/storage/508/plan.jpg) ## Camera Het grootste verschil tussen de S6 MAXV en de toch 200 euro goedkopere S5 MAX is de toevoegen van **twee camera’s**. Waarom twee? Om net zoals wij mensen diepte te kunnen zien. De beelden van die camera’s worden door de krachtige **8-core processor** van de robot gevoed aan een **neural network** (AI dus) dat gaat kijken wat er op het beeld te zien is. De AI is getraind op een aantal zaken gaande van **schoenen** en **kleren** tot **hondenkak** en gaat dan inschatten of hij er in een grote boog moet rondrijden of niet. De **classificatie van objecten werkt ok**, maar niet meer dan dat. Een tennisbal die hier in de keuken rondslingerde werd al eens als hondenstront aanzien en de AI is wel getraind op stekkerblokken, maar **niet op losse kabels**. Dus van een stekkerblok blijft hij weg, maar een rondslingerende USB-kabel kan hij wel eens het hele huis meenemen. ![Nee, da’s 71% zeker geen Pet Waste.](https://broddinblog.on-forge.com/storage/516/petwaste.jpg) Nee, da’s 71% zeker geen Pet Waste. Er komen wel geregeld **firmware updates** uit, dus de AI gaat in de toekomst wel beter en beter worden. Een leuke bijkomstigheid van de camera’s is dat je tijdens het kuisen **kan meekijken**, en de robot zelfs kan **besturen** zoals een auto op afstandsbediening. Ook kan je je stem opnemen en laten afspelen. Een leuke gimmick. Roborock S6 MAXV 2000% speed ## Privacy & beveiliging Maar hoe zit dat met de **privacy**? Is een robotstofzuiger van een Chinese fabrikant in huis halen met twee camera’s en een processor die krachtig genoeg is om alles in je huis te classificeren wel een goed idee? Roborock belooft dat geen enkel beeld van de stofzuiger naar de cloud wordt gestuurd en dat alle foto’s die hij neemt van onbekende voorwerpen lokaal worden opgeslagen. Ze hebben dit ook bij **onafhankelijke partij** TÜV Rheinland laten [certificeren](https://www.certipedia.com/quality%5Fmarks/0217008049?locale=en&ref=broddin.be). Ik heb de communicatie tussen app en stofzuiger zelf bekeken, en in mijn **firewall** ook nagegaan welke verbindingen de robot maakt en wat ze claimen blijkt te kloppen. Enkel wanneer je van buitenaf (dus niet op je eigen Wifi) de camera feed bekijkt passeren de beelden hun servers (die in **Europa** staan). Als je toch schrik hebt dat Xi Jinping meekijkt in je huis dan kan je het meekijken van op afstand wel gewoon uitschakelen. Mocht Xi meekijken dan zegt de robotstofzuiger wel om de 10 seconden **“Remote viewing activated”**. Stiekem je huisgenoten in ‘t oog houden zit er dus niet in. Alles is hackbaar, maar het stelt me wel gerust dat er over de beveiliging **goed is nagedacht** en dat deze ook **door een externe partij gevalideerd** is. De firmware van de S6 MAXV is ook volledig **toegespijkerd**, je kan deze niet vervangen door een aangepaste versie van een derde partij. Dit is enerzijds jammer, want voor de vorige modellen van Roborock zijn leuke “hacks” verschenen die het bijvoorbeeld toelaten om [muziek te Chromecasten](https://www.ubergizmo.com/2019/09/guy-hacks-xiaomi-vacuum-cleaner-spotify/?ref=broddin.be) naar je stofzuiger. Langs de andere kant is het ook een geruststelling dat enkel software die ondertekend is door de fabrikant kan uitgevoerd worden. ## Stofzuigen Het belangrijkste van een robotstofzuiger is natuurlijk of hij goed al het vuil opzuigt. De S6 MAXV is ongeveer **twee keer zo krachtig als de gemiddelde kruimeldief**. Dat is krachtig genoeg om stof en rondslingerende zaken zoals ontbijtgranen 100% weg te krijgen. Elke avond zet ik één stoel op tafel, zodat de stofzuiger daar ook onder geraakt, en elke ochtend is onze beneden perfect proper. Wil dat zeggen dat je echt **nooit meer moet stofzuigen**? Nee. Een robotstofzuiger kan natuurlijk niks verzetten, dus je zal nog wel af en toe moeten stofzuigen. En waarschijnlijk krijgt een Dyson op de turbostand nog wel nét dat ietsje meer vuil van tussen de houten planken gezogen. Een vraag die je veel krijgt als je een robotstofzuiger hebt is: “en hoe is hij in de **hoeken**?”. Het antwoord daarop is: geen klachten. Met zijn zijdelingse borstel lijkt hij het vuil daar altijd goed op te scheppen. ## Dweilen Eén van de zaken die me triggerden om voor Roborock te kiezen was de **ingebouwde dweilfunctie**. Want iedereen die ooit een kamer gepoetst heeft weet dat je er met stofzuigen alleen niet komt. Hoe werkt dit? Tijdens het stofzuigen maakt hij een **afneembare dweil** nat en kuist hij zo nog eens na met water. Schoonmaakproducten zouden de waterpomp kunnen stuk doen, dus het moet met gewoon **water van de kraan** zonder iets bij. De frisse geur van een pas gedweild huis moet je wel missen. Je kan in de app per ruimte instellen hoeveel water hij moet gebruiken, en dit werkt goed. Verwacht wel eerder het effect van “nekeer snel de vloer met **de natte Swiffer** doen” dan “kuisen met 10 liter water”. Al zag de dweil de eerste keren wel goed zwart. ![De dweil na 1 keer. Al een geluk kan je ‘m makkelijk uitwassen.](https://broddinblog.on-forge.com/storage/510/dweil.jpg) De dweil na 1 keer. Al een geluk kan je ‘m makkelijk uitwassen. Met z’n 300ml is het waterreservoir wel eerder **aan de kleine kant**, en als je het maximum aan water instelt (wat nog altijd redelijk weinig is) moet je er toch regelmatig aan denken water bij te vullen. ## Home Assistant Ik ben een grote fan van [Home Assistant](https://www.home-assistant.io/?ref=broddin.be), een open-source project dat alle slimme zaken in je huis samenbrengt in een overzichtelijke interface en waar je dan automatisaties kan maken. Ik hoopte dat ik mijn S6 MAXV hierin zou kunnen integreren, maar **helaas**. Als je de (beperktere) **Xiaomi app** gebruikt in plaats van de Roborock app zou het mogelijk moeten zijn om de stofzuiger te starten vanuit Home Assistant, maar voor een integratie zoals op de screenshot hieronder is het voorlopig of wachten tot Roborock zijn **API open zet** voor iedereen, of tot de firmware toch gehackt wordt. ![Een andere robotstofzuiger in HA](https://broddinblog.on-forge.com/storage/511/10-image-3.png) Een andere robotstofzuiger in HA Da’s jammer voor mensen zoals ik die graag prullen. Ik heb contact opgenomen met Roborock en ze gingen het bekijken (lol). In tussentijd is de Roborock app wel meer dan degelijk, en je kan hem ook koppelen met **Alexa** en **Google Home**. ## Conclusie Is de Roborock S6 MAXV een **aanrader**? Zeker en vast. We hebben hem nu bijna twee weken en hij heeft ons nog geen moment teleurgesteld. Het is fijn om elke ochtend beneden te komen in een eetkamer die proper is, gestofzuigd en gedweild. In een huis met drie kinderen wordt alles altijd overal zo snel vuil, en het is **een kleine last van je schouders** om je dat minder te moeten aantrekken. Het klinkt lui, maar de gedachte van “Bella kuist dat seffes wel op” is **rustgevend**. Naast het kuisen (dat hij perfect doet) is er nog het technologische. Het is cool om een product in huis te hebben dat dankzij de laser (LIDAR) en de camera’s perfect en slim kan navigeren. Het gebruik van **AI** maakt het alleen maar cooler. Maar heb je die AI en camera’s nodig? Volgens mij kan je als je geen kinderen of huisdieren hebt best wel zonder. De paar zaken die de AI oppikt zijn hier (voorlopig) beperkt: sokken, speelgoed en stekkerblokken. Als je er aan denkt om deze op voorhand even aan de kant te leggen voegt de AI weinig toe. Je moet dan ook wel de **live videofeed** missen, wat een **leuke party trick** is. Je krijgt **veel waar voor je geld** bij Roborock. Als je in dezelfde **prijsklasse** kijkt bij de Westerse merken dan heb je meestal geen dweilfunctie, geen camera’s en soms (hallo Roomba!) zelfs geen LIDAR. Ik raad dan ook de Roborock S6 MAXV van harte aan voor iedereen met kinderen of huisdieren, en ik ga er vanuit dat de S5 MAX voor iedereen anders een minstens even goede aankoop is. ## Geïnteresseerd? var bol\_sitebar={"id":"bol\_1599649052904", "baseUrl":"partner.bol.com","urlPrefix":"https://aai.bol.com/openapi/services/aai/","productId":"productid=9300000006079168","familyId":"","site\_id":"1104825","target":true,"rating":true,"price":true,"deliveryDescription":true,"button":true,"link\_name":"Roborock%20S6%20MaxV%20Black","link\_subid":"","background\_color":"#FFFFFF","text\_color":"#CB0100","link\_color":"#0000FF"}; var bol\_sitebar={"id":"bol\_1599649141120", "baseUrl":"partner.bol.com","urlPrefix":"https://aai.bol.com/openapi/services/aai/","productId":"productid=9200000130023463","familyId":"","site\_id":"1104825","target":true,"rating":true,"price":true,"deliveryDescription":true,"button":true,"link\_name":"Xiaomi%20Mi%20Roborock%20S50%20Max%20white","link\_subid":"","background\_color":"#FFFFFF","text\_color":"#CB0100","link\_color":"#0000FF"}; ### Review: Roborock S6 MAXV - our robot friend URL: https://broddin.be/review-roborock-s6-maxv-our-robot-friend/ Last updated: 2026-07-19T19:05:24.000Z On Tuesday, our cleaning aid cleans the house. There is nothing as lovely as arriving in a thoroughly cleaned house. Unfortunately, it doesn’t stay clean for very long. We have three children, and sometimes it seems as if more food ends up on the ground than in their stomachs. ## Stupid Roomba In 2013, when I was still living a bachelor’s life in a small apartment with two cats, I had about the same problem. Cats are sweet animals but also very **filthy**. Back then, I decided to buy a r**obot vacuum cleaner**, an iRobot Roomba. That thing was, in retrospect, the **most clumsy piece of technolog**y I’ve ever brought in. ![Dutch for ‘Stupid Roomba’](https://broddinblog.on-forge.com/storage/513/dommeroomba.png) Dutch for ‘Stupid Roomba’ That piece of crap just drove straight until it encountered an obstacle, then chose a **random angle** and continued. Until he ran into something again. After 30 minutes, it considered the job done. It didn’t matter if he had reached every spot or not. But the year is now 2020, and robotic vacuums have evolved. Maybe we should buy **a new robot friend**? ## Down the rabbit hole I started to investigate robot vacuum cleaners and had these requirements in mind: - **Smarter** than the old Roomba. No crisscrossing. - Does the job **without having you clean the room first**. - The **cleaning** has got to be good. I learned in my search that there are **Youtube channels** like [Vacuum Wars](https://www.youtube.com/channel/UCvavJlMjlTd4wLwi9yKCtew?ref=broddin.be) that deal with nothing but vacuum cleaners. Ever want to see two robotic vacuum cleaners go into a duel? Or want to see a robot vacuum cleaner move on a well-thought-out trail? Vacuum Wars offers binge material. The second thing I learned is that **Chinese brands** deliver a lot *more bang for bucks* than Western ones and are **more advanced technologically**. You can buy a Chinese robot for the same money as a dumb Roomba (which barely navigates better than my model from 7 years ago). A robot that, besides vacuuming, mops, navigates with laser and has a handy app. After a lengthy comparison, I came up with these three models: 1. **The Xiaomi VIOMI V3**: a vacuum cleaning/mopping robot of about 400 euros with a giant water reservoir. However, this one is only available at Chinese webshops (which can result in poor service). 2. **The Roborock S5 MAX**: a vacuum cleaning/mopping robot in the same price range as the VIOMI, described by many reviewers as the perfect robot. At Bol.com, you can obtain it for **460 euros**. On Aliexpress, you can find it below [400 euros](https://nl.aliexpress.com/item/10000412286165.html?spm=a2g0o.productlist.0.0.32c0f230Rm5t91&algo%5Fpvid=d8446688-d8cd-419c-ae4e-49b6aea9d521&algo%5Fexpid=d8446688-d8cd-419c-ae4e-49b6aea9d521-1&btsid=0bb0624515990394104844402e893e&ws%5Fab%5Ftest=searchweb0%5F0,searchweb201602%5F,searchweb201603%5F&ref=broddin.be). 3. **The Roborock S6 MAXV**: everything from the S5 MAX, but more powerful and with two front cameras and a faster processor running a **Tensorflow AI** model that, unlike the laser, recognizes small obstacles. I’m a geek, so I bought the one with Tensorflow AI. There are usually many toys around our house, so having one with two cameras is a plus. var bol\_sitebar={"id":"bol\_1599649340206", "baseUrl":"partner.bol.com","urlPrefix":"https://aai.bol.com/openapi/services/aai/","productId":"productid=9300000006079168","familyId":"","site\_id":"1104825","target":true,"rating":true,"price":true,"deliveryDescription":true,"button":true,"link\_name":"Roborock%20S6%20MaxV%20Black","link\_subid":"","background\_color":"#FFFFFF","text\_color":"#CB0100","link\_color":"#0000FF"}; var bol\_sitebar={"id":"bol\_1599649243427", "baseUrl":"partner.bol.com","urlPrefix":"https://aai.bol.com/openapi/services/aai/","productId":"productid=9200000130023463","familyId":"","site\_id":"1104825","target":true,"rating":true,"price":true,"deliveryDescription":true,"button":true,"link\_name":"Xiaomi%20Mi%20Roborock%20S50%20Max%20white","link\_subid":"","background\_color":"#FFFFFF","text\_color":"#CB0100","link\_color":"#0000FF"}; ## Unboxing In the box, there is the **robot** and **mop accessory**, a **charging station**, the **manuals** in perfect English, and a **spare filter**. Too bad you don’t get an extra mop. Luckily, you can find spare parts on Aliexpress for little money. ![](https://broddinblog.on-forge.com/storage/514/6-image-2.png) After removing the essential protection, installing the app, and filling the water tank, it was then time for the first cleaning round. ## Navigation The very first thing that catches the eye: the Roborock S6 MAXV **navigates flawlessly**. The first time the Roborock starts in a room, the **LIDAR** (Laser Imaging Detection And Ranging) will fully sketch it. Walls and other obstacles will get plotted on a map, and the robot will use that map the next time to navigate more efficiently. The S6 MAXV can store **four floors** (or rooms) in its memory, and therefore knows where it is when you place it somewhere in your home. If you have more than four rooms, the robot will remove the least recently used room and map it again when you ever return there. After cleaning, the robot drives nicely to his charging station to charge. And if you have such a big house that it can’t clean it on one battery charge, then it will recharge until it has just enough to get the job done. But then you have to have a massive house because I estimate that one battery charge should be enough to clean more than **100 square meters**. ![](https://broddinblog.on-forge.com/storage/515/8-image-3.png) ## Camera The most significant difference between the S6 MAXV and the cheaper S5 MAX is the addition of **two cameras**. Why two? To be able to see depth just like we humans. The robot’s powerful 8-core processor pumps the images from these cameras to a **neural network** (AI) to analyze the image. The AI knows many things ranging from **shoes** and **clothes** to **dog poop** and then assesses whe ther to drive around in a big bow or not. The **classification of objects works ok**. The AI identified a tennis ball lying around in the kitchen to be dog crap, and even though it is trained on plug blocks, but not on loose cables. So the robot stays away from a plug block, but he can take on a USB cable lying around a road trip throughout your house. ![Please go to a veterinarian if your dog’s shit looks green and pink.](https://broddinblog.on-forge.com/storage/516/petwaste.jpg) Please go to a veterinarian if your dog’s shit looks green and pink. **Firmware updates** are released regularly so that the AI will get better and better in the future. A nice side feature of the cameras is that you can **watch** while cleaning and even **control the robot** like a remote-controlled car. Roborock S6 MAXV 2000% speed ## Privacy & Security But what about **privacy**? Is it a good idea to bring in a robot vacuum cleaner from a Chinese manufacturer with two cameras and a processor powerful enough to classify everything in your home? Roborock promises that the S6 MAXV will send no images to the cloud. It will store all the photos he takes from unknown objects locally. They also had this [certified](https://www.certipedia.com/quality%5Fmarks/0217008049?locale=en&ref=broddin.be) by **independent party** TÜV Rheinland. I looked at the communication between the app and the vacuum cleaner myself. I also checked which connections the robot makes and what they claim turns out to be correct. Only when you view the camera feed from the outside (not on your Wifi) the images pass through their servers (located in **Europe**). If you are afraid that Xi Jinping is watching in your house, you can turn off watching from a distance. If Xi is watching, the robot vacuum cleaner says **“Remote viewing activated”** every 10 seconds. Secretly keeping an eye on your roommates isn’t an option. Everything is hackable, but it reassures me that security has been **carefully considered** and that an external party has also validated it. The firmware of the S6 MAXV is also **protected**. You cannot replace it with a modified version of a third party. There were cool hacks for the previous Roborock models (such as allowing you to use it as a [Chromecast](https://www.ubergizmo.com/2019/09/guy-hacks-xiaomi-vacuum-cleaner-spotify/?ref=broddin.be)). Those hacks won’t be possible on the S6 MAXV. ## Vacuum cleaning The most important thing about a robot vacuum cleaner is, of course, whether it absorbs all the dirt well. The S6 MAXV is about **twice as powerful as the average handheld vacuum cleaner**. That’s powerful enough to get rid of dust and stuff lying around like cereal. Every night our robot cleans the downstairs, and it’s spotless. Does that mean you really should **never vacuum again**? No. Of course, a robot vacuum cleaner can’t do anything, so you’ll still have to clean occasionally. A Dyson will probably get just that little bit more dirt from between the wooden boards at the turbo setting. A question you get a lot if you have a robot vacuum cleaner is: “and how is it in the **corners**?”. We have no complaints. The side brush does its job very well. ## Mopping ne of the things that triggered me to choose Roborock was the **built-in mop function**. Because anyone who’s ever cleaned a room knows you won’t get there with vacuuming alone. How does this work? During vacuuming, the robot wets a **removable mop** and then mops the room. Cleaning products could break the water pump, so it should be **tap water** without additives. You can set the amount of water to use per room in the app, which works well. The result is as if you’ve cleaned with a wet **Swiffer pad**. ![The mop after a round of cleaning](https://broddinblog.on-forge.com/storage/517/6-image-4.png) The mop after a round of cleaning With its 300ml, the water reservoir is somewhat on the small side. If you choose the maximum setting, you’ll have to refill regularly. ## Home Assistant I am a big fan of [Home Assistant](https://www.home-assistant.io/?ref=broddin.be). This open-source project brings together all the smart things in your home in a straightforward interface and where you can then create automation. I was hoping that I could integrate my S6 MAXV into this, but unfortunately. You can use the (more limited) **Xiaomi app** instead of the Roborock app. It should be possible to start the vacuum cleaner from Home Assistant using this approach. Still, you’ll have to wait for Roborock to open its API or until the firmware gets hacked for integration like the screenshot below. ![Another vacuum in Home Assisant](https://broddinblog.on-forge.com/storage/518/5-image-5.png) Another vacuum in Home Assisant That’s a shame for people like me who like to fiddle. I contacted Roborock, and they said they were going to look into it. In the meantime, the Roborock app is decent, and you can also pair it with **Alexa** and **Google Home**. ## Conclusion Do I **recommend** then Roborock S6 MAXV? Certainly. We’ve had him for almost two weeks now, and he hasn’t let us down for a moment. It’s nice to come down every morning in a clean dining room, vacuumed, and mopped. In a house with three children, everything gets dirty everywhere quickly, and it’s a **small blessing** to have to clean less. In addition to cleaning (which he does excellently), there is also the nerdy technological stuff. It’s cool to have a product that can navigate flawlessly and intelligently, thanks to the laser (LIDAR) and the cameras. Using **AI** only makes it more outstanding. But do you need those AI and cameras? I think if you don’t have children or pets, you can do it without them. The few things the AI picks up are limited: socks, toys, and plugs. If you think about putting these aside in advance, the AI adds very little. You have to miss the live **video feed**, which is a fun party trick. You get **a lot of your money’s worth** at Roborock. Suppose you look in the same price range at the Western brands. In that case, you usually have no mop function, no cameras, and sometimes (hello Roomba!), not even LIDAR. I therefore strongly recommend the Roborock S6 MAXV for anyone with children or pets, and I assume that the S5 MAX is an equally good purchase for everyone else. var bol\_sitebar={"id":"bol\_1599649052904", "baseUrl":"partner.bol.com","urlPrefix":"https://aai.bol.com/openapi/services/aai/","productId":"productid=9300000006079168","familyId":"","site\_id":"1104825","target":true,"rating":true,"price":true,"deliveryDescription":true,"button":true,"link\_name":"Roborock%20S6%20MaxV%20Black","link\_subid":"","background\_color":"#FFFFFF","text\_color":"#CB0100","link\_color":"#0000FF"}; var bol\_sitebar={"id":"bol\_1599649141120", "baseUrl":"partner.bol.com","urlPrefix":"https://aai.bol.com/openapi/services/aai/","productId":"productid=9200000130023463","familyId":"","site\_id":"1104825","target":true,"rating":true,"price":true,"deliveryDescription":true,"button":true,"link\_name":"Xiaomi%20Mi%20Roborock%20S50%20Max%20white","link\_subid":"","background\_color":"#FFFFFF","text\_color":"#CB0100","link\_color":"#0000FF"}; ### Fortnite vs. Apple en Google: in mensentaal URL: https://broddin.be/fortnite-vs-apple-google-in-mensentaal/ Last updated: 2026-07-19T19:05:24.000Z Groot technieuws deze week: zowel Apple als Google hebben Fortnite, het populairste spel ooit, uit hun App Store/Play Store verwijderd. Dit is extreem kut. Want hierdoor gaan miljoenen (miljarden?) spelers het volgende seizoen van Fortnite niet kunnen spelen op hun mobiele device. Awoe Apple, awoe Google! Of toch eerder awoe Epic Games? ![](https://broddinblog.on-forge.com/storage/520/bb17wj2i.jpg) ## Hoe is het zo ver kunnen komen? Apple en Google hebben een downloadwinkel voor apps en games. Zij controleren die winkel, bepalen welke apps en games erin mogen komen en het belangrijkste: zij bepalen de regels. Eén van die regels die bij allebei geldt is dat ze een bepaald percentage (30%) afromen van elk digitaal item dat verkocht wordt. Koop je in Fortnite een (virtuele) berenmuts voor 5 euro? Dan gaat Apple met 1,5 euro lopen. Op zich een forse som, en bij Epic Games zagen ze dat geld liever niet meer naar de techreuzen gaan. Daarom brachten ze een update uit van Fortnite met daarin een eigen betaalsysteem: [Epic direct payments](https://www.epicgames.com/fortnite/en-US/news/announcing-epic-direct-payment-on-mobile?ref=broddin.be). Aan hun spelers verkochten ze het als een nieuwe betaalmethode, die 20% goedkoper is dan via de App Stores. Win-win. Maar als er nu één ding is waar Apple niet mee kan lachen is dan is het wel het toevoegen van een eigen betaalsysteem om rond de eigen winkel te komen. En dus verwijderde Apple Fortnite per direct uit de App Store. Google deed niet veel later hetzelfde. ## Dat was exact wat Epic verwachtte Op het moment dat Epic bericht kreeg over de verwijdering van Fortnite deden ze twee dingen: - In het spel zelf begonnen ze met het vertonen van een parodie van de [1984-reclame van Apple](https://www.youtube.com/watch?v=VtvjbmoDx-I&ref=broddin.be). - Ze begonnen ook een rechtzaak tegen Apple (en nadien ook Google) omtrent de 70/30 verdeling van inkomsten. Nineteen Eighty-Fortnite - #FreeFortnite De klachten die ze bij de rechtbank indienden waren 60 pagina’s elk, dat samen met de production value van de #freefortnite video bewijst wel dat het toevoegen van hun eigen betaalsysteem een strategische zet was, en dat ze quasi zeker waren dat er conqesuenties gingen zijn. Een beetje een *dick move*. ## Apple reageert nog eens Tot hier liep alles volgens het boekje voor Epic, maar Apple besloot nog een klein tikje uit te delen. Ze dreigen ermee om de ontwikkelaarsaccount van Epic te dactiveren, waardoor Epic geen software voor Mac of iOS meer kan maken. Naast Fortnite maakt Epic nog iets dat door duizenden mensen gebruikt wordt: de Unreal Engine. Dat is een stuk software dat ontwikkelaars de basis biedt om games te bouwen. Mocht de ontwikkelaarsaccount van Epic geschrapt worden dan zijn er duizenden gamestudio’s zwaar gezien. Want dan is de kans groot dat Epic zegt: “ok mannekes, dan maken we geen Unreal Engine meer voor iOS/macOS”. Dus hout vasthouden dat het niet zover komt, want de gevolgen van die beslissing zijn gigantisch. ## Wat nu? Ofwel wint Epic de rechtzaak en dan wordt er voor Apple en Google een heel vreemd precedent geschept want dan mag iedereen zijn eigen betaalsysteem toevoegen. Ofwel winnen de techreuzen en dan kan Epic ervoor kiezen om toch zonder eigen betaalsysteem verder te gaan, of om beide stores volledig te verlaten. Dit worden nog spannende weken in techland. ## Mijn 2 centen - Ja, het wordt tijd om die 30% te herzien. - Maar Epic betaalt [exact hetzelfde percentage](https://daringfireball.net/2020/08/sweeney%5Fhand%5Fwaving%5Fgame%5Fconsoles%5Fapp%5Fstores?ref=broddin.be) op alle consoles waar het op publiceert: Xbox, PS en Switch. Daarover doen ze niet moeilijk. - Epic heeft ook een eigen digitale winkel waarin ze games verkopen, en dezelfde regel toepassen: alle verkopen moeten via hen lopen. Ze rekenen daar wel een bescheidere 12% maar het principe blijft hetzelfde. - Toen Fortnite op Android uit kwam had Epic ook geen zin om 30% aan Google te betalen. Daarom boden ze het gewoon als download via hun website aan. Maar dit was ingewikkeld en verwarrend, en dus stonden ze niet veel later met hangende pootjes in de Play Store. Die 30% comissie was het toen wel waard. - De 1984-campagne is sterk, maar het is ook niet netjes ofzo om dat soort Calimero-propaganda te beginnen voeren als je zelf 18 miljard dollar waard bent en je vooral uit bent op nog meer winst. Zeker als de gemiddelde leeftijd van je spelers 14 ofzo is. ## Dusja Dit had anders gekund denk ik dan. Epic had evengoed een rechtzaak kunnen voeren tegen Apple en Google zonder daarvoor eerst een *dick move* te moeten doen. Want nu verliest iedereen: - Gamers kunnen hun favoriete spel niet meer spelen op mobiel - Epic verliest waarschijnlijk heel veel inkomsten (en ontwikkelaars als ze finaal van de App Store verwijnen). - Apple en Google zijn weer de grote stoute techbedrijven - Gameontwikkelaars die de Unreal Engine gebruiken staan straks misschien helemaal in de kou. Komaan Silicon Valley, los dit op want hier heeft niemand iets aan. ### Dood aan alle trackers URL: https://broddin.be/pihole-dood-aan-alle-trackers/ Last updated: 2026-07-19T19:05:24.000Z Je herkent het gegarandeerd: je zoekt nieuwe schoenen online en de dagen nadien word je om de oren geslagen met reclame voor schoenen. Op YouTube zie je pre-rolls voor schoenen, op elke website worden je schoenen aangeprezen en je Instagram feed begint op een schoenwinkel te lijken. Het lijkt alsof je continu gevolgd wordt door een meute schoenverkopers, en dat is ook zo. De boosdoener? Trackers. ## Trackers? Heel kort samengevat: trackers zijn scripts die op webpagina’s draaien, meestal komende van advertentienetwerken – maar evengoed van Big Tech, die gaan trachten om jouw browsersessie te koppelen aan eerder verzamelde data over jou, om zo nog meer data te kunnen verzamelen. Om dit te doen maken ze van jouw browsersessie een fingerprint (vingerafdruk). Het script haalt zaken op gaande van je schermresolutie, browserversie en besturingssysteem tot tijdszone en geïnstalleerde lettertypes. Zo wordt een vingerafdruk van jouw browser gemaakt, die zoals je op [AmIUnique.com](https://amiunique.org/?ref=broddin.be) kan zien (meestal) uniek is. Onder die fingerprint kan vervolgens data over jou verzameld worden. Elke webpagina die je bezoekt en waar die tracker op geïnstalleerd is kan worden toegevoegd aan je profiel en zo kunnen heel gedetailleerde gedragsgegevens van iemand worden verzameld. Voor de Big Tech bedrijven zoals Facebook en Google, wiens trackers op miljoenen websites geïnstalleerd staat, is het nog simpeler: die weten al wie je bent ([zelfs als je niet ingelogd ben](https://www.theguardian.com/technology/2017/jul/03/facebook-track-browsing-history-california-lawsuit?ref=broddin.be)t). ![Tony de tracker](https://broddinblog.on-forge.com/storage/522/untitled-artwork-1.jpg) Tony de tracker ## Wis mijn data Dankzij de GDPR-wetgeving is elk bedrijf dat data van jou verzamelt wettelijk verplicht je inzage te geven in alle verzamelde data. Het is een aanrader om die data eens op te vragen bij [Facebook](https://www.facebook.com/help/1701730696756992?helpref=hc%5Fglobal%5Fnav) of [Google](https://support.google.com/accounts/answer/3024190?hl=nl&ref=broddin.be), om een gedacht te krijgen wat die bedrijven allemaal over jou weten. Daarnaast heb je het recht om die data te laten verwijderen, net zoals je bij zoekmachines het recht hebt om vergeten te worden. Dat is (mede dankzij GDPR) allemaal heel eenvoudig bij bedrijven waar je de naam van kent, zoals Facebook, Google of pakweg de VRT. Maar als je even gaat kijken welke trackers [de gemiddelde krantensite](https://demorgen.be/?ref=broddin.be) inlaadt kom je veel bedrijven tegen waar de meeste stervelingen nog nooit van hebben gehoord: LiveRamp, Gemius, Critio, Mdn.net, Cxense, Rubiconproject, 360Yield, Adnxs, Stickyadstv, DoubleClick. Zelfs al mocht je erin slagen om bij de bedrijven hierboven je data op te vragen en te laten wissen -wat gezien het ontbreken van een website bij sommigen al een onbegonnen klus lijkt- dan nog is het dweilen met de kraan open. Want zoals de tien trackers hierboven bestaan er tienduizenden. Allemaal opererend onder vage namen (herinnert iemand zich Cambridge Analytica?). De data die trackers over jou verzamelen wordt ook lustig doorverkocht, met als hoogste doel een zo compleet mogelijk profiel van jou te verkrijgen, in het beste geval met identificeerbare persoonsinformatie. ![Impressie van een datamakelaar naast een boom](https://broddinblog.on-forge.com/storage/523/untitled-artwork-2-2.jpg) Impressie van een datamakelaar naast een boom ## Maar advertenties zijn toch niet slecht? Advertenties zorgen ervoor dat heel veel content op Internet gratis is. Dat is fantastisch. Zonder advertenties zouden er nu geen onafhankelijke makers zijn die zich fulltime kunnen bezig houden met media te maken zoals zij willen, los van grote mediahuizen. Ook ontzettend positief. Gepersonaliseerde reclame, daar wil ik ook nog wel de voordelen van inzien. Als de reclame toch verplicht is dan kijk ik liever naar reclame die in mijn interesseveld ligt. Het probleem is dat je geen enkele controle hebt. Je weet niet wat er over je verzameld wordt en hoe het gebruikt wordt. Ik kan leven met een gepersonaliseerde advertentie voor scheer op YouTube, maar heb het moeilijker met advertenties die mijn interesses gebruiken om mijn stemgedrag bij verkiezingen te gaan beïnvloeden. ![Wat als politieke partijen mijn interesses zouden targetten?](https://broddinblog.on-forge.com/storage/524/untitled-artwork-3-copy-1.jpg) Wat als politieke partijen mijn interesses zouden targetten? ## Meer dan reclame Getargette reclame is nog relatief onschuldig (*buiten de verkiezing van Trump en de Brexit dan*), maar er zijn veel donkerdere kanten aan tracking. Neem bijvoorbeeld: je wil een huis kopen, maar je bezoekt ook vaker dan gemiddeld goksites en de bank weigert je lening. Of je verzekeringspremie gaat omhoog omdat jouw gedragsprofiel zegt dat je van gewelddadige games en snelle auto’s houdt. Banken, verzekeringen en zelfs overheden maken gretig gebruik van de data die datamakelaars over jou verzamelen. En je hebt geen inzicht in die data, dus je weet zelfs niet hoe ze bekomen is en of ze correct is. Mochten er fouten in die data zitten is het ook een onmogelijk proces om die fouten er ooit uit te krijgen, want jouw data zit in zoveel verschillende versplinterde databases, die constant van elkaar kopiëren. Die data die over jou verzameld wordt stuurt algoritmes aan, die als een onzichtbare hand bepalend zijn voor je dagdagelijks leven, zonder dat je er iets van merkt. ![John de tracker ontzegt je een lening](https://broddinblog.on-forge.com/storage/525/untitled-artwork-5-1.jpg) John de tracker ontzegt je een lening ## Maar ik heb niets te verbergen In het boek [“Je hebt wél iets te verbergen”](https://kiosk.decorrespondent.nl/collections/boeken/products/je-hebt-wel-iets-te-verbergen-boek?utm%5Fsource=artikel&utm%5Fmedium=cpc&utm%5Fcampaign=zomergesprekkenprivacy) gaan de auteurs in op de aannames gepaard gaan met de uitspraak dat je niks te verbergen hebt: 1. Dat je weet wat je niet te verbergen hebt 2. Dat je weet voor wie je dat n iet te verbergen hebt 3. Dat je weet waarom je dat niet te verbergen hebt Zelfs de meest transparante persoon heeft dingen te verbergen, of zou toch de keuze moeten krijgen om dingen te kunnen verbergen. Bij trackers weet je niet wie data over jou verzamelt, welke data en waarvoor die data gebruikt gaat worden. De totale afwezigheid van controle over wie, wat en waarom is de reden waarom iedereen trackers zou moeten blokkeren. ## Make Internet fast again Naast de morele problemen met trackers zijn er ook praktische. Trackers vertragen het Internet geweldig. De Morgen met trackers laadt in 7 seconden en maakt daarvoor 280 verzoeken richting server van in totaal 6MB. Zonder trackers laadt exact dezelfde pagina in een halve seconde met 31 verzoeken van in totaal 1MB. Dat is 14x sneller voor exact dezelfde content. ![](https://broddinblog.on-forge.com/storage/526/untitled-artwork-6-1.jpg) ## Beterschap op komst Na al dit “boehoe, trackers zijn slecht” is het tijd voor goed nieuws. Er is beterschap op komst. Tien jaar geleden al waren mensen trackers beu, en vanuit de browserontwikkelaars kwam er toen het voorstel om bij elke aanvraag mee te sturen of je getrackt wou worden, de zogenaamde DNT-header. Mooi intiatief, maar omdat het een vrijwillige maatregel was hield zo goed als geen enkel advertentiebedrijf zich hier aan. Maar nu tien jaar later komt er toch schot in de zaak en worden de grote kanonnen boven gehaald. Firefox, Edge en Safari blokkeren nu standaard cookies van derde partijen en komen beiden ook met anti-fingerprint en -tracker mechanieken. En ze tonen redelijk prominent hoeveel trackers er geblokkeerd zijn, in de hoop zo bewustwording te creëren. ![Browers maken jacht op trackers](https://broddinblog.on-forge.com/storage/527/untitled-artwork-7-1.jpg) Browers maken jacht op trackers En Google? Die hebben beloofd om vanaf 2022 ook cookies van derden te gaan blokkeren. Rijkelijk laat, maar niet verwonderlijk aangezien reclame hun core business is. ## Tips tegen trackers ### Tip 1: laat Google Chrome links liggen Ja, ooit was Chrome de coolste browser van de klas. Maar we zijn 2020 en Chrome vreet batterij, is lang niet meer de snelste en wordt gemaakt door het bedrijf dat van alle browsermakers het minst om privacy geeft. Google is het grootste advertentiebedrijf ter wereld. Het is tegen hun eigen winkel om jou te gaan beschermen tegen trackers. Welk alternatief dan? Firefox is een heel goede browser, en als je een Mac hebt moet je Safari ook dringend nog eens open doen want die is beter dan de meesten zich herinneren. Of Microsoft Edge op Windows. ![Safari in macOS 11 toont welke trackers hij blokkeert](https://broddinblog.on-forge.com/storage/528/screenshot-2020-07-21-at-083545-2.jpg) Safari in macOS 11 toont welke trackers hij blokkeert ### Tip 2: installeer een trackerblocker Toch een verknocht Chromegebruiker? Of iemand die liever dubbel beschermd is? De meeste adblockers blokkeren ook trackers, dus als je al een adblocker hebt zit je waarschijnlijk al goed. Wil je toch nog extra bescherming? Dan is een plugin zoals DuckDuckGo Privacy Essentials ([Chrome ](https://chrome.google.com/webstore/detail/duckduckgo-privacy-essent/bkdgflcldnnnapblkhphbgpggdiikppg?ref=broddin.be)– [Firefox](https://addons.mozilla.org/nl/firefox/addon/duckduckgo-for-firefox/?ref=broddin.be)) een aanrader. In een oogopslag zie je dan hoeveel trackers er geblokkeerd zijn, en de site in kwestie krijgt ook een privacyscore. Als je trouwens niet wil dat alles wat je zoekt aan jou gelinkt kan worden is [DuckDuckGo](https://duckduckgo.com/?ref=broddin.be) een meer dan waardig alternatief voor Google Search. ### Tip 3: (geavanceerd) installeer PiHole Wil je echt elke tracker buiten houden? Op elk apparaat in je netwerk, zonder dat je daarvoor extensies moet gaan installeren? Dan moet je PiHole [installeren](https://www.smarthomebeginner.com/pi-hole-setup-guide/?ref=broddin.be). Je hebt daarvoor een Raspberry Pi (minicomputer) of een ander toestel in je netwerk nodig (ik draait het via Docker op mijn Synology NAS) dat continu aanstaat. Eens geïnstalleerd draait PiHole een DNS-server op je netwerk en wanneer je je apparaten daarnaar doorverwijst zal die bij een aanvraag voor elk van de 84.470 trackerdomeinen antwoorden met: *nopes, bestaat niet*. Het probleem bij de wortel aanpakken heet dat. En bijkomend voordeel: als je permanent een VPN naar huis gebruikt ben je ook in alle apps vrijgesteld van tracking. ![Statistieken van enkele uurtjes PiHole](https://broddinblog.on-forge.com/storage/529/screenshot-2020-07-21-at-092302-1.jpg) Statistieken van enkele uurtjes PiHole ### Tip 4: (voor webbouwers) doe er niet aan mee Zo’n Facebook like button onder je artikels? Google Analytics? Adsense? Allemaal installeren ze trackers, en allemaal zijn ze heel verleidelijk om te gebruiken en eenvoudig toe te voegen. Weeg de voordelen tegen de nadelen af als bouwer. Ja, Google Analytics geeft je heel veel inzichten, maar zorgt er ook voor dat Google jouw website meeneemt in de profielen die ze van ieder van ons maken. En is het echt nodig om te weten hoeveel % van je bezoekers graag fritjes eten? Tijd dat marketeers hun honger naar data een beetje intomen seg. Weet dat er alternatieven zijn zoals [Plausible](https://plausible.io/?ref=broddin.be) en [Fathom](https://usefathom.com/?ref=broddin.be) voor Analytics en [ContextCue](https://contextcue.com/?ref=broddin.be) voor ads. ## Conclusie Trackers zijn kwaadaardig, bescherm je er tegen. Zo simpel is ‘t. De oplossing van het probleem zit in drie zaken: wetgeving, (browser)technologie en bewustwording. De GDPR-wetgeving heeft al beterschap gebracht en geeft instanties zoals de Privacycomissie de mogelijkheid om boetes uit te delen aan bedrijven die zich niet aan de regels houden. De wereld van datatrackingbedrijven en -makelaars is echter zo’n jungle dat je niet kan verwachten dat de wetgever het probleem opgelost krijgt. Maar wetgeving is een goed fundament. De browsermakers zitten in een betere positie om het probleem bij de wortel aan te pakken. Zij bepalen welke c ode je browser uitvoert en hebben er alle belang bij dat het web snel is. Klein probleem hier is dat de marktleider ook in trackers doet. Dus misschien is het belangrijkste deel van de oplossing wel bewustwording. Wees je ervan bewust dat je constant in het oog wordt gehouden wanneer je je op het Internet begeeft. Weet wat de verdienmodellen van techbedrijven zijn, en besef dat in veel gevallen jij het product bent (ja, cliché). Maar vooral: weet hoe je je kan beschermen. ## Meer lezen - [Nee, je hebt wél iets te verbergen](https://decorrespondent.nl/209/nee-je-hebt-wel-iets-te-verbergen/17049744943-233c8e71?ref=broddin.be) – het artikel - [Nee, je hebt wél iets te verbergen](https://kiosk.decorrespondent.nl/collections/boeken/products/je-hebt-wel-iets-te-verbergen-boek?utm%5Fsource=artikel&utm%5Fmedium=cpc&utm%5Fcampaign=zomergesprekkenprivacy) – het boek - [The good, the bad & the ugly sides of data tracking](https://internethealthreport.org/2018/the-good-the-bad-and-the-ugly-sides-of-data-tracking/?ref=broddin.be) - [Firefox privacy protections](https://blog.mozilla.org/firefox/firefox-privacy-protections/?ref=broddin.be) - [Web Tracking: What You Should Know About Your Privacy Online](https://www.freecodecamp.org/news/what-you-should-know-about-web-tracking-and-how-it-affects-your-online-privacy-42935355525/?ref=broddin.be) ![](https://broddinblog.on-forge.com/storage/530/untitled-artwork-8.jpg) ## Disclaimers - het idee voor tekeningen in de tekst heb ik gestolen van[ mijn collega Pauline](https://medium.com/ruimteaap?ref=broddin.be), die dat veel beter doet. Het werd een wel hele lange tekst anders. - hierboven komt altijd De Morgen als voorbeeld, maar elke nieuwssite krioelt van de trackers. ### Mijn eerste indruk van iOS 14 URL: https://broddin.be/ios14-preview/ Last updated: 2026-07-19T19:05:25.000Z Daarnet was het de keynote van WWDC, waar Apple zijn nieuwigheden voor de komende updates van zijn besturingssystemen bekend heeft gemaakt. En ondanks dat het zonder publiek was dit jaar was het een absolute topeditie. Het hoogtepunt dit jaar was zonder twijfel de aankondiging dat ze de volgende twee jaar de transitie aangaan van Intel processoren naar hun eigen ontwerp, maar daar schreef ik voor m’n werk [al uitgebreid over](https://medium.com/creativelab/tech-time-van-tim-de-ps5-awoe-racisme-en-gekke-ai-df726a88f8b?ref=broddin.be). ## Eindelijk widgets Een andere grote aankondiging is dat na 13 jaar het homescreen van iOS eindelijk op de schop gaat. Het is te zeggen, ze hebben er eens goed over nagedacht en enkele zaken toegevoegd die dringend nodig waren. Ik kon natuurlijk niet wachten en heb de eerste beta van iOS 14 natuurlijk al op m’n iPhone geinstalleerd. Wat is er nu juist nieuw aan het homescreen? Ten eerste widgets. De widgets die je vroeger al bij je notifications kon plaatsen kunnen nu ook tussen je app iconen gezet worden. En dit meestal in drie formaten: klein (4 iconen), middelgroot (8 iconen) en gigantisch (half scherm). Voorlopig zijn het enkel widgets voor Apple apps, maar daar komt bij de release in september verandering in. ![](https://broddinblog.on-forge.com/storage/532/img-59a81e16f5c8-1-1.jpg) ## Eindelijk geen 5 miljard apps meer op je homescreen Iedereen kent het: je kuist je homescreen op, verwijdert apps die je al in geen 3 jaar meer gebruikt hebt en de dag erna heb je juist die app nodig. Daar is nu eindelijk een oplossing voor in iOS 14: de App Library. Als je een app van je homescreen verwijdert dan kan je er nu voor kiezen om die enkel te verbergen. De app verhuist dan naar de App Library die zich helemaal op het einde van je homescreen bevindt. Daar krijg je een gegroepeerd overzicht van al je apps, maar je kan er ook alfabetisch door zoeken. Dit is echt een toptoevoeging. ![Een app “verwijderen” naar de App Library](https://broddinblog.on-forge.com/storage/533/img-2ab63da1b0b5-1.jpg) Een app “verwijderen” naar de App Library ## Voor de rest Het nieuwe homescreen met widgets en App Library is de grootste blikvanger dit jaar. Ik ben eens snel door de Apple apps gegaan maar zie niet direct grote dingen die ze niet hebben besproken tijdens de keynote. Gezien de bugs die iOS 13 had in de begindagen is dat misschien ook niet zo erg. Voor een beta 1 voelt deze iOS 14 verdacht stabiel aan, dus het kan niet anders dat ze geen herhaling van vorig jaar willen. Wie hem zelf wil installeren moet ofwel toetreden tot het Apple Developer Program (€99/jaar), of nog even geduld hebben tot in juli wanneer de public beta uitkomt (die sowieso minder schoonheidsfoutjes gaat bevatten). ### Stay hungry. Stay foolish. URL: https://broddin.be/stay-hungry-stay-foolish/ Last updated: 2026-07-19T19:05:25.000Z Vandaag dag op dag vijftien jaar geleden gaf wijlen Steve Jobs een speech die naar mijn gevoel bij de beste speeches van de afgelopen honderd jaar mag gerekend worden. Steve Jobs gaf daar een speech die mij al op vele kruispunten in mijn leven heeft geholpen om te durven springen. Een speech die er ook voor zorgt dat ik mezelf heel regelmatig durf afvragen of ik nog wel graag doe waar ik mee bezig ben. En wat ik liever zou doen in de plaats. Een speech die me ook dwingt om stappen te zetten als het allemaal wat te lang tegenvalt. Steve Jobs' 2005 Stanford Commencement Address Het sterke aan deze speech is volgens mij de eenvoud en de onweerlegbare waarheid die erin zit. Hij gaat over vier oersimpele principes die niemand kan tegenspreken: volg altijd uw buikgevoel, doe niks tegen uw zin, benut elke seconde van je leven want je gaat dood en blijf verwonderd. Het is zinloos om hierover in discussie te treden want het zijn vier universele waarheden waar je niet tegen kan zijn. You can’t connect the dots looking forward; you can only connect them looking backward Die uitspraak is zo waar gebleken. Ik heb in mijn leven al echt wel wat tijd verkakt. Mijn derde middelbaar gedubbeld, midden in een jaar hogeschool gestopt en na mijn studies een soort van sabbatjaar genomen. Kwatongen zouden dat weggegooide tijd noemen, en misschien zelfs durven uitrekenen hoeveel geld die tijd had waard geweest. Maar terugkijkend waren die drie momenten van tijdverkakkerij cruciaal voor alles wat nog zou volgen. Sterker nog: volgens mij bestaat tijdverkakkerij niet. Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. “If today were the last day of my life, would I want to do what I am about to do today?” And whenever the answer has been “No” for too many days in a row, I know I need to change something. Dit vind ik sowieso zijn moeilijkste advies. Ik heb een leuke job, met heel fijne collega’s en ik ga meestal graag werken. Mijn huidige job is volgens mij zowat het dichtste dat ik kan komen bij geld verdienen met wat ik graag doe en goed kan. Maar er zijn ook veel dagen dat ik veel liever iets anders zou doen. Of dat ik twijfel aan de impact die wat ik doe heb op het groter geheel. Maar misschien bedoelt hij dat wel met *Don’t Settle:* durf elke dag te twijfelen aan wat je doet en stuur bij waar nodig. Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma — which is living with the results of other people’s thinking. Don’t let the noise of others’ opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary. Buikgevoel klopt altijd. Ik weet ook niet hoe dat komt, maar mijn buikgevoel heeft mij nog nooit bedrogen. Hoe luid de wereld rond u ook kan worden, er is altijd dat klein stemmetje dat het bij het juiste eind heeft. Daarnaar leren luisteren is ontzettend waardevol. Als je terugkijkt op het leven van Steve Jobs kan je alleen maar jaloers zijn. Zelfs de grootste Apple-hater gaat niet ontkennen dat het best cool moet zijn om de vader te zijn van de Mac, de iPod, de iPhone en de iPad. Het straffe aan het moment van de speech is dat die twee laatste grote succesen nog moesten komen. Apple was in 2005 aan het rechtkrabbelen, vooral door het succes van de iPod, maar was in geen enkel opzicht het Big Tech bedrijf zoals we het vandaag kennen. De Steve Jobs die daar op dat podium staat is de visionair die van zijn bedrijf de komende zes jaar het grootste techbedrijf ter wereld gaat maken. En de Steve Jobs die daar op dat podium staat deelt zijn levenslessen, verpakt in drie kleine verhaaltjes. Daar kan je toch alleen maar ontzettend dankbaar voor zijn en uw voordeel mee doen? ![](https://broddinblog.on-forge.com/storage/535/12-image.png) ### Studio.Fuckhedz #12 URL: https://broddin.be/studio-fuckhedz-13/ Last updated: 2026-07-19T19:05:25.000Z 1. Arcade Fire – Intervention 2. Childish Gambino – This Is America 3. Desaparecidos – Radicalized 4. Billie Eilish – ocean eyes 5. Sharon Van Etten – (What’s So Funny ‘Bout) Peace, Love and Understanding 6. Run The Jewels – pulling the pin 7. Conor Oberst & The Mystic Valley Band – Roosevelt Room 8. The 1975 – The Birthday Party 9. Daniel Johnston – American Dream 10. Matt Berninger – Serpentine Prison 11. Christian Lee Hutson – Single for the Summer 12. Midwife – Anyone Can Play Guitar 13. Jamie XX – Idontknow ### txt.edit, de ontbrekende teksteditor voor iPad en iPhone URL: https://broddin.be/txt-edit/ Last updated: 2026-07-19T19:05:26.000Z Hallo, ik heb een nieuwe app gemaakt. Je kan die hier downloaden, of de hele origin story lezen. ![](https://broddinblog.on-forge.com/storage/542/1-1200x630wa.png) Enkele weken geleden kocht ik een iPad Pro en Magic Keyboard, met het idee dat die heel wat taken die ik normaal op een *echte* computer doe zou kunnen overnemen. Voor een groot aantal zaken lukt dat (zelf voor [coden](https://broddin.be/2020/05/12/coden-op-een-ipad-pro/)) maar op een avond liep ik tegen een wel heel stom probleem aan: ik moest iets aanpassen in een simpel tekstbestand dat hier op het netwerk op de lokale server staat. Sinds iPadOS 13 heeft Apple een heel fijne bestandsbeheerder: **Files**. Daarmee kan je niet enkel lokale bestanden weergeven, maar ook bestanden die in de cloud (iCloud/Dropbox/Google Drive) of bestanden die op een lokale server staan . Ik dacht dus dat mijn tekstbestandje aanpassen een eitje zou zijn. Maar **Files** zelf kan geen bestanden bewerken, enkel weergeven. Om te bewerken kan je ze wel openen in een app die het nieuwe bestandsbeheer van iOS 13 ondersteunt. Ik ging op zoek in de App Store met deze simpele wishlist: - Kan tekstbestanden **openen en opslaan**. - Heeft goede **muisondersteuning** voor iPadOS. - Heeft **toetsenbordsnelkoppelingen**. - Is **geïntegreerd** met Files en de rest van iPadOS. - Zo **simpel** als notepad.exe Ik kwam heel wat apps tegen, die ik in 3 categorieën kon plaatsen: 1. Apps die het nieuwe bestandsbeheer niet ondersteunen en hun eigen manier hebben ingebouwd om met bestanden om te gaan hebben ingebouwd. 2. Apps om boeken, screenplays of documenten te schrijven, maar geen simpel tekstbestand kunnen openen. 3. Hele ontwikkelomgevingen. Leuk, maar da’s met bazooka op een mug schieten Omslachtig, ontoereikend en overkill. Dus besloot ik zelf een app te schrijven. **Tip:** hieronder volgt hoe ik dat heb aangepakt, mijn learnings en een nuttige link of twee. Als je gewoon de app wil proberen, scroll dan helemaal naar onder en abonneer je op mijn nieuwsbrief. Dat bespaart je een euro of 2. ## Technisch Mijn vaste reflex als ik een mobiele app moet schrijven is om dat te doen in [React Native](https://reactnative.dev/?ref=broddin.be), een manier om mobiele apps te schrijven in JavaScript. Ik ken JavaScript door en door, en ik vind werken in React echt fijn. Op een paar uur tijd had ik m’n eerste prototypen dan ook af. ![Allereerste prototype, met het originele bestand dat ik moest bewerken.](https://broddinblog.on-forge.com/storage/539/afbeelding-31.png) Allereerste prototype, met het originele bestand dat ik moest bewerken. Maar ik liep tegen beperkingen van React Native aan. De enige bibliotheek om te werken met de bestandssysteemdialogen ([react-native-document-picker](https://github.com/Elyx0/react-native-document-picker?ref=broddin.be)) was te beperkt, de enige bibliotheek die keyboard shorcuts doet ([react-native-key-commands](https://github.com/envoy/react-native-key-commands?ref=broddin.be)) wou niet werken, en de knoppen waar je muis magisch naar wordt toegezogen in iPadOS, daar is in React Native nog geen ondersteuning voor. Ik heb wat tijd gestoken in het proberen fixen van deze tekortkomingen, maar het zag er al snel naar uit dat het boeltje zou worden. Daarom leek het me beter om tijd te steken in het opfrissen van mijn kennis van native iOS development en voor een volledig native app te gaan. Op die kennis van *native app development* lag een flinke laag stof. Mijn laatste native app die ik in de App Store gekregen heb is ondertussen zo’n [8 jaar oud](https://twitter.com/LivestagramApp?ref=broddin.be). En die was dan nog geschreven in Objective C, terwijl je tegenwoordig toch scheef wordt bekeken als je daar nog in programmeert. Maar al doende leert men, en deze app is daar hopelijk een goed voorbeeld van. Een dikke aanrader voor wie met iOS development wil beginnen is trouwens [iOS Programming: The Big Nerd Ranch Guide](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-seventh-edition/?ref=broddin.be). Ik las de eerste versie van dat boek ooit, en ondertussen zijn ze aan de revisie versie toe. ## Distributie Een app maken is één ding, maar je moet die app ook nog buiten krijgen. Dat betekent: copy schrijven, screenshots maken voor in de App Store, een website maken en nadenken over marketing. ### Screenshots Bij [Street Viewer Pro 6](https://broddin.be/2020/04/17/street-viewer-pro-6/) heb ik een mooi systeem in elkaar geflanst dat dankzij [fastlane](https://fastlane.tools/?ref=broddin.be) automatisch screenshots maakt van de app op elk mogelijk device, daar een device frame rond zet, tekstje boven en klaar. Het zou te simpel zijn om dat nog eens te gebruiken, dus deze keer maakte ik al m’n screenshots zelf. Ik ben de laatste weken verliefd geworden op [Figma](https://www.figma.com/?ref=broddin.be) voor design- en wireframewerk, en heb daar alle screenshots met hand in gemaakt. ![De volgende versie ga ik voor een andere gradient, beloofd.](https://broddinblog.on-forge.com/storage/540/say-hello-3.jpg) De volgende versie ga ik voor een andere gradient, beloofd. Tips: - Facebook Design biedt [een collectie aan](https://facebook.design/devices?ref=broddin.be) van alle device frames denkbaar. Aangezien Apple screenshots vereist van elk device denkbaar is dat heel handig om in een mapje bij de hand te houden. - Figma ondersteunt officieel de iPad niet, wat heel jammer is. Al een geluk is er [Figurative](https://apps.apple.com/be/app/figurative/id1510607687?ref=broddin.be), een gratis app die het wel mogelijk maakt. Je moet het voorlopig nog wel zonder Apple Pencil ondersteuning doen. ## Een website maken Ik heb getwijfeld of een website maken voor een app nog wel iets is dat je in 2020 moet doen, maar op een avond zat ik wat te tekenen in Figma en had ik al snel een eenvoudig design klaar. ![Kliederen in Figma](https://broddinblog.on-forge.com/storage/541/493187e6-f4f1-4fc5-b4f2-67118aee9963.png) Kliederen in Figma Mijn favoriete frontend framework [Next.js](https://nextjs.org/?ref=broddin.be) erbij en op enkele avondlijke uurtjes had ik een site waar ik toch content van ben. Ze ondersteunt dark mode, er zit een parallax scroll effect recht uit 2005 in, en als je op “\[Show all\]” bij de ondersteunde talen klikt gebeurt er iets dat precies uit The Matrix komt. Hier is de [website](https://txtedit.dev/?ref=broddin.be). ## Download txt.edit nu (gratis en voor niks) De eerste 25 mensen die zich inschrijven op mijn nieuwsbrief via het formulier onderaan stuur ik persoonlijk een promocode om txt.edit gratis te kunnen installeren. Als je mij €2,29 gunt kan je de app ook gewoon kopen (dikke merci): ![](https://broddinblog.on-forge.com/storage/542/1-1200x630wa.png) ### Laat alstublieft goeie reviews achter Als je de app hebt gedownload kan je me helpen door hem een eerlijke reviewscore te geven (van 5 sterren of hoger). ### Studio.Fuckhedz #11 URL: https://broddin.be/studio-fuckhedz-11/ Last updated: 2026-07-19T19:05:26.000Z Er zijn van die nummers die je 100 keer hoort passeren op een album en die niet meer doen dan dat, gewoon passeren. Tot ze je de 101e keer, wanneer alles juist zit, bij je nekvel grijpen en niet meer loslaten. St. Cloud van Waxahatchee deed dat deze week bij mij. Wat een nummer. And when when I go, when I go Look back at me, embers aglow 1. Waxahatchee – St. Cloud 2. The National – Theory of the Crows 3. The Twilight Sad – That Summer at Home I Had Become the Invisible Boy (Live) 4. I Like Trains – The Truth 5. Public Service Broadcasting – Sputnik 6. Four Tet – Baby 7. Styrofoam – We Can Never Go Home 8. Songs: Ohia – Tigress 9. The Duke & The King – If You Ever Get Famous 10. Leonard Cohen – Anthem 11. Perfume Genius – Whole Life 12. Phoebe Bridgers – I See You 13. Archive – Lights ### Quarantijden IV URL: https://broddin.be/quarantijden-iv/ Last updated: 2026-07-19T19:05:27.000Z ![](https://broddinblog.on-forge.com/storage/545/img-2608.jpg) ![](https://broddinblog.on-forge.com/storage/546/img-2611-1.jpg) ![](https://broddinblog.on-forge.com/storage/547/img-2623-1.jpg) ![](https://broddinblog.on-forge.com/storage/548/img-2626.jpg) ![](https://broddinblog.on-forge.com/storage/549/img-2627.jpg) ![](https://broddinblog.on-forge.com/storage/550/img-2629.jpg) ![](https://broddinblog.on-forge.com/storage/551/img-2636.jpg) ![](https://broddinblog.on-forge.com/storage/552/img-2645.jpg) ![](https://broddinblog.on-forge.com/storage/553/img-2648.jpg) ![](https://broddinblog.on-forge.com/storage/554/img-2649.jpg) ![](https://broddinblog.on-forge.com/storage/555/img-2650.jpg) ### Studio.Fuckhedz #10 URL: https://broddin.be/studio-fuckhedz-10/ Last updated: 2026-07-19T19:05:27.000Z Hoera! De tiende al! Wie had er ooit gedacht dat ik het zo lang ging volhouden? 1. Kate Tempest – Europe Is Lost 2. STIKSTOF – 1000 Milligram 3. Brihang – Steentje 4. IDLES – Samaritans 5. Arcade Fire – Ocean Of Noise 6. Christian Lee Hutson – Get The Old Band Back Together 7. Thee Silver Mt. Zion Memorial Orchestra – What We Loved Was Not Enough 8. Nine Inch Nails – Something I Can Never Have 9. Kate Tempest – People’s Faces 10. Sufjan Stevens – The Only Thing ### Coden op een iPad Pro URL: https://broddin.be/coden-op-een-ipad-pro/ Last updated: 2026-07-19T19:05:27.000Z De iPad Pro staat al enkele jaren op mijn verlanglijstje. Maar ik heb me er steeds van kunnen weerhouden om één te kopen, want de tablet van Apple is niet geschikt voor waar ik mijn meeste tijd mee vul: web development. Met de komst van het Magic Keyboard heeft de iPad nu een deftig keyboard en trackpad, wat coderen op de iPad normaal gezien toch makkelijker zou moeten maken. ## Op zoek naar een deftige editor De hardware is er dus, maar een deftige IDE (die teksteditor die alle coders open hebben) vinden op iPadOS is lastiger. Voor Pythonfans is er [Pythonista](http://omz-software.com/pythonista/?ref=broddin.be), maar voor Javascripters is het aanbod mager en verbleekt het tegen wat ik dagdagelijks gebruik op desktop: [Visual Studio Code](https://code.visualstudio.com/?ref=broddin.be). Gelukkig is VS Code gewoon een webapplicatie en kan je die dankzij een project dat [code-server](https://github.com/cdr/code-server?ref=broddin.be) heet gewoon op een VPS draaien. Een volledige IDE, inclusief alle plugins gewoon in de browser. Daarnaast is er VSApp, een app in de App Store die code-server aanbiedt in een abonnementsvorm. Je gebruikt dan een versie die gehost staat op de servers van de maker van die app. In plaats van een abonnement te nemen heeft de maker ook een mogelijkheid toegevoegd om met je eigen code-server omgeving te verbinden. Ik heb getwijfeld om een abonnement te nemen, want 3 euro per maand is niet veel, maar ik heb toch graag mijn dev-omgeving zelf in de hand. En ik heb ik nog een shitload aan gratis credits bij Google Cloud, het wordt tijd om die er eens door te jagen. ## Sim Sala Bim, hier is Cassim Naast coden wil ik natuurlijk ook graag live zien waar ik aan bezig ben. Als je lokaal werkt draai je een lokale webserver waar je dan live je wijzigingen kan zien. Dat wou ik ook op de iPad. De meest voor de hand liggende oplossing is dan om een webserver te draaien op een subdomein die dan alle verzoeken doorstuurt naar de juiste poort. Omdat elke keer manueel zo’n subdomein opzetten te veel tijd kost heb ik een tooltje gemaakt: *cassim*. Je roept *cassim* aan met een poortnummer: `cassim add 3000` *cassim* maakt voor jou dan een vhost aan en configureert een SSL-certificaat zodat je kan surfen naar https://3000.jouwsubdomein.domein.com. Een soort van `ngrok` maar dan zonder extra tunnel. ![](https://broddinblog.on-forge.com/storage/558/screenshot-2020-05-12-at-140439.jpg) ### Waarom Cassim? Ik wou het tooltje eerst “sesam” noemen want het opent dingen, zoals Ali Baba de grot kon openen door “sesam open u” te zeggen. Jammer genoeg zijn er al heel veel tools die sesam heten. Alibaba klonk dan weer te hard als een goedkope chinese webshop. Daarom werd het zijn broer Cassim. In het sprookje is Cassim krijgt Cassim trouwens juist niks open, en wordt hij onthoofd door de 40 rovers. ### Installatie ![](https://broddinblog.on-forge.com/storage/559/favicon.svg) ### En dan het resultaat ![](https://broddinblog.on-forge.com/storage/560/img-0007-3.jpg) ## Is dit nu even goed als VSCode op een Macbook? Nee. Maar het komt wel aardig in de buurt. Er zijn nadelen, zoals het feit dat het niet offline werkt, dat code-server vaak moet herladen als je even naar een andere app bent geswitcht en dat je niet met lokale bestanden werkt. Maar er zijn ook voordelen. Ik kan op eender welk apparaat aan mijn cloud IDE, niet enkel op mijn iPad maar ook gewoon in de browser of zelfs op mijn iPhone. Mijn plugins en instellingen gaan zo ook gewoon overal mee. Over het toetsenbord en de trackpad van het Magic Keyboard valt niet te klagen, die zijn top. Ik zie me dus echt wel coden op de iPad. Ik heb het zelfs al gedaan, want cassim is grotendeels op de iPad geschreven. Er gaan trouwens geruchten dat Apple binnenkort zijn pro-apps Logic, Final Cut en XCode gaat uitbrengen voor de iPad. Fingers crossed dat ze dan ook andere programmeeromgevingen gaan toelaten. ### Quarantijden III URL: https://broddin.be/quarantijden-iii/ Last updated: 2026-07-19T19:05:27.000Z ![](https://broddinblog.on-forge.com/storage/562/img-2480.jpg) ![](https://broddinblog.on-forge.com/storage/563/img-2491.jpg) ![](https://broddinblog.on-forge.com/storage/564/img-2500.jpg) ![](https://broddinblog.on-forge.com/storage/565/img-2511.jpg) ![](https://broddinblog.on-forge.com/storage/566/img-2523.jpg) ![](https://broddinblog.on-forge.com/storage/567/img-2526.jpg) ![](https://broddinblog.on-forge.com/storage/568/img-2528.jpg) ![](https://broddinblog.on-forge.com/storage/569/img-2533.jpg) ![](https://broddinblog.on-forge.com/storage/570/img-2546.jpg) ![](https://broddinblog.on-forge.com/storage/571/img-2569.jpg) ![](https://broddinblog.on-forge.com/storage/572/img-2575.jpg) ![](https://broddinblog.on-forge.com/storage/573/img-2591.jpg) ![](https://broddinblog.on-forge.com/storage/574/img-2596.jpg) ### De beste VR games en apps op de Oculus Quest URL: https://broddin.be/beste-games-apps-oculus-quest/ Last updated: 2026-07-19T19:05:28.000Z Virtual Reality sprak mij als kind al enorm aan. Ik herinner me een tripje met mijn ouders naar Londen waar we het inmiddels al lang ter ziele gegane attractiepark [SegaWorld](https://segaretro.org/SegaWorld%5FLondon?ref=broddin.be) in het Trocadero Center bezochten. Daar was een attractie waar je een VR-bril moest opzetten en ondanks de waarschijnlijk verschrikkelijke resolutie was ik omver geblazen. Vorig jaar, ofwel 22 jaar later, kwam de Oculus Quest uit. De eerste min of meer deftige VR-bril die je volledig zonder draden kan gebruiken. En ook zonder zware gaming PC. Niet met de allerbeste graphics, maar toch sterk genoeg om geloofwaardig 3D-werelden voor je ogen te toveren. ![](https://broddinblog.on-forge.com/storage/576/afbeelding-8.png) Maargoed, dit is geen review van de Oculus Quest, daarvoor kan je beter [hier](https://www.theverge.com/2019/4/30/18523000/oculus-quest-review-vr-headset-price-specs-features?ref=broddin.be) even kijken. Ik kocht dus een Quest toen die uitkwam vorig jaar, en in het begin speelde ik daar best vaak mee. Maar zoals vaak gaat: na een tijd lag die stof te vergaren. Tot deze quaranteine. Want geen beter moment om virtuele werelden te verkennen dan wanneer je verplicht binnen zit. Omdat het aanbod in de Oculus store gigantisch is heb ik een overzicht gemaakt van wat ik de beste games en apps vind. ### Superhot VR Superhot is een shooter met een geniale insteek: zolang je niet beweegt gebeurt er niks. Als je stil staat zit je in The Matrix: kogels hangen vast in de lucht en je hebt tijd om je volgende move te plannen. Dat basisidee werkte al heel goed op de desktop, maar is nog zoveel beter in VR. In VR kost stilstaan echt moeite, en dit spel laat de adrenaline echt door uw lijf gieren. Daardoor kan ik het wel nooit lang spelen, het is redelijk spannend en ik ben blij als ik er even uit kan gaan. ![](https://broddinblog.on-forge.com/storage/577/afbeelding-9.png) ### Pistol Whip Nog een spel met geweren, en zelfs in ongeveer dezelfde visuele stijl als Superhot is Pistol Whip. Maar daar stoppen de gelijkenissen wel. Pistol Whip is een rhytmische shooter. Het heeft een heel vette soundtrack en de bedoeling is op de maat van de muziek bad guys af te knallen. De decors zijn knap, het is uitdagend en het zorgt ook weer voor de nodige adrenaline. Maar omdat je weet dat elke scene om en bij de 4 minuten duurt is deze wel beter om langdurig te spelen. ![](https://broddinblog.on-forge.com/storage/578/afbeelding-10.png) ### Vader Immortal Als Industrial Light & Magic zich waagt aan een Star Wars spel in VR, dan weet je dat het eigenlijk niet tegen kan vallen. Dit spel, in drie delen, vertelt het verhaal van een smokkelaar die Darth Vader tegenkomt, ergens tussen Star Wars episode 3 en 4. Het verhaal doet er niet echt heel hard toe, het is vooral de ervaring dat van deze trilogie een topper maakt. Het speelt als een interactieve pretparkattractie en er gebeurt constant wel iets. Epische ontsnappingen, lightsabergevechten en natuurlijk The Force. Het is een ervaring die geknipt is voor VR. De herspeelbaarheid ligt laag. Eens je door het verhaal bent gegaan is er weinig reden om een bepaalde scene nog eens opnieuw te spelen. Maar voor 10 euro per deel is dit een koopje. ![](https://broddinblog.on-forge.com/storage/579/afbeelding-11.png) ### Tilt Brush Ook in VR kan ik niet tekenen. Dat bewijs toch Tilt Brush, de Microsoft Paint voor VR van Google. Als je talent hebt is dit echt een must-buy. En zelfs voor mensen zonder tekentalent zoals ik is het extreem rustgevend om eens een kwartiertje gewoon wat lijnen te tekenen en er in rond te wandelen. ![](https://broddinblog.on-forge.com/storage/580/afbeelding-12.png) ### Racket NX Racket NX kan je het beste omschrijven als tennis in een enorme bol, met een bal die je door middel van een soort Star Wars-kracht naar je rakket kan trekken, en waarmee je outbreak-gewijs bepaalde zaken op de muur moet doen verdwijnen. Naast de rode vakken van de muur kloppen moet je er ook voor zorgen dat je energie niet de 0 bereikt. Dit doe je door plusjes te raken, en doodshoofden te vermijden. Enorm vermoeiend en met momenten enerverend. Want even sukkelen is genoeg om je energie naar 0 te halen. ![](https://broddinblog.on-forge.com/storage/581/afbeelding-13.png) ### The Climb Rustgevender is The Climb. Hierin moet je zoals de titel al weggeeft klimmen. Talkpoeder op je handen doen, en rustig hand voor hand naar boven gaan. De uitzichten zijn mooi en eenmaal boven heb je echt het gevoel dat je iets bereikt hebt, namelijk de top. Het is van CryTek, de makers van onder andere Far Cry, dus het ziet er ook echt heel goed uit visueel. ![](https://broddinblog.on-forge.com/storage/582/afbeelding-14.png) ### Sports Scramble De Wii had Wii Sports, de Oculus Quest heeft Sports Scramble. Een spel met daarin drie sporten: tennis, bowling en baseball. Net zoals bij Wii Sports zijn enkel tennis en bowling leuk. Waar bij Wii Sports de sporten identiek waren aan hun tegenhanger in de echte wereld is er bij Sports Scramble een grote twist. Af en toe gebeuren er gekkigheden: het kan dus voorvallen dat je tennisraket vervangen wordt door een baseballbat of dat de bal ineens een frisbee is. Bij het bowlen kan je naast met gewone ballen ook smijten met bijvoorbeeld een bol kaas. Dit houdt het spel wel spannend en leuk. En je kan die optie ook afzetten. Minder leuk is de lange opstarttijd en het feit dat er in de online multiplayer echt nooit iemand te vinden is om tegen te spelen. ![](https://broddinblog.on-forge.com/storage/583/afbeelding-15.png) ### Beat Saber Beat Saber is de klassieker der klassiekers op vlak van VR-ritmegames. Je hebt twee lightsabers vast en je moet op de maat en in de juiste richting blokken doorhakken. Het is zo simpel, en het verveelt echt nooit. Minpunt is wel de meegeleverde soundtrack, die vind ik echt niet goed (in tegenstelling tot Pistol Whip bijvoorbeeld). Al een geluk kan je dankzij [SideQuest en BMBF](https://bsaber.com/oculus-quest-custom-songs/?ref=broddin.be) relatief makkelijk custom nummers van [BSaber.com](https://bsaber.com/?ref=broddin.be) inladen. Niks leuker dan Seven Nation Army of Idiotheque weg te kloppen. ![](https://broddinblog.on-forge.com/storage/584/afbeelding-16.png) ### The Key Oculus heeft een “[VR for Good](https://www.oculus.com/vr-for-good/?locale=nl%5FNL&ref=broddin.be)” programma waarbij ze jonge makers koppelt aan goede doelen. Ze steunen hen dan financieel en qua marketing om VR-ervaringen te maken die iets bijdragen aan de wereld. Ik kan niet verklappen waar The Key over gaat, want hoe minder je ervan weet hoe beter, maar het zijn 20 minuten waar je geen spijt van krijgt. En het is gratis, dus geen enkele reden om het niet te downloaden. ![](https://broddinblog.on-forge.com/storage/585/afbeelding-17.png) ### Keep talking & nobody explodes Een vaakgehoorde -en terechte- kritiek op VR-games is dat ze asociaa l zijn. Je huisgenoten zien niet wat je aan het doen bent en er is geen enkele mogelijkheid om samen te spelen (met 1 bril). Keep talking & nobody explodes probeert dit te verhelpen. Eén speler zet de bril op en ziet een bom die onklaar gemaakt moet worden. De andere speler heeft de afgedrukte handleiding. Samen moet je communiceren om de bom onklaar te maken. ![](https://broddinblog.on-forge.com/storage/586/afbeelding-18.png) ### Bigscreen Nog wel geinig is Bigscreen. Een soort van cinema waar je samen met anderen naar films kan kijken. Dit kunnen echte speelfilms zijn, maar evengoed een gestreamde desktop van iemand die grappige kattenfilmpjes laat zien. ![](https://broddinblog.on-forge.com/storage/587/afbeelding-19.png) ### Netflix Netflix kijken vanop een chique pluche zetel en met een grote TV? Het kan in VR, en het is wel grappig voor even. Maar na een half uur merk je dat die bril toch zwaarder is dan gedacht. ![](https://broddinblog.on-forge.com/storage/588/afbeelding-23.png) ### YouTube YouTube heeft een mooi aanbod van 360° video en heeft duidelijk heel goed nagedacht over de navigatie van zijn app. ![](https://broddinblog.on-forge.com/storage/589/afbeelding-24.png) ### Richie’s Plank Experience De standaard demo die iedereen die VR voor de eerste keer doet geprobeerd moet hebben is Richie’s Plank Experience. Het idee is simpel: je stapt in een lift, die gaat naar boven, de deuren openen op de 20e verdieping en je ziet een plank. Stap op die plank tot het einde en zet dan een stap naar voren. Mind blown. 15 euro hiervoor is veel geld, maar het blijft leuk. Naast het van de plank stappen zijn er ook nog wat extra’s, zoals door de stad kunnen vliegen met raketten en een horrormodus. ![](https://broddinblog.on-forge.com/storage/590/afbeelding-25.png) ### Pixel Ripped 1995 Mijn meest recente aankoop is Pixel Ripped 1995\. In dit spel ben je een 10-jarig kind dat anno 1995 een computerspel speelt. Je houdt dus in VR een controller vast, en kijkt naar een virtuele TV. Omdat je zo gefocust bent op het spel-in-een-spel vergeet je al heel snel dat je in een spel zit. De eerste keer dat mijn virtuele moeder de woonkamer binnen liep en me naar m’n voeten gaf dat ik weer videogames aan het spelen was, verschoot ik echt heel hard. En ik voelde me ook betrapt. Raar. ![](https://broddinblog.on-forge.com/storage/591/afbeelding-26.png) ### Space Pirate Trainer Eén van de bekendste VR-games werd gewoon in België gemaakt door Dirk van I-Illusions. Het speelt zoals Space Invaders, er komen golven robots aan en je moet die afknallen. Maar in VR is dat natuurlijk 1000x cooler dan in de jaren ’80. ![](https://broddinblog.on-forge.com/storage/592/afbeelding-27.png) ### Wander Er is nog steeds geen Google Earth op de Oculus Quest en dat is echt jammer. Op andere VR-platformen is rondvliegen op de wereld echt één van de zotste demo’s. Jammer. Next best thing is Wander: Street View in VR. Je kiest een plek en je kan daar rondkijken. De navigatie van Wander is verschrikkelijk, en omdat het niet in 3D is word ik er ook altijd een beetje misselijk van. Maar tot Google Earth hopelijk ooit uitkomt is het wel leuk. ![](https://broddinblog.on-forge.com/storage/593/afbeelding-28.png) Ziezo: dit zijn de apps en games die ik vaak gebruik op mijn Oculus Quest. Er staan nog zaken op mijn verlanglijst zoals Arizona Sunshine, Gun Club en Box VR, maar door de premiumprijs van de meeste VR-ervaringen probeer ik mijn aankopen binnen de perken te houden. Heb ik nog iets gemist? Laat het mij gerust weten! ### Studio.Fuckhedz #9 URL: https://broddin.be/studio-fuckhedz-9/ Last updated: 2026-07-19T19:05:28.000Z Hallo, 7 volgers van deze playlist op Spotify! Hier is weer een nieuwe, om deze week in lockdown verder mee door te komen. Vorige week had ik [een verhaaltje](https://broddin.be/2020/04/28/studio-fuckhedz-8/) over hoe ik Mogwai leerde kennen, maar deze week kan ik niets bedenken. Dus laat de muziek voor zich spreken. [Heel](https://www.maxazine.nl/2020/03/06/meute-laat-de-muziek-voor-zich-spreken-in-paradiso/?ref=broddin.be) [wat](https://www.demorgen.be/tv-cultuur/hardrockers-alter-bridge-laten-de-muziek-spreken-in-ab~b94a24c0/?ref=broddin.be) [bands](https://3voor12.vpro.nl/lokaal/zeeland/artikelen/overzicht/2011/december/frank-montis-laat-de-muziek-voor-zich-spreken.html?ref=broddin.be) [deden](https://focus.knack.be/entertainment/muziek/bob-dylan-laat-zijn-gitaar-voor-zich-spreken/article-normal-764615.html?fromMobile=toDesktop&cookie%5Fcheck=1588755013&ref=broddin.be) [dat](https://www.edescheconcertzaal.nl/posts/boris-giltburg-ik-laat-de-muziek-voor-zich-spreken?ref=broddin.be) [al](https://www.nieuwsblad.be/cnt/dmf20130501%5F005?ref=broddin.be), [en](http://www.enola.be/2010/05/05/archie-bronson-outfit-gewoon-een-tekst-en-laat-de-muziek-maar-voor-zichzelf-spreken/?ref=broddin.be) [dat](https://www.dansendeberen.be/2016/02/16/recensie-half-moon-run-ab-laat-de-muziek-spreken/?ref=broddin.be) [schijnt](https://www.dansendeberen.be/2020/04/09/nieuwe-single-someone-you-live-in-my-phone/?ref=broddin.be) [te](https://tvvisie.nl/inhoud/nederland/luisteraars-laten-muziek-voor-zich-spreken-op-valentijnsdag%5F76284/?ref=broddin.be) [werken](https://www.filmfestival.be/nl/nieuws/patrick-duynslaegher-blikt-vooruit-django-laat-de-muziek-voor-zich-spreken/12-04-2017/3202?ref=broddin.be). 1. Kramer – Beestje 2. The 1975 – I Always Wanna Die (Sometimes) 3. Joanna Newsom – Clam, Crab, Cockle, Cowrie (+) 4. Built to Spill – Life In Vain 5. Courtney Barnett – Nobody Really Cares If You Don’t Go to the Party 6. Beck – Wow 7. ANOHNI – 4 Degrees 8. boygenius – Me & My Dog 9. Fenne Lilly – To Be a Woman Pt. 2 10. Monsters Of Folk – Temazcal 11. The Frames – What Happens When the Heart Just Stops 12. Max Richter – On the Nature of Daylight 13. Mono – A thousand paper cranes 14. 65daysofstatic – Supermoon 15. Liars – The Other Side of Mt. Heart Attack 16. Jóhann Jóhannsson – Part V – The Sun’s Gone Dim and the Sky’s Turned Black (+ Joanna Newsom staat niet op Spotify, sorry) ### Studio.Fuckhedz #8 URL: https://broddin.be/studio-fuckhedz-8/ Last updated: 2026-07-19T19:05:29.000Z In de zomer van 2001 was ik 18 jaar oud en was ik voor mijn tweede keer op Pukkelpop. Het speciale bierenkraam en de vermoeidheid van de dag zorgden ervoor dat ik omstreeks 21u50 ergens achteraan de Marquee lag te crashen. En toen begon er een band met een rare naam die ik niet kende, maar daar en toen op die harde houten planken in Kiewit werd mijn muzieksmaak voor de komende 20 jaar gevormd. Bij het lemma *omverblazen* op Wikipedia staat volgens mij nog een foto van dat moment (ja, je kan ook omvergeblazen worden als je al ligt). En na Mogwai moest Eels nog spelen. - Mogwai – Ithica 27/9 - Pela – Venom - Bill Ryder-Jones – And Then There’s You - Car Seat Headrest – Drunk Drivers / Killer Whales - Clap Your Hands Say Yeah – The Skin of My Yellow Country Teeth - Bright Eyes – Forced Convalescence - Julien Baker – Sour Breath - The Mountain Goats – Until Olympus Returns - Mazzy Star – Fade Into You - Eels – The Stars Shine In The Sky Tonight - Alex Turner – Hiding Tonight - Low – Laser Beam - Jon Hopkins – Immunity - Explosions In The Sky – Have You Passed Through This Night? ### Studio.Fuckhedz #7 URL: https://broddin.be/studio-fuckhedz-7/ Last updated: 2026-07-19T19:05:29.000Z De zon schijnt, de vogels zingen, de bloemen groeien, wolken doemen op en ik ben aan het vliegen. 1. M83 – Birds 2. M83 – Unrecorded 3. The Moldy Peaches – Who’s Got the Crack? 4. The Strokes – The Adults Are Talking 5. Yeah Yeah Yeahs – Maps 6. WU LYF – L Y F 7. Sonic Youth – Junkie’s Promise 8. Raketkanon – Florent 9. dEUS – Nothing Really Ends 10. Christian Lee Hutson – Northsiders 11. Bon Iver – PDLIF 12. Kids See Ghosts – Kids See Ghosts 13. Fiona Apple – Cosmonauts 14. Boards Of Canada – Pete Standing Alone 15. Okkervil River – Our Life Is Not A Movie Or Maybe 16. The Breeders – No Aloha 17. Aereogramme – Exits ### Street Viewer Pro 6 URL: https://broddin.be/street-viewer-pro-6/ Last updated: 2026-07-19T19:05:29.000Z ## Een stom idee Een jaar of 10 geleden had ik het stomste idee ooit: wat als ik Street View van Google nu eens combineerde met het kompas (toen een nieuwigheid) van de iPhone. Dat je als het ware met je iPhone kon rondkijken op Street View. Stom idee he? ![](https://broddinblog.on-forge.com/storage/598/screenshot-2020-04-17-at-112648.jpg) Anderhalf miljoen keer werd die app gedownload. Een groot deel van het succes kwam door het feit dat Apple in iOS6 geen Google Maps meer aanbood en er daardoor een tijd geen manier was om Street View in iOS te bekijken. ![Apple verwijdert Google Maps en zo ook street view uit iOS](https://broddinblog.on-forge.com/storage/599/screenshot-2020-04-17-at-112817.jpg) Apple verwijdert Google Maps en zo ook street view uit iOS Zo’n piek zorgt voor ontzettend veel extra gebruikers en extra gebruikers zorgen voor een betere plaatsing in de App Store en dat zorgt dan weer voor nog extra gebruikers, enzovoort. ## Verwaarloosd Hierdoor heeft die app van 10 jaar geleden nog altijd veel gebruikers. Mensen die niet weten dat Google ondertussen zelf een Street View app heeft, of die wel een heel grote fan van het kompasgebeuren zijn (al heeft Google dat volgens mij ook al wel geïmplementeerd). Het ding is dat ik met vijfduizend dingen tegelijk bezig ben, en dat ik m’n Street View app door de jaren heen verwaarloosd heb. Bewijs hiervan zijn deze screenshots van versie 5 (uit 2019): ![](https://broddinblog.on-forge.com/storage/600/img-0998-1.png) Ik schaam mij daarvoor. Versie 5 was echt van den hond zijn kloten. Op zich was dat niet meer dan een kaart en de webversie van Street View. Tijdsgebrek en de gedachte “ik fix dat later wel” zorgden ervoor dat dit een serieuze stap terug was. ## Maar nu is er versie 6, hoera! Onlangs ben ik terug beginnen spelen met React Native, een manier om native apps te schrijven in Javascript. Ik ben bezig aan een grote, heel leuke app die hierin is geschreven (de beta-test lanceert heel binnenkort) en tijdens het maken daarvan dacht ik: “zou ik Street Viewer Pro ook niet even snel herschrijven, maar dan deftig?” Snel werd toch al gauw enkele weken, maar nu is er dus eindelijk een nieuwe versie waar ik me niet voor doodschaam. De basis blijft hetzelfde, een kaart en street views met kompas. Maar het onderstel is deftig deze keer, waardoor de app snel is en er een pak beter uitziet. Er is nog steeds reclame, maar ik heb voor het eerst in-app aankopen geïmplementeerd. Voor €4,5 zijn de advertenties voor goed weg (of je kan voor de abonnementsformule van €0,99/maand kiezen). *En ja: er zijn al mensen die het betaald hebben.* ![](https://broddinblog.on-forge.com/storage/601/streetview.jpg) ## Learnings Tijdens het maken van deze app (en de grotere) heb ik veel bijgeleerd, dingen die ik binnenkort in wat technischere postjes in ‘t engels ga gieten: - In app aankopen, en de vijfduizend regels waar je je aan moet houden. - Geautomatiseerde screenshots voor in de app store (FastLane + React Native) - Geen certificatenzever meer dankzij FastLane ## Downloaden maar ![](https://broddinblog.on-forge.com/storage/602/3-1200x630wa.png) ### Studio.Fuckhedz #6 URL: https://broddin.be/studio-fuckhedz-6/ Last updated: 2026-07-19T19:05:29.000Z Week 8000 in quarantaine. Tijd voor nog wat muziek om ons erdoor te helpen. 1. Tom Waits – Hold On 2. Arcade Fire – Suburban War 3. Vampire Weekend – I Think Ur A Contra 4. Justin Vernon – Bruised Orange (Chain of Sorrow) 5. John Prine – That’s the Way the World Goes Round 6. Gorki – Vaarwel Lieveling 7. Conor Oberst – Mamah Borthwick (A Sketch) 8. Benjamin Gibbard – You Remind Me of Home 9. Andrew Bird – Capital Crimes 10. EL VY – Return to the Moon 11. Phoebe Bridgers – Kyoto 12. M. Ward – Unreal City 13. Girls – Hellhole Ratrace 14. Daniel Lanois – That’s The Way It is ### Studio.Fuckhedz #5 URL: https://broddin.be/studio-fuckhedz-5/ Last updated: 2026-07-19T19:05:30.000Z 1. Bright Eyes – Let’s Not Shit Ourselves (to love and to be loved) 2. The Moutain Goats – This Year 3. Pulp – A Little Soul 4. Khonnor – Magan’s Present 5. Animal Collective – My Girls 6. Desaparecidos – The Left Is Right 7. Kate Tempest – Europe Is Lost 8. IDLES – Well Done 9. Billie Eilish – xanny 10. Songs: Ohia – Tigress 11. The 1975 – Jesus Christ 2005 God Bless America 12. The White Stripes – The Same Boy You’ve Always Known 13. Libertines – Music When The Lights Go Out 14. Eels – World Of Shit ### Quarantijden II URL: https://broddin.be/quarantijden-ii/ Last updated: 2026-07-19T19:05:30.000Z Vandaag tijdens het wandelen nog wat snapshots genomen. Pas op, het is in Antwerpen-Noord dus hou je bezittingen goed in ‘t oog en wandel een beetje door. ![](https://broddinblog.on-forge.com/storage/606/img-2403.jpg) ![](https://broddinblog.on-forge.com/storage/607/img-2408.jpg) ![](https://broddinblog.on-forge.com/storage/608/img-2409.jpg) ![](https://broddinblog.on-forge.com/storage/609/img-2412.jpg) ![](https://broddinblog.on-forge.com/storage/610/img-2415.jpg) ![](https://broddinblog.on-forge.com/storage/611/img-2423.jpg) ![](https://broddinblog.on-forge.com/storage/612/img-2424.jpg) ![](https://broddinblog.on-forge.com/storage/613/img-2431.jpg) ![](https://broddinblog.on-forge.com/storage/614/img-2432.jpg) ![](https://broddinblog.on-forge.com/storage/615/img-2438.jpg) ![](https://broddinblog.on-forge.com/storage/616/img-2441.jpg) ![](https://broddinblog.on-forge.com/storage/617/img-2445.jpg) ![](https://broddinblog.on-forge.com/storage/618/img-2449.jpg) ![](https://broddinblog.on-forge.com/storage/619/img-2457.jpg) ![](https://broddinblog.on-forge.com/storage/620/img-2458.jpg) ### Quarantijden URL: https://broddin.be/quarantijden/ Last updated: 2026-07-19T19:05:30.000Z De makkelijkste manier om onze tweeling in slaap te krijgen is met de buggy te gaan wandelen. Ik besloot om mijn camera eens mee te nemen om wat snapshots te nemen onderweg. ![](https://broddinblog.on-forge.com/storage/622/img-2354.jpg) ![](https://broddinblog.on-forge.com/storage/623/img-2355.jpg) ![](https://broddinblog.on-forge.com/storage/624/img-2358.jpg) ![](https://broddinblog.on-forge.com/storage/625/img-2360.jpg) ![](https://broddinblog.on-forge.com/storage/626/img-2362.jpg) ![](https://broddinblog.on-forge.com/storage/627/img-2364.jpg) ![](https://broddinblog.on-forge.com/storage/628/img-2365.jpg) ![](https://broddinblog.on-forge.com/storage/629/img-2371.jpg) ![](https://broddinblog.on-forge.com/storage/630/img-2375.jpg) ![](https://broddinblog.on-forge.com/storage/631/img-2383.jpg) ![](https://broddinblog.on-forge.com/storage/632/img-2388.jpg) ![](https://broddinblog.on-forge.com/storage/633/img-2397.jpg) ![](https://broddinblog.on-forge.com/storage/634/img-2401.jpg) ### Studio.Fuckhedz #4 URL: https://broddin.be/studio-fuckhedz-4/ Last updated: 2026-07-19T19:05:31.000Z Week 3 van de lockdown die geen lockdown is. Met mooie nieuwe tracks van onder meer Christian Lee Hutson, eeuwige favoriet Bright Eyes en Bob Dylan. 1. Spiritualized – Ladies and Gentlemen We Are Floating In Space (I Can’t Help Falling In Love) 2. Christian Lee Hutson – Talk 3. M. Ward – Lullaby + Exile 4. Bright Eyes – Persona Non Grata 5. Waxahatchee – Ruby Falls 6. Broken Social Scene – Anthems for a Seventeen Year Old Girl 7. Better Oblivion Community Center – Sleepwalkin’ (Daydreamin’ Version) 8. Patrick Wolf – To The Lighthouse 9. Nine Inch Nails – The Day the World Went Away 10. Elliott Smith – Miss Misery 11. John Prine – Sam Stone 12. Johann Johannson – Odi Et Amo 13. Anthony & The Johnsons – Cripple and the Starfish 14. Bob Dylan – Murder Most Foul ### Studio.Fuckhedz #3 URL: https://broddin.be/studio-fuckhedz-3/ Last updated: 2026-07-19T19:05:31.000Z Week 2 van de lockdown die geen lockdown is. De eerste versie van deze playlist was lekker luid, met Nine Inch Nails, Sonic Youth en Raketkanon. Maar toen besefte ik dat we misschien meer nood hebben aan een warm dekentje. Daarom begint de playlist deze week met een riedeltje van René Merkelbach, een Hollands componist die met melodieën wonderlijke verhalen kan vertellen (en dat ook als huiscomponist doet in de Eftelin), en eindigt hij met onderstaande woorden. When the world is sick Can no one be well? But I dreamt we were so beautiful and strong 1. René Merkelbach – To Spring 2. The Flaming Lips – Do You Realize?? 3. Yo La Tengo – Our Way To Fall 4. Broken Social Scene – Stay Happy 5. The National – Sorrow 6. Mount Eerie – Real Death 7. Sufjan Stevens – Should have known better 8. Nick Cave & The Bad Seeds – The Mercy Seat 9. Bill Ryder-Jones – Let’s Get Away from Here 10. Tindersticks – Sometimes It Hurts 11. Phosphorescent – Endless, Pt. 1 12. William McCarthy – Time Ain’t Always By My Side 13. Arcade Fire – We Don’t Deserve Love 14. Thee Silver Mt Zion Memorial Orchestra & Ta-La-La Band – God Bless Our Dead Marines ### Studio.Fuckhedz #2 URL: https://broddin.be/studio-fuckhedz-2/ Last updated: 2026-07-19T19:05:31.000Z Binnen zitten is nooit leuk. Hopelijk verlicht deze playlist de pijn. 1. Godspeed You! Black Emperor – The Dead Flag Blues 2. Radiohead – Man Of War 3. Bright Eyes – Laura Laurent 4. Songs: Ohia – Redhead 5. Fenne Lilly – Hypochondriac 6. Big Thief – Black Diamonds 7. IDLES – Mother 8. Jane’s Addiction – No One’s Leaving 9. Porridge Radio – Sweet 10. Car Seat Headrest – Can’t Cool Me Down 11. Het Zesde Metaal – Lore 12. The Postal Service – Recycled Air 13. Explosions In The Sky – Your Hand In Mine ### Medium suckt, hoera ik ben opnieuw beginnen schrijven URL: https://broddin.be/medium-suckt-hoera/ Last updated: 2026-07-19T19:05:31.000Z Eén van mijn goede voornemens voor 2020 was terug wat meer beginnen schrijven. Maar de vorige versie van mijn site stond dat niet echt toe. De vorige versie draaide op [Gatsby](https://www.gatsbyjs.org/?ref=broddin.be), een heel fijne static site generator, met één nadeel. Elke wijziging die ik deed duurde vijf minuten om live te staan en dat was nefast want ik pas de meeste dingen die ik schrijf nog 100 keer aan. Bij het VRT Creative Lab hebben we [een Medium](https://medium.com/creativelab?ref=broddin.be) om onze kennis met de wereld te delen, en heel even kwam het in me op om daar ook een nieuwe site te beginnen. En toen herinnerde ik me dit: ![](https://broddinblog.on-forge.com/storage/639/qy5rijb85wjlkgoeziyr9q-841pzh1vsjaul5yixrfo.png) ![](https://broddinblog.on-forge.com/storage/640/screenshot-2020-03-10-at-163522.png) Verschrikkelijke UX. Op mijn zoektocht naar iets beter kwam ik bij [Ghost](https://ghost.org/?ref=broddin.be) uit, een opensource bloggingplatform. Een paar jaar geleden had ik dat al eens getest, maar toen was het allemaal niet iets te minimalistisch. Ondertussen is Ghost gearriveerd bij versie 3, en biedt het alle functionaliteiten die je maar kan wensen van eeen modern blogplatform, in een heel cleane en snelle omgeving. ![](https://broddinblog.on-forge.com/storage/641/screenshot-2020-03-10-posts-tim-broddin.png) Installatie op een $5/maand Amazon server verliep vlekkeloos Nu enkel nog wat meer schrijven. ### Studio.Fuckhedz #1 URL: https://broddin.be/studio-fuckhedz-1/ Last updated: 2026-07-19T19:05:32.000Z Mensen die mij al heel lang kennen weten dat ik iets na de eeuwwisseling een populaire blog had met de ietwat rare naam Fuckhedz. Eén van de vaste rubrieken op die blog was een wekelijkse playlist. Naast het feit dat het illegaal aanbieden van muziek me toen wel wat problemen heeft opgeleverd met SABAM, deed ik dat samenstellen van een playlist wel graag. Daarom wil ik het nog eens proberen. Dezelfde titel en hetzelfde recept. Een wekelijkse (gaan we proberen) playlist met een mix aan stijlen en aan versheid. Goed voor onderweg, maar evenzeer voor onder een warm dekentje. Maar deze keer wel gewoon op Apple Music en Spotify, zodat SABAM zich kalm kan houden. Ik weet niet meer bij welke editie ik 15 jaar geleden nu weer geëindigd ben, dus start ik gewoon terug van 1\. Dat is duidelijk voor iedereen. 1. Daniel Johnston – Devil Town 2. Soccer Mommy – Circle The Drain 3. The Strokes – Is This It 4. High Hi – Borders 5. Ween – If You Could Save Yourself (You’d Save Us All) 6. Labrinth & Zendaya – All Of Us 7. Zwangere Guy – GUTTERGANG 8. Phoebe Bridgers – Garden Song 9. Mac Miller – Everybody 10. Bruce Springsteen – Thunder Road 11. Conor Oberst – No One Changes 12. Kate Tempest – Hold Your Own ### Irene, of hoe ik een virtuele versie van mezelf creëerde URL: https://broddin.be/irene-of-hoe-ik-een-virtuele-versie-van-mezelf-creeerde/ Last updated: 2026-07-19T19:05:32.000Z Voor een project met **VRT Creative Lab** moest ik onlangs alle data die Facebook over mij had downloaden. Het viel me meteen op dat ik de afgelopen 13 jaar nogal wat heb zitten chatten. De gesprekken herlezen voelde als een coming-of-age-verhaal van adolescent naar volwassene (of toch min of meer). Exen en de bijhorende drama’s passeerden, maar ook wilde feesten en andere uitspattingen. Hoogtes en laagtes uit mijn leven van mijn 23 tot mijn 36. Ik vroeg me af wat het zou geven als ik al mijn chatgesprekken prijsgaf. Bovendien haalde ik inspiratie uit **“Be Right Back”**, mijn favoriete aflevering van de fictiereeks **“Black Mirror”**. Daarin bestelt een weduwe een virtuele kopie van haar overleden man, gebaseerd op alles wat hij ooit gezegd heeft. Dat donkere, dystopische uitgangspunt, gekoppeld aan mijn nieuwsgierigheid over mijn eigen chats, was het beginpunt van **Virtuele Tim Broddin**. ## Uitdaging: kan ik mezelf in een chatbot steken? Ik probeerde het eerste met AI-algoritme [Seq2Seq](https://google.github.io/seq2seq/?ref=broddin.be). Kort door de bocht is dit een algoritme dat zich uitstekend leent voor vertalingen, van de ene sequentie naar een andere. Als je het algoritme bijvoorbeeld leert wat ik allemaal op “Alles goed?” heb geantwoord, zou je in principe na heel lang trainen variaties op mijn antwoorden kunnen krijgen. Ofwel: na heel lang trainen op heel veel mogelijke antwoorden zou het algoritme dingen kunnen zeggen die ik zelf nooit gezegd heb. Maar deze aanpak faalde glorieus. Ik huurde bij Google een server en liet die 72 uur lang kauwen op alles wat ooit tegen mij gezegd is en mijn antwoorden daarop. Dit was het resultaat: ![AI vindt alles grappig](https://broddinblog.on-forge.com/storage/644/1-y6npqvralzqauw6v4jow5g.png) AI vindt alles grappig Mijn gratis Google Credits waren ondertussen op, dus liet ik de AI-piste varen. Het zag er niet naar uit dat er ooit iets zinnigs uit zou komen, en hoewel het [GPT2-algoritme](https://openai.com/blog/better-language-models/?ref=broddin.be) veelbelovend is, had ik geen zin om nog eens dagen te moeten wachten om uiteindelijk onzin te lezen. ## Andere boeg Tijd voor een nieuwe aanpak dus. Ik koos ervoor om alles wat ooit tegen mij gezegd is geweest te indexeren in [ElasticSearch](https://www.elastic.co/?ref=broddin.be), samen met de mogelijke antwoorden. Wanneer je iets typt, gaat hij hierin zoeken, voegt hij wat magische chaos toe en kiest dan een mogelijk antwoord. En dat geeft vaak hilarische resultaten: ![Sorry Anne Servaes](https://broddinblog.on-forge.com/storage/645/1-bulxhgzvc6mogofu-oy1mw.jpg) Sorry Anne Servaes Zodra mijn algoritme en bijhorende backend klaar waren, begon ik aan de voorkant een website te bouwen. Daarvoor koos ik [NextJS,](https://nextjs.org/?ref=broddin.be) het next level framework voor React. OK, even tussendoor. Serieus, als je met React bezig bent, stop dan met [create-react-app](https://github.com/facebook/create-react-app?ref=broddin.be) en stap over naar NextJS. Het laat je *server-side* renderen en *static sites* genereren, zonder dat je er moeite voor moet doen. En je hebt ook gratis hosting door het bijhorende platform [Zeit Now](https://zeit.co/home?ref=broddin.be). In de front-end stak ik ook enkele kleine details waar ik al lang mee wou experimenteren, maar geen geschikt project voor vond, zoals [particles.js](https://vincentgarreau.com/particles.js/?ref=broddin.be) en Dark Mode. ## Ta-daaa! Dit is ‘m uiteindelijk geworden. Je vindt mijn site hier: ![](https://broddinblog.on-forge.com/storage/646/particle.png) (Dit artikel verscheen eerder op [het Mediumkanaal van het Creative Lab](https://medium.com/creativelab/irene-of-hoe-ik-een-virtuele-versie-van-mezelf-cre%C3%ABerde-47c713efcd65?ref=broddin.be)) ### Tickets scoren: enkele makkelijke hacks URL: https://broddin.be/tickets-scoren-enkele-makkelijke-hacks/ Last updated: 2026-07-19T19:05:32.000Z Ik ben redelijk goed in het scoren van tickets voor dingen waarvan je weet dat ze gaan uitverkopen. Soms denken mensen dan (onterecht) dat ik het ticketsysteem gehackt heb, maar ik heb gewoon wat eenvoudige truukjes in mijn mouw zitten. Die truuks ga ik nu eens delen met de rest van de wereld. ### Multi Account Containers Een manier die veel mensen gebruiken is verschillende browsers gebruiken. Dit werkt goed, want de meeste ticketsystemen plaatsen een cookie, waardoor je per browser maar één plek in de wachtrij kan opeisen. Twintig tabs openzetten in de hoop sneller binnen te zijn werkt bijna nooit. Maar verschillende browsers hebben twee grote nadelen: - het maximum aantal browsers is beperkt - je gaat heel veel moeten alt-tabben tussen je verschillende vensters. Al een geluk is er voor Firefox (volgens mij ook gewoonweg de beste browser van het moment) een heel handige extensie: [Multi Account Containers](https://addons.mozilla.org/nl/firefox/addon/multi-account-containers/?ref=broddin.be). Hiermee kan je nieuwe tabs openen die volledig geïsoleerd van elkaar draaien, die er voor het ticketsysteem dus uitzien als verschillende browsers. Hierdoor is het mogelijk om heel veel tabs open te zetten en zo ook heel veel plaatsen in de wachtrij te verzekeren. Installeren is makkelijk. Gewoon naar [deze link surfen](https://addons.mozilla.org/nl/firefox/addon/multi-account-containers/?ref=broddin.be) en de extensie installeren. Vervolgens ga je wanneer je lang op de + voor een nieuwe tab klikt een menu krijgen om te kiezen in welke container je die wil open doen. Zet vervolgens de link naar het ticketsysteem open in verschillende containers en klaar! ![Enkele containers](https://broddinblog.on-forge.com/storage/648/containers.png) Enkele containers ### Reload all tabs Er zijn ticketsystemen waarbij je automatisch in de wachtrij sukkelt, en er zijn er waarbij je moet zorgen dat je exact op de seconde herlaadt. Voor die laatste soort is [Reload All Tabs](https://addons.mozilla.org/nl/firefox/addon/reload-all-tabs/?src=search&ref=broddin.be) een onmisbare extensie. Mijn ervaring leert dat tussen de 1 à 2 seconden voor het begin van de verkoop herladen ideaal is. ### Network monitor (geavanceerd) Dit laatste is niet echt essentiëel, maar ticketsystemen communiceren bijna altijd in de achtergrond met de server om de plaats in de wachtrij te tonen. Het kan leuk zijn om deze communicatie in de gaten te houden. Dit kan je doen door de Network Monitor van de Firefox Developer Tools te openen met Command+ALT+E. Zo kon je bij de ticketverkoop van Best Kept Secret bijvoorbeeld zien wat je vooruitgang in de rij was: ![Extra info over hoe het proces werkt.](https://broddinblog.on-forge.com/storage/649/networkmonitor.jpg) Extra info over hoe het proces werkt. Mits wat Javascript kennis kon je bij Best Kept Secret ook zien dat deze data lokaal werd opgeslagen in een variabele, en kon ik met dit stukje code de vooruitgang van de wachtrij in de titel van mijn tab weergeven: ```text setInterval(() => { document.title = `${window.queueViewModel.ticket.progress()*100}%`}, 1000); ``` ![Mooie vooruitgangsinfo in de tabs](https://broddinblog.on-forge.com/storage/650/tabs.png) Mooie vooruitgangsinfo in de tabs Voila, dat zijn alle truuken in mijn mouw. Mocht ik er in de toekomst nog andere gebruiken, dan zal ik dit artikel verder aanvullen. Heb jij nog andere truuks, laat het me gerust weten via [Twitter](https://twitter.com/timbroddin?ref=broddin.be) ofzo. ### Beginnersgids Conor Oberst URL: https://broddin.be/beginnersgids-conor-oberst/ Last updated: 2026-07-19T19:05:32.000Z *Dit is de derde keer ik dit stuk herschrijf. Blijkbaar is schrijven over helden veel moeilijker dan ik me ooit had kunnen inbeelden. Ik heb een afspeellijst gemaakt van het beste van Conor Oberst. Voor Apple Music en Spotify. Die staat ook onderaan zodat je kan luisteren tijdens het lezen.* Ik ben de allergrootste Conor Oberst fan die ik ken. Ik was dan ook dolgelukkig toen hij vorige week onder de naam *Better Oblivion Community Center* samen met de fantastische Phoebe Bridgers een nieuwe plaat uitbracht. Een plaat die mij, ondanks toch wel redelijk hoog gespannen verwachtingen totaal omver geblazen heeft. Better Oblivion Community Center Performs 'Dylan Thomas' ## Maar wie is die Conor Oberst? Conor Oberst is -kort door de bocht- een singersongwriter uit Omaha, Nebraska. Hij is vooral bekend als zanger van Bright Eyes, maar heeft daarnaast nog superveel andere projecten gehad. Hij ziet zichzelf als folkzanger, maar is veel meer dan dat alleen. Toen ik twee jaar geleden naar een soloshow van hem ging in de AB bleek geen van mijn collega’s ooit van hem of Bright Eyes gehoord te hebben. En da’s straf, want Bright Eyes verkocht ooit in geen tijd de Botanique uit en was op Dour headliner (ok, van het tweede buitenpodium maar toch). Daarom deze beginnerscursus Conor Oberst. Ik zou het zonde vinden dat zo’n talent vergeten wordt. Of dat *Better Oblivion Community Center* nu doorbreekt zoals pakweg *The War On Drugs* en niemand de moeite doet om de backstory te ontdekken. Maar goed, naar het begin. Bright Eyes is in mijn ogen de beste indieband die ooit heeft bestaan. Of toch diegene die het meeste teweeg heeft gebracht bij mij. Ik ontdekte Bright Eyes toen ik ongeveer 20 was en toen spraken de nummers over twijfel en vervreemding mij enorm aan. Vijftien jaar later doen ze dat nog steeds. ## Waar begin ik? Conor Oberst begon al heel vroeg met het uitbrengen van cassettes met zijn nummers. Denk een beetje aan *Car Seat Headrest*. Lofi-emo-indienummers gebracht door een dorky puber met een stem die klinkt als een rasp. Een puber die op zijn twaalfde samen met zijn broer het nog steeds min of meer gekende indielabel *Saddle Creek* begon en bij een hele resem groepjes hoorde. *The Faint*, *Park Ave* en *Commander Venus* toonden allemaal al dat die jongen wel wat talent had. Maar het zou nog tot zijn eerste LP onder de naam Bright Eyes (*Letting Off The Hapiness* uit 1998) duren tot de ogen van de wereld opengingen en er met termen als wonderkind gesmeten zou worden. In 1998 luisterde ik 2Pac en Nirvana en het zou nog zeven jaar duren tot ik Bright Eyes leerde kennen. Het allereerste album dat ik hoorde van Bright Eyes was meteen de instant classic *I’m Wide Awake It’s Morning* uit 2005\. Het was het juiste album op de juiste plaats. Ik had tot de dag ik dat album hoorde nooit gedacht dat ik ooit iets dat nog maar een beetje naar country en folk rook zou kunnen aanhoren. Maar hier was het, mijn tot op de dag van vandaag favoriete album aller tijden. Tien nummers, elk perfect op zijn plaats. Het ene moment rauw en intiem, dan vrolijk en uiteindelijk kwaad. Ik leerde Bright Eyes kennen tijdens Duyster en hij werd toen beschreven als de Dylan van onze generatie. En zeker op *I’m Wide awake* was dat zo waar. Hoewel die plaat veel van de lofi van de vroegere Bright Eyes achter zich laat, blijft ze toch een zekere urgentie en punk hebben. Al was Bush, waar hij zich tegen afzette, achteraf gezien toch nog niet het ergste wat we ooit hebben meegemaakt. Op *I’m Wide Awake* staat ook mijn absolute lievelingsnummer ooit. Kiekenvlees van begin tot einde: Bright Eyes Land Locked Blues And the world’s got me dizzy again. You’d think after 22 years I’d be used to the spin ## Wat is dat met die stem? Oberst heeft een typerende stem. Een acquired taste want na een tijd hoor je dat niet meer. Het is vooral interessant hoe hij ze gebruikt. Hij kan het ene nummer fluisteren, het volgende nummer woorden uitspuwen en al roepend eindigen (kwade Conor Oberst is goed). Het ene moment is zijn stem een warm deken tegen de koude wereld, het volgende een krachtig protestelement. ## Heeft Bright Eyes nog goede dingen uitgebracht? Ja. Als ge mee zijt met *I’m Wide Awake It’s Morning* dan kunt ge alle kanten uit. Op het laatste album na heeft Bright Eyes enkel steengoede platen uitgebracht. Ik ga ze hier niet allemaal bespreken. Doe zelf de moeite om dieper te duiken, je gaat niet teleurgesteld zijn. Een andere favoriet van mij is *Lifted or The Story Is in the Soil, Keep Your Ear to the Ground*, één plaat voor *I’m Wide Awake* en meteen veel minder gepolished. Een plaat vol met indieanthems die nooit indieanthems zijn geweest. Dit is toch het ideale laatste meebrulrefrein van ieder indiefeestje? I want a lover I don’t have to love I want a girl who’s too sad to give a fuck Where’s the kid with the chemicals? Ook een schoontje is *Cassadaga* uit 2008\. Misschien iets minder ruw dan *I’m Wide Awake* maar naar mijn gevoel meer Bright Eyes als volwaardige band en minder als singer-songwriter. In 2011 gaf Bright Eyes er de brui aan. Na hun laatste album *The People’s Key* waarover Pitchfork terecht schreef “a wildly spiritual record without any spirit” was het op. ## En daarna? Tijdens en na Bright Eyes bracht Oberst met *Conor Oberst & The Mystic Valley Band* twee albums uit. Die waren dik ok, maar jammer genoeg stonden ze altijd in de schaduw van wat Bright Eyes (ooit) was. Met zijn bandmaat Mike Mogis, M. Ward, Jim James van My Morning Jacket en Will Johnson van Centro-Matic heeft hij ook de supergroep met de toepasselijke naam *Monsters Of Folk*. Het is spijtig genoeg bij één bloedmooie plaat gebleven. Monsters of Folk - "Temazcal" ## #metoo In 2014 beweerde een vrouw op een online forum dat ze misbruikt was door Oberst. Rond die tijd bracht hij zijn tweede solo-album *Upside Down Mountain* uit maar in de storm rond zijn persoon heeft dat album amper aandacht gekregen. Daarop besloot hij zijn oude punkband (en mijn favoriete zijproject) *Desaparecidos* terug van stal te halen. Linkse teksten, lekker rammen en even alles vergeten. Tot tijdens de tour een gezwel in zijn hoofd werd gevonden. Desaparecidos - Live @ Shea Stadium BK \[NPR video\] ## Een gezwel in zijn kop? Het gezwel was relatief snel verwijderd, maar tijdens zijn revalidatie kroop hij achter zijn piano om nieuwe muziek te schrijven. Kaal met enkel piano en mondharmonica. Hij stuurde die door als demo’s naar zijn platenfirma, in de hoop een zak geld te krijgen om die te gaan opnemen, en die zeiden: ge moogt ze gaan opnemen, maar dit klinkt zo fantastisch dat we dat zo gaan uitbrengen. Klinkt bekend? Bruce Springsteen is eens hetzelfde overkomen. Het was dan ook Oberst zijn *Nebraska*, enkel heette die van hem *Ruminations* en was het ook een meesterwerk. En ohja, die vrouw van de aanklacht bleek alles te hebben verzonnen. Conor Oberst - Full Performance (Live on KEXP) ## Better Oblivion Community Center En daarmee zijn we rond. Nu is er dus *Better Oblivion Community Center*, een band die hij oprichtte met zijn poulain Phoebe Bridgers. Voor beide artiesten te plaatsen bij hun allerbeste werk, en met een fantastische band achter hen (oa Nick Zimmer van de Yeay Yeah Yeahs op gitaar en Carla Azar van Jack White op drums). Koop ineens [een kaartje](https://www.deroma.be/kalender/736/?ref=broddin.be) voor in de Roma. Want live is Conor Oberst zelfs nog beter dan op plaat. ## Luisterlijst (van perfect naar nog steeds goed) - I’m Wide Awake It’s Morning (Bright Eyes – 2005) - Ruminations (Conor Oberst – 2016) - Lifted or The Story Is in the Soil, Keep Your Ear to the Ground (Bright Eyes – 2002) - Better Oblivion Community Center (Better Oblivion Community Center – 2019) - Payola (Desaparecidos – 2015) - Cassadaga (Bright Eyes – 2007) - Monsters Of Folk (Monsters Of Folk – 2009) - Fevers and Mirrors (Bright Eyes – 2000) - Motion Sickness (Bright Eyes – 2005 – live) - Salutations – (Conor Oberst – 2017) - Digital Ash In A Digital Urn (Bright Eyes – 2005) - Upside Down Mountain (Conor Oberst – 2014) - Conor Oberst (Conor Oberst – 2008) - Letting Of The Hapiness (Bright Eyes – 1998) - Outer South (Conor Oberst & The Mystic Valley Band – 2009) - Read Music, Speak Spanish (Desaparecidos – 2002) - A Christmas Album (Bright Eyes – 2002) - One Of My Kind (Conor Oberst & The Mystic Valley Band – 2012) - The People’s Key (Bright Eyes – 2011) ## Playlist Hieronder een playlist voor Apple Music en Spotify. Zet die op shuffle en geniet ervan! ### Hoe ik mijn fiets gehackt heb URL: https://broddin.be/hoe-ik-mijn-stromer-st2-s-gehackt-heb/ Last updated: 2026-07-19T19:05:33.000Z Dankzij mijn werkgever kan ik sinds vorig jaar een fiets voor woonwerkverkeer leasen. Nu is Antwerpen-Brussel te ver om met een gewone fiets op regelmatige basis te rijden, maar perfect doenbaar tegen 45 km/u op een speedelec. Toen ik op zoek ging naar een goede speedelec viel mijn oog al snel op het Zwitsers merk [Stromer](https://www.stromerbike.com/nl%5FBE.html?ref=broddin.be). Hun fietsen hebben niet enkel een krachtige motor, maar komen ook met ingebouwde GPS, 3G-verbinding en uiteraard een app. Iets wat mij als gadgetfreak natuurlijk direct aanspreekt. ![st2s](https://broddinblog.on-forge.com/storage/653/st2s.jpg) st2s Na 6 maanden wachten werd mijn Stromer ST2 S eindelijk geleverd en na de eerste rit hier naar het werk viel me al direct een pijnpuntje op. Terwijl de fiets aan het opladen was kreeg ik in de app geen updates van de batterijstatus. Pas als ik naar beneden ging en de fiets uit zijn slaapstand haalde werd het batterijpercentage geupdate. Heel lastig, want als iemand per ongeluk uw kabel uitstoot geraak je niet thuis. Dus besloot ik even te kijken hoe die app werkt. Dankzij [mitmproxy](https://mitmproxy.org/?ref=broddin.be), een tooltje dat je op je laptop draait en al het verkeer tussen je telefoon en het Internet onderschept en toont. ![mitm](https://broddinblog.on-forge.com/storage/654/mitm.png) mitm Het eerste dat opviel was dat de fabrikant een mooie Oauth-flow heeft opgezet voor de authenticatie. Dit wil dus ook zeggen dat het redelijk gemakkelijk gaat zijn om hier op in te pikken en zelf iets te maken. Een tweede ding dat ik zag, was dat achter elke request `?cached=true` staat, hij vraagt dus oude gegevens op, en dat zou wel eens de oorzaak van mijn probleem kunnen zijn. Op het [Stromerforum](https://www.stromerforum.nl/viewtopic.php?f=8&t=1445&ref=broddin.be) ontdekte ik dat er iemand anders ook al bezig was met hetzelfde. Hij had een implementatie geschreven in Python, maar aangezien ik daar geen grote fan van ben heb ik mijn eigen [Javascript-implementatie](https://github.com/TimBroddin/stromer-api?ref=broddin.be) geschreven. Mijn batterijpercentage opvragen is nu zo simpel als: ```text const Stromer = require('stromer-api');const api = new Stromer({username: "xxxxx",password: "xxxxxx",client_id: "xxxxxxx",client_secret: "xxxxxxx"});api.bike.state.get().then(state => { console.log(`Batterij: ${state.battery_SOC}%`);}); ``` ![cli](https://broddinblog.on-forge.com/storage/655/cli.png) cli De fiets wordt even wakker, stuurt het batterijpercentage door over 3G en gaat weer slapen. Nu enkel terug beter wee buiten. Natuurlijk kan je hier nog een hele hoop andere dingen mee: - de locatie van de fiets ophalen in real-time - de serienummers van alle onderdelen opvragen (iets dat niet in de app kan) - de instellingen van de fiets opvragen en aanpassen - de lichten controleren - de fiets op slot zetten of los maken De broncode en documentatie staan [hier](https://github.com/TimBroddin/stromer-api?ref=broddin.be), installeren kan met `npm install stromer-api --save` of `yarn add stromer-api`. (Ik ben ook heel trots op de Facebook share image van deze post dus die deel ik hieronder nog eens.) ![og](https://broddinblog.on-forge.com/storage/656/og.jpg) og ### Daily Home Alone URL: https://broddin.be/daily-home-alone/ Last updated: 2026-07-19T19:05:33.000Z In het verleden heb ik al heel veel bots op de wereld losgelaten. Ik maakte bijvoorbeeld al een bot die [boetes uitdeelt](https://twitter.com/DT%5Fpolitie?ref=broddin.be) bij dt-fouten. Eén die [een kaas aanraadt](https://twitter.com/MadammeCheese?ref=broddin.be) wanneer iemand say cheese zegt. Eén die elke dag [een GIF uit The Sound Of Music](https://twitter.com/TheSoundOfGifs?ref=broddin.be) tweet. Om nog maar te zwijgen van de talloze Facebook commentbots. Omdat het bijna kerst is en ik fan ben van hoe ongelofelijk slecht Home Alone wel niet is wou ik nog eens iets maken. Maar wat doe je nog eind 2018, en hoe zorg ik ervoor dat ik geen fouten uit het verleden herhaal? ## It’s not you, it’s the API. Het allereerste dat opvalt als je vandaag een bot wil maken is dat het niet meer gaat. De API van Twitter laat bijna niets meer toe, en om te posten heb je toestemming van hen nodig. De API van Instagram [bestaat niet meer](https://developers.facebook.com/blog/post/2018/01/30/instagram-graph-api-updates/?ref=broddin.be) en is vervangen door iets gericht op gladde marketeers en ander krapuul. En bij Facebook is de fun er ook af sinds hun oneindige reeks lekken. Er zijn leuke open platformen die ontwikkelaars aanmoedigen om crazy shit te ontwikkelen, maar jammer genoeg zit daar niemand op. Sorry, Telegram. Ik koos Instagram als platform voor mijn bot, en al een geluk is er een Javascript pakket dat alles doet wat hun API deed, en meer: [instagram-private-api](https://github.com/huttarichard/instagram-private-api?ref=broddin.be). ## Bijschaven Mijn oorspronkelijk idee was om elk uur 1 frame van Home Alone te posten op Instagram. De film duurt 102 minuten. Maal 24 frames zou dat 146880 uur in beslag nemen, of grofweg 16 jaar. Visueel had dit er prachtig uitgezien op de profielpagina van het account, maar het voelde (als volger van) vooral heel erg veel aan. Daarnaast heb ik al moeite met het onderhouden van een project van een maand, 16 jaar zou me nooit lukken. Eén post per dag leek me een goed compromis, en per dag springt de film 5 seconden in de tijd. Zo zou het einde toch bereikt moeten zijn tegen 2022. Next up: hoe ontdekken mensen deze account? De logische manier bij Instagram is door tags te gebruiken. Maar welke? ## Enter The Machine Elke dag dezelfde tags gebruiken: #homealone #daily #still zou lui zijn. We leven in een tijd waarin computers perfect kunnen zien wat er op de foto staat. Dus doen we dat. Amazon biedt [een API](https://aws.amazon.com/rekognition/?ref=broddin.be) aan die 1000 herkenningen doet voor $1. ![](https://broddinblog.on-forge.com/storage/658/rekognize1.jpg) Wat hij herkent op de foto wordt omgezet in hashtags en aan de caption toegevoegd. De caption zelf wordt bepaald door wat er op dat moment in de ondertitelingsfile wordt gezegd. Zo valt de film toch min of meer te volgen. Ex-schoolgenoot Youri stelde op Linkedin voor om de acteurs automatisch te taggen. Jammer genoeg is qua iedereen uit Home Alone dood of in de marginaliteit terecht gekomen. Maar wanneer Kevin of één van de drie andere acteurs met een Instagram in beeld komen worden ze nu ook automatisch getagd. Ook weer dankzij Amazon, niet meer dan 10 minuten werk. ![](https://broddinblog.on-forge.com/storage/659/face.jpg) ## Blijven draaien & dinero’s Zoals ik al zei heb ik het moeilijk met dingen draaiend te houden. De [TheSoundOfGifs](https://twitter.com/TheSoundOfGifs?ref=broddin.be) bot draaide op een Rapsberry Pi en dat ging goed tot de kuisvrouw kwam, de stekker uit trok en dat ding niet meer wou opstarten. Een goedkoop servertje dan maar, al zijn er hier ook gevaren. Binnen een paar maanden ben ik vergeten bij welk bedrijf dat weer draait, dat bedrijf kan failliet gaan, die server kan crashen, en zelfs tegen een schamele 3,5 euro per maand kost me dat op termijn 140 euro. Op zich valt dat bedrag mee, maar als je zoals mij meer van die stomme projecten hebt lopen, loopt dat op. Tijd dus voor een buzzword: **serverless**. De code van de bot draait niet op een server die 24/24 aan staat, maar wordt één maal per dag opgestart, doet een tiental seconden lang zijn ding en wordt dan weer afgesloten. Ik moet me niet druk maken over Linuxdingen en kan met een redelijk gerust gevoel de bot gewoon laten draaien. Het kan nog steeds dat er een fout in de code zit of dat Instagram iets verandert waardoor de bot niet meer functioneert, maar het zal niet meer aan de kuisvrouw liggen als hij plat gaat. En quanto costa? 0 euro per maand voor de rekenkracht (want Amazon geeft een half miljoen seconden per maand gratis), 1 eurocent voor de opslag van alle afbeeldingen, en 15 eurocent voor de machine learning. In totaal 16 eurocent per maand dus, of 6 euro over het totaal van project. ## Nerdzaken De broncode staat op Github: [https://github.com/TimBroddin/dailyhomealone](https://github.com/TimBroddin/dailyhomealone?ref=broddin.be) De afbeeldingen genereer je zo (ondertiteling inbranden en 1 frame per 5 seconden): ffmpeg -i HomeAlone.mkv -qscale:v 2 -filter:v “subtitles=Home\\ Alone.mkv, fps=0.2” images/image%05d.jpg ## Einde Oh trouwens, welkom op mijn nieuwe site. Ik kan niks beloven, maar ik ga proberen om hier regelmatig iets zoals dit op te zetten. Hier kan je de bot vinden: [https://www.instagram.com/dailyhomealone](https://www.instagram.com/dailyhomealone?ref=broddin.be).