Building and pushing container images on Codeberg CI

Building and pushing container images on Codeberg CI

As part of moving my services to EU-based infrastructure, I’ve been migrating away from GitHub to Codeberg, a non-profit code hosting platform based in Germany. One of the things I needed was a CI pipeline to build a container image and push it to the Codeberg container registry for my wildfires project (which also posts to @catfires@rls.social). It took a few tries to get right, so here’s what works for me. ...

April 3, 2026 · 2 min · Christof Damian
Moving services to the EU

Moving services to the EU

Like a lot of Europeans, I realise that the US isn't a reliable partner anymore. I am just talking about myself here, and not my employer, or my family. I do use a lot of services that are based in the US, and some I will probably not migrate in the near future. But when I receive a bill, it is a good moment to consider if it is a candidate for migration. ...

January 19, 2026 · 3 min · Christof Damian
Sharing a monitor between Linux & Mac

Sharing a monitor between Linux & Mac

For my new job, I (annoyingly) have to use a silly MacBook. For everything else, I have a nice, beautiful desktop running Fedora. I looked into KVMs to share my monitor and keyboard between the two computers, but couldn’t really find something reasonably priced and functional. Synergy/Barrier/InputLeap for keyboard sharing I have used Synergy before to share keyboard and mouse between Linux computers, and this was already a good step. There is a fork for Synergy on Linux called Barrier, which now has been forked again to InputLeap. Now the maintained version is Deskflow. It also allows copy & paste between systems. ...

April 4, 2024 · 2 min · Christof Damian

Using multiple git configurations

It is fairly common that you might be contributing to multiple git repositories which make different git configuration necessary. Mine and probably the most common case is that I am using different contributor email addresses for my private and work git repositories. You might also want to have separate global git ignores or other options that differ in multiple repositories. The way I do it is having one ~/.gitconfig which looks like this: ...

February 17, 2020 · 1 min · Christof Damian

Friday Links

Wheeler: How to Prevent the next Heartbleed http://www.dwheeler.com/essays/heartbleed.html Rails 3.2.18, 4.0.5 and 4.1.1 have been released! http://weblog.rubyonrails.org/2014/5/6/Rails_3_2_18_4_0_5_and_4_1_1_have_been_released/ Is TDD Dead? The big fight live! https://plus.google.com/events/ci2g23mk0lh9too9bgbp3rbut0k Atlassian: Moving from roadmaps to requirements http://blogs.atlassian.com/2014/05/moving-roadmaps-requirements/ Update on Disqus: It’s Still About Realtime, But Go Demolishes Python http://highscalability.com/blog/2014/5/7/update-on-disqus-its-still-about-realtime-but-go-demolishes.html

May 9, 2014 · 1 min · Christof Damian