Learn how to calculate how many addresses are contained in a subnet. | Continue reading
The Encyclopædia Britannica could be reduced to the volume of a matchbox. A library of a million volumes could be compressed into one end of a desk. — Vannevar Bush, 1945In 1945, Vannevar Bush wrote an article in the Atlantic, As We May Think, that predicted some of the most sign … | Continue reading
Moore's Law is the observation that the number of transistors in the integrated circuit roughly doubles every two years. But it's becoming harder and harder for technology to follow Moore's law, with a slowdown since 2010. Experts predict that we'll stop following Moore's Law aro … | Continue reading
As a follow-up to my post on SaaS isolation patterns, I'm looking at different application-level isolation patterns – containers. There's a whole spectrum of choices, and they each come with different strengths and weaknesses. Virtualize the Hardware – Virtual Machines. The first … | Continue reading
Alternatives, common misconceptions, and architectural overviews of local Docker and Kubernetes tooling from a past maintainer. | Continue reading
With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.If the API is the documented contract exposed by an application, the API Surface Area encompasses all observab … | Continue reading
Welcome to Dependency Hell; I'll be your Virgil. | Continue reading
The total energy of an isolated system must stay constant. And for startups, software, and most other things in business, energy comes in two forms: potential and kinetic energy. Energy and work aren't foreign concepts. Energy comes from the Latin energia and the Greek ergon, mea … | Continue reading
Forget about the y-intercept; slope is the only thing that matters in the long run. | Continue reading
Four things surprised me after using GitHub Copilot for a month. | Continue reading
Unexpected developer trends in this year's Stack Overflow Survey. | Continue reading
Every programmer finds themselves yak shaving from time to time.. Yak shaving is programmer slang for just how far you've deviated from your original task. It's the distractions that lead us down a rabbit hole of semi-related tasks until we find ourselves doing something complete … | Continue reading
It's never been cheaper or more expensive to start a company. Startups have never been cheaper to start. Cloud infrastructure providers offer generous free tiers and startup credits that usually cover your first years. Usage-based pricing lets costs scale with size. For every ma … | Continue reading
Why being right isn't always enough. | Continue reading
Tips that you can use today to bring on more contributors, more users, and to develop a more vibrant community for your open-source project. | Continue reading
Unexpected developer trends in this year's Stack Overflow Survey. | Continue reading
Practical tips that you can use today to bring on more contributors, more users, and to develop a more vibrant community for your open-source project. | Continue reading
How many seconds can your service be down and still be up 99.99999% of the time? | Continue reading
Applying theoretical options pricing models to real world decision-making. | Continue reading
Silence Dogood was a middle-aged woman in 18th century America who was the widow of a minister and wrote about everything from the Massachusetts public school system to love and courtship. She published fourteen essays in James Franklin's newspaper, the New-England Courant. Excep … | Continue reading
31 reflections from 10,000 hours of deliberate programming practice. | Continue reading
There are only two ways to make money in business: bundling and unbundling — Jim Clarke, CEO of Netscape. There are only three ways to make money in business: bundling, unbundling, and writing about bundling and unbundling — Lenny Rachitsky, author of one of the most popular paid … | Continue reading
Programming paradigms are changing – and most software developers hate it. Why? Jupyter notebooks are an open-source tool that data scientists use for everything from cleaning or visualizing data to training machine learning models. Notebooks usually run languages like Python but … | Continue reading
The Future of Work is a distributed system. I was in graduate school at the beginning of COVID, so I spent a lot of time on Zoom and with new multiplayer collaboration software (at Stanford, it's hard not to be an early adopter). | Continue reading
Grokking the word grok. An extraterrestrial word that's embedded in computer subculture. | Continue reading
A prediction that all developer platforms and infrastructure platforms will converge to Kubernetes. | Continue reading
Why we overvalue things that we create, and the effects on software development. | Continue reading
The Dow Jones Industrial Average turned 125 years old this year. Why it's a lousy index. | Continue reading
Is a ship that has had all its parts replaced still the same ship? | Continue reading
What do you do when an incumbent enters your market? Run a full-page ad. | Continue reading
Cianain* has 100 lbs of potatoes, which consist of 99% water**. He then leaves them outside overnight so that they consist of 98% water. So what is their new weight? Hint: The answer isn't 98 lbs. | Continue reading
Why most people quit when doing creative work. | Continue reading
Why does enterprise software seem to last forever? Why do companies like SAP have high retention but terrible customer satisfaction? Part of the answer is switching costs. | Continue reading
MicroSaaS is a new category of SaaS startups that target the long-tail of niche use-cases and are usually ran by one or a few founders. Their small markets and growth rates make them rarely venture fundable, but founders can often bootstrap $200k+ ARR businesses. | Continue reading
At Google, I helped develop an open-source MLOps platform built on Kubernetes called Kubeflow. Many companies found the abstractions helpful, but I thought deeply on whether MLOps would diverge into a separate toolchain or DevOps tooling would converge to cover machine learning u … | Continue reading
Lindy used to be a deli (albeit not a great one) in New York City on 53rd and 7th, where comedians and theater folks used to hang out. They observed that Broadway shows that lasted at least 100 days had a future life expectancy of 100 more days. Those that | Continue reading
Hackers and painters aren't so different, Paul Graham would say. And much like art, software engineering has gone through movements as well. Web 1.0 (1996~2004) was about static and synchronous content. The Document Object Model (DOM) and its predecessors allowed developers to t … | Continue reading
Many creators are reaching or surpassing their previous salaries at high-paying tech jobs. But one creator type is going unserved. | Continue reading
Abraham Lincoln did the unimaginable and built his cabinet with his fiercest competitors. | Continue reading
6 problem-solving heuristics to use in everyday engineering and startup problems | Continue reading
The last era of startups might have been defined by a single web framework, Ruby on Rails. Companies that were started with Rails: BasecampShopify (2006)Slideshare (2006)Crunchbase (2007)Netflix (2007)Zendesk (2007)Hulu (2007)Airbnb (2008)Groupon (2008)Kickstarter (2009)Dribbble … | Continue reading
The developer economy plays by different rules. Productivity and allocation of resources work differently in the developer economy, sometimes working in the exact opposite direction as you'd expect. Developer productivity is extremely sensitive to inputs. Most systems have the op … | Continue reading
I think that usage-based pricing is just another go-to-market strategy. It's about getting to your customers and making it as easy as possible for them to try out your product. Usage lowers the barrier by letting customers integrate with a level of commitment they feel comfortabl … | Continue reading
You would expect otherwise. An API is a stationary target - stability is a key value driver. It has well-defined inputs and outputs (which are not IP according to the Supreme Court). In theory, this makes it an easy target for competitors to offer a drop in replacement. Yet, com … | Continue reading
In this blog post, I'll show you how to write your own Dockerfile syntax that works out of the box with any existing Docker installation. | Continue reading
What if I told you that you didn't have to rebuild your docker images every time you made a change? I'm happy to share with you a feature I added in the last release of skaffold that instantly syncs files to your running containers without any changes to your deployments | Continue reading
The Heptagon of Configuration is a pattern observed in software configuration, where configuration evolves through specific, increasing levels of flexibility and complexity, before returning the restrictive and simple implementation. | Continue reading