Rich Snapp's space for exploring programming, devops, investing, and various thoughts on life. May feature technical insights, personal projects, practical tools, and strong opinions.
I just refactored my whole website into a completely new design without writing any code myself. Looks pretty good, right? Would you believe me if I told you I one-shot this whole thing in one day using my AI orchestrated workflow? No? Good, you shouldn't because I didn't. It's hard to believe given all the AI hype and hyperbole spreading on social media that entire applications are being one-shot…
If you've been paying attention to the agentic coding space lately, you've probably come across the concept of a "ralph loop." The idea, popularized by Matt Pocock and others, is straightforward: put your AI coding agent in a bash loop and let it churn through work autonomously. You write a prompt file that tells the agent how to read its state from disk (a task list, a progress file, specs), pick…
Before AI came along, my coding workflow was something like this: open up IntelliJ, checkout a branch, start coding. Sometimes I would switch between branches to review someone else's code, or maybe just to tackle a different problem for a bit. On rare occasions I would use git worktrees to checkout multiple versions of the code, usually to solve a regression. Occasionally if I needed help with…
If you're using agentic AI today, there's a good chance you're using Claude Code; and if you're using Claude Code, there's a good chance you've heard of, or maybe even used, subagents. If you're like me though, when you first heard of subagents you may have been confused about how they differ from the custom slash commands you may already be using, or if they're meant for something entirely…
The standard server rack is 19 inches wide with 1.75 inch tall rack units. This means most rack equipment you'll find readily available for purchase is standardized around this 19-inch rack size. However, most 3d printers do not have a bed size capable of printing a full 19-inch tray. Due to this limitation, you'll find most 3d printable rack trays are either designed to be modular and…
With the move towards frontend frameworks the web is becoming increasingly loaded with javascript. It used to be that you could disable javascript and have a usable web experience but for the most part that is no longer the case. In some ways it is good that we are building websites with more functionality than ever existed in the past. But it is also a double-edged sword that requires us to craft…
My Small-Form Factor Dan A4-H20 build with a 4090 has been running great, but for whatever reason it felt like it was time for an upgrade. Since I don't think I'll be buying a 5090 anytime soon (the Founders Edition would be the only choice at this size and they are in short supply) it seemed like a new CPU was the next logical step.
Back in the day body text font-size on the internet used to clock in around an average of 12-14px. Then there was a big push to bump it up to 16px. Eventually Apple essentially codified this by making an annoying feature/bug where Safari on iOS zooms if you click on an input that is less than 16px big. Since I was so often working on mobile web apps that kind of cemented my font-sizing around 16px…
This blog was created with Nuxt 2 seven years ago and served me well but in that time I have been working professionally with vanilla Javascript/Typescript, Vue, and now React. I have also been playing around with Svelte and Solid.js. Given my desire to constantly be learning and experimenting with new technologies it seemed time to use a static-site generator that would accommodate all of the…
As I said in a recent blog post I was planning on taking the CKA. I felt like it was a good way to demonstrate my kubernetes skills given that I don't have a lot of professional history with it. Well, I'm happy to say that yesterday I took my first whack at it and I passed the exam, I'm now a Certified Kubernetes Administrator! Here's a few exam prep tips for anyone interested in taking the exam.
I have had many debates on the best ways to build web applications and I have some strong opinions about it. However, some smart people have already come up with some guidelines that I think mirror my opinions pretty closely so I'm noting them here for future reference.
Unfortunately all good things must come to an end and so has my time working at Rakuten on our SSP. Our team and our product were impacted by the war in Ukraine and it seems our platform never recovered enough to prevent it from being sold to one of our customers. It sucks for us but in the end there is definitely worse things happening in the world with that war. However, it does leave me and my…
In continuing with the evolution of my small form factor PC I recently took to upgrading the GPU to an RTX 4090. Given that it was a bit challenging compared to my 3080ti both size wise as well as highlighting some issues I didn't even realized I had with the included pci-e 4.0 riser cable I thought I'd share my experience.
I've been working on a new section of the site for a bit and it's now ready to go. In the past I've received numerous requests to support offline capabilities with some of the tools I've created (specifically, the
The "small, but powerful, gaming machine" has seen a few new parts over the years but one of these parts (a new nvidia RTX 3080 ti founders edition) eventually pushed it beyond its cooling capabilities. My slim case was not well designed for handling the new flow through airflow design adopted by the newer RTX cards and any heavy usage caused the entire thing to fill with heat until eventually the…
In episode 54 of the All-In podcast, Chamath brought up the idea of initiating a spread trade within big tech stocks as a way of protecting against a market downturn. It has been three months since the episode aired and we've already had a pretty good market correction with the possibility of some more to go. So, how did the spread trade do? If you had entered the trade when the episode aired…
Lazy portfolios are a simple and safe way I've been using for some time to successfully invest in the market. The general idea is to allocate your investments into a few broad funds (usually index funds) proportionally to your desired risk profile and let them sit and grow over time. Once you've purchased your funds at your desired allocations the only action required is to occasionally rebalance…
Performance is a common topic in computing, but it is especially common in the frontend world as the latest Javascript technologies battle for the frontend throne. Some may say React has already won (and the usage numbers seem to agree) so in this blog post I wanted to talk about a piece of problematic code I'm seeing more frequently in the frontend world as Javascript syntax is evolving and…
We've all experienced frustration with the internet going down. Now imagine how frustrated you'd be if you found out that your ISP intentionally blocked your internet access for the purpose of advertising their software; and better yet, your ISP claimed that state legislators required them to do it! Well that's exactly what is happening to CenturyLink customers in Utah right now.
There are many tools you can find for unminifying javascript code. However, most of these tools just add proper formatting and call it a day. Considering many minifiers mangle local identifiers to one or two characters and reuse those identifiers frequently, this can result in some code that is still quite painful to read. I think we can do better.
Have you ever wanted a computer that is fast and powerful but also small, sleek, and sexy? Surely such a combination cannot exist! Well, prepare to feast your eyes upon this beautiful build I recently completed.
One of the most important features that a website can have is a method to effectively search its content. There's no denying that there's such an overload of information on websites these days that helping people find what they need can be a monumental task. That's where a well designed site searching functionality can swoop in to save the day and today I'm going to show you how to deploy this…
One of my goals with this new year has been to start writing more frequently, be it technical articles or just my thoughts and ramblings. I've considered Medium in the past (and still might duplicate some of my writing there), but felt the platform just isn't quite there yet for the purpose of writing technical articles. I have read many well-written technical articles there that I felt were held…