Software Falsehoods: you can build it cheap, fast, and good - pick twoPublished on March 8, 2025 in 10 minutes to read “You can build it cheap, fast, and good - pick two” is how the saying goes, referring to the inherent trade-offs in software development priorities. It makes intuitive sense but utterly fails in real-world applications. Two simple reasons why this correlation does not hold:
Price is its own independent quality determined entirely by the buyer’s and seller’s perception of value. As the Dan Luu article I linked to mentions - it’s fairly difficult even for experts within a given domain to accurately assess the market value of their own services (or someone else’s), hence why price discovery has to be tested continuously1. But let’s take a closer look under the covers at the price vs. quality and price vs. speed relationships. |
I write about .NET, open source software, the Microsoft ecosystem, my adventures with startups, and outer space.
So Microsoft Deleted Some of Our Packages From NuGet.org Without Notice Published on July 11, 2025 in 7 minutes to read “Software supply chain management” is one of those terms that sounds like Venture Capital-funded vendor marketing bullshit right up until it isn’t. In 2016 the npm left-pad incident taught many of us in the software industry the importance of: The fragility of depending directly on central package management systems, such as npm or nuget.org, hence why artifact proxying...
Continuous Deployment of Docker Compose Applications Using GitHub Actions Published on April 23, 2025 in 12 minutes to read Intro Over the past year or so we’ve built out a decent-sized test lab environment for Akka.NET and I’ve also personally started a small homelab environment for creating some useful services for my family’s use. Both of these networks use the same components: Tailscale for secure networking and ssh access; docker compose for running infrastructure services such as...
Signing NuGet Packages Using Azure DevOps and Workload Identity Federation Published on April 14, 2025 in 12 minutes to read Azure released a major update to some of their VM images last week and it’s caused a number of problems for me: mono support was removed from ubuntu-latest, which caused all of our FAKE v4.0 builds to no longer work for Akka.NET and several of our other mature projects; SignService, our workhorse for Authenticode signing all Petabridge NuGet packages for the past seven...