Ivan FedyuninSenior backend engineer
Menu

Side projects.

A few tools and experiments I've built over the years.

codex-limits

A little terminal tool I made to see how much Codex allowance is left. It prints a snapshot or a live four-hour chart, and keeps recent readings across restarts. Written in Go, using the existing Codex login.

codex-limits terminal chart showing remaining quota over four hours with synthetic demo data.
Live chart with synthetic demo data. Full size

lsend

A command-line tool for sending files and text to LocalSend devices. It uses the official LocalSend Rust core. Getting it to talk to real clients turned into a useful debugging story, which I wrote about.

Listenomics

Charts for Last.fm listening history. See which artists you keep coming back to, when you found new music, and how your listening changes over time. Built with Go and SQLite.

Listenomics showing unmanbearpig's Last.fm listening statistics and listening history chart.
My Last.fm charts, September 2026. Full size

KeyFortress

ChatGPT kept grabbing Ctrl-K, so I made a Firefox extension to stop it. You choose which keyboard shortcuts to block on each website. The browser gets to keep its shortcuts.

KeyFortress preferences in Firefox, with Quick Add Presets for website shortcuts and Export, Import and Reset controls.
The extension's configuration screen. Full size

unmenu

A keyboard-driven macOS launcher. I forked dmenu-mac, fixed hotkey handling, added a Rust fuzzy matcher to the Swift app, and made it configurable so it could launch scripts and aliases too.

unmenu's single-row launcher, with Xcode selected among applications matching the typed letter x.
Matching applications as I type. Full size

Overclocking a mouse

I patched the Linux kernel to change a mouse's polling rate, then checked what actually happened. The little Rust tool I wrote, hid_rate, measures how often input events arrive. I wrote up the experiment on my blog.

Blinky from scratch

An educational bare-metal Rust project from my pre-AI era, built in 2021. It blinks an STM32F103 Blue Pill LED with my own reset handler, linker script, and direct GPIO register access, without a runtime library or third-party crates. I built it to understand the path from reset to running code.

cooler

My CPU kept getting too hot, so I wrote a Linux tool that adjusts its frequency limits based on temperature. It also backs off during long jobs to keep the fans from running flat out. An old Rust experiment.

More on GitHub and my blog.