Blog

And I'm moving away from Codeberg again

It wasn’t actually that long ago that I announced my move from GitHub to Codeberg.

I have now decided to end my sustaining membership with Codeberg e.V. and move my repositories to Codefloe.

The reason for this is the recent change to the Terms of Use, which makes it clear that projects predominantly using generative AI are no longer welcome on Codeberg.

Before you grab your pitchforks, light your torches, and pay me a visit: I love my craft. I still prefer programming myself rather than orchestrating agents.

So why does the change to the Terms of Use bother me so much?

Well, firstly: Codeberg prohibits the use of any form of generative AI. However, generative AI is more than just getting Claude to churn out heaps of program code. Machine translations into other languages or the automatic generation of documentation are also LLM applications that generate numerous files.

Example: My short novel project Infinisomnia consists of German episodes that I wrote entirely myself. Alongside these, however, are other language versions that were machine-translated. Quantitatively, the vast majority of files in the project are therefore AI-generated, and at best, the project is now only tolerated on Codeberg. That was the main reason for my departure.

Secondly: Regardless of how one feels about generative AI, LLMs are not going to disappear, and many developers have found advantages in using them. It should be left to the maintainers to decide which tools they choose and which they do not want. A platform-wide ban refuses a deeper engagement with the new reality and instead drives the division of the community.

Codeberg also justifies the change by stating that there are many “slop” projects cluttering up their hard drives. This is understandable, but a ban will do little as long as users can continue to dump their slop onto the platform until they get caught. However, Codeberg already had house rules and the corresponding options for sanctions before the change.

Of course, Codeberg is entitled to do whatever they want with their platform. On the other hand, it is also my right to leave a platform (and an association) when our requirements and goals diverge.

I wish Codeberg all the best. It was a wonderful experience.

Image: The “Forgejo” mascot by David Revoy (CC-BY 4.0)

Redesign Shredzone 2026

26 years ago today, the Shredzone went online! 🥳

I am celebrating this somewhat odd birthday with a major redesign of my website.

This is not the first redesign. It started in 2000 with a static website that was generated on an Amiga. In 2003, I switched my website over to a custom-written PHP Content Management System called Akiko, which was later expanded with a blog. The last redesign took place 16 years ago when I migrated the blog to Cilla, a piece of self-made blog software developed in Java. With this foundation, my homepage ran reliably ever since and even survived various server moves. However, this solution also required a lot of memory on the server.

The new Shredzone uses Hugo and is now completely static again. No database, no bloated web application, just finished files on the web server. This is most noticeable in the fact that the individual pages now load noticeably faster.

Nevertheless, all the content has been migrated; even the oldest blog article from 2003 is still there.

Even better: The old Shredzone wasn’t really multilingual. From now on, most articles will be published in German and English. A great many older articles, which only existed in one language, are already available bilingually.

Another new feature is that there is finally an eye-friendly Dark Mode.

There are still a few works in progress that I will tackle over the next few weeks:

  • The translation of a few German articles into English was done by machine. The result still sounds a bit clunky. I will gradually revise all machine-translated articles.
  • The ability to search pages is currently completely missing. Unfortunately, this is difficult to solve on static websites, but not impossible. I am working on it, but it will take a while.
  • The old RSS feeds no longer exist. I still have to check the new ones until they work too. If you subscribed to the previous RSS feeds, you will unfortunately have to do it again.
  • The old Shredzone also worked as an app on a smartphone. That should still work, although I haven’t had time for extensive testing yet.
  • The hashtags were carried over from the old content, but I will revise and expand them.
  • There will still be minor changes to the layout here and there.
  • And quite certainly, one or two bugs have hidden themselves deep in the system.

Anyway: The new Shredzone is online. Have fun browsing!

Moving to Codeberg

I have migrated all my source codes from GitHub to Codeberg.

Codeberg is a community-driven software development platform operated by Codeberg e.V., a non-profit association based in Berlin, Germany. The platform is based on Forgejo, a Gitea fork.

Three of my projects remain fully mirrored on GitHub:

You can continue to open issues and pull requests there. All my other projects are now archived on GitHub, and the development takes place on Codeberg.

You can also log in via GitHub and GitLab there, so you should have no problem with continuing to send me bug reports and pull requests. You don’t need a separate account to do this.

I did not make the decision to move to Codeberg lightly. There are two main thoughts that made me do it.

  1. The recent history of the former Twitter platform showed me how fragile a social network can be when it is under the control of a commercial company. I deliberately chose the federated platform Mastodon as my new home because it is not owned and operated by a single company. As a non-profit association, Codeberg is also owned by the community.

  2. I am deeply concerned about the recent events in the US following the inauguration of Donald Trump. Therefore, I want to reduce my dependence on US-based commercial platforms as much as possible. I prefer to act in time rather than having to react when it’s too late.

Image: The Forgejo mascot by David Revoy (CC-BY 4.0)

Goodbye Blue Bird

After being on Twitter for 13 years, I decided that it is time to leave the platform for good. They say you should always leave on a high note. Maybe I have missed that moment already.

Today I have closed my account there. My handle was shred_ (with a trailing underscore).

You can follow me in the Fediverse: @shred@oldbytes.space

Thank you, blue bird! I have learned a lot from you and met a lot of great and interesting people. It was fun while it lasted.

PS: I have no plans to join other social media platforms. No need to send me invite codes. 😉

Microwaved mulled wine

What could be nicer than preparing a hot cup of mulled wine or fruit punch for yourself at home during the cold season. But can you do that in the microwave, too?

Of course you can, and very well in fact, if you keep a few basic things in mind.

It is important that the mulled wine does not boil. The perfect temperature for mulled wine is around 72°C. From 78°C, the alcohol, an important flavour carrier, boils away. If you heat it further, the fruit flavour also changes. Overheated mulled wine tastes bland and bitter.

So it comes down to setting the right time on the microwave. But the right power level is also important. Microwaves only penetrate liquids a few centimetres deep, the rest is heated indirectly by convection. If you simply choose the highest power setting, the mulled wine will boil at the edge of the cup, while it is still relatively cold in the middle of the cup. At lower power levels, the heat can distribute more evenly in the drink.

So let’s set out to find the right recipe for our microwave.

It is important to have the same starting conditions as much as possible. The mulled wine should therefore always be at the same room or fridge temperature before preparation, and it is best to always use the same (and of course microwave-safe) cups.

The recipe for my microwave: 2 glass cups of room-temperature mulled wine at 0.2 litres each, 440 watts, 4:30 minutes.

With this recipe as a starting point, you can now find the right power and time for your microwave. You prepare the mulled wine, take it out of the microwave and check the temperature with a tea or cooking thermometer. If the mulled wine is too cold, you increase the preparation time by a few seconds next time. If it gets too hot, you reduce the time. If the mulled wine tastes overcooked, you reduce the power or the time slightly. (Please do not put the thermometer in the microwave!)

If you are only preparing one glass, the time is roughly halved. For four glasses, it doubles. But that is only a rule of thumb. It is worth finding the optimal time setting for other quantities through trial and error as well.

Once you have found your recipe, your microwave will prepare the perfect mulled wine practically by itself. You don’t have to constantly stir and monitor the temperature like on the stove, but simply wait for the beep.

Important: Never heat bottles, cans, beverage cartons or sealed containers in this way, but always only single cup portions.