Thanks for the tip, I am aware of that feature, but use different ways for different situations :)
Thanks for the tip, I am aware of that feature, but use different ways for different situations :)
New blog post: Can I finally start using Wayland in 2026?
[β¦] I donβt want to be stuck on deprecated software, so I try to start using Wayland each year, and this articles outlines what keeps me from migrating to Wayland in 2026.
michael.stapelberg.ch/posts/2026-0...
#linux #sway #wayland #i3wm
I have a few more π Good luck with fixing the broken ones!
New blog post! π₯³
Development shells with Nix: four quick examples
β Read more: michael.stapelberg.ch/posts/2025-0...
#Nix #NixOS
Thatβs the miekg/dns default, apparently π€
wireshark screenshot showing how the DNS response for login.tailscale.com is truncated
Yes, I am seeing otherwise: querying 8.8.8.8 via UDP results in a truncated response packet. Probably the reply youβre looking at is already the TCP-retry response.
I emailed you the pcap I show in this screenshot:
screenshot of login.tailscale.com resolving to 64 IP addresses
@bradfitz.com Maybe you all want to stop serving *all possible IP addresses ever* for login.tailscale.com to make it fit into a UDP response? :)
New blog post published π₯³
Migrating my NAS from CoreOS/Flatcar Linux to #NixOS
In this article, I want to show how to migrate an existing Linux server to NixOS β in my case the CoreOS/Flatcar Linux installation on my Network Attached Storage (NAS) PC.
michael.stapelberg.ch/posts/2025-0...
Five dudes on a stage: Michael Pratt, Damien Neil, Michael Stapelberg, and Jonathan Amsterdam from the Go team, with Mat Ryer fielding questions
Panel with the Go team at @gopherconeu.bsky.social !
#GopherconEU #Gophers #Golang
New blog post! π₯³
How I like to install NixOS
There are many ways to install NixOS, and in this article I will outline how I like to install NixOS on physical hardware or virtual machines: over the network and fully declaratively.
michael.stapelberg.ch/posts/2025-0...
#linux #nixos
"Go Cryptography Security Audit" by Roland Shoemaker β go.dev/blog/tob-crypto-audit
#golang
At this weekβs RIPE meeting, Simon Leinen from SWITCH talked about using my github.com/gokrazy/rsync/ memory-safe rsync implementation for diversity, reliability and security!
Find the video recording at ripe90.ripe.net/archives/vid...
#golang
New blog post:
My 2025 high-end Linux PC π§
michael.stapelberg.ch/posts/2025-0...
Turns out my previous attempt at this build had a faulty CPU! With the CPU replaced, the machine now is stable and fast!
#linux #pc
I usually keep the only remaining slot free for putting a GPU in to get a monitor signal, but I suppose I could put a Thunderbolt card in there and temporarily swap it with the GPU when needed.
Do you happen to have any recommendations for known-working Thunderbolt cards with low idle power draw?
Unfortunately, my internet routerβs mainboard only has a USB 3.2 Gen 2x1 port (10 Gbps), not a USB 3.2 Gen 2x2 port (20 Gbps), otherwise that would have been a really cool way to bring a 20 Gbps connection to a normal laptop, without bulky extra hardware like SFP+ network cards.
The obvious follow-up question is: does thunderbolt networking work with Linux, too? The answer seems to be yes: gist.github.com/scyto/67fdc9...
#linux
photo of the apple migration tool, showing how a thunderbolt connection can reach 3 GB/s
photo of the migration tool working at >> 500 MB/s
TIL: Appleβs migration tool supports Thunderbolt networking, so by connecting two Macs with a Thunderbolt cable, you can transfer data much much faster than with Gigabit Ethernet: the migration tool measures the connection with 3 GB/s peak speed (actual migration speed: >> 500 MB/s):
New blog post! π
In praise of grobi for auto-configuring X11 monitors
michael.stapelberg.ch/posts/2025-0...
#linux #golang
synthesizers on stage (Tangerine Dream 2025)
Bonus pic: stage setup up close
Tangerine Dream live in 2025
Went to see Tangerine Dream live tonight! Great tracks, visuals were stunning and overall a good time :)
If you havenβt heard of them: they *defined* electronic music in Germany back in the 1970s and have been active ever since. They made the sound track to GTA V! en.wikipedia.org/wiki/Tangeri...
Defend the Internet Archive. Protect the Wayback Machine. Tell the music labels: Drop the 78s lawsuit. Sign our open letter on change.org
π’ The Internet Archive needs your help.
At a time when information is being rewritten or erased online, a $700 million lawsuit from major record labels threatens to destroy the Wayback Machine.
Tell the labels to drop the 78s lawsuit.
π Sign our open letter: www.change.org/p/defend-the...
π§΅β¬οΈ
Tom Payne shares how he fixed a #chezmoi regression in binary size and startup time with the help of Git Bisect and the Go Size Analyzer πͺ
Thomas Gosteli gives an overview about whatβs new in Go 1.24 π£
β¦and Roman Sharkov teaches us about the complexities of i18n βοΈ (3/3)
All the talks from the April 2025 ZΓΌrich π¨π Go Meetup can be found in this playlist:
www.youtube.com/playlist?lis...
Denys Vitali is talking about the self-built photo booth at his wedding (implemented with #linux & #golang of course!) π
(2/3)
My talk at the recent ZΓΌrich π¨π Go Meetup about Go Protobuf (specifically, the Opaque API) is now online:
youtu.be/QpLjj3yZ4R8?...
#golang
I just released go-boot v0.1!
A TamaGo unikernel implementing a UEFI Shell and OS loader allowing secure, powerful, yet easy UEFI API interaction.
100% unencumbered Go in your pre-boot environment.
github.com/usbarmory/go...
@thepudds.bsky.social is my hero
So far, up to 15x faster escape analysis for the Go compiler when compiling the TS checker package.
End to end that's an 8x faster compiler of the checker package for us, bringing it down from 50 seconds to 6 seconds.
github.com/golang/go/is...
screenshot of my blog post
New blog post: Intel 9 285K on ASUS Z890: not stable! β οΈ
I had a lot of trouble with this mainboard (?), so I am telling you what combination of hardware to avoid π²
michael.stapelberg.ch/posts/2025-0...
photo of zurich at night, showing trains parked on tracks
#zurich SBB #trains at night
(view from EuropabrΓΌcke)
To be clear, this isnβt starting the samba rsync program in the background or anything like that; itβs a 100% Go implementation; memory-safe and fast! Standalone and cross-architecture! π
#golang
Did you know? My github.com/gokrazy/rsync module can be used as a library β both its client and its server accept the io.ReadWriter interface type :)
To show that this works and to show the flexibility this enables, I put together an rsync-over-gRPC demo:
github.com/stapelberg/r...
#golang