RSSAmplifier

Blog

Major Hayden

Recent content on Major Hayden

major.ioRSS feed ↗25 posts

Latest posts

Switch OpenCode model presets based on directory

I’ve tried lots of coding agents, such as Claude Code, Codex, Pi and OpenCode, but I keep coming back to OpenCode. The flexible configuration, keyboard shortcuts, and visual presentation in a terminal really appeal to me. However, I run into situations where certain sets of models and agents make sense in one software project but not another. By combining oh-my-opencode-slim with direnv ,…

Mount virtual media on Supermicro IPMI with less java

It’s been a while since I rented a dedicated server for my own personal infrastructure, but with the prices I’ve seen lately on cloud and virtual infrastructure, getting my own server seemed like a better detal. I prefer to do my own custom installation of Fedora Linux on my servers and this meant another deep dive into the world of Supermicro’s IPMI interface, horribly old…

Talking about impostor syndrome on the GR-OSS OUT Podcast

When my good friend Jay Faulkner asked me to hop on the GR-OSS OUT Podcast to talk about imposter syndrome, I jumped at the chance. I haven’t talked much about it since 2015 when I spoke at Fedora Flock in Rochester, but it’s been on my mind lately, especially with the advances in AI and automation. Thanks for the opportunity, Jay! 👏 If you’re in a hurry, watch the full episode…

Using Anthropic's models via Vertex AI in opencode

We use Vertex AI at work for accessing Anthropic’s models and the opencode setup is quite smooth! Although getting your authentication credentials from Google can be a little tricky, using them with opencode involves setting a few environment variables. Setting up Vertex AI Before you point opencode at Vertex AI, you need a few things on the GCP side. Prerequisites A GCP project with the…

Coding love for Porkbun

Porkbun does exactly what I need and nothing more. I came to them a few years ago with domains scattered across a few different registrars that were quickly becoming too difficult to manage. Their site has minimal upselling, quick renewals, and self-servicing your domains is easy. 🐷 I’m always on the hunt for ways to automate all of my infrastructure, so I set out to build some Porkbun…

Thoughts on "Poor Charlie's Almanac"

I recently finished reading Poor Charlie’s Almanac , a collection of speeches and writings from Charlie Munger , Warren Buffett’s long-time business partner at Berkshire Hathaway. Munger passed away in November 2023 at the age of 99, just weeks before his 100th birthday. The book consists of many of Munger’s speeches over the years, most of which were delivered at graduation…

Blank lock screen in Hyprland

I moved over to Hyprland as my primary desktop environment several months ago after wrestling with some other Wayland desktop environments. It does plenty of things well and finally allowed me to do screen sharing during meetings without much hassle. A couple of small utilities, hyperidle and hyprlock , handle idle time and locking the screen when I step away from my desk. However, I kept coming…

Becomingly differently social

Social media caught my attention in early 2008. A coworker finally convinced me to create a Twitter account and I had no idea what it was. Over the years, I found various types of social media useful for different purposes. Learning. Connecting. Sharing. It felt like being connected to the world in a way I never had before. What changed? You probably know about all of the changes that happened…

Fun with docling

My team at work does lots of work with retrieval-augmented generation, or RAG, and parsing documents is really painful. It’s so painful that I recently delivered a talk on this very topic at DevConf.US 2025 ! Another one of the talks at DevConf.US this year was about docling . We’ve been using it on our team for a while and we really enjoy how it takes challenging documents in various…

Getting podman quadlets talking to each other

Quadlets are a handy way to manage containers using systemd unit files. Containers running via quadlets have access to the external network by default, but they don’t automatically communicate with each other like they do in a docker-compose setup. Adding networking only requires a few extra steps. Setting up some quadlets I often need a postgres server laying around on my local machine for…

Monitor system and GPU performance with Performance Co-Pilot

I’ve used so many performance monitoring tools and systems over the years. When you need to know information right now, tools like btop and glances are great for quick overviews. Historical data is fairly easy to pick through with sysstat . However, when you want a comprehensive view of system performance over time, especially with GPU metrics for machine learning workloads, Performance…

Summarize YouTube videos with Fabric

I watch plenty of YouTube videos with instructional content. Some are related to my work while many others involve my hobbies, such as ham radio and financial markets. Lots of them have really useful information in them, but I struggle with taking notes while I’m watching. It turns out there’s a tool for that! During some face to face work meetings last week, a coworker showed off…

RAG talk recap from DevConf.US 2025

Hello from DevConf.US in Boston, Massachusetts! I presented yesterday about the challenges of developing systems for retrieval-augmented generation (RAG) with large language models (LLMs). If you’ve been reading tech blogs lately, or the r/rag subreddit , you might think that implementing RAG is as simple as tossing documents into a database and watching the magic happen. (Spoiler alert:…

Automatic container updates with Podman quadlets

Running containers at home or in production often means juggling updates across multiple services. While orchestration platforms like Kubernetes handle this automatically, what about those simple deployments on a single host? Podman’s quadlet system integrates containers directly with systemd, and when combined with automatic updates, you get a robust solution that keeps your containers…

Date driven development

Scrum, kanban, and waterfall seem familiar to most of us who work in software development, but date driven development is a complicated beast. These are situations where something must be completed by a certain date that cannot be moved. For some teams, this could be a product launch at a big company event. An executive might need to present something to investors or analysts. The team might need…

Scrum, sprints, and outcomes

Most software developers have come across agile software methodologies such as Scrum . At its core, Scrum’s goal is to help teams deliver software in smaller chunks over a set period of time, called a sprint. Teams should be able to work better together, deliver more frequently, and adapt to changes more easily. However, Scrum often becomes a theater of activity – story points,…

Vibe-free coding with AI

The internet has been in quite a ruckus about vibe coding recently. Heck, there’s already a Wikipedia page about it! It must be real if it has a Wikipedia page! 😆 Long story short, vibe coding involves asking a large language model (LLM), the foundation of an AI platform, to write code for you. LLMs are actually quite good at writing code. It turns out that they’re often terrible at…

Don't tell me RAG is easy

Blog posts have been moving slowly here lately and much of that is due to work demands since the end of 2024. I’ve been working on an AI-related product with a talented team of people and we learned plenty of lessons about retrieval-augmented generation, or RAG. This post covers the basics of RAG, some assumptions I made, and what I’ve learned. What is RAG? Large language models, or…

Viewing Xorg logs with journalctl in Fedora

I love being an early adopter and trudging off into the unknown. After all, that’s one of the best ways to learn new things and you end up improving the experience for everyone who comes behind you. However, things can get a little frustrating from time to time especially when your daily work dictates that your desktop works really well. 😉 Sway has been my desktop of choice for a few years…

Repairing 4Runner skid plate bolts

I replaced my old Toyota 4Runner with a new one so I could snag the last run of the 5th generation. It’s a tough, reliable vehicle with just enough space for my family and our pets. However, this new one came with the same problem as my old one. All of the bolts that hold in the front skid plate were mostly stripped. Getting them out was difficult and I knew getting them back in would be…

Spell check in multiple languages with Firefox

Bienvenidos! 1 I’ve been learning Spanish for just over a year and I often type messages in either Spanish or English (my native language) with coworkers and friends. Just like most people, I make spelling mistakes in both languages. 🙃 Firefox offers a feature for multi-language spell checking and translations but it can be a bit challenging to set up. This post explains how to load…

My meeting hacks

Ask anyone about the toughest part of their workday and it usually comes down to one thing: meetings. There are plenty of reasons: The meeting could have been an email Nobody notices when I attend the meeting, but they notice when I don’t The meeting is recurring whether there’s something important to talk about or not There’s no time for questions after everyone presents in a…

Rub some AI on it

Author’s note: This post is all about my personal thoughts on artificial intelligence (AI) and they don’t represent the views of any employer or group. You can’t escape the clutches of AI lately. It’s in my smartphone nestled next to my text messages. It’s in my work chats . It’s reading my Spanish in Duolingo. It’s in my photo albums retouching my images…

AMD GPU missing from btop

I recently built a new PC for my birthday and I splurged a bit with a new AMD Radeon 7900 XTX GPU. Although I’m not a heavy gamer, I’m working with LLMs more often and I’m interested to do some of this work at home. btop is my go-to tracker for all kinds of data about my system, including CPU usage, memory usage, disk I/O, and network throughput. It’s a great way to track…

Running ollama with an AMD Radeon 6600 XT

I’m splitting time between two roles at work now and one of the roles has a heavy focus on LLMs . Much like many of you, I’ve given ChatGPT a try with questions from time to time. I’ve also used GitHub Copilot within Visual Studio Code. They’re all great, but I was really hoping to run something locally on my machine at home. Then I stumbled upon a great post on All Things…