I'm a fan of simulating counterintuitive statistics. I recently did this with the Monty Hall problem and I really enjoyed how it turned out. A similarly interesting statistical puzzle is the birthday paradox: you only need to get 23 people in a room a room to end up with a 50% chance of at least one birthday match amongst the group. This can, of course, be demonstrated using math . But still I…
Everything seems to move fast these days and apparently nostalgia is no exception. I'm not an agentic coding evangelist but I'm also a realist—coding agents are really impressive and have changed the way most of us write software. Agents can help you plan, write, and ship code more efficiently and effectively if you use them correctly. But dammit, I miss the old way. I miss the ceremony of…
One of the worst aspects of tech hype is the onslaught of useless features. The current AI hype train is clearly no exception. Whenever hyped tech comes up, the tech industry seems to get collective amnesia about how to validate product and feature ideas and that UX research is a thing . Instead, we just throw everything at the wall and see what sticks. They are features for no one. I recall one…
If you were a software developer prior to 2024, you probably used Stack Overflow. It was a reliable place to find good answers to many technical questions. If you asked any questions there, you probably also know that it was a toxic hellhole—you often got criticized for not having basic knowledge or not understanding error messages. This isn't exactly a secret. In 2018, Stack Overflow published a…
I have seen a lot of cool, open source projects posted online. Helpful libraries, starter templates, frameworks. What I often don't see, however, is a plan for maintaining them. Long after the dopamine wears off from the upvotes and karma from the initial post about your project, you'll be left with a bunch of code and possibly some people now using that code in their applications. This is a…
"Ship it!" "We're agile now, baby. Move fast and break things!"" "We measure our engineers by the impact they have!" Somewhere along the way, in the midst of the agilification of software, or the software engineer salary gold rush, we forgot about craftsmanship . I have been in big tech, startups, consultancies, and even government. These are all different environments with one key similarity:…
I saw a cool version of the Monty Hall game here recently: https://monty.donk.systems . This is really cool! But I had an itch I wanted to scratch: rather than manually test out the probabilities, I wanted to run two games side-by-side: one where a switch happened and one where a switch didn't happen. Then, running those over and over, we should see the overall win percentages converge to 66.7%…
Have you ever searched for something on Google and found the first one, two, or three blog posts to be utter nonsense? That's because these blog posts have been optimized not for human consumption, but rather to entertain the search engine ranking algorithms. People have figured out the right buzzwords to include in headings, how to game backlinks, and research keywords to write up blog posts…
With the growing number of supply chain attacks in the npm ecosystem (for example, Shai-Hulud ), package managers like pnpm and yarn have added a very handy configuration option that prevents the install of new packages: minimumReleaseAge and npmMinimalAgeGate , respectively. These options allow developers to specify the minimum age of a dependency before it gets installed. For example, a…
One concern I have heard from AI naysayers is that AI slop will make code reviews nearly impossible. AI churns out so much code, documentation, etc. that it's just impossible for any reviewer to keep up with it... right? Wrong! If you have good PR review processes, then reviewing AI-assisted code shouldn't be any more onerous than reviewing any other code. Here are some concerns I have heard and…
I'm kind of writing this to "past" me, who I assume is "current" you for a number of folks out there. For the rest of you, this might just sound like ramblings of an old fogey super late to the party. Yes, AI is over-hyped. LLMs will not solve every problem under the sun but, like with any hot new tech, companies are going to say it will solve every problem out there, especially problems in the…
The older I get, the more I dislike clever code. This is not a controversial take; it is pretty-well agreed upon that clever code is bad. But I particularly like the on-call responsiblity framing: write code that you can understand when you get paged at 2am . If you have never been lucky enough to get paged a 2am, I'll paint the picture for you: A critical part of the app is down. Your phone…
Here we go again: I'm so tired of crypto web3 LLMs. I'm positive there are wonderful applications for LLMs. The ChatGPT web UI seems great for summarizing information from various online sources (as long as you're willing to verify the things that you learn). But a lot fo the "AI businesses" coming out right now are just lightweight wrappers around ChatGPT. It's lazy and unhelpful. Probably the…
I have noticed a trend in a handful of products I've worked on at big tech companies. I have friends at other big tech companies that have noticed a similar trend: The products are kind of crummy. Here are some experiences that I have often encountered: the UI is flakey and/or unintuitive there is a lot of cruft in the codebase that has never been cleaned up bugs that have "acceptable" workarounds…
Oh no, not another agile article. But at least this one isn't attempting to teach or reconcile. I'm not going to talk about the difference between agile and Agile™ nor will I try to convince you of my favorite flavor of Agile™. Instead, I'm here to assert that agile is a tainted term: it has become a hollow buzzword, stripped of all meaning and drowned in a sea of convoluted processes and…
I was just feeling pretty good—I published my article about RSS and it's being pretty well-received. I decided a fitting way to celebrate was to head on over to Feedly and catch up on some reading! I clicked on an engineers blog feed to check out here latest couple posts. I notied an ad in the middle of the feed. That's fair: I am using a free version of Feedly so it only makes sense they'd show…
I think a lot about information and information consumption. The way the Internet made information readily available is phenomenal. Sadly, the signal-to-noise ratio here is pretty low. For me, consuming RSS feeds [1] offers the best way to read the kind of high-quality information that I want with very little noise. What RSS is and how it works # RSS stands for Really Simple Syndication. Any site…
My theory is that some performance consultants got paid a lot of money one day for a single word: "impact." If you have worked in big tech, you're probably all too familiar with this word because your annual performance evaluations are based on your impact. As an employee, impact-based performance evaluation is a disaster. For companies, I think it still may end up being pretty bad. Impact? What…