Latest Posts (20 found)
Brain Baking 2 days ago

Using Energy Prediction To Better Plan Cron Jobs

Since the Belgian government mandated the use of digitized smart energy meters we’ve been more carefully monitoring our daily energy demand. Before, we’d simply chuck all the dishes in the machine and program it to run at night: no more noise when we’re around. But now, consuming energy at night is costing us much more. The trick is to take as little as possible from the grid, but also put as little as possible back. In short, consume (or store) energy when our solar panels produce it. That dishwasher will have to run at noon instead. The same principle applies to running demanding software: CPU or GPU-intensive tasks consume an awful amount of energy, so why run them when there’s less energy available locally, thus paying more? Traditionally, these kinds of background jobs are always scheduled at night using a simple cron expression like that says “At 03:00 AM, kick things in gear”. But we can do better. At 03:00 AM, our solar panels are asleep too. Why not run the job when the sun is shining? Probably because you don’t want to interfere with the heavy load of your software system during the day thanks to your end users. It’s usually not a good idea to start generating PDF files en masse , clogging up all available threads, severely slowing down the handling of incoming HTTP requests. But there’s still a big margin to improve the planning of the job: instead of saying “At 03:00 AM exactly ”, why can’t we say “Between 01:00 AM and 07:00 AM”? That’s still before the big HTTP rush, and in the early morning, chances are there’s more cheap energy available to you. Cooking up a simple version of this for home use is easy with the help of Home Assistant. The following historical graph shows our typical energy demand during the last week (dreadful Belgian weather included): Home Assistant history of P1 Energy Meter Demand from 24 Nov to 28 Nov. Care to guess what these spikes represent? Evenings. Turning on the stove, the oven, the lights, the TV obviously creates a big spike in energy consumption, and at the same time, the moon replacing the sun results in us taking instead of giving from the energy grid. This is the reason the government charges more then: if everybody creates spikes at the same time, there’s much more pressure on the general grid. But I can’t bake my fries at noon when I’m work and we aren’t supposed to watch TV when we’re working from home… That data is available through the Home Assistant API: . Use an authorization header with a Bearer token created in your Home Assistant profile. If you collect this for a few weeks and average the results you can make an estimated guess when demand will be going up or down. If you want things to get a bit more fancy, you can use the EMHASS Home Assistant plug-in that includes a power production forecast module. This thing uses machine learning and other APIs such as https://solcast.com/ that predicts solar power—or weather in general: the better the weather, the more power available to burn through (given you’ve got solar panels installed). EMHASS also internalizes your power consumption habits. Combined, its prediction model can help to better plan your jobs when energy demand is low and availability is high. You don’t need Home Assistant to do this, but the software does help smooth things over with centralized access to data using a streamlined API. Our energy consumption and generation is measured using HomeWizard’s P1 Meter that plugs into our provider’s digital meter and sends the data over to Home Assistant. That’s cool if you are running software in your own basement, but will hardly do on a bigger scale. Instead of monitoring your own energy usage, you can rely on grid data from the providers. In Europe, the European Network of Transmission System Operators for Electricity (ENTSO-E) provides APIs to access power statistics based on your region—including a day-ahead forecast! In USA, there’s the U.S. Energy Information Administration (EIA) providing the equivalent, also including a forecast, depending on the state. ENTSO-E returns a day-ahead pricing model while EIA returns consumption in megawatthours, but both statistics can be used for the same thing: to better plan that cron job. And that’s exactly what we at JobRunr managed to do. JobRunr is an open-source Java library for easy asynchronous background job scheduling that I’ve had the pleasure to work on the last year. Using JobRunr, planning a job with a cron expression is trivial: But we don’t want that thing to trigger at 3 AM, remember? Instead, we want it to trigger between an interval, when the energy prices are at their lowest, meaning when the CPU-intensive job will produce the least amount of CO2 . In JobRunr v8, we introduced the concept of Carbon Aware Job Processing that uses energy prediction of the aforementioned APIs to better plan your cron jobs. The configuration for this is ridiculously easy: (1) tell JobRunr which region you’re in, (2) adjust that cron. Done. Instead of , use : this means “plan at somewhere between an hour before 3 AM to four hours later than 3 AM, when the lowest amount of CO2 will be generated”. That string is not a valid cron expression but a custom extension on it we invented to minimize configuration. Behind the scene, JobRunr will look up the energy forecasts for your region and plan the job according to your specified time range. There are other ways to plan jobs (e.g. fire-and-forget, providing s instaed of a cron, …), but you get the gist. JobRunr’s dashboard can be consulted to inspect when the job is due for processing. Since the scheduled picks can sometimes be confusing—why did it plan this at 6 AM and not at 7?—the dashboard also visualizes the predictions. In the following screenshot, you can see being planned at 15:00 PM, with an initial interval between 09:39 and 17:39 (GMT+2): The JobRunr dashboard: a pending job, to be processed on Mon Jul 07 2025 at 15:00 PM. There’s also a practical guide that helps you get started if you’re interested in fooling around with the system. The idea here is simple: postpone firing up that CPU to the moments with more sunshine, when energy is more readily available, and when less CO2 will be generated 1 . If you’re living in Europe/Belgium, you’re probably already trying to optimize the energy consumption in your household the exact same way because of the digital meters. Why not applying this principle on a grander scale? Amazon offers EC2 Spot Instances to “optimize compute usage” which is also marketed as more sustainable, but this is not the same thing. Shifting your cloud workout to a Spot Instance will use “spare energy” that was already being generated. JobRunr, and hopefully soon other software that optimized jobs based on energy availability, plans using marginal changes. In theory, the decision can determine the fuel resource as high spikes force high-emission plants to burn more fuel. In always-on infrastructure, spare compute capacity is sold as the Spot product—there’s no marginal change. The environmental impact of planning your job to align with low grid carbon intensity is much higher—in a good way—compared to shifting cloud instance types from on-demand/reserved to Spot. Still, it’s better than nothing, I guess. If the recent outages of these big cloud providers have taught us anything, it’s that on-premise self-hosting is not dead yet. If you happen to be rocking Java, give JobRunr a try. And if you’re not, we challenge you to implement something similar and make the world a better place! You probably already noticed that in this article I’ve interchanged carbon intensity with energy availability. It’s a lot more complicated than that, but for the purpose of Carbon Aware Job Processing, we assume a strong relationship between the electricity price and CO2 emissions.  ↩︎ Related topics: / java / By Wouter Groeneveld on 28 November 2025.  Reply via email . You probably already noticed that in this article I’ve interchanged carbon intensity with energy availability. It’s a lot more complicated than that, but for the purpose of Carbon Aware Job Processing, we assume a strong relationship between the electricity price and CO2 emissions.  ↩︎

0 views
Brain Baking 4 days ago

Rendering Your Java Code Less Error Prone

Error Prone is Yet Another Programming Cog invented by Google to improve their Java build system. I’ve used the multi-language PMD static code analyser before (don’t shoot the messenger!), but Error Prone takes it a step further: it hooks itself into your build system, converting programming errors as compile-time errors. Great, right, detecting errors earlier, without having to kick an external process like PMD into gear? Until you’re forced to deal with hundreds of errors after enabling it: sure. Expect a world of hurt when your intention is to switch to Error Prone just to improve code linting, especially for big existing code bases. Luckily, there’s a way to gradually tighten the screw: first let it generate a bunch of warnings and only when you’ve tackled most of them, turn on Error! Halt! mode. When using Gradle with multiple subprojects, things get a bit more convoluted. This mainly serves as a recollection of things that finally worked—feeling of relief included. The root file: The first time you enable it, you’ll notice a lot of nonsensical errors popping up: that’s what that is for. We currently have the following errors disabled: Error Prone’s powerful extendability resulted in Uber picking up where Google left off by releasing NullAway , a plug-in that does annotation-based null checking fully supporting the JSpecify standard . That is, it checks for stupid stuff like: JSpecify is a good attempt at unifying these annotations—last time I checked, IntelliJ suggested auto-importing them from five different packages—but the biggest problem is that you’ll have to dutifully annotate where needed yourself. There are OpenRewrite JSpecify recipes available to automatically add them but that won’t even cover 20% of the cases, as when it comes to manual if null checks and the use of , NullAway is just too stupid to understand what your intentions are. NullAway assumes non-null by default. This is important, because in Java object terminology, everything is nullable by default. You won’t need to add a lot of annotations, but adding has a significant ripple effect: if that’s nullable, then the object calling this object might also be, which means I should add this annotation here and here and here and here and here and… Uh oh. After 100 compile errors, Gradle gives up. I fixed 100 errors, recompiled, and 100 more appeared. This fun exercise lasted almost an entire day until I was the one giving up. The potential commit touched hundreds of files and added more bloat to an already bloated (it’s Java, remember) code base I’ve ever seen. Needless to say, we’re currently evaluating our options here. I’ve also had quite a bit of trouble picking the right combination of plug-ins for Gradle to get this thing working. In case you’d like to give it a go, extend the above configuration with: You have to point NullAway to the base package path ( ) otherwise it can’t do its thing. Note the configuration: we had a lot of POJOs with private constructors that set fields to while they actually cannot be null because of serialisation frameworks like Jackson/Gson. Annotate these with and NullAway will ignore them. If you thought fixing all Error Prone errors was painful, wait until you enable NullAway. Every single statement needs its annotation. OpenRewrite can help, but up to a point, as for more complicated assignments you’ll need to decide for yourself what to do. Not that the exercise didn’t bear any fruit. I’ve spotted more than a few potential mistakes we made in our code base this way, and it’s fun to try and minimize nullability. The best option of course is to rewrite the whole thing in Kotlin and forget about the suffix. All puns aside, I can see how Error Prone and its plug-ins can help catch bugs earlier, but it’s going to come at a cost: that of added annotation bloat. You probably don’t want to globally disable too many errors so is also going to pop up much more often. A difficult team decision to make indeed. Related topics: / java / By Wouter Groeneveld on 25 November 2025.  Reply via email . —that’s a Google-specific one? I don’t even agree with this thing being here… —we’d rather have on every line next to each other —we can’t update to JDK9 just yet —we’re never going to run into this issue —good luck with fixing that if you heavily rely on reflection

0 views
Brain Baking 1 weeks ago

Is Collecting Physical Games Worth It? (Part IV)

I bought some more expensive looking Nintendo switch game cartridges. I blame Joel ’s convincing who manages to bypass my already weak resistance to these kinds of messages. This, combined with a diminishing amount of time available to put into gaming, results into my physical backlog being larger than ever before. It’s been three years since I wrote part III and I have more thoughts so here we go. Perhaps read Part I , Part II , and Part III first. Let’s talk about pricing. In part III, I wrote: […] I’m beginning to wonder whether or not I should give up this ridiculousness. Instead, I could buy three games instead of one, and send the money where it belongs: the developers. […] There’s no denying that the price point of a physical game is much higher than that of a digital one. In general, digital versions cost about less—without taking the frequent sales into account that for some reason never happens for physical counterparts. In part III, I discovered that including taxes, physical games cost about times more! Outrageous! Or is it? It’s not! Wait, what? I decided to keep part IV a positive one and have changed my mind since complaining about the price. The higher price comes with a few advantages, hear me out. First, if something is more expensive, it takes more of a deliberate action to buy it. You don’t blindly press the add to cart and check out buttons: you first contemplate whether it’s worth it. Is this game really something I’m willing to pour time into? Should I really get this version considering my backlog already has three too long jRPGs on it? Instead of buying three games on sale in the eShop, you can only buy one so you better make that choice count. Also, precisely because of that deliberate action, I find that actually playing and finishing these games is easier. If you’ve paid that much for a game, you better pour that time into it, otherwise it’s money wasted. Chances are much lower of buying a total bust as you’ll be more thoroughly researching instead of recklessly buying. In the end, I end up enjoying these games more because I feel the need to spend more time with them. And that’s a good thing. Third, that price has never really gone up. A typical Limited Run Game costs —including shipping and taxes, that’s almost . Sixty is the about same amount I paid for a brand new copy of Paper Mario: The Thousand-Year Door in 2004 and it is about the same amount I paid for a brand new copy of the 2024 Paper Mario: The Thousand-Year Door remake on the Switch last year. When taking inflation into account , that should have been instead, an increase of . Observe the following graph depicting a very imprecise history of video game pricing from 1985 (NES) to now. The blue top line is the actual value adjusted for inflation, the red bottom line is the sticker price. Video Games Price History Chart 1985 - 2024. Yes, in the early nineties, cartridge gaming was expensive, although there were many exceptions. Most Mega Drive carts we bought were new and on sale, never reaching or their Belgian Francs equivalent. We transitioned to pirating PC games when those N64 carts became even more expensive. But the biggest takeaway from that graph is the flatline from 2000-ish to just before 2023: relatively speaking, the full price of a physical video game has been stable for more than twenty years. That means for a console game 1 and for the GB(A)/(3)DS counterpart acts as my golden reference point. Convenient then, that limited physical edition releases of Switch games also aim for that range if you include shipping and taxes. This is the reason why I will be totally fine by paying the “full price” for Hollow Knight: Silksong when the digital counterpart is only . Ridiculously cheap, by the way, as this is a slap in the face for other indie studios that struggle to get attention, but that’s an entirely different matter. Sixty “bucks”—can I say bucks when I’m in the Euro zone?—is perfectly reasonable to put down in exchange for deliberate action. Deliberate action that finally got me to sit down and finish the Rise of the Triad: The Dark War campaign while back in 1994 I didn’t even make it to the fourth level of the shareware episode, even though I admired the game. If you still find that hard to stomach, consider this: that Steam copy of your game can be retracted at any time. You’re basically just loaning it even though you’ve paid for it. This has happened before and will happen again. Meanwhile, I can sit back, relax, and laugh, clinging onto all my physical stuff that slowly but surely takes over the house, like a Creature of the Night . Even though that might be a slight exaggeration, there’s another graph that we can easily imagine if we think about value over time as an investment. I know it sounds ridiculous to think of buying games as an investment, and it is, even though many collectors treat it as such. There will be a point when Nintendo Switch games will no longer be produced, and it doesn’t take more than a few months for a price to go up according to websites like pricecharting.com . That is, this graph is the opposite of the above one: your Limited Run Game copy will become more sought after, but the devaluation of money will keep that investment more or less constant—depending on the game, amount of copies, et cetera. Meanwhile, your digital copy will be worth nada simply because you can’t get rid of it as you never really owned it in the first place. To conclude, I wrote another thousand words to confirm what I already said in part II four years ago: Physical games are usually more expensive. And that’s an advantage. Why? Because the more money I spent on a game, the more conscious the decision will be. Oh well. At least the graph is a nice touch, isn’t it? I’m going to pretend Sony PS1/PS2 games and the mass copying of CD-ROMs wasn’t a thing here.  ↩︎ Related topics: / games / collecting / By Wouter Groeneveld on 21 November 2025.  Reply via email . I’m going to pretend Sony PS1/PS2 games and the mass copying of CD-ROMs wasn’t a thing here.  ↩︎

1 views
Brain Baking 1 weeks ago

2025 Holiday Gift Guide

This post is inspired by Johnny Webber’s 2024 Holiday Gift Guide that serves as a great starting point if you don’t know what to get for your friends & family. Johnny’s list is broad and includes suggestions from tech to food, arts, gaming, books, and even writing material. Making Christmas wish lists seems to become harder and harder as I get older and already have way too much stuff. When we are young, without access to a disposable income, the holiday period somehow felt more exciting. Flipping through toy store ad leaflets, whipping out scissors to cut and paste the things that drew our attention onto a separate colourful piece of paper for Santa to take a good look at. I want this one , and don’t you dare to buy me that cheap alternative! We try to cut our way through the few ads that still land in our mailbox but it doesn’t feel the same any more—a part of the genuine childlike excitement is gone for good. It took me a while to come up with six items that made it to my list. Like Johnny, I’m only recommending things I like. Here’s a collage representing that list: The 2025 Holiday Gift Guide: six suggestions. First, the UFO 50 Nintendo Switch game—specifically the physical version published by Fangamer.eu , obviously. There’s still a lot on my wish list, so any of the following is great as well: Streets of Rage 4 Anniversary Edition , Unicorn Overlord , The Legend of Zelda: Echoes of Wisdom , Monster Boy & The Cursed Kingdom . If you happen to come across a copy of Powerslave Exhumed by Limited Run Games that’s been out of print for a while, that would be very nice too. If you have no idea but want to make sure it’s a good game, check out my Top 100 suggestions . Second, a gift coupon to spent at our local book store GRIM . Although my wife reminded me that we still have two coupons lying around that need to be used. I tried to come up with a concrete book title but my wanted list is a mess and I just bought six books that I haven’t touched yet. Feel free to add your own favourite entry. Third, Sailor’s Manyo Ume fountain pen ink: a dark red/brown colour with a unique sheen (see the Mountain of Ink review ). Or add a tint of Pilot Irushizuku ink, but I’ve never tried Sailor’s before and don’t have a colour that matches this range. Hopefully this will entice me to get back into writing on paper more which is a hobby I’ve been neglecting too much lately. Fourth, the Lord of the Rings: Fate of the Fellowship board game. I mentioned in the SPIEL Essen post that I wanted to grab a copy but ultimately left it for the Christmas list, so here it is. Two equally chunky alternatives might be Tea Garden or Creature Caravan . If you’re looking for a lighter game, perhaps check out my modern trick taking suggestions instead. Fifth, Manet’s Bundle Of Asparagus . The original one, please. Enlist the Ocean’s Eleven crew and send them to the Wallraf-Richartz Museum in Cologne, Germany. Or, if they happen to be busy, order a high quality reproduction, through for example Wahoo Art . I’m unsure about the working conditions and ethical beliefs of that system as I just stumbled on it, but if that’s not an option, just a nice print will do. We’ll have a resin coating added later that makes it look like the real thing. Ever since reading about the painting in Alain de Botton’s Art As Therapy , I’ve wanted to hang a copy in the kitchen. Plus, we’re very fond of asparagus. Lastly, a heavy duty dough mixer, or more specifically, the Italian made Famag Grilletta IM5S . These spiral mixers are not cheap and come in at around so just a donation towards it will suffice. I’ve been kneading by hand for twelve years but with the kids and our increased bread consumption rate it’s getting harder to keep up. Plus, the Grilletta that kneads any dough to windowpane without blinking twice will finally enable me to make smooth buttery dough and up the hydration in the more rustic recipes. The IM5S—contrary to the IM5 model without the S—can be tilted to remove the bowl and more easily clean it. Still unsure? My archives tell me the following things made it to previous Christmas wish lists: Happy holidays! Related topics: / Christmas / By Wouter Groeneveld on 19 November 2025.  Reply via email . WoodWick candles Random Magic: The Gathering boosters An Apple Magic Keyboard I never got and eventually bought myself An authentic Belgian waffle iron (you can’t live without this if you’re living in Belgium) The book Sourdough by Robin Sloan The cookbook Marie Plukt De Dag More Switch games like The Witcher 3 , Dragon Quest XI , and Metroid Dread A GameCube HDMI adapter A lovely pen roll to protect your precious fountain pens on the go A soldering iron

2 views
Brain Baking 2 weeks ago

Why I Don't Need a Steam Machine

For those of you who are living under a rock, Valve announced three new hardware devices joining their Steam Deck line-up: a new controller, a VR headset, and the GameCube—no wait, GabeCube—no wait, Steam Machine. The shiny little cube is undoubtedly Valve’s (second) attempt to break into the console market. This time, it might just work. The hardware is ready to arrive in at your living room spring next year. The biggest question is: will it arrive at our living room? Reading all the hype has certainly enthused me (e.g. Brendon’s The Steam Machine is the Future , PC Gamer’s Valve is all over ARM , Eurogamer’s Steam Machine preview , ResetEra’s Steam Hardware thread ); especially the part where the Machine is just a PC that happens to be tailored towards console gaming. According to Valve, you can install anything you want on it—it’s just SteamOS just like your trusty Deck, meaning you can boot into KDE and totally do your thing. Except that this shiny little cube is six times as powerful. I’m sure Digital Foundry will validate that next year. Valve's newly announced Steam Machine: a mysterious looking sleek black box. However, this post isn’t about specs, expectations, or dreams: it’s about tempering my own enthusiasm. I’d like to tell myself why I don’t really need a Steam Machine. The following list will hopefully make it easier to say no when the buy buttons become available. So you see, I don’t really need a Steam Machine… Fuck it, I’m getting one. Related topics: / steam / games / By Wouter Groeneveld on 16 November 2025.  Reply via email . You’re a retro gamer. You don’t need the power of six Steam Decks. To do what, run DOSBox? Your TV doesn’t support 4K . Again, no need for those 4K 60 FPS. You generally dislike AAA games. With The Steam Machine, you might be able to finally properly run DOOM Eternal and all of the Assassin’s Creed games. That you don’t like playing. You don’t have time to play games anyway. Ouch, that hurts but it’s not untrue. The TV will be occupied anyway. The Steam Machine is not a Switch: you can’t switch to handheld mode. When are you going to play on the Machine if the TV is being used to watch your wife’s favourite shows? You already have too many gaming related hardware pieces. That’ll mean you’ll have to divide your time by an even bigger number to devote an equal amount to playing them. There’s no room for yet another nondescript box under the TV. See above: why don’t you first try to do something with that SNES Mini and PlayStation Mini besides letting it collect dust? You’re a physical gamer. This is Steam. There will be no insertion of cartridges, no blowing of carts, and no staring at game collections on a shelf. It’s Steam, not Good Old Games. Sure it can run GOG games but the Machine is primarily designed to run Steam. You avoid purchasing from Steam like the plague, yet you’re willing to buy a Machine dedicated to it? Are you crazy? The last time you booted Steam was over a year ago. Don’t tell me you’re suddenly interested in running the platform on a dedicated machine. You don’t have time to fiddle with configuration. Button and trackpad mappings to get the controls just right enough to play strategy games designed to be played with keyboard and mouse will only leave you frustrated. Your MacBook can emulate Windows games just fine. You recently bought CrossOver and played Wizordum and older Windows 98/XP stuff on it. It even runs Against The Storm flawlessly. No need for Proton or whatever. In two years, you’ll upgrade your M1 to an M4+: there’s the power upgrade. If CrossOver is struggling to run that particular game you so badly want to play, it’ll be buttery smooth in a few years. You’re going to do the laptop upgrade anyway regardless of the Steam Machine. You already have a huge gaming backlog. Thanks to your buddy Joel you bought too many physical Switch games that are still waiting to be touched. Are you really ready to open up another can of worms? You dislike a digital backlog. It’s easy to have hundreds of games on there: see your GOG purchases. Why don’t you try to count the ones that you actually played, let alone finished. You’re not going to use the Machine to run office software. Your laptop and other retro machines are good enough at handling that task. What are you really going to do with this cube besides gaming? Those cool looking indie games will be released for Switch in due time anyway. Remember Pizza Tower ? It’s out on Switch now. Remember to buy the cart on Fangamer, together with the Anton Blast one. It’s rumoured to cost more than . Save that money for a Switch 2 if the games are starting to become interesting to justify that upgrade, as currently, they’re not. Also, see the backlog point above. All HDMI ports both on the TV and your external monitors are occupied . Unless you’re willing to constantly switch cables, you’ll need to invest in a HDMI switch. Another . You can’t buy this without buying the Steam Controller. That’s easily another you already spent buying the Mobapad controller for your Switch as a replacement for the semi-broken Joy Cons. You can’t buy this as an expense on the company. You’re closing down the company, remember. (More on that later) The cool looking LED and programmable front display don’t justify an expensive purchase. After the initial excitement wears off, the LED will become annoying and you’ll simply turn it off.

0 views
Brain Baking 2 weeks ago

Migrating From Gitea To Codeberg

After the last week’s Gitea attack debacle , moving all things Git off the VPS became a top priority. In 2022, like many of you, I gave up GitHub and spun up two Gitea instances myself: a private one safely behind bars on the NAS and a public one where all my public GitHub projects were moved to. Three years later, I think it’s time to move again. Gitea was forked into Forgejo a few years ago because of yet another licensing drama but I just couldn’t be bothered by keeping everything up to date. So I didn’t. And then Gitea started acting annoying: artifact folders weren’t properly cleaned up even though I encouraged it to do so in the configuration up to the point that the files clogged up the entire disk. The result was crashes of nearly everything as there wasn’t even a few bytes space left to append to logs in . And then bots started scraping the hell out of the commit endpoints. Anyway, I liked Gitea/Forgejo’s ease of use, so migrating everything off-site to Codeberg seemed like the most obvious solution. I’ve been wanting to go back to a coding community for a while now. if you host your own Gitea instance, you isolate yourself from the rest of the open source world. Collaboration still is the easiest on GitHub as simply everyone is hanging out there but I’d rather stop coding entirely than feed Microsoft’s AI. Give Up GitHub, folks. The steps involving the migration were surprisingly easy and fast to execute: Congratulations, you’re now the proud owner of Codeberg repositories. From here, we now have to decide what to do with the old Gitea instance. Do you want to simply kill it? Do you want to mirror your repositories? Or temporarily forward using the same URLs? Since I don’t want to keep it around forever and wanted to stop it immediately, but not yet break all URLs, I rewrote the Nginx location to a redirect: This does redirect https://codeberg.org/wouterg/brainbaking to the new correct location https://codeberg.org/wouterg/brainbaking , but it does not fix that will not follow redirects by default. You can proxy the entire thing and add more headers to fix that, or tell Git to follow redirects instead, or just change the remote URL and be done with it: . I figured not a lot of folks have cloned copies of my repositories on their hard drives—and if you do, you’d probably go looking online for the correct version and remove/reclone the entire thing. Next, it is time to kill the Gitea instance: (and ). Set a reminder in your calender to remove the redirect and clean up your VPS in a month or two, just to be sure. I should have enough backups in case things go wrong but you never know. The final piece of the puzzle is a financial one. Codeberg is a non-profit organisation that relies entirely on donations to keep things spinning, and I reckon they also need resources to fight those pesky AI crawlers (they’re also using Anubis, by the way). Consider donating or even becoming an active member that also allows you to vote when strategic decisions are being made. Go library programmers, don’t forget to double-check your import paths. So-called “vanity imports” ease friction here as you can set up a redirect from there. should still work. I rely on vangen to generate simple HTML pages for import paths. In the future, I’d rather move these paths to to avoid cluttering up Hugo’s folder. By Wouter Groeneveld on 13 November 2025.  Reply via email . Create a Codeberg account. Generate a temporary access token on your to-be-defunct Gitea instance: see https://docs.gitea.com/development/api-usage for the exact command. For each repository to migrate: click on your profile, and instead of creating a new blank repository, select “from migration” or go to URL https://codeberg.org/repo/migrate . Select Gitea, fill in the Git endpoint and access token and press migrate . Optionally, also migrate LFS/Wikis/issues/whatever by checking the appropriate boxes. Re-archive the repositories that were publicly archived.

0 views
Brain Baking 2 weeks ago

Thumbs Up 👍

Don’t you hate it when that happens? You compose a targeted question, re-iterate the sentence a few times to make sure it is easy to interpret, press send, only to get a thumbs up in response? How should you even interpret that? Is that an ironic sure thing buddy go ahead I’ll revert your changes behind your back anyway ; is that a honest go for it! ; is that a whatever, no time right now but here’s something telling you I’ve read your thing ; or is that a too long didn’t read ? I don’t know, do you? Clear and effective human communication is one of the hardest things to get right. The widespread adoption of emojis only made the problem worse. Instead of adding context, by, you know, using words, like these, emojis manage to strip even more context, sometimes paradoxically by adding layers of confusion. Isn’t a thumbs up a universal sign of good! ? It’s not, as I’ve seen it being used and abused in ways I would never ever dare to stick out my own thumb, like I would probably never Roll On the Floor Laughing when sending ROFL. Shut up boomer, that’s also being replaced by an emoji. I know, I just proved my point. And I’m not that old (yet). You won’t find any usage of emojis in Brain Baking articles because I not only think they’re ugly or they form a danger to our ability to interpret longer texts, but also they induce ambiguity that always leaves me dazzled. Here’s some random proof why emojis just don’t work. Oh that’s what you meant! : reducing emoji misunderstanding by Tigwell and Flatla (2016—that’s almost ten years ago!): […] the purpose of the emoji was often misunderstood, e.g., “To me that looks like a nervous face but a lot of people use it as a really happy or excited face” This gets worse in cross-cultural communication according to Cominsky. It’s not just a cross-cultural problem, it’s also a generational problem: a study by Zahra and Ahmed revealed that emojis such as thumbs up, crying laughing and skull are more likely to cause mix-ups between generations . Or how about surrounding the emoji with textual context in order to reduce potential confusion? That was disproven by Miller et al. in Understanding Emoji Ambiguity in Context : The Role of Text in Emoji-Related Miscommunication: […] we found that our results do not support the hypothesis in prior work: when emoji are interpreted in textual contexts, the potential for miscommunication appears to be roughly the same. Guess what, Wang et al. found out that emotioanl emoji elicits are being abused by social media marketeers in order to increase customer engagement. Digging further specifically into thumbs-up emoji research, Bates writes about the recent court case recognising the thumbs-up emoji as having indicated contractual agreement, concluding that: Perhaps it is best that communication with icons stays within three general settings: (1) A highly contextualized environment, in which a limited number of symbols are to be clearly understood, as with road and airport signage, warning labels, and computer interfaces; (2) Interpersonal communication—private exchanges often prioritizing the establishment and maintenance of good relations; (3) Internet postings meant for public consumption (e.g., social media comments). A big thumbs up, Bates! See, that was easy, right? The last piece of research I’d like to share here is that of Shandilya et al. on using non-contextual communication in virtual workspaces like Slack and Google Chat. It looks like new employees first have to read between the lines and learn the intricate interpretation details of the micro-culture, sometimes even differing from team to team within the same company. Before we can send out a thumbs up, we first have to decode how others around us are using and interpreting it. Which might differ greatly from your habitually usage in causal app messages to friends. Fellow blogger Horst Gutmann recently pointed to another study on the connection between emojis and personality traits : heavy reliance on emojis seems to shape our perceived image—and not in a very good way. The biggest problem, however, is not using the thumbs-up emoji as part of a message: it is using the thumbs-up emoji as a reaction in itself—the recent phenomena called reaction emojis . A reaction is not a response. Our languages have words to form an expression, let’s make use of them. I sometimes receive conversation duds like that as an answer to three sentences of mine explaining how things are going. What am I supposed to do with that? If you’re not interested in knowing how I’m doing then don’t bother asking? My wife has one particular friend who simply replies all his messages with a thumbs up reaction. I would be inclined to stop exchanging messages at all with such a person. I ROFL-ed (how am I supposed to conjugate this?) when I read MaliciousDog’s opinion on emoji reactions on Reddit: They break the text consumption flow. In a coherent text, an emoji is somewhat like a fart in a middle of a nice song . It may be fun by itself or in an appropriate context but not everywhere. Like a fart in a middle of a nice song. By Wouter Groeneveld on 10 November 2025.  Reply via email .

0 views
Brain Baking 3 weeks ago

The 1994 IBM PC Invoice

In 1994, my late father-in-law bought a new computer. That then brand new sparkling piece of hardware now is my 31 year old 80486 retro PC . When he gifted it to me in 2020, he also handed over the original invoice, as if the warranty was still valid. Also, who saves a twenty something year old piece of paper that becomes obsolete after two years? I’m glad that he did, otherwise I wouldn’t be able to write this. Below is the scanned version of the invoice printed out by Veldeman Office Supplies in Hasselt: According to the KBO public search , The company went bankrupt in 2013 after 28 years of faithful service, even though their head offices moved a couple of times. My father got his original 486 somewhere in Brussels, and after that, I remember we always went to Bells Computercenter in Diest, a specialized hardware store that still exists today! When the first Voodoo cards dropped, Bells is the place we ran to. It was that kind of place with the cool looking Creative sound card big boxes in the front windows to attract attention. It seems like a strange choice to buy a PC at Veldeman , a store that mostly sells general office supplies. The invoice details the exact purchase: amount of the following: I received the computer with of RAM installed, not , but perhaps my father-in-law upgraded it later in the nineties. See my Reviving a 80486 post for photos: the CPU was stamped with an early version of the Microsoft Windows logo, and below it, it proudly states “MICROSOFT WINDOWS COMPATIBLE”. That must have been the main reason for the purchase, as my father-in-law mainly used it in conjunction with Windows 3.x spreadsheet tooling for keeping track of expenses and general calculations as part of his job as an mechanical engineer. Buying a new PC in 1994—on the 16th of May, to be more precise—turned out to be a very risky business. In the nineties, technology moved at a dizzying speed. Windows 95 was just about the corner, Intel’s Pentium became more and more affordable, the AT system got replaced by ATX, the motherboard layout changed, AGP got introduced pushing VLB into obscurity, … In less than a year, the above purchase would become obsolete. That’s quite painful for such a hefty price. The invoice totalled to an amount of 1 or . Taking inflation into account , that amounts to in 2025, which is more expensive than the most beefed out 15" MacBook Air you can get right now boasting the M4 CPU technology with 10 cores, 24 GB of RAM, and 512 GB SSD storage. That MacBook will stay relevant for more than six years—my last one managed to keep it together for eight, and the one I’m typing this on is almost six years old. The 486DX Mini Tower sold by Veldeman lasted less than a year. To be fair, it wasn’t exactly the most performant machine you could get your hands on in 1994. It didn’t even properly run 1993’s DOOM : you’ll need more raw CPU power (and preferably more RAM) to push beyond ten to fifteen frames per second. But if that PC already was more than in current EURs, you can imagine that a true high-end machine was only reserved for the wealthy. According to DOS Days UK , in 1994, a mid-range PC typically came with a DX2-66 with more RAM, so technically speaking, this invoice here is for a low-end PC… As a result, my father-in-law faithfully clung on to Windows 3.1(1) while others moved on to Windows 95. My wife recalls they didn’t buy a new one (or upgraded the existing one besides the RAM slots) in quite a few years, while my father bought a new machine early 1996 that was capable of rendering Quake . Keen observers will notice that the Veldeman PC Mini Tower did not come with a sound card. Popular Creative Sound Blaster cards were sold in big bright boxes for more than without adjusting for inflation: needless to say, the good ones were crazy expensive. Nowadays, people don’t even care any more, and the built-in sound chip that comes with the motherboard is usually good enough. It’s remarkably difficult to get hold of historical price data on 1994 PC hardware. The Computer Paper Vol. 7 No. 7 , an archive from , contains an interesting “Grand Opening” advertisement from 3A COMPUTER WAREHOUSE in Markham, Ontario, Canada, listing similar hardware: An excerpt from computer hardware ads. Copyright The Computer Paper magazine publisher. A “basic” OEM Sound Blaster would have set you back for —that’s in 2025 or . Note that only the PCS 486DX Multimedia CD on the bottom left comes with what seems to be a generic “sound card”. IBM PCs simply didn’t come equipped with decent sound capabilities: many of us Apogee game fans have the iconic speaker sounds permanently burned into our brains. The IBM PC advertised at the top left most closely matches the hardware from my invoice and came at — in 2025 or . That’s quite a bit less but hardware was/is more expensive in Europe but I’m probably comparing apples with oranges here. Besides, the Canadian ad didn’t state it comes with a free mouse mat! Other magazines closer to home are MSX Computer Magazine (no ads containing prices), Computer! Totaal (vol. 3 is from 1994 but I can’t find a scanned version), and the one I remember my grandfather buying, PC-Active . Unfortunately, my parents threw out all copies after cleaning up their elderly house years ago. I’ll try to be on the lookout for copies or might pay the Dutch Home Computer Museum a visit that also collects old computer magazines. Luckily, my Dutch retro blogging liaison Diederick de Vries managed to procure the following scan of PC-Active issue 49 from May 1993 containing ads of 486 PCs: AMBRA PERSONAL COMPUTERS: gun je verstand de vrijheid (give your mind freedom). Copyright the PC-Active magazine publisher. The mid-range PC advertised is a 486 SX (25 Mhz, 100 Mb disk space, 4 Mb RAM) for , while the high-end one decked out with a 486 DX2 (66 Mhz, 200 Mb disk space, 4 Mb RAM) was for sale for the staggering amount of . That’s in today’s money—wowza. Can you imagine spending that much on a computer? Of course, in 1993, the DX2 was brand new and within a year it became much more affordable. And in another year it was rendered irrelevant by the Pentium… In a way, I consider myself lucky to have grown up in that golden age of molten silicon. Hopefully today’s Ryzen CPUs will be remembered as fondly by my kids as I remember the 486 and early Pentium/Celeron/Athlon era. I highly doubt it. In case you hadn’t noticed, we sensible Belgians use as the thousand separator and as a, well, comma?  ↩︎ Related topics: / am486 / Hasselt / By Wouter Groeneveld on 6 November 2025.  Reply via email . In case you hadn’t noticed, we sensible Belgians use as the thousand separator and as a, well, comma?  ↩︎

0 views
Brain Baking 4 weeks ago

Favourites of October 2025

This year’s announcement of autumn, SPIEL Essen , Halloween season, and daylight saving time switch is already officially behind us. 2025 has only two months left: I see people starting heated debates on the upcoming Game of the Year awards and I see people planning their Christmas home decorations—seemingly every year a day earlier. We went mushroom spotting in the woods with the kids a couple of weeks ago which seemed like a fitting October thing to do. I have a decade old mushroom identification guide lying around that always manages to induce more confusion than it solves but we had great fun nonetheless. Previous month: September 2025 . This is getting embarrassing. Maybe I should simply omit this section in future monthly overview posts? I’ve managed to read a few pages from the two Senet Magazine issues I ordered (issue and ) after seeing someone on Mastodon boast about theirs. Senet is a pretty sizeable independent print magazine on all things board games that is easy to recommend to cardboard fans. I managed to finish three short games: A week after finishing Wizordum , Limited Run Games happened to have Rise of the Triad: Ludicrous Edition stock left in their vault. Since Wizordum got me back into the retro shooters vibe, I figured why not. The Turok trilogy is another one I’m currently eyeing at. For those suckers like me who buy physical Switch games, I didn’t know the scene was that weird and scattered: here’s AntDude Plus on YouTube revealing some of the quirks: As for board games, nothing except the try-outs at the SPIEL fair… October was a pretty rough month in terms of spare time. Related topics: / metapost / By Wouter Groeneveld on 2 November 2025.  Reply via email . Wizordum , a bright and blocky throwback shooter that’s a cross between Wolfenstein 3D and Heretic . It’s a fun diversion that doesn’t stand out from the increasingly busy indie boomer shooter crowd. Wonder Boy: The Dragon’s Trap , the 2017 remake built on top of the 1989 Sega Master System original that helped pioneer the Metroidvania mechanics. It still holds up remarkably well and the new lick of paint is beautifully applied. Halloween Harry (or rather, Alien Carnage ) was the DOS Game Club’s game of the month. I played this one back in 1994 but didn’t really get into it and now I can see why. It’s average at best thanks to typical mediocre DOS platform jank such as cheap enemy placement, hit boxes that clip through stairs and shitty controls. But at least now I can say to my younger self that it was good to have skimped over this one. Dan Q created Paint-grade QR codes to fool around with. It’s wonderful to see these QR visualisations sparking people’s creativity. Speaking of drawing stuff, Stone Tools put out an excellent article from Christopher Drum on Deluxe Paint on the Commodore and Amiga. I think Natalie was the first to turn her LEGO Game Boy into a working one . Many geeks followed suit . PekoeBlaze explains why retro FPS games weaken their rocket launchers . DOOM II ’s super shotgun deals as much damage as the rocket launcher! Expect more retro shooter links, such as these Blake Stone maps that greatly help navigating the levels and their dizzying amount of (locked) doors. Frank Sauer, the artist who created the pixel art for Agony on the Amiga, writes about his workplaces from 1982 to now. Tarneo shares his experience trying to kick the AI addiction : congrats for those months being sober! Eli from Oatmeal posted on music, games, and text editors and reminded me I should add Isles of Sea and Sky on my backlog and try out the Helix editor. PC Gaming’s Weirdest Weapons In Gaming list contains a few oldies but goodies such as the sheep from Worms and any crazy weapons from Build Engine shooters ( Shadow Warrior , Blood ). Brit Butler hits the nail on the head with this ethical critique on LLMs . This older post by Joe Siegler on the history of Rise of the Triad was very educational on how the game’s concepts came to be as Joe himself was part of the development team. Harvard University published Generational Data Interviews on digital preservation. They asked 14 people the same question: If you were given unlimited funding to design a system for storing and preserving digital information for at least a century, what would you do? The Amiga Graphics Archive is awesome. A new Heroes of Might & Magic game is in the making called Olden Era ! It looks beautiful, hopefully it manages to retain most of what made III so great. The Sounds Resource is a handy site where you can download specific sound clips of old games. This is where I got that Redneck Rampage shotgun sound from as I no longer own a copy of the game. There’s an interesting thread on ResetERA on dungeon crawling RPGs or “blobbers” where I picked up the little indie game Heroes of the Seven Islands that’s inspired by Might & Magic VI(I) . Faceclick is a lightweight Emoji picker with keyword search I don’t need because I use a handy Alfred plug-in and try to avoid Emoji usage like the plague but it might be of use to others. I might be needing this in the near future: Wizardry Combat Strategies for the original AppleII/Digital Eclipse remaster. The menu font when in Switch handheld mode is annoyingly small though. Did you know that next to the traditional shareware model, postcardware also exists? Aaron Giles, the creator, scanned everything he received and put them up at https://postcardware.net/ .

1 views
Brain Baking 1 months ago

The Internet Is No Longer A Safe Haven

A couple of days ago, the small server hosting this website was temporarily knocked out by scraping bots. This wasn’t the first time, nor is it the first time I’m seriously considering employing more aggressive countermeasures such as Anubis (see for example the June 2025 summary post). But every time something like this happens, a portion of the software hobbyist in me dies. We should add this to the list of things AI scrapers destroy next to our environment, the creative enthusiasm of the individuals who made things that are being scraped, and our critical thinking skills. When I tried accessing Brain Baking, I was met with an unusual delay that prompted me to login and see what’s going on. A simple revealed both Gitea and the Fail2ban server gobbling up almost all CPU resources. Uh oh. Quickly killing Gitea didn’t reduce the work of Fail2ban as the Nginx access logs were being flooded with entries such as: I have enough fail safe systems in place to block bad bots but the user agent isn’t immediately recognized as “bad”: it’s ridiculously easy to spoof that HTTP header. Most user agent checkers I throw this string at claim this agent isn’t a bot. That means we shouldn’t only rely on this information. Also, I temporarily block isolated IPs that keep on poking around (e.g. rate limiting on Nginx that get pulled into the ban list) but of course these scrapers never come from a single source. Yet the base attacking IP ranges remained the same: . The website ipinfo.io can help in identifying the threat: AS45102 Alibaba (US) Technology Co., Ltd. . Huh? Apparently, Alibaba provides hosting from Singapore that is frequently being abused by attackers. Many others that host forums software such as PhpBB experienced the same problems and although the AbuseIPDB doesn’t report recent issues on the IPs from the above logs, I went ahead and blocked the entire range. Fail2ban was struggling to keep up: it ingests the Nginx access.log file to apply its rules but if the files keep on exploding… Piping to instant-ban everyone trying to access Git’s commit logs simply wasn’t fast enough. The only thing that had immediate effect was . In case that wasn’t yet clear: I hate having to deal with this. It’s a waste of time, doesn’t hold back the next attack coming from another range, and intervening always happens too late. But worst of all, semi-random fire fighting is just one big mood killer. I just know this won’t be enough. Having a robust anti attacker system in place might increase the odds but that means either resorting to hand cannons like Anubis or moving the entire hosting to CloudFlare that will do it for me. But I don’t want to fiddle with even more moving components and configuration, nor do I want to route my visitors through tracking-enabled USA servers. That Gitea instance should be moved off-site, or better yet, I should move the migration to Codeberg to the top of my TODO list. Yet it’s sad to see that people who like fiddling with their own little servers are increasingly punished for doing so, pushing many to a centralized solution, making things worse in the long term. The internet is no longer a safe haven for software hobbyists. I could link to dozens of other bloggers who reported similar issues to further solidify my point. Other things I’ve noticed is increased traffic with Referer headers coming from strange websites such as , , and . It’s not like any of these giants are going to link to an article on this site. I don’t understand what the purpose of spoofing that header is besides upping the hits count? However worse things might get, I refuse to give in. It’s just like 50 Cent said: Get Hostin’ Or Die Tryin’ . Related topics: / scraping / AI / By Wouter Groeneveld on 31 October 2025.  Reply via email .

0 views
Brain Baking 1 months ago

Spiel Essen 2025

A friend convinced me to attend SPIEL Essen this year, the largest board game fair in the world that attracts over two hundred thousand visitors yearly. It’s crazy to have something like this close by. When we Belgians read about “the world largest whatever”, we usually say “oh must be in the US, bummer”. But no, this one’s in Essen 1 , and that German city is only two hours driving away—not counting another hour of patiently queuing at the parking lot. Yesterday was my third SPIEL visit, the last one being from 2017, so it’s been a while. That being said, I don’t think I’ll want to do this again any time soon, especially on a Sunday. As you can imagine, the halls were overcrowded, the queues were long, most shops were sold out, and the fresh air was long gone. We didn’t stay to find out how busy the connecting highway was going to get during closing time. My friend—his first time on the fair grounds—called it an experience . At the Jumbo stand, on our way to the Iello one (the yellow one in the back). The experience being rushing towards hall two and three to get our hands on an English version of the SETI expansion that supposedly is nowhere else available (yet). The person behind the counter told us we were lucky because they had a few copies left and it was basically sold out since Friday. We were less lucky trying to score the mini-expansion of The Lord of the Rings: Duel for Middle-earth : only the German editions were left. Most shops in the halls only sold German editions of games which is a bit odd considering people all over the world come to SPIEL to enjoy a good board game. Knizia’s new Lord of the Rings roll and write? Sold out. I moved Fate of the Fellowship to my Christmas list instead. During all that running around, I did spot a cheap English copy of Dorfromantik Sakura , a Carcassonne -like tile laying game with some Legacy elements to it. You gradually unlock more tiles that score differently and it’s supposed to be lovely as a laid-back cooperative experience. Or you can enjoy it on your own. It was stamped for approval by my wife after our first playthrough today so it must be doing something right. The second game I bought was Urbion , a solo card game in the Onirim universe (“Oniverse”) by Shadi Torbey. Shadi himself manned their small stand and helped us by explaining the difference between a few of the card games as I hesitated between buying Urbion or the more well-known Onirim . These have been on my list for a long time and it was great to meet an indie designer on the fair: most official meet-and-greets were planned on Friday. We even got to try R.A.V.E.L. , their latest logical puzzle involving flipping of dice in order to meet certain criteria. We enjoyed Iello's Little Soldiers but the rules were spread a little too thin for my taste. After the essentials were bagged, it was time to play. Depending on the free table spots, that is. We didn’t really fancy waiting an hour just to play the popular ones and we also skipped heavier board games as these tend to take too long to explain let alone play. I did want to try out Tea Garden but had to content myself with staring at others playing it instead. The box was and the steeper price kept me from instantly buying it. Fate of the Fellowship was , by the way. Ouch: almost 12% more expensive than my usual shop (where it’s out of stock but that’s beyond the point). If you were expecting some kind of special fair prices, you’d be sorely disappointed. Creature Caravan is another entry on the wishlist I hoped to try out but was nowhere to be seen. The Cult of the New strikes again: SPIEL is mostly about new releases, not about previous year’s games, even though Creature Caravan is barely a year old. Instead, I discovered yet another iteration on Uwe Rosenberg’s Bohnanza but this time with flowers. Yay, I guess? Speaking of Rosenberg, I found a German Hallertau in a shop (pass) while looking for the English Nusfjord (fail), making this my first SPIEL without buying a Rosenberg game. Sad times! For me, one of the biggest reasons to attend this huge fair is BoardGameGeek’s “ Math Trade ”, a way to swap or buy/sell games from other Geek members that are also attending. Usually, around lunch time, on a set location in-between the halls or at the foyer, you’ll see a lot of silly people walking around donned in bright striped T-shirts and straw hats, waving plaques in the air toting their BGG nickname to find their swapping buddy. That’s usually the place to do great deals and get your hands on these rarer out of print boxes, but it does require carefully following the BGG SPIEL Math Trade forum thread which I neglected to do this year. I bought a near mint copy of Nightfall for only from a British chap there once. Now, Nightfall is nowhere to be found (contact me if you’re interested). The last game we played was Bravest from Maxime Rambourg, known for The LOOP and The Big Book of Madness . Bravest is an interesting road tile placement game where you try to fill up your board to maximize your score whilst also hate drafting tiles you think your opponent might use. I’d rather play his Dracula vs Van Helsing but hey, that game is two years old so doesn’t get any table presence. I’m glad I went home with “only” two games as there are a few funded Kickstarters coming my way early next year and I still have to dig into Earthborne Rangers that same friend gifted me for my birthday. So many games, so little time! I suppose that is because board gaming in Germany is huge: most publishers you know are German ones (Kosmos, Haba, Pegasus Spiele, Lookout Games, Amigo, …).  ↩︎ Related topics: / activity / boardgames / By Wouter Groeneveld on 27 October 2025.  Reply via email . I suppose that is because board gaming in Germany is huge: most publishers you know are German ones (Kosmos, Haba, Pegasus Spiele, Lookout Games, Amigo, …).  ↩︎

0 views
Brain Baking 1 months ago

Is It Worth It To Optimize Images For Your Site?

Yes but it depends on how you define the verb “to optimize”. For any image conversion heavy lifting I rely on the trusty ImageMagick yet I’ve been wondering whether my argument preset is correct: should it be more or less optimized? The problem with questions is that they lead to other questions, such as: how much assets is this blog actually generating each year? Is my image optimization technique sustainable enough or will I end up with terabytes full of nonsense in ten or twenty years? When it comes to size, opening up the handy gdu disk analyser in the folder is enough to get a first impression: Gdu summarizing how much disk usage the assets on this blog are for each year in MiB. As I maintain the same folder structure for both and —this post lives under , for example—generating an overview of asset sizes per year becomes trivial. Not taking the earlier Brain Baking years into account, the total amount of data that gets added each year is on average . Let’s make that between thirteen and fourteen as 2025 isn’t finished yet. That means in twenty years, I’ll have accumulated an extra . That’s not even half a classic CD-ROM. Is it really worth it then, to think twice about every MiB that gets checked in? Well, yes, since all those bytes need to leave one server and make an appearance at another in order to serve these pretty images to your visitor. Besides, as a proud member of The 512KB Club , I should keep my promise in reducing file sizes as much as possible. Of course, not all posts have assets attached to them: the average amount of assets linked to a post here is with each post having about on data. That’s quite optimized! Yet can I do better? Or should I stop over-compressing those images up to the point that they’re losing their vivid shine? More questions! No wait, those were the same. Here’s the default ImageMagick command I rely on: What exactly does this do? I urge you to read Colin’s old but relevant post on chroma (colour detail) and luma (lightness and darkness) and how to optimize for the web/mobile. It even includes a regression analysis, concluding that: Resizing images matters most. It multiplies the size a little more than the square root of the total pixels. More pixels, many more bytes. Compression matters somewhat. For quality=80 the bytes are x23; for quality=100 bytes multiply x50. Subsampling of 4:2:0 could further reduce the bytes by 17%. What I did not realize until now by testing an comparing images is that does something else besides stripping GPS Exif data. I noticed the export became washed out, as if a portion of the colour profile information was lost. Take a close look at the macOS dock screenshots re-rendered in Firefox: Above: using -strip; without ICC. Below: using +profile '!icc,*'; with ICC. Can you find the difference by inspecting the saturation of the red Firefox fox or the yellow wings of the NetNewsWire satellite? The difference is very subtle—and very difficult to showcase in a screenshot—but very annoying. Inspecting the images using ImageMagick’s reveals that the ICC profile is removed in the process: The embedded ICC profile is there to make sure the image looks the same on any computer and any piece of software; without it browsers can render it like they want. The result is a flat looking image as you can see in the above screenshot (which does have an embedded profile). The option does not solve this: it tells ImageMagick to convert the colorspace, not to attach it. Instead of using , use to throw away all profiles but the ICC one. Also, so be sure to add a as this obviously has the highest impact on file sizes. But wait, what about providing a higher resolution image to desktop browsers and reducing the resolution to lower versions for mobile browsers? For me, that’s a hassle I don’t want to bother with at all. It requires saving the assets in their original format and providing a couple of alternatives, greatly increasing the total size of the source repository, the total size of the deployable folder, and the total bandwidth for my humble server. For mobile users, that’s not a problem as downloading of data is less then the copious amounts of megabytes that will get slurped in when you visit your average newspaper site. For ultra widescreen 4K nerds, the max width on the container wrapping this will keep things somewhat in check. The biggest takeaway for me is that in twenty years I’ll have filled half a CD-ROM which is significantly less than I expected. Should this incentivize me to bump the quality to , reduce downsampling, or instead increase the usage of assets in general? Maybe I should be less worried about the file size and more about the content. By Wouter Groeneveld on 23 October 2025.  Reply via email . : the sampling factor used for the JPEG encoder. If Colin Bendell tells me to use claiming a +/- 17% image size reduction, then I believe him. : Removes all profiles except for the ICC colour profile; gets rid of EXIF data. See What Exif Data Reveals About Your Site . : The compression quality of the image. With 90 or less, chroma channels are downsampled (which I instruct it to do anyway with the sampling factor argument). : explicitly tasks ImageMagick to create a progressive JPEG allowing for the browser to show a lower-resolution version of the image whilst data is still being transferred. Perceived download speed is also important! : Why on earth would you want to export JPEG files when the era of WebP is here? That’s an easy one to answer: because my retro hardware knows JPEG. Because I believe we should build websites that last. : the default and recommended option for the WWW for image that do not contain any extra colorspace information such as JPEG. Other options provide slightly better compression .

0 views
Brain Baking 1 months ago

The Crazy Shotguns In Boomer Shooters

Emberheart’s recent Wizordum rekindled my interest in retro-inspired First Person Shooters (FPS) also known as boomer shooters . Some are offended by the term, but I quite like it: it not only denotes the DOOM clones of the early nineties as the boomer generation of FPS gaming but also perfectly defines what a boomer shooter is: things that go boom . That’s it. And boy, do things go boom in these games, thanks to the crazy amount of weaponry at the player’s disposal. Combine that with emphasis on movement and speed—remember circle strafing? That’s just the bare minimum now—and you’ve got yourself a hundred different ways to murder, shred, and rip your enemies apart. To stay true to their DOOM roots, boomer shooters are usually a bloody affair. I’ve always been fascinated with the shotguns in these games: the rapid BOOM TSJK BOOM TSJK BOOM TSJK of Quake , the heavy KABOOM click clack KABOOM click clack of the super shotgun in DOOM II . Somehow along the way, the shotgun (and double barrel one) became an indispensable part of any boomer shooter. That’s why I’d like to take a closer look at the craziness involved in these retro-inspired shooters. Or more specifically, what’s bound behind key number 3. Assuming 1 is the melee weapon and 2 is the pistol, of course. It’s impossible to talk about shotguns in shooters without mentioning DOOM —which I already did three times, but they, one more time can’t hurt. In 1993, id Software not only started the gory Binary Space Partitioning revolution, but also iterated on Wolfenstein 3D ’s rather boring weaponry line-up: the pistol, the automatic rifle, and the mini gun. DOOM gave us a plethora of new stuff to play with, including some sweet sweet pump action. Yet that digitized child toy won at fairs can hardly be called crazy by modern standards. Enter DOOM II ’s double barrel “super” shotgun: double the barrels, double the fun! Thirty-one years later, those two barrels still pack a mighty punch, up to the point that most other weapons in the game are obsolete. According to various weapon damage tables , the super shotgun has a mean damage output of as much as the rocket launcher! Rocking my super shotgun in a slimy sewer hallway the Legacy of Rust expansion. The deep sound that accompanies the shotgun is still an instant nostalgia trigger. You’ll immediately recognize it. Let’s put it to the test: for this article, I randomly compiled 11 different shotgun sounds into a single audio file. It’s up to you to identify the games and shotguns: If that’s too difficult for you, the following hint will spoil the games but not the order: So where do you go from there? What can possibly topple DOOM II ’s super shotgun? Nothing, really, but developers have been giving it a damn good try since then anyway. There are quite a few almost as iconic double barrel shotguns. In DUSK , we see the protagonist getting attached to their favourite killing machine. When it’s temporarily taken away and then returned a few levels later, we whisper welcome back, friend , lovingly stroke its long barrels, and happily resume the rampage. In Serous Sam , the BOOM sound the weapon emits is almost as majestic as the huge open spaces between the pyramids that are infested with AAAAAAAAAHHHH screaming beheaded kamikazes. How about reskinning the shotgun into a crossbow firing three green projectiles ( Heretic )? Not cool enough? Okay, I get it, we need to step up our game. How about modding our double barrels? Sawing them off, perhaps? In Outlaws , there are three (!) shotguns mapped to your keypads: a single barrel, a double barrel, and a sawn-off one, although to this day I am puzzled by the difference in function as they even sound alike. In Project Warlock , being a more modern retro-inspired shooter, you can upgrade your weapons after collecting enough skill points. That single barrel can become an automatic and that double barrel lovingly called the Boom Stick can gain alternate firing modes. Project Warlock's Doom Stick has a very satisfying 'boom sound' to it. Speaking of mods, DOOM Eternal ’s super shotgun Meat Hook attachment is one of the most genius ideas ever: pulling yourself closer to your enemies before unloading those two barrels ups the fun (and gore) dramatically. I believe you can also inject incendiary rounds. In DOOM 2016 , you can tinker with your shotgun by swapping out pieces. Tadaa, now it’s a shotgun gatling gun! Still not crazy enough, I hear ya. What about Forgive Me Father then, where the unlocked upgrades gradually push more and more crazy (literally) into the weapon designs by merging with the Cthulhu mythos. The Abyssal Shotgun features more bullets per shot and has an increased firing speed, essentially making it an automatic double barrel? What about dual wielding instead? In DUSK , beyond the trusty double barrel, you can dual wield two regular shotguns and pump out that lead at a demonic speed (no wait wrong game). In Nightmare Reaper , the reflection power-up allows you to temporarily dual wield your current load-out that can already be pretty wild as the modifiers are random. I saw someone unloading 100+ shots at once. How’s that for a boomer shooter. The idea is not new though: Blood allowed us to temporarily dual wield sawn-off shotguns in as early as 1997. If that’s not impressive enough, F.E.A.R. not (get it? 1 ): if two barrels aren’t enough, then how about three instead? The game INCISION will congratulate you with the message “Ludicrous Gibs!!” after firing off that bad boy. But we can do even better: the hand cannon in Prodeus features a whopping four barrels that can be fired individually or all at once, turning anything on screen into ketchup. KABOOM click clack. I first thought Prodeus invented that but Shadow Warrior —yet another crazy Build Engine game from 1997 with even crazier weapons—technically already featured a four-barreled shotgun that rapidly rotates as you shoot. I don’t think you can unload everything at once though. Or how about another rotating barrel that can also eject grenades? That’s Shelly’s Disperser from Ion Fury . Guess what, Ion Fury runs on the Build Engine. No coincidence there. Shelly's Disperser might not look sexy but the hybrid weapon can rapidly fire off 6 shots and launch as many grenades! But perhaps the craziest of them all must be the projectile boosting mechanic in ULTRAKILL : after firing off those shotgun shells, you can hit them with your fists to increase their speed? I have no idea how that works. I skipped that game because the trailers induced motion sickness. I can tolerate a crazy amount of crazy but that’s a bit too much. From a pump action toy to a boom stick, quad shotgun, rapid firing abyssal shotgun or disperser. From a regular buckshot shell to incendiary rounds, grenades, and meat hooks. I love these kinds of games because they have the creative freedom to bend all the rules—especially when it comes to the weaponry. And yet, we stay true to our DOOM-like roots: you can’t release a successful retro-inspired shooter without the presence of a (super) shotgun. If you’re interested in my opinion on many of the games mentioned here, be sure to check out my reviews on these retro shooters . The game F.E.A.R. , although not a boomer shooter, is revered for its excellent VK-12 combat shotgun that chews through enemies rather quickly.  ↩︎ Related topics: / games / boomer shooters / By Wouter Groeneveld on 20 October 2025.  Reply via email . DOOM II (obviously) DOOM Eternal Outlaws (2x) Project Warlock Redneck Rampage Serious Sam The game F.E.A.R. , although not a boomer shooter, is revered for its excellent VK-12 combat shotgun that chews through enemies rather quickly.  ↩︎

0 views
Brain Baking 1 months ago

I Owe Warez For Properly Discovering CRPGs

One of the very first games my father actually bought were the DOS games Raptor and Hocus Pocus . It involved going to an exchange centre to convert Belgian francs to American dollars and sending those bills overseas to Apogee HQ, praying that nothing happened with the envelope. If you were lucky, a month later the PC box arrived at your doorstep. That was a magical moment! Most of the DOS games I played when I was a kid were just the shareware episodes that came with floppy disks of local computing magazines. Granddad subscribed to one of those magazines and the first thing we did when visiting the grandparents was Copying That Floppy . For quite a long time I didn’t even realize I was just playing a demo: there were actually more episodes than this? Wow! Only if it was really really good, we bought it. Since those smaller games weren’t simply available in the stores, we had to resort to the envelope postage method. That means we actually did something with that order information shown after quitting the game. Then came the transition to the CD-ROM and the arrival of the internet that completely changed everything. Yes, we did get our hands on a few full games before that ( Don’t Copy That Floppy —we still did), but once burning CDs became cheap and easy, the floodgates were open. Many warez rips circulated in high school classes with the Twilight Dutch rip group being the most popular one. We even used to pay for these releases, thinking this was the way to “buy games”. Whoops. Those Twilight CD releases went on for quite some time. The above linked site neatly lists them all, including the accompanied CD art ant , from the initial 1996 Dutch editions to the 2001 ones—eventually spawning more than 89 volumes. I distinctly remember the following 1998 release: Twilight Dutch Edition Twentieth Release. It contained iconic game releases such as Jedi Knight, the Redneck Rampage expansion, the Turok and Croc PC ports, and of course DirectX 5.0. By 1998, they were also packing in applications such as Macromedia Dreamweaver and Ulead Web Album 4.01. Oh, and —it really whips a llama’s ass. The weird thing about these game rips is that they were exactly that—rips. That is, in order to cram in that much games, they had to “rip” the original game CD-ROM by removing non-essential data. As a result, I played many late nineties games without the music or cut-scenes. It didn’t even bother me that much as I didn’t even know what the full package experience was like until I started buying games myself with the big box release of Diablo II. These could then be backed up using CloneCD. If you’re interested in how such a Twilight warez release was put together, there’s a great YouTube video by Elger Jonker dissecting the series digging even into CD sector details and timestamps. It’s a big feat to keep the whole operation a secret for eight years while selling more than copies a month. It wasn’t just cool to buy and share warez CDs in high school: it was the primary way to discover new games. Everybody had stacks upon stacks of CDs with nothing but illegal rips, cracks, serial key generators and more and nobody in my neighbourhood educated us on how not supporting the developers might eventually lead to studios closing. Something in the back of our heads told us it wasn’t the way it was supposed to be but nobody stopped to think twice. There were so many PC games I got to know via Twilight: Age of Empires, Rayman, Pandemonium, Unreal, … Simply too many to mention. In the late nineties and early noughties, instead of downloading demos, we bought and burned warez CDs. This might be a bold statement to make, but I owe a lot to those warez releases: it somehow acted as a gateway to PC game discovery. One particular rip my dad downloaded (more on that later) contained Might & Magic VIII and Wizardry 8—two of my now favourite games ever. As I fumbled about in these games, discovering Dagger Wound Island in MMVIII and exploring the abandoned monastery in Wiz8, I felt something tickling in my belly: raw excitement. I had no idea what was going on in these virtual worlds—how to assign skills, level up, make any kind of progress without repeatedly dying—but I knew I wanted more. When I finally regained my ethical consciousness, I immediately went out and bought both games, but it was already too late: both New World Computing and Sir-Tech went bankrupt. All I could do was to mourn the great loss and source a used copy on eBay. Perhaps back then I was part of the problem. Don’t worry, I’m all reformed and better now: I now try to support as many creative studios as I can, even sometimes double dipping by buying digitally and physically. Once the dial-up speeds started to accelerate beyond , my father discovered newsgroups that dumped binary headers concealing game rips. With Newsbin Pro (of course also cracked), it became trivial to download game rips yourself. Newsbin and WinAce made us proud Twilight-independent illegal gamers. Instead, we basked in the , , and , , … files that were chunked into a few megabytes each to avoid file corruption with unstable connections. You could even repair broken files provided you also downloaded the checksum files. Yet sometimes, the whole time-consuming process of downloading these files ended up in a bust: too many numbered files were missing meaning we couldn’t extract the contents, or it was password-protected and we failed to properly retrieve the FILE_ID.DIZ or files. Funnily enough, these files often urged the downloader to go out and buy these games. The warez group DEViANCE included a message like this: If this evokes nostalgic feelings for you, fear not: most of these files are archived. See for example https://defacto2.net/f/b42f38a that shows the info file for the Rune release where I lifted the above excerpt form, including obligatory ANSI art. At some point, it felt like we even started a small family warez business ourselves. My father had early access to a ISDN and later DSL landline thanks to his work at the Belgian telephone company and we were early adopters of multiple CD-RW drives that burned hundreds of discs for friends and family. Newsbin Pro was pulling in files non-stop. Newsgroups were dismantled and new ones appeared happily continuing where the closed ones left off. To keep track of all these moving components, sites such as nforce.nl and came in handy. And then Napster/Kazaa/LimeWire made things even worse, especially for the music industry. By then the odd holiday work allowed me to spend money on PC big box releases and GBA/DS games. Even though of course I also curated a library of console ROMs, it was never as bad as PC games. We never modded any console we/I owned. It probably helped that we weren’t into Sony stuff and usually had to buy a cartridge or a miniDVD for the GameCube that was a bit more involving to pirate. I grew up with family and friends copying stuff. So I copied stuff. The ethical debate was never even considered, so I also didn’t. Some of these folks are still in denial and ask me why I bought that game when I can find it on The Pirate Bay. I feel guilty and wish my parents better educated us on this matter. But at the same time, without Twilight and Newsbin Pro, I probably wouldn’t have discovered Might & Magic VIII or Wizardry 8. For that, I am eternal in their debt. Related topics: / ripping / By Wouter Groeneveld on 16 October 2025.  Reply via email .

0 views
Brain Baking 1 months ago

My (Retro) Desk Setup in 2025

A lot has happened since the desk setup post from March 2024 —that being I got kicked out of my usual cosy home office upstairs as it was being rebranded into our son’s bedroom. We’ve been trying to fit the office space into the rest of the house by exploring different alternatives: clear a corner of our bedroom and shove everything in there, cut on stuff and integrate it into the living room, … None of the options felt particularly appealing to me. I grew attached to the upstairs place and didn’t want to lose the skylight. And then we renovated our home resulting in more shuffling around of room designations: the living room migrated to the new section with high glass windows to better connect with the back garden. That logically meant I could claim the vacant living room space. Which I did: My home office setup since May 2025. Compared to the old setup, quite a few things changed. First, it’s clear that the new space is much more roomy. But that doesn’t automatically mean I’m able to fit more stuff into it. After comparing both setups, you’ll probably wonder where most of my retro hardware went off to: only the 486 made it into the corder on the left. I first experimented with replicating the same setup downstairs resulting in a very long desk shoved under the window containing the PC towers and screens. That worked, as again there’s enough space, but at the same time, it didn’t at all: putting a lot of stuff in front of the window not only blocks the view, it also makes the office feel cramped and cluttered. That is why the desk is now split into two. The WinXP and Win98 machines have been temporarily stashed away in a closet as I still have to find a way to fit the third desk somewhere at the back (not pictured). Currently, a cupboard stray from the old living room is refusing to let go. We have some ideas to better organize the space but at the moment I can’t find the energy to make it happen. I haven’t even properly reconnected the 486 tower. The messy cables on the photo have been neatly tucked away by now, at least that’s something. Next, since I also have more wall space, I moved all board games into a new Kallax in the new space (pictured on the left). There’s still ample space left to welcome new board games which was becoming a big problem in the old shelf in the hallway that now holds the games of the kids. On the opposite side of the wall (not pictured), I’ve mounted the Billy bookcases from upstairs that now bleed into the back wall (pictured on the right). These two components are new: the small one is currently holding Switch games and audio CDs and the one on the far right is still mostly empty except for fountain pen ink on the top shelf. The problem with filling all that wall space is that there’s almost none left to decorate with a piece of art. Fortunately, the Monkey Island posters survived the move, but I was hoping to be able to put up something else. The big window doesn’t help here: the old space’s skylight allowed me to optimize the wall space. The window is both a blessing and a curse. Admittedly, it’s very nice to be able to stare outside in-between the blue screen sessions, especially if it’s spring/summer when everything is bright green. The new space is far from finished. I intend to put a table down there next to the board game shelf so that noisy gaming sessions don’t bother the people in the living room. The retro hardware pieces deserve a permanent spot and I’m bummed out that some of them had to be (hopefully temporality) stowed away. A KVM switch won’t help here as I already optimized the monitor usage (see the setup of previous years ). My wife suggested to throw a TV in there to connect the SNES and GameCube but the books are eating up all the wall space and I don’t want the office to degrade into a cluttered mess. I’m not even sure whether the metre long desk is worth it for just a laptop and a second screen compared to the one I used before. The relax chair how used for nightly baby feeds still needs to find its way back here as well. I imagine that in a year things will look differently yet again. Hopefully, by then, it will feature more retroness . Related topics: / setup / By Wouter Groeneveld on 12 October 2025.  Reply via email .

0 views
Brain Baking 1 months ago

I Made My Own Fountain Pen!

Those of you who know me also know that I love writing with a fountain pen . My late father-in-law had been pushing me for years to buy a small lathe and try my hand at some simple shapes—including a fountain pen barrel, of course. Being quite the capable woodworking autodidact, he taught me how to construct a few rudimentary things. Together, we created my stone oven cabinet on wheels I still use on a weekly basis. To this day, I regret not buying a lathe to create more things together. The idea of following a woodworking workshop or a pen creation workshop stuck on the back of my mind but never quite managed to materialize. In May 2024 , when I visited the Dutch Pen Show, a few artisans that presented their home-made pens there also offered workshops but lived more than away in the northern part of Germany, being out of reach for a quick “let’s go there and do that” excursion. Until last month, when my wife somehow found out about Eddy Nijsen’s Wood Blanks & Penkits company and neglected to tell me. Instead, she organized a secret birthday present, invited two more friends over to accompany me, and booked a “mystery event” in the calendar. That morning, when I heard one of my friend’s voices coming to pick me up, I expected us to go to some kind of board game convention. An hour later, we pulled over in a rather anonymous looking street in Weert, The Netherlands, and I had no clue what we were doing there. Boy, was I in for a pleasant surprise! We spent the entire day doing this: Me working on a lathe carefully shaving off wooden clippings to create a pen barrel from a blank. Note the enormously varied amount of available wooden pen blanks on the shelves in the back. It was quite possibly the best day I’ve had in months. The hours flew by and at the end of the day we all made two pens: one regular ball pen with a typical Parker filling that twists to open, and one fountain pen. Both pens turned out to be remarkable for different reasons. The ball pen is not one I will be using regularly but that doesn’t mean it wasn’t worth creating it. The wooden blank we used for this pen is unique to say the least. The black splintery wood almost smelled and felt like charcoal. Eddy, our instructor, managed to salvage it during a local archaeological dig that excavated a medieval oak water well shaft. Experts estimate that the ancient oak was felled in around 1250. Decades of exposure to ground water penetrating the oak cells permanently deformed and coloured the wood. After years of drying in Eddy’s workspace, it was sawn into smaller rectangular blocks called “pen blanks” where we proceeded to drill a hole in, attach to the lathe, and rework into a cylindrical shape that can be pressed onto other components called a “pen kit”. The metal components we worked with that day were high quality Beaufort Ink pen kits . After sanding, multiple waxing steps, the involvement of glue and a dedicated pen press, it was ready to write with! The pen has a mechanical twist mechanism on top that’s part of the kit. Therefore, we only needed to finish one pen blank. For the fountain pen that has a screw cap, we’d need to up our game, as not only we have to work two barrels, but the dimensions and particular shapes differ: the pen is thinner on the bottom and thicker near the grip. A blurry photo of the result: walnut fountain pen (left) and medieval oak ball pen (right). For the fountain pen, we could choose whatever wood we wanted. My friends chose different kinds of bright looking exotic wood while I went for the dark brown-grey walnut. My parents had multiple walnut trees when we were kids and I loved climbing in them and helping with the harvest. Selecting a type of wood closer to home seemed like the obvious choice for me. I carefully recorded all specific steps we took that day—with the home-made pen, of course—in case I accidentally buy a lathe and want to get in some more exercise. It felt amazing to work with my hands instead of staring at a screen all day long. Eddy’s mastery over his woodworking felt magical. He said that there’s only one way to achieve this: practice, fail, practice, fail, practice, fail some more. I doubt I’ll be able to finish one pen on my own without his guidance. I wish my father-in-law was still alive. It gradually dawned to me that I wasn’t really making a fountain pen. I was just creating a beautiful hull. Woodworking is not enough: you also need to be an expert jeweller to craft a great nib that writes like a dream. The stock nib that came with the Beaufort Ink pen kit unfortunately didn’t: it felt scratchy and dry. I anticipated this and have since replaced it with a fine platinum Bock nib that writes great although I’m still struggling with the ink flow going from the converter to the feed. The platinum nib was expensive ( excluding shipping) but it would be a shame never to use the pen. While the Beaufort Ink material indeed is of very high quality, this particular pen kit model is not the most well-balanced: posting the cap is entirely useless as it’s much too heavy. Also, the metal grip is much thinner than the wooden body that we created. Compared to a Lamy 2000 or a kit-less pen, searching for the right grip and writing takes a while to get used to. But who cares, I made my own fountain pen! The second mod I’m planning to do is to laser the Brain Baking logo on top of the cap. I love the way the pen and walnut wood feels and the subtle colour differences that neatly line up when you screw on the cap again is beautiful (but difficult to catch on camera). I do wonder what else you can do with a lathe if you do not limit yourself to just using a pen kit… Related topics: / fountain pens / activity / By Wouter Groeneveld on 8 October 2025.  Reply via email .

0 views
Brain Baking 1 months ago

I'm Sorry RSS Subscribers, Ooh I Am For Real

Never meant to make your reader cry, I apologize a trillion times. My baby a drama Hugo don’t like me; she be doin’ things like duplicatin’ them RSS entries. Come from her release page to my server tryna fight me, bringing her breaking changes along; messing up quite wrong. That’s as far as I can take that Outkast song. I upgraded to Hugo and thought I fixed all the breaking changes but I was wrong and noticed the biggest one too late. Some dangling atom file once used to generate Gemini news feeds suddenly went back online causing all items to be duplicated. Aren’t new releases with shady notes documenting the changes great. Apologies dear RSS readers. The issue has been fixed for a few days now but it seems that most readers like to cache results so if you’re still seeing double please press that Purge Cache Now button. And thanks for reading Brain Baking ! By Wouter Groeneveld on 4 October 2025.  Reply via email .

0 views
Brain Baking 1 months ago

Favourites of September 2025

Hi again autumn, how have you been? Not well? Well me neither but I’ve been told that’s part of life and we’ve got to accept it and move on. Last month I ran a feature on card games on this blog, producing nine lovely articles ranging from Flemish trick taking traditions to card game mini games and how to properly play patience—both old and new. I don’t know about you but I thoroughly enjoyed myself writing these and might do something similar again in the future. As for the solutions to the last Name Those Card Games Quiz , here you go: Previous month: August 2025 . Still almost nothing. I’m struggling to steal a few minutes of time here and there to do so. The intentions are there: I bought six books last month. So far, these efforts resulted in finishing a few chapters in Sebastiaan Chabot’s Olifantenpaadjes : a weird Dutch novel about a divorced family reliving their happy memories during summer holidays in France. I don’t think it’s been translated yet and I can’t yet judge whether it should be. Next month, perhaps. See the codex logbook : as part of the card game feature I dove into Sierra On-Line’s rich Hoyle Card Games history and tried my hand (ha!) at a few handheld card games but couldn’t quite find anything that matches my favourite version: the 2002 PC edition. Clubhouse Games proved to be all right but cumbersome, 18 Classic Card Games remarkably includes Klaverjassen but its execution is below sub-par, Ultimate Card Games is all right for a change, which cannot be said for the 2000 Hoyle Card Games Game Boy Color version. I think I’m finished with digital trick taking for now. CodeWeavers finally allows me to play PC-only games on my MacBook and Wizordum runs wonderfully on it so far. The demo was good so now I’m halfway through episode 2 and feeling the boomer shooter (or throwback retro shooter or whatever you want to call the subgenre) itch again. The result is more frantic research on the best pistol and rocket launcher types, the weirdest GZDoom ports, and the coolest Nightdive Studios remasters. Did you know they’re remastering both Outlaws and Blood ? Nightdive are my new heroes. If you want to dive into the genre then let KIRK COLLECTS guide you. He releases monthly FPS news overview videos called “State of the Boom” and the last one revealed more exciting stuff is coming our way ( Boltgun 2 , Darkenstein 3D , …) next to an already awesome release month ( Forgive Me Father 2 , Beyond Sunset , …): The Blood part is at . But yeah, that Deus Ex remaster is looking ridiculously bad. I feel zero urge to play anything else besides the GOTY version in the original Unreal engine. What a shame. Related topics: / metapost / By Wouter Groeneveld on 4 October 2025.  Reply via email . French Quarter Ticket To Ride Railroad Ink Kurt Katala from Hardcore Gaming 101 completely destroys Bubsy: Claws Encounters of the Furred Kind . I needed that to avoid buying the recent Limited Run collection. Lothar Serra Mari over at fabulous.systems explains how 86Box now supports SafeDisc copy protection for CUE/BIN image files. Dave Rupert answers why anybody would start a website in 2025. Because of that creative urge, perhaps? There are still ample corners in the vast space of the internet left for you to carve out. Matthew M. Conroy creates weird noisy videos involving pixel-to-noise algorithms on self-portraits. Weird, but in a good way? Mike Green creates stunning kitless fountain pens . I especially love the green dragon variant. Someone made a website categorizing all moai appearances in video games . I have no idea why developers keep on modelling these. Moby Games keeps a list of games with Dopefish appearances . The Dopefish is more dope than moai statues. Alexander Petros challenges website designers who are afraid of hard page reloads . Chris Borge 3D-printed his own woodworking lathe (YouTube video)! Rockwell Schrock shared a very cool discovery on , a Westwood chat client that came with the 1995 Monopoly CD-ROM. Simon Vandevelde created bladofpapier.be ; a site visualizing Flemish regions that prefer to say scissors-stone-paper or paper-stone-scissors. Isn’t the English expression rock-paper-scissors? I’m confused. Robert Lützner is getting into retro gaming . Welcome to the family! It’s never too late to join the party. There’s yet another list over at ResetEra: the essential RPGs list . Joel will be relieved to hear that Chrono Trigger takes the first spot. Chris Were shares 50 games that influenced him . The list starts of very strong with Deus Ex and Duke Nukem 3D . Same here! Emojis Are Shit . Drew hit the nail on the head here. Hidde de Vries shared the slides of his Creativity cannot be computed talk. Laura shares why she buys physical media —and media in general (YouTube video). Rakhim’s idea of Benjamin Button reviewing macOS is just amazing. Rock Paper Shotgun published an interview with the creators of Dread Delusion that convinced me to put the game on my radar. There seem to be popping up more and more AI protection alternatives inspired by Anubis such as Nepenthes . I’m still a bit hesitant to install yet another complex software layer though. I’ve been thinking about relying on anonymous email forward services such as https://addy.io/ . It’s on the list. https://nerdvpn.de/ offers hosted alternative frontends to corporate social media sites such as Reddit. You can self-host these as well. I thoroughly enjoyed flipping through the 2025 proceedings of the Association of Computational Heresy . Finally an academic treatise done right. This one is worth a second mention: PCjs machines emulates original IBM PCs right in your browser! https://solosleuth.com/rankings contains rankings for solo board games. Unsurprisingly, Mage Knight is still number one. I’ve been told that I need to dig through the official Against the Storm wiki if I want to survive the more challenging storms. So far I’ve only played 30 minutes so we’ll take that into future consideration. Romm is a powerful self-hosted video game ROM manager that enables easy browsing of your game collection.

0 views
Brain Baking 2 months ago

Name Those Card Games Quiz Three

I couldn’t resist creating a third quiz to complete the trilogy. Did you manage to identify all the card from quiz one and quiz two ? Again, congrats! Here’s the solution for quiz two in case you were wondering: The final Puzzling Photo is waiting for you, yet again upping the ante except for the obvious few: Name those card games quiz three. You know what to do. The rules remained the same: each of the seven cards belong to another card game. Try to identify them all! The first hint from quiz one remains relevant: all cards have the same dimensions as a standard deck of cards. This time, I’ve included two red herrings that come from a game that doesn’t really include card play but merely uses the cards to support the core mechanics. Have fun! As always, the solutions will appear in the next post. I’d love it if others would continue to create these quizzes. That way, I can be the one guessing. This article is part nine—the last part for now—in a series on trick taking and card games . Be sure to dip a toe in the other posts! Related topics: / card games / By Wouter Groeneveld on 30 September 2025.  Reply via email .

0 views
Brain Baking 2 months ago

What Philosophy Tells Us About Card Play

Given the extensive history behind a simple pack of standard playing cards, it should not surprise you that cards can be seen as a mirror of society: that’s essentially why the court cards have kings, queens, and jacks in them. In as early as 1377 , Johannes of Rheinfelden wrote De moribus et disciplina humanae conversationis, id est ludus cartularum ; a treatise on card play in Europe. It is the oldest surviving description of medieval card play. In essence, when you play a game of Whist, you’re playing with the remains of the medieval European feudal system. That sounds a bit ominous so let’s skip the grim history lesson and instead focus on what philosophy can tell us about card play. Would they be able to offer interesting insights on why humans like to play and why we should (not) keep on doing it? Arthur Schopenhauer detested card games or any form of leisure activity. According to him, the clear lack of an intellectual deed would distract us from pondering the real questions of life. Schopenhauer thinks that by playing cards, you’re merely fulfilling a basic instinct-level need instead of enjoying higher intellectual pleasures (from Aphorisms on the Wisdom of Life ): Dancing, the theatre, society, card‑playing, games of chance, horses, women, drinking, travelling, and so on… are not enough to ward off boredom where intellectual pleasures are rendered impossible by lack of intellectual needs. […] Thus a peculiar characteristic of the Philistine is a dull, dry seriousness akin to that of animals. In The Wisdom of Life, and Other Essays , he scoffs at us players, declaring us “bankrupt of thought”: Hence, in all countries the chief occupation of society is card‑playing, and it is the gauge of its value, and an outward sign that it is bankrupt in thought. Because people have no thoughts to deal in, they deal cards, and try and win one another’s money. Idiots! That’s certainly an original way of putting it. Schopenhauer is well-known for being the grumpy old depressive philosopher who bashes on anything he can think of, except for music and walking with his dog. Because people have no thoughts to deal in, they deal in cards, and try to win another’s money. Idiots! I guess he failed to see that just having fun is what makes living bearable. Criticising play in general is a common recurring theme in philosophy: play is said to distract from the very essence of thinking. In On Consolation , Seneca the Younger criticises Gaius Caesar for gambling to distract his grief after losing his sister Drusilla. According to Seneca, that’s evidence of moral failure. Speaking of which, Michel de Montaigne also seems to categorize card play as a stern morality exercise. In Of the Art of Conference , he notes that even in casual play sessions together with his wife and daughter, one has to stay honest by treating these small actions of integrity—by not cheating and following suit, I guess?—the same as the bigger stakes in life. In another of his essays, Of Drunkenness , he directly compares life to a game of chance where chance can easily mess up any plans we prepared. We, just like the card drawn from the deck, are at the mercy of Lady Luck. Maybe many philosophers dislike games of chance because they do not want to admit that much of our life’s experiences is left to chance 1 . Perhaps that’s why you gotta roll with the cards you’re dealt . Fifty years later, Blaise Pascal acknowledged Montaigne’s idea. He wrote extensively on wagering and views the human condition as one of uncertainty. We must make decisions with incomplete information—and live with the consequences that come with them. Doesn’t that sound like making a move in any game? On the very other end of the spectrum, we find Johan Huizinga’s Homo Ludens directly opposing Schopenhauer’s negative opinion on play. In the thick tome, Huizinga explores the very nature of play as a fundamental element of our human culture. Play is essential to keep our sanity/ Play is what makes us human. Huizinga briefly mentions card gaming as an example of a game with a clear set of rules defining boundaries and structure. Within that boundary, players can foster their skills. Huizinga seems to discard Schopenhauer’s bankruptcy idea completely. Play—including card play—is an essential part that embodies order, freedom, creativity, and even has a social and psychological function. Culture develops through play. Of course, Huizinga extensively studied play as part of his academic research meaning it would be a bit silly if he were to discard the subject as superfluous. In 1958, Roger Caillois built on top of Huizinga’s ideas in Les jeux et les hommes , investigating and categorizing games into different systems. Card games fall under games of chance but also contain a competitive aspect. The interesting Caillois notes is that some cultures handle dealing with chance differently: some celebrate it and embrace their fate, while others desperately try to master it (and usually fail). Guess which category our Western society falls under. It doesn’t take a big stretch to connect Caillois’ card play with the art of living. How do we live in relation to chance? Do we embrace it or try to resist and shape it? Life, just like card games, is not about winning, but about playing well. The act of playing cards can embody the act of living: we must navigate uncertainty, play and work within a set of constraints, read others and try to adapt to their moves, and perhaps above all find meaning in playing the game for the sake of playing the game. In the end, everybody wins, right? Or was it the house that always wins? I forgot. This article is part eight in a series on trick taking and card games . Stay tuned for more! Note that I’m interchanging the words luck and chance here even though depending on your interpretation, they are not the same.  ↩︎ Related topics: / card games / philosophy / By Wouter Groeneveld on 29 September 2025.  Reply via email .

9 views