Sitemap - 2022 - Matt Rickard

2023 Predictions

Local AI: Part 2

Local AI: Part 1

Reflections on 2022 Predictions

Proebsting's Law

Turing Social: Twitter, For Bots

Christmas 2022

Shortest Time-to-Launch

Software Rewrites

Backward Compatibility

ML Developer Experience

The Architecture of Mastodon

How Did Microsoft Win Back Devs?

Vector Search

The Fall of Freenode

Docker as a DevTool Platform

AI-driven Interfaces

LAION, The Pile, and more datasets

Abstracting the Infrastructure

Lessons from Lensa

Tarpit Ideas

An Ideal CI/CD System

Elo Rating

Spam Filtering AI Content

Google Takeout and Data Portability

Stack Overflow Bans ChatGPT

Will LLMs Disrupt Google Search?

The Frontend Ouroboros

A Conversation with ChatGPT

Apple's Enemies

MacGuffin

Do Cold Starts Matter?

Sharing a Notebook

Fuzzy Databases

Human-in-the-Loop and Other AI Mistakes

Technical Posts Overview and Roundup

Schelling Point

Showing Up Every Day

The Cloud Tax Implications

Why Do Configuration Changes Cause Outages?

Excel for Developers

Will Twitter Fail?

Generative AI Value Chain

Amazon's Distributed Computing Manifesto (1998)

Windows Subsystem for Linux

Solving the Simple Case

On the Mastodon Experiment

On Launching

LLMs for Code

What is a Token? A Technical Explanation

On FTX

Information Barbell

What are Containers?

Decoy Effect

What Happens to Infra Engineers?

Generational Advantages

UGC: User-Generated Code

Mastering the Command Line

Man in the Arena

Who Pays? The Twitter Blue Check

What If Google Builds This?

Facebook's Culture Book (2012)

And Yet it Moves

Deploy Early, Deploy Often

Ethereum RPC as a Service

The Inner Dev Loop

Apple's Ad Positioning

Daily is the Product

Kubernetes Interfaces

Moat By Induction

Exploiting Protocols for Fun

AI Will Write Most Code

Cloud Repatriation or Not?

AI Scaling Laws

Richard Feynman and Narrative

SEC, Gensler, and Crypto

Defaults

Getting Stuck in the Past

Short Taxonomy of Open-Source Strategies

The Middle Squeeze

A Personal Training Corpus

Why Is NixOS Popular Again?

Where Logic Lives

On Web Clipping

Risk vs. Uncertainty

eBPF File Watching

Reentrancy Attacks

Perceptual Hashing

Free Compute and Replit

Screenshots as the Universal API

The Steffen Boarding Method

The Promise of Write Once, Run Anywhere

Why Stadia Failed

Thoughts on GitHub Actions

Simple Group Theory

Is Ethereum a Dumb Pipe?

Startup Ideas I've Considered

Hard to Compute, Simple to Verify

What's an MVP in 2022?

Infrastructure Defined Software

Tree Shaking

Rust, C++, or Carbon?

It's Just a Tarball

Standards, Protocols, and Platforms

Is GitHub a Social Network?

Google Infra For Everyone Else in 2022

Adobe/Figma

When To Roll Your Own X

The Innovator's Paradox

GraphQL Trades Complexity

TensorFlow vs. PyTorch

Recursive-length Prefix (RLP)/Simple Serialize (SSZ)

SQLite Doesn't Use Git

Materializing Results

The Lost Art of System Administration

Performance Comes Last

Two Approaches to Prompt Engineering

WASI vs. WASM

Libraries > Languages

Parallelizing Programs on the Blockchain

The Unbundling of Twitter

Low-end Disruption of AWS

Why Does Google Kill So Many Products?

The Commoditization of Large Language Models: Part 2

Design in OSS

Timeline of Early Email

It's Harder to Read Code Than Write It

How to Increase Developer Velocity

The Value is in the API

Value Accrual in the Crypto Infra Stack

A Short List of Cognitive Biases

r/K Startup Theory

Tool-driven Scientific Revolutions

Webhooks Aren't So Bad

The Issues with Buildpacks

Friction as a Proxy for Value

Tradeoffs in API Design

Teams, Slack, and Discord in Retrospect

Cloud Native Localhost

Towards Granular Compute

The Ethereum Merge

The Unreasonable Effectiveness of Makefiles

Growing the Pie

Developers Should Deploy Their Own Code

Sanctioning a Smart Contract

Braess's paradox

Component-driven Markup

On Unoptimizing

Will v8 Isolates Coexist With Containers?

The End-to-End Principle in System Design

Sufficiently Decentralized

Open-Source and Quadratic Funding

The New Wave Frontend Toolchain

Gacha Game

A First-Class Language Package Manager

Brooks in Reverse

Don't Be Scared of Cloud Lock-in

Lisp and Spreadsheets

Adverse Selection Examples

Defensible Machine Learning Model Naming

Fault-Tolerant Design

Non-Obvious Docker Uses

Pull Request is Now the Unit of Review

Presentation Next to Code

Choosing Esoteric Technology

The Quick Uptake of ARM on Cloud

Stacked Pull Requests

Shannon's Demon

IaC: Strength or Weakness for Cloud Providers?

Sybil Attacks on Airdrops

The Story of CP/M

Hotelling's Law and Differentiation

Distribution in a Downturn

The Remix IDE

SSH: Less Relevant In the Cloud

So Easy You Could Run It Yourself

Smart Contract Immutability

Not Even Wrong

How Kubernetes Broke Git

Commoditization of Large Language Models

What Comes After Git

A Look Into My Development Stack

Giving Up Decentralization: Scalability Trilemma

Does Financial Policy Matter?

The Centralization of dYdX

16 Bell-Curve Opinions on Engineering

History of Version Control Systems: Part 3

History of Version Control Systems: Part 2

History of Version Control Systems

Asset-lite in an Asset-Heavy Business

Sequencing

Panic of 1907/2022

How to Use GitHub Copilot Effectively

Least Common Denominator APIs

Every Sufficiently Advanced Configuration Language is Wrong

Is Snowflake a Platform?

Plaintext Protocols

Thoughts on RSS

Convergence of DBaaS and BaaS

Path of Least Resistance

Don't Use Kubernetes, Yet

The Last Question

The Cost to Participate In Decentralized Networks

Work Expands to Fill the Space

Web3's Eternal September

Are Platform Teams Dead?

The Surprising Linearity of GitHub Star Growth

The Centralization of Skype

Usage-based Pricing in a Downturn

Fallacies of Distributed Systems

Datadog's State of Serverless

The Idea Maze

A Napkin Architecture of Ethereum Interfaces for Developers

Product Velocity of Alternative Cloud Platforms

Programming to the Interface

Interface Decomposition in Cloud

Payment for Order Flow in Web3

One Year of Daily Blogging

ETL vs. Platform Extensibility

Computer Tips For Everyday People From a Software Engineer

Text to Image Diffusion Models

List of All Oblique Strategies

A Universal Package Manager

Smart Contract Language Runtimes

A Short Primer on eBPF

Crypto Without Blockchains

Streaming Applications

Minsky Cycle

SQLite Renaissance

PaaS Design Principles

The Problem of Sharing Code

Stablecoin Depegging

Why Did Heroku Fail?

Null Programming Philosophy

Future of Passwords

Request for Product: Typescript Docker Construct

The Economics of Seinfeld

Code Managed Service is Coming For Static Sites

Taking on Good Technical Debt

Elevator Data Structures and Algorithms

API Aggregators Aggregating Aggregators

Correlation vs. Causation

Miner Extractable Value

{Java,Py}Script

The M:N API Problem

Ethereum Transaction Fees

Steganography

What's Holding Monorepos Back?

Path Dependence

Improving Twitter

Merkle Trees

Innovation Tokens

Permissionless Reckoning

Chekhov's Gun of Product Development

Why Do Protocols Win?

Serverside, or Clientside WASM?

Less Sticky SaaS

Only the Paranoid Survive

Stitching Together SaaS

Annus Mirabilis

Schema-driven Development

Cathedral and Bazaar Startups

Accidentally Turing Complete

Why So Many Outages?

Language Server Protocols

Plan9: Everything is (Really) a File

Every Unix Command Becomes a Startup

Backwardation and Contango

Shift Left: Observability at the Edge

NFT and Email Spam

Scaling Ethereum: Horizontal/Vertical

Zero Knowledge Proofs

Configuration-to-Code

Engineering Against the Grain

Type 1 and Type 2 Errors

$ make docker

Lagging vs. Leading Indicators

On Standardized Tests

Threat of the Hard Fork

Elliptic Curve Cryptography for Beginners

Carthago Delenda Est

Build-as-Code

How to Negotiate a Car Lease

SaaS is the New Microservices

Working on the Right Problems

Trends from The Enterprise 30

Embrace. Extend. Extinguish.

Gall's Law

Developer Velocity

API Warfare

Problems with Daylight Saving Time

GitHub Isn't About Code

youtube-dl and Google

Sword of Damocles

Blockchain Trade-offs: Part 3 – Incentives

Blockchain Trade-offs: Part 2 - Privacy

Blockchain Trade-offs

Exponential Trends

Ignore Sunk Costs

Environment Parity

Wire Protocols and APIs

SPAs weren't a mistake

Latency Numbers You Should Know (2022)

What is SWIFT?

Modus Tollens

Giving It Away For Free

Year 2038 Problem

Software Convention in Consistency

Why First Mover Advantage is Overrated

Squash, Merge, or Rebase?

Remote Work Zealotry

J-Curves

Don't Ship an Architecture

Total Cost of Ownership and Crypto

Order of Magnitudes

Regression to the Mean

Spectrum of Reproducibility

Shodan and Port-Knocking

What is Dog Fooding, Fish Fooding a Product?

Compiled Configuration Stack

Cutting Out the Middleman

Algorithmic Fairness

Why TypeScript for Infrastructure?

Rickard's Law of Eponymy

Optimization is Fragile

VA Linux

Platform vs. Publishers

Onion Futures Act and Saturated Channels

Commoditized Trust

Meta on Meta

Behind the $325mm Blockchain Hack

Rethinking the PDF

Okta's 2022 Business at Work

Keynesian Beauty Contest

Building the VPC Layer for Cloud

Software Half-Life

Flying-Car Syndrome

Dumb (and Free) Interchange

Source Code Generation

The Declarative Trap

S3 Isn't Getting Cheaper

Negative Value Features

Software Mullets

Embedded DevOps Teams

Antitrust Opportunity

Technical Perfection and Irrelevance

Layer Above, Layer Below

Monk's Window

Notes from Behind the Cloud

Best Tech Acquisitions of All Time

Code or Issues in DevOps Platform(s)?

AWS is Not a Dumb Pipe

Reversing the Chicago River

Veto Power and Decision-Making Process

Too Cheap to Meter

Maxwell's Equations and Bridges

The Story of Adobe

Wordle: What's the Best Starting Word?

Losing Sleep Over Java

VPN as a Dev Tool

Strategy Beyond Markets

Pair Programming Doesn't Scale

Increasing Bus Factor

Antifragile in 2022