After that he began waking up in the morning with a transparent jelly like a tadpole’s tail all over his mouth. This jelly was what the scientists call un-D.T., Undifferentiated Tissue, which can grow into any kind of flesh on the human body. He would tear it off his mouth and the pieces would stick to his hands like burning gasoline jelly and grow there, grow anywhere on him a glob of it fell.…
Note: I wrote this blog post for work . Just cross posting here for my own records. When we first started building RAG systems with early models, context windows were tiny (like 8k) and it took some engineering cleverness just to figure out how to process single files effectively. Now context windows are much, much larger, in the hundreds of thousands to millions of tokens range, but our systems…
The other day, a recent post here made it to the front page of Hacker News : I don’t know if that still counts as a huge amount of traffic, but there was definitely a spike: (All the graphs in here are over the same 24 hour period). I thought it might be interesting to show how the site, built on Elixir and the Phoenix web framework with basically zero attention paid to caching, scaling, or…
The conversion happened a while ago, but I haven’t gotten around to mentioning it until now. This site is now running on a backend written in Elixir and the Phoenix web framework. Before I share my thoughts on that, I need to mention a bit of history. This site started out more than 20 years ago, running on a Linux box in my dorm room. In the late 90’s I had a personal blog (statically generated…
Multiple times over my career, I’ve ended up writing a post similar to this on various internal blogs/wikis. I was about to write one yet again, so this time I thought I’d share it up here for a wider audience and maybe avoid having to rewrite this again in the future. My first caveat is that this is all just my opinions. Take them for what they’re worth, which probably isn’t much. They are formed…
Reddit seems to be circling the drain right now so I’ve been going through my comment history there and archiving the ones that seem worth preserving. This one in particular has (IMHO) a decent explanation of some concepts around impedance matching applied to guitars, guitar pedals, and amplifiers that I haven’t seen summarized like this elsewhere, so I thought I’d post it here to make it easier…
Note: This is not an original idea from me. I definitely learned this term and concept from some book or blog post many years ago. I've been unable to find the original though, so I've written this up so I can reference it. Automation is a major part of programming. Fundamentally, there’s nothing that a computer does that we couldn’t do manually given enough time. It’s just that computers can…
I thought I’d share my “simple” recipe for building reliable applications. Of course “simple” doesn’t mean “easy”, but I think this is the core philosophy behind how I approach developing reliable software. Here is the process: A developer writes some code to make one improvement to the application. That developer deploys that code to production. That developer observes that new code in production…
I have a couple old related blog posts here: Continuously Deploying Django with Docker (2015) and Continuously Deploying Django with GitHub Actions (2019). They describe my approach (at the time) to deploying Django apps on a simple cluster of servers, achieving continuous deployment with zero downtime and some basic failover and scalability capabilities. At the end of the first one, I say:…
One of my favorite all-purpose engineering tools (maybe it’s more accurate to call it a “technique”, but I’m going to stick with “tool” here) is the ratchet. In my career, I’ve had the benefit of some very long tenures at different organizations. I and teams I’ve worked on have launched new greenfield projects, I’ve maintained some codebases for more than a decade, I’ve done big bang rewrites and…