RSS Amplifier

Blog

Katie Keller

Katie Keller's personal blog and site where they write about projects they are working on or random thoughts.

bugwhisperer.devRSS feed ↗33 posts

Latest posts

It gets better: A letter to my younger self

Dearest Little One, I know you’ve been having a rough time. We’re dealing with the grief of it all as well here and now. Just wanted to take the time to reach out and let you know how proud we are of you. You’ve survived and adapted to the world you found yourself in, with no say on your part. It was a world that frequently didn’t make sense, that was too loud, too harsh, too much. It was filled…

Why I Write

" All that you touch You Change. All that you Change Changes you." ~ Octavia E. Butler I have not written on this blog for many months now. Just couldn’t bring myself to do it. I could sit here and list off a bunch of excuses as to why, but I shan’t waste our time with that drivel. Long story short, I was feeling lost and scared to put words on paper. I was unsure if anything I had to say was…

Compiling and Flashing ESP32 on a musl libc OS

" Hardware: where the people in your company's software section will tell you the problem is. Software: where the people in your company's hardware section will tell you the problem is." ~ Dave Barry Arriving back in the evening after a long, but amazing day, up in NYC, at the Recurse Center seeing familiar faces and meeting new ones, there I saw waiting for me on the porch was the…

Yapping Beats Typing: Building a Local AI Speech-to-Text Solution for Wayland Linux

" If a machine can think, it might think more intelligently than we do, and then where should we be?" ~ Alan Turing I have a dark secret to confess. I never learned to touch type properly despite computer classes in grade school requiring it and a long career working with magic boxes computers. My fingers just can’t seem to work with the keyboard in the “proper” home row way of typing. I have a…

Dancing With Proteins: A Foray Into Molecular Dynamics Research

" What I cannot create, I do not understand." ~ Richard Feynman In my last post , I talked about what molecular dynamics (MD) is and why it’s such a powerful tool for studying biological systems. Now I want to share the actual research project I’ve been working on for the past few months! Spoiler alert: It’s been a journey of false starts, frustrations, joys, careful literature and data reading,…

Exploring the World of Molecular Dynamics

Joseph Campbell talks about “following your bliss” and heeding the hero’s call to adventure. It sounds quite grandiose, but it’s really just about listening to what genuinely interests you, using your volitional muscles and having the courage to pursue it if you have the means to do so (or after figuring out how to make it work). After years building software and web applications for everything…

Need for Simpler Systems

" If we don't change, we don't grow. If we don't grow, we aren't really living." ~ Gail Sheehy After more than a year of using Fedora, I decided to switch back to Void Linux . This was all despite of my bold proclamations against doing just that not so long ago. Why?

Heeding My Volitional Muscles

" If I wait for someone else to validate my existence, it will mean that I’m shortchanging myself." ~ Zanele Muholi Biology (and science in general) has always fascinated me since I was young. I was the annoying kid always asking “Why?” something was the way it was, digging deeper until usually it ended with a “Because that’s just how it is,”. What started as a love for space and all the cool…

Better Searching of Notes and Logs with Fern

⚠️ This post refers to an old, discontinued version of Fern! The active TUI project now lives on Codeberg: https:&#x2F;&#x2F;codeberg.org&#x2F;InodeLabs&#x2F;fern There’s been a lot of changes happening for Fern, the notetaking CLI app, since I wrote about it last ! Most notably with v0.2.0, is the new, global search command fern find "<search term>" . Designed for when you have no freakin’ clue…

Grappling with TTY

Even though I’ve used Linux for a long time, it’s always been largely from the comfort (confines?) of a graphical environment or from a tiling window manager. Ending up in TTY was an accident reserved for when I pushed the wrong keyboard shortcut. It was something that invoked panic, fear. A “Get me out of here,” response. Over the past day, as part of the week of retro-computing and…

Old Computer Challenge 2025 Kickoff

" One is most nearly themself when they achieve the seriousness of a child at play." ~ Heraclitus (edits are my own) I discovered a very cool idea called the Old Computer Challenge just last week! It started in 2021 and runs for a week each year with some theme. It is a chance for folx to try new ways of approaching computing and to work with old&#x2F;limited hardware and technology. There’s an…

Fern: NeoVim Plugin and Tree-Sitter Parser

⚠️ This post refers to an old, discontinued version of Fern! The active TUI project now lives on Codeberg: https:&#x2F;&#x2F;codeberg.org&#x2F;InodeLabs&#x2F;fern I know what you’re probably thinking, “Another post on Fern?! Aish…clearly this blogger is just simping for internet points and milking their tool’s latest release,”. Not true! While I wouldn’t mind some internet points 😸, this post is…

Fern CLI (v0.1.3) Release Notes

⚠️ This post refers to an old, discontinued version of Fern! The active TUI project now lives on Codeberg: https:&#x2F;&#x2F;codeberg.org&#x2F;InodeLabs&#x2F;fern I’m super excited to announce some big changes to Fern the lightweight CLI tool that I wrote earlier this year to help manage my notes and journalling. After using the script nearly every day for months now, I found some things I loved…

Recurse Center: Return Statement

There is a tradition wherein Recurse Center (RC) alumni write what is called a “Return Statement” to capture their thoughts and feelings on their time in batch at RC. I’ve been struggling to write this, partially because my thoughts are a bit scattered and the feels are all over the place of late. So with a strong coffee at hand and a rainy afternoon we’ll finally take a stab at it. Over 12 weeks,…

Setup Fingerprint Reader Login With Wayland swaylock

My laptop came with a fingerprint reader for logging into its original Windows OS. I installed Linux on it 10 minutes after getting home from the store and proceeded to forget about the fingerprint reader for the next 5 years. Then one night while bored, I happened to glance at the reader and decided to see if it would work on Linux (Fedora in my case). It turns out that it did and that was pretty…

Escaping Enshittification: We&#x27;re All Digital Migrants

Layer 0: A Splinter in the Mind Sometimes the most profound journeys begin not with excitement, but with unease. It wasn’t a single moment that pushed me away from the Google ecosystem. Rather, a growing discomfort had been creeping in, building up. It was the targeted ads that seemed to know too much, the dark-patterns becoming the norm, the shift towards an opt-out vs opt-in setup. It was the…

Hosting A Static Site On Bunny.net

I have been looking around for a new place to host this website for a while now. Bunny.Net is a European cloud service provider based in Slovenia that offers CDN services, storage solutions, and serverless functions at competitive prices. After exploring several options, I found it to be the perfect solution for my needs. Initially, I was mostly happy with SourceHut’s pages hosting service .…

Function Prologues and Epilogues in Assembly & C

If you’ve ever delved into low-level programming or Assembly language, you’ve likely encountered function prologues and epilogues. These are fundamental constructs that ensure function calls are properly managed within the stack and register-based architecture of modern computing. They are added to the beginning and end of all function calls be default on most modern compilers. Here, we’ll be…

Exploring the Gemini Protocol

What is Gemini? Not the Google AI thing! Gemini is a protocol that supports a world-wide web, much like HTTP&#x2F;S that we all use today. Gemini sites, or “Capsules” as they are officially called, use gemini:&#x2F;&#x2F; as the prefix. It’s the descendant of an even older protocol called Golpher. All of these protocols were created to support different aspects of web browsing and features sets…

Connecting Hearing Aids to Linux via Bluetooth

" Debugging becomes significantly easier if you first admit that you are the problem," ~ William Laeder I recently wanted to connect my hearing aids to my laptop to watch a movie. Based on everything I could find online and from the Hearing Aid manufacturer directly, I had to purchase a second device that would act as an intermediary to the laptop, TV, etc. That seemed odd, as I’d always used them…

First Week at Recurse Center

" Don’t give up on it. Just stick with it. Don’t listen to people who always tell you it is hard, and walk away from it." ~ Annie Easley It has been a whirlwind of a week for my first week at Recurse Center. The first two days were largely meet-and-greets with breakout rooms both in person and online for the folx who were remote. Everyone was so nice, and it was clear that RC had picked a group…

Recurse Center: Setting Goals

" A life spent making mistakes is not only more honorable, but more useful than a life spent doing nothing." ~ George Bernard Shaw Recurse Center (aka RC) is an opportunity to explore and dive deeper into topics in a safe and supportive environment. It’s a chance to try some things, to make a ton of mistakes, and to learn a ton as well. I’m looking forward to the excuse to focus on becoming a…

Fern - Commandline Tool for Knowledge Management

⚠️ This post refers to an old, discontinued version of Fern! The active TUI project now lives on Codeberg: https:&#x2F;&#x2F;codeberg.org&#x2F;InodeLabs&#x2F;fern Fern is a lightweight tool for managing knowledge notes from the command line. I’d grown tired of the resource-hungry GUIs like Obsidian and LogSeq. I never used most features like the knowledge graph, whiteboards, or plugins. The fact…

A Year of CS Studying in Review

I always find the transition from one year to another hard. To me, it feels like mourning the loss of the old year while facing down an unnerving blank canvas of the new year. But wow! What a year it has been! Just a little over a year ago, I scribbled down in my notebook, “Learn more CS fundamentals? Rust projects, maybe C?”. I thought little of it. I’m prone to writing ideas down, where they…

Sane dotfile management with GNU stow

I have always struggled to figure out how to efficiently deal with dotfiles for my operating system when it came to managing multiple machines&#x2F;servers. There was a set of dotfiles that, if easily and reliably available across all my machines, would make setting up a new machine way easier. For an individual machine, there would be differences that shouldn’t be shared though. There’s seemingly…

Fixing Memory Leaks in C with Valgrind

" The most dangerous phrase in the language is, &#x27;We’ve always done it this way&#x27;." ~ Grace Hopper Memory leaks are a sneaky class of bugs that come about when memory is allocated for something and not reclaimed. It is hard to detect because, at a glance, your program could run just fine. No logic bugs or more critical segmentation fault type of bugs occuring that clearly crash the program…

Hallo Wurld: A RISC-V Assembly Program Walkthrough

I thought it might be useful exercise, both for readers and for myself, if I walked through a simple RISC-V Assembly program and broke down what was going on and how it all worked. The objective of this program is to print out 10 nice compliments to the user, keeping track of how many compliments we’ve said. Let’s go! The Code Here’s the full code upfront: SourceHut gist Don’t worry if it seems…

Assembly: A bridge to understanding CS topics

" People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird." ~ Donald Knuth I’ll admit, all this low-level stuff was pretty daunting as a self-taught web developer trying to dig into the CS fundamentals. You’ve got bits, bytes, physical memory, virtual memory, I&#x2F;O…

Study Updates: 2024 Q2 Edition

Quarter 2 of my self-study journey was a bit of a mixed bag, involving a few course corrections and minor detours. Juggling personal issues, work stressors, and even some unanticipated travel made it hard to find time to study. Life does not always go according to our plans, no matter how meticulously laid out they might have been. Just try to adapt and stay on track as best as you can. Plans?…

End of My OS Hopping Days?

" The Linux philosophy is &#x27;Laugh in the face of danger&#x27;. Oops. Wrong one. &#x27;Do it yourself&#x27;. That&#x27;s it." ~ Linus Torvalds We interrupt the serious matter of studying CS fundamentals and brain expanding with an important update. I have spent an uncomfortably large, amount of time the past week or so trying to find a sweet spot to fix my daily driver OS needs, performance,…

Diving Into C Lang

" Sometimes it pays to stay in bed on Monday rather than spending the rest of the week debugging Monday’s code." ~ Dan Salomon After spending the last quarter getting into the C language and building a few little projects with it, I thought it’d be good to capture my initial thoughts with learning and using it. This was a great use of time overall! I can more confidently look over C projects and…

Backstory: Part 2 - Year(ish) of CS

" It generally feels better to run toward something than to run away from something. Focus on what is pulling you in, not what you’re trying to avoid." ~ James Clear If you read Part 1 of my Backstory, you’ll know that I was totally burned out and managed to slowly pull myself out. What I was left with was the looming question of “What’s next?”. I was determined to try and focus on getting back to…

Backstory: Part 1 - Burned Out AF

" Turn me over, I&#x27;m done on this side" ~ Saint Lawrence We know the look. The dead eyes that were once bright. Clocking an ungodly amount of hours at work, they can gripe endlessly about the job, but never seem to make the changes needed to start a new path. You watch them go to work, pounding down increasing amounts of coffee to “boot up” again after an evening unwinding with a steadily…