2026/02/26
00:26 Hiding macOS Notch
I was trying today to hide the notch on my M4 Macbook. I tried to use topnotch.app before, it has the problem of not being open source, but moreover it does not work nicely with dynamic wallpaper or folder wallpapers (whoever there's another reason not to use it even with single wallpaper). Another app I tried was only-switch. Which didn't work as well. I gave up and decided to (ask Claude to) write (generate) a script that will add black padding to my wallpapers. Code. #Programming
02:07 Artemisia agreed to Tassi
I wonder if Artemisia Gentileschi was the one who agreed to the marraige of Tassi, and not her father:
As was typical of the time, the major issue of the trial was the fact that Tassi had violated the Gentileschi family's honor, and not the fact that he had violated Gentileschi herself. In the words of history professor Elizabeth S. Cohen: "The law gauged damage to economic and social assets rather than suffering and psychological trauma."
Overall, I didn't find her art so interesting.
05:25 An example to a bad design with multipass
I read before that Reddit does not allow users to change their usernames for a technical difficulty (or that's what they claim), they say that they've made the bad design decision of coupling usernames to their database scheme so bad. I was trying to work with mutlipass recently and found out that it does not support renaming instances, which I found strange, the issue has so much activity, anyone could have implemented that simple feature right? Well I decided I'm the one.
However, it turned to be much harder than letting users to clone and delete instances. Here's why from my comment there:
For anyone wondering why this was not implemented so far, it's actually a lot more invasive than just changing a label. I decided to have a look on the codebase and try to implement it myself. It looks like Multipass was built with the instance name acting as the primary key across the entire stack.
To safely rename an instance today, we have to atomically touch: 1. The Daemon's memory, swapping the key across 5+ different state maps while ensuring no race conditions. 2. On-disk storage i.e. renaming the actual vault/instances/<name>/ directory where the VM image lives. 3. Updating the internal JSON databases where paths are hardcoded to the old name. 4. the guest's etc/hostname is baked into the cloud-init ISO at creation time. We have to regenerate cloud_init.iso and rely on the instance picking up the new hostname on its next boot (which isn't always reliable depending on what the user has modified inside /etc/cloud).
18:42 Apple Music is buggy
The desktop app for Apple Music is so good, but also so buggy. I assume that this has to do with the fact that it's a system app, probably linked with many dynamic libraries or NSs so updating or releasing it is not as easy as the weekly spotify release. #musql
19:58 Make ef-dark from ef=themes great again
(defun salih/fix-ef-dark-modeline (&rest _)
(when (eq (car custom-enabled-themes) 'ef-dark)
(set-face-attribute 'mode-line nil
:background "#0000"
:foreground nil
:box nil
:inherit nil)
(set-face-attribute 'mode-line-inactive nil
:background "#0000"
:box nil
:inherit nil)
(set-face-attribute 'doom-modeline-bar nil
:background "#000000")
(set-face-attribute 'doom-modeline-bar-inactive nil
:background "#1a1a1a")))
(add-hook 'enable-theme-functions #'salih/fix-ef-dark-modeline)
(setq ef-themes-variable-pitch-ui t)
(setq ef-themes-variable-pitch-ui nil) ; variable pitch for UI (mode line, tabs, etc.)
(setq ef-themes-mixed-fonts t) ; mix variable + fixed pitch (great with org)
(setq ef-themes-headings
'((1 . (variable-pitch extrabold 1.4))
(2 . (variable-pitch bold 1.25))
(3 . (variable-pitch semibold 1.15))
(t . (variable-pitch 1.1))))
(salih/fix-ef-dark-modeline)No more purple modeline #Programming #Emacs
