How to make the Home Assistant app sync properly under iOS

While I’m strongly rooted in the Android camp, my partner has an iPhone, and on what seems to be every iOS update, the Home Assistant app installed on his phone stops syncing in the background. That wouldn’t be so bad if a lot of the home automations didn’t factor in presence status which gets synced through that, so this has been a source of minor annoyance whenever his status refused to mirror his presence or absence. It just happened again and because every single time now we’ve had to try to remember how to fix it, here’s a quick TIL to encourage my memory 😅 ...

April 30, 2023 · 1 min

How to add Battle.net games to the Steamdeck

Update 2023-06-07: It turns out that these days, the by far easiest way to get Battle.net on the SteamDeck is using NonSteamLaunchers-On-Steam-Deck, as I recently saw on Gaming On Linux. I haven’t gotten a chance to try this myself yet, but it certainly looks very much straight forward, albeit not featuring individual game entries in Steam. For your quick Diablo fix, it should hopefully be just fine though. Battle.net is currently having a spring sale and I’ve been eyeing Diablo II: Resurrected for a while now, so I jumped on the chance (and while at it also got StarCraft Remastered). But given that these days I primarily game on the Steamdeck, I needed to find a way to install Battle.net on my deck and also install individual launchers for the games. ...

April 15, 2023 · Updated June 7, 2023 · 3 min

How to use Obsidian's Dataview plugin to visualize frontmatter

For every OctoPrint release I run through several update tests: I flash a specific OctoPi version, push it to a specific OctoPrint version, configure the release channel, then see if updating to the newest release (candidate) works fine. I use my testrig and its automation scripts for that and usually go through something between 5 and 10 separate scenarios. So far all of these scenarios were noted down as a Markdown table in my release checklist that these days I prepare in my Obsidian vault, including manually adjusting the testrig commands to match the scenario. Having to take care of the latter is something that has been annoying for a long time now, and during the preparation for yesterday’s release candidate I decided enough is enough and looked into improving my tooling a bit. In the end, I used Obsidian’s quite amazing Dataview plugin to query the information about the planned test scenarios from the checklist’s frontmatter, build the testrig command from that, then render all of this as a table, complete with some checkboxes for state logging during the tests and a copy button for the command. ...

April 14, 2023 · 4 min

How to override the EDID data of a monitor under Linux

I’m slowly but surely fixing all the issues I had after switching back to Linux as my main OS, so here’s another TIL 😉 My secondary monitor is a 24" DELL with a resolution of 1920x1200, so 16:10, instead of the more common 1080p and 16:9. In order to be able to connect all my three monitors to my laptop, I make use of both the laptop’s HDMI port as well as a USB-C dock that has 2 HDMI ports. The 4k main display is connected directly to the laptop’s HDMI port, secondary and tertiary display are connected to the dock. ...

April 11, 2023 · 3 min

How to reduce the titlebar size of Gnome 43

A few weeks ago I switched back to Linux as my primary OS, on a newly acquired refurbished Framework Laptop 11, and one thing that’s since been bothering me on my chosen desktop environment Gnome1 has been the HUGE titlebars: So I finally dug into solving this quickly, and came across this post on Reddit with a quite nice solution. I modified ~/.config/gtk-3.0/gtk.css and added the following contents: ...

April 11, 2023 · 1 min

How to create an animated tile in Godot 4's tilemaps

Over the past four days I’ve been doing a personal crash course on game development together with my partner1, ending up in building a small platformer in two days. We decided to use Godot Engine, as I had been circling it for a while now 2, and it turned out this decision was good because it was been a quite amazing experience, even for a total gamedev beginner like me 👍 What cost me a bunch of time however is trying to figure out how to create an animated tile in a tilemap, which I finally figured out yesterday, and so I’m writing it down here for future me and everyone else wondering about this. ...

April 9, 2023 · 2 min

About SSH escape sequences

OpenSSH’s ssh command supports a bunch of escape sequences while a session is running, by default triggered by the ~ character. According to man ssh a list of available commands can be requested with ~?. And indeed, hitting ~? within an open SSH session prints some helpful information: $ ~? Supported escape sequences: ~. - terminate connection (and any multiplexed sessions) ~B - send a BREAK to the remote system ~C - open a command line ~R - request rekey ~V/v - decrease/increase verbosity (LogLevel) ~^Z - suspend ssh ~# - list forwarded connections ~& - background ssh (when waiting for connections to terminate) ~? - this message ~~ - send the escape character by typing it twice (Note that escapes are only recognized immediately after newline.) I most commonly require ~. to disconnect from a broken SSH session (e.g. something I still had open on my laptop when I sent it to sleep). ...

March 22, 2023 · 2 min

How to add an audio delay for video conferencing on Linux/Pulseaudio

After recently switching to work under Linux, I needed a way to replicate my existing solution for delaying audio under Windows under Linux/Pulseaudio. To once again explain my situation, I use OBS also for video conferencing, through the virtual camera1. OBS does not offer a built-in way to provide a virtual microphone with all the filters and such applied as well (in my case noise reduction and a limiter), so I need to solve this in a separate way. Additionally, my camera setup has a small delay of around 350ms that I also need to compensate by delaying my audio. ...

March 11, 2023 · 2 min

How to remap keys under Linux and Wayland

Edit 2024-09-09: Please be advised that this post refers to an older version of keyd that still used a different configuration format. An older version also stated the config file was stored at ~/.config/keyd, that was an error on my part. Thanks to a reader for the related heads-up! As a German living in Germany with umlauts in my last name and a US ANSI keyboard layout on all my devices1 I need to remap some stuff to be able to easily type ä, ö, ü and ß. On Windows I solved this with Autohotkey, mapping AltGr+a to ä, AltGr+o to ö, AltGr+u to ü and AltGr+s to ß (well, technically RAlt - the right Alt key). That has burned itself into my muscle memory now, and so while currently setting up my new Framework laptop under Linux, with Gnome running on Wayland, I was looking for a way to remap the keys to this layout as well. ...

March 3, 2023 · Updated September 9, 2024 · 6 min

How to make dnf default to yes

I’m currently in the process of setting up my new Frame.work laptop, and since I’ve been using Debian-derivatives for the past two decades now, I decided to use the opportunity, try something new for once and installed Fedora1. Something that got annoying quickly is that the package manager command dnf defaults to “no” when asking if you really want to install a package plus its dependencies. I’m very used to apt’s behaviour here that allows me to type sudo apt install <package> and then just hit Enter on the sanity check. I wanted the same for dnf, but without bypassing the sanity check altogether. I did some digging together with my buddy Ben and we found the answer. ...

March 2, 2023 · 1 min
Mastodon Alt