Sign in

Tim Wiederhake

@twiederh.bsky.social
7 followers 17 following 26 posts

Senior software engineer. Linux, x86, virtualization.

PostsRepliesMedia
Tim Wiederhake @twiederh.bsky.social · 08/09/2026
My monitors broke rendering of some Qt apps on Linux: Buttons clipped, scrollbars half-invisible, text cut off. Turns out they report about 94 DPI instead of 96, and Qt's "PassThrough" scaling does not clamp to 1.0. Blog post with the fix: twied.github.io/2026/09/08/d-p-why/ #Linux #Qt
Screenshot of "QElectroTech", showcasing graphical glitches such as buttons being clipped, scrollbars being half-invisible, text cut off, and black smears in the drawing area where the region wasn't properly cleared.
001
Tim Wiederhake @twiederh.bsky.social · 18/08/2026
My x86 emulator now runs ROGUE (1984). New blog post about what it takes to go from raw bytes to a playable DOS game: loading MZ executables, memory management, and interrupt handling. twied.github.io/2026/08/18/m... #x86 #retrocomputing #emulation #dos
Screenshot of my x86rme emulator running ROGUE. Greeting reads "Hello twied, Welcome to the Dungeons of Doom"
1184
Tim Wiederhake @twiederh.bsky.social · 11/08/2026
I wrote an x86 emulator, from scratch, no dependencies. Full write up of what I learned at twied.github.io/2026/08/11/x... : ModRM is a tax form, instruction F6h takes 1.14 bytes of arguments on average, and you can double lock your instructions. #x86 #emulator #cplusplus #x86rme
twied.github.io
Getting intimate with x86
When you write a compiler, your work is usually done somewhere around the generation of machine-dependent assembly. But if you are like me, leaving cans of worms unopened is hard. And so I wrote an x8...
000
Tim Wiederhake @twiederh.bsky.social · 05/08/2026
Created support for custom commands in #gitk: Define a name and shell command template and it shows up in the context menu. Placeholder substitution for commit id, author, file path, blame origin etc. Pull request: github.com/git/git/pull... #git #opensource
The new Commands tab in gitk's preferences windowCustom commands in the commit list context menuCustom commands in the diff view context menu
020
Tim Wiederhake @twiederh.bsky.social · 28/07/2026
Switched from Xfce4-Terminal to Kitty after two decades. Wrote up the config settings that make it feel more like home for fellow Xfce expats. #xfce #kitty #terminal
twied.github.io
Make Kitty look like Xfce Terminal
I love Xfce. In fact, Xfce is the reason I am still using X11, despite being one of Wayland’s earliest contributors. But two weeks ago I made the switch from Xfce4-Terminal to Kitty. Kitty is… “opi...
000
Tim Wiederhake @twiederh.bsky.social · 21/07/2026
Update: It landed. Sometimes one patch, two lines of documentation, needs three rounds of review. It's not glamorous, but still incremental improvement. #linux #kernel #opensource
140
Tim Wiederhake @twiederh.bsky.social · 15/07/2026
Show of hands: who has a std::map somewhere in their code where the key is also a field inside the value? I certainly have. Turns out C++14 std::set with std::less<> enables heterogeneous lookup. No need to construct a full object. Just requires comparison operators. #cpp #cplusplus #programming
how not to do it: std::map with duplicated keybetter solution: std::set with heterogeneous lookup
000
Tim Wiederhake @twiederh.bsky.social · 05/07/2026
TIL about `git absorb`. It automatically sorts your fixups into the right commits on a feature branch. Effectively `git commit --fixup` + `git rebase --autosquash` without the manual "what goes where" work, I love it. Curious what else I've been missing. #git #devtools
man.archlinux.org
git-absorb(1) — Arch manual pages
040
Tim Wiederhake @twiederh.bsky.social · 30/06/2026
I knew that the #Linux #Kernel review process was no joke. Still underestimated it. Round three for my two-line patch to improve some documentation of the MSR driver. #OpenSource
120
Tim Wiederhake @twiederh.bsky.social · 08/03/2026
it bears saying again: a computer can never be held accountable / therefore a computer must never make a management decision.
010
Tim Wiederhake @twiederh.bsky.social · 20/02/2026
Dipping my toes into #FPGA development and got a Sipeed Tang Primer 20k. Programming with #OpenSource tools is possible, but there are some gotchas. I have collected some more beginner-friendly examples here: github.com/twied/TangPr...
github.com
GitHub - twied/TangPrimer-20K-example: Examples for the Sipeed Tang Primer 20K FPGA using Open Source tools under Linux
Examples for the Sipeed Tang Primer 20K FPGA using Open Source tools under Linux - twied/TangPrimer-20K-example
020
Tim Wiederhake @twiederh.bsky.social · 04/11/2025
Trying to figure out #meshtastic. Can receive just fine, but not send. Error message is "Max Retransmission Reached".
000
Tim Wiederhake @twiederh.bsky.social · 29/10/2025
If your installation instructions are "curl | sudo bash", I will not use your software.
000
Tim Wiederhake @twiederh.bsky.social · 20/10/2025
I hate Gimp. There, I said it. If I need to consult a tutorial to draw a circle, that's not a useful drawing program in my book.
000
Tim Wiederhake @twiederh.bsky.social · 05/10/2025
Once upon a time I opened a ticket in the #debian bug tracker. Eleven years later, there was a response: It was tagged "moreinfo" 🙄
030
Tim Wiederhake @twiederh.bsky.social · 19/09/2025
Note to self: When using #podman, remember to install fuse-overlayfs, `podman info --debug | grep graphDriverName` should say "overlay", not "vfs". Container startup time went from 2:10 minutes to 0.7 seconds.
000
Tim Wiederhake @twiederh.bsky.social · 16/09/2025
👋
010