A hardware chiptune project.
Inspired by "The hardware chiptune project" by kryo but written from scratch by myself for the PIC12F683 instead.
This was the first software of mine written 100% in an assembly language. The device itself is pretty weak and the low-end 8-bit PICs don't support random-access reading from PROGMEM (which is where song data has to be stored), so it was a fun challenge getting it to output audio at 20kHz.
A dynamic menu (like dmenu) for Windows.
I've steadily grown to dislike the start menu in Windows 10 and alternatives don't cut it for me. Since I run rofi on my laptop, I've been longing for a similar experience on my Windows desktop as well, so I created one. This enables me to script my own "start menu" which takes things like frecency into account to make the experience more comfortable. See
Minimalistic notifications (like dunst) for Windows 10.
Another thing I've disliked with Windows 10 is how the notifications work. They're bloated in every sense of the word and haven't worked correctly for me. The click-box takes up 1/3 of the screen so the notification gets in the way if you're clicking stuff that's nowhere even close to it, and they show up multiple times for no apparent reason.
This is a small visual replacement that hooks into explorer.exe and displays a more trivial notification with a few, simple, customization options.
Taskbar blocks (like i3bar/i3blocks) for Windows.
This just seemed like a cool project to me. I'm an avid i3 user whenever I'm not on Windows and this was something I had missed. Sadly, I haven't found much use for it since Windows' tray icons already do the job decently enough to not justify writing a bunch of Lua scripts that mess with the WinApi.
An application launcher using wlines as menu frontend.
Indexes the start-menu folder and PATH paths to display them in a wlines menu. The history of recently launched applications are stored for more clever ordering when used at a later time.
I was previously using a Python script for this but when used on a hotkey, the startup latency was very noticeable which motivated a rewrite it in a native language instead. Since I wanted to get more into Rust, that's what I used.