12-05-23 | Pseudonyms in American History |
12-04-23 | Fairchildren |
12-03-23 | ChatGPT After One Year |
12-02-23 | McNamara Fallacy |
12-01-23 | Data Quality in LLMs |
11-30-23 | Discord and AI GTM |
11-29-23 | Standard Causes of Human Misjudgment (Munger) |
11-28-23 | The Unreasonable Effectiveness of Monte Carlo |
11-27-23 | Razor and Blades Model |
11-26-23 | Drawbacks of Moving to the Edge |
11-25-23 | Are Things Getting Worse? |
11-24-23 | How AI Changes Workflows |
11-23-23 | Duties of a Board of Directors |
11-22-23 | Strategies for the GPU-Poor |
11-21-23 | Take Your Time Making Decisions |
11-20-23 | The Encyclopedia of Integer Sequences |
11-19-23 | The Catilinarian Conspiracy |
11-18-23 | The Model is Not the Product |
11-17-23 | The AI-Neid |
11-16-23 | Model Merge - (Frankenmerge) |
11-15-23 | The Cost of Index Everything |
11-14-23 | What if Google Wasn’t The Default? |
11-13-23 | Copilot is an Incumbent Business Model |
11-12-23 | Eroom's Law |
11-11-23 | The Lucretius Problem |
11-10-23 | The Call to Adventure |
11-09-23 | AI Agents Today |
11-08-23 | Norvig's Agent Definition |
11-07-23 | The Context Length Observation |
11-06-23 | To be, or not to be; ay, there’s the point. |
11-05-23 | Improving RAG: Strategies |
11-04-23 | Static Sites Aren't Simple Anymore |
11-03-23 | Lessons from llama.cpp |
11-02-23 | Why Model Evaluation is Difficult |
11-01-23 | Mechanical Turks |
10-31-23 | Regulatory Capture in the Railroad Industry |
10-30-23 | What If OpenAI Builds This? |
10-29-23 | On Mixing Client and Server |
10-28-23 | Infrastructure as Code Will be Written by AI |
10-27-23 | When A/B Testing Doesn't Work |
10-26-23 | Between Images and Text, CLIP |
10-25-23 | Positioning Yourself Near the Opportunity |
10-24-23 | Tech Invariants |
10-23-23 | Horizontal Tuning: Instruction, Chat, and What Else? |
10-22-23 | Retrieval Augmented Generation |
10-21-23 | The Silent Todo List |
10-20-23 | Pitfalls of File-based Routing |
10-19-23 | Benefits of Small LLMs |
10-18-23 | Can OpenAI Win Consumer and Enterprise? |
10-17-23 | The Inner-Platform Effect |
10-16-23 | Revision: Generative text-to-UI |
10-15-23 | Why Is the Frontend Stack So Complicated? |
10-14-23 | An Intelligent Wikipedia |
10-13-23 | The Half-Life of the AI Stack |
10-12-23 | Nagle's Algorithm |
10-11-23 | Black Swan by Shakespeare |
10-10-23 | Anticipate the Cheap |
10-09-23 | Moravec's Paradox |
10-08-23 | The American Experiment |
10-07-23 | Incentives Behind Programming Languages |
10-06-23 | 3D as the New Modality |
10-05-23 | Keep Going |
10-04-23 | The Benefit of a Personal Notation |
10-03-23 | Pitfalls of Database Migrations |
10-02-23 | Generative Interfaces |
10-01-23 | Lessons From Debugging |
09-30-23 | Compression / Learning Duality |
09-29-23 | Is AI a Platform Shift? |
09-28-23 | Passkeys, Crypto, and Signing AI Content |
09-27-23 | Is Data Still a Moat? |
09-26-23 | Multi-Modal AI is a UX Problem |
09-25-23 | Observer-Expectancy at Scale |
09-24-23 | LLMs as System 1 Thinkers |
09-23-23 | The Fundamental Attribution Error |
09-22-23 | Good Enough Abstractions |
09-21-23 | Automate (But Automate Last) |
09-20-23 | AI Biographers |
09-19-23 | Customized End User Software (with AI) |
09-18-23 | Five Principles from Renaissance Technologies |
09-17-23 | Moving Upmarket |
09-16-23 | The Age-old Resistance to Generated Code |
09-15-23 | Cincinnatus |
09-14-23 | Undetectable AI |
09-13-23 | The New Economics of Generating Code |
09-12-23 | The Inevitability of Scope Creep |
09-11-23 | Fine-tuning Stable Diffusion XL with Personal Photos |
09-10-23 | The Low-Hanging Fruit |
09-09-23 | Beyond Prompt Engineering |
09-08-23 | The Hardware / Software Cycle |
09-07-23 | Raft: The Distributed Systems Algorithm |
09-06-23 | The Widgetification of Apple |
09-05-23 | Type Constraints for LLM Output |
09-04-23 | Why Fast? |
09-03-23 | Technical Metrics to Track in Engineering Orgs |
09-02-23 | TypeScript Type System Hacks |
09-01-23 | Capital Intense AI Bets |
08-31-23 | Imputavi, Computavi, Putavi. |
08-30-23 | Llama 2 in the Browser |
08-29-23 | The Contrarian Strategy of OpenAI |
08-28-23 | GitHub Inbox as GTM |
08-27-23 | AI and Text-First Interfaces |
08-26-23 | The Business Source License |
08-25-23 | The Free Lunch of Model Distillation |
08-24-23 | Adding Constraints |
08-23-23 | Copy and Paste Libraries |
08-22-23 | Beating the Average |
08-21-23 | A Model API Gateway for 20+ LLMs |
08-20-23 | De Facto Ports |
08-19-23 | The Truth About GPU Utilization |
08-18-23 | Directly Responsible Individuals |
08-17-23 | Akin's Laws of Spacecraft Design |
08-16-23 | What is a Prompt Engineer? |
08-15-23 | Learning Via Negativa |
08-14-23 | Why Tailwind CSS Won |
08-13-23 | My Everyday LLM Uses |
08-12-23 | Dark Mode and Marginal Benefit |
08-11-23 | Llama/Unix |
08-10-23 | Deterministic, Structured LLM Output |
08-09-23 | Bayes' Rule |
08-08-23 | A Fine-Tuning Marketplace |
08-07-23 | Majority Rule Developers |
08-06-23 | NVIDIA's CUDA Monopoly |
08-05-23 | Prescriptive vs. Descriptive Feedback |
08-04-23 | Focus On What Could Go Right (Not Wrong) |
08-03-23 | Apple's Hidden Social Network |
08-02-23 | Data Versioning |
08-01-23 | Automatic and Universal Adversarial Prompts |
07-31-23 | Minimum Effective Dose and Discrete Outcomes |
07-30-23 | On Compounding |
07-29-23 | Git Merge Strategies and Algorithms |
07-28-23 | Modern Samizdat Libraries |
07-27-23 | Amara's Law |
07-26-23 | Black Swan Theory |
07-25-23 | Optimizing $Model.cpp |
07-24-23 | Commonplace Books |
07-23-23 | Virtual Machines and Path Dependence |
07-22-23 | On Getting Married |
07-21-23 | The RLHF Advantage |
07-20-23 | Robots.txt for LLMs |
07-19-23 | Why Did Meta Open-Source Llama 2? |
07-18-23 | Diffusion of Innovation |
07-17-23 | Literate Programming with LLMs |
07-16-23 | Schopenhauer's 36 Stratagems for Winning Arguments |
07-15-23 | Scale to Zero for AI Workloads |
07-14-23 | Stop Overengineering |
07-13-23 | Hard Launches vs. Soft Launches |
07-12-23 | Virtualized Linux on macOS Internals |
07-11-23 | Why Frameworks Fail |
07-10-23 | Categorization and Classification with LLMs |
07-09-23 | Towards Technical CEOs |
07-08-23 | ActivityPub, Decentralization - Do Users Care? |
07-07-23 | The Anti-AI Movement |
07-06-23 | Customer Obsession is the Only Winning Strategy |
07-05-23 | Avoiding Footguns |
07-04-23 | Where AI Fits in Engineering Organizations |
07-03-23 | Myths About ORMs |
07-02-23 | Google Search's Death by a Thousand Cuts |
07-01-23 | The Circular Startup Economy |
06-30-23 | Personal Lessons From LLMs |
06-29-23 | Overcoming LLM Hallucinations |
06-28-23 | Monopolizing Useless Resources |
06-27-23 | Dark Patterns |
06-26-23 | Platform Engineering vs. DevOps |
06-25-23 | Model Evaluation is (Still) An Art |
06-24-23 | Clear, Simple, and Wrong |
06-23-23 | What Comes After Kubernetes? |
06-22-23 | No Feature is Free (Especially AI Ones) |
06-21-23 | Mixture of Experts: Is GPT-4 Just Eight Smaller Models? |
06-20-23 | The LLaMA Ecosystem |
06-19-23 | Merge Queues |
06-18-23 | Unforced Errors |
06-17-23 | The Low-Background Steel of AI |
06-16-23 | Why Does Every AI Cycle Start With Chat? |
06-15-23 | A Token Efficient Language for LLMs |
06-14-23 | Keep The Main Thing The Main Thing |
06-13-23 | ControlNet QR Codes |
06-12-23 | It’s Too Early To Call Winners in AI |
06-11-23 | The Last Innings of Web 2.0 |
06-10-23 | Biography of an Idea |
06-09-23 | The Myth of the AI Infrastructure Phase |
06-08-23 | LLMs For Software Portability |
06-07-23 | ChatGPT Plugins Don't Have PMF |
06-06-23 | Levels of Autonomy in AI Agents |
06-05-23 | The Problem with Tokenization in LLMs |
06-04-23 | What Diffusion Models Can Teach Us About LLMs |
06-03-23 | Sequence and Version Control Models |
06-02-23 | Practical Dependency Management for Developers |
06-01-23 | The End of Public APIs |
05-31-23 | Faster Horses: AI Products That Companies Think They Want |
05-30-23 | Templating Magic Isn't Free |
05-29-23 | AI Means More Developers |
05-28-23 | Two Years of Daily Blogging |
05-27-23 | Prompt Engineering is Configuration Engineering |
05-26-23 | SEO Inside AI |
05-25-23 | A List of Things I Was Wrong About |
05-24-23 | The ChatGPT Plugin Specification |
05-23-23 | The Local Development Story |
05-22-23 | Twitter and the Idea Maze |
05-21-23 | The New Tax on Engineering Against the Grain |
05-20-23 | Piecewise |
05-19-23 | On Regulating AI |
05-18-23 | On Device AI? |
05-17-23 | A List of Leaked System Prompts |
05-16-23 | Intercloud Brokers |
05-15-23 | React LLM: Run Models in the Browser with Headless Components |
05-14-23 | Context-Free Grammar Parsing with LLMs |
05-13-23 | Taylor Swift and Launch Cadence |
05-12-23 | StackOverflow/ChatGPT |
05-11-23 | Self-hosted Compilers and Bootstrapped AI |
05-10-23 | Unix Philosophy for AI |
05-09-23 | Why Declarative Build Systems Aren’t Popular |
05-08-23 | The New AI Moats |
05-07-23 | On-Demand Package Manager |
05-06-23 | Second-level Thinking |
05-05-23 | ReLLM: Exact Structure for Large Language Model Completions |
05-04-23 | llm.ts |
05-03-23 | The Python Family of Languages |
05-02-23 | WebGPU and the New OS |
05-01-23 | Applications of Category Theory |
04-30-23 | Implementing LLMs in the Browser |
04-29-23 | React Component as the API |
04-28-23 | Why Multi-Cloud Failed |
04-27-23 | Principle of Least Astonishment |
04-26-23 | Probabilistic Data Structures and LLMs |
04-25-23 | 16 Lessons from the Tanenbaum–Torvalds Debates |
04-24-23 | Tanenbaum–Torvalds Debates, Part 1 |
04-23-23 | The ptrace syscall |
04-22-23 | Building a Kernel From Scratch |
04-21-23 | Autonomous LLM Agents Are At Least 10 Years Out |
04-20-23 | Peanut Butter Manifesto (2006) |
04-19-23 | Sandbox Your Prompts |
04-18-23 | Stochastic/Deterministic |
04-17-23 | Jevons Paradox and LLMs |
04-16-23 | Everyday Fourier Transforms |
04-15-23 | On The Shortness Of Life |
04-14-23 | Synthetic Data From Compilers |
04-13-23 | Foundational Models Are Not Enough |
04-12-23 | Imperative, Declarative, Interrogative, and Exclamatory Interfaces |
04-11-23 | But / Therefore |
04-10-23 | A List of 1 Billion+ Parameter LLMs |
04-09-23 | No GPUs before Product-Market Fit |
04-08-23 | The Path Dependence of YAML |
04-07-23 | Buyers in the Foundational Model Stack |
04-06-23 | Internet Magic Numbers |
04-05-23 | A High-level LLMOps Architecture |
04-04-23 | Reasons To Do a Startup |
04-03-23 | The Automation Frontier |
04-02-23 | Why Open-Source a Model? |
04-01-23 | Consumption Pricing Units in AI |
03-31-23 | Reflections on 10,000 Hours of DevOps |
03-30-23 | The AI Partnership Race |
03-29-23 | A Hacker's Guide to LLM Optimization |
03-28-23 | Kubernetes as a Dev Tool |
03-27-23 | Code, not Chat, in Generative AI |
03-26-23 | Distributed Systems and AI |
03-25-23 | Necessary Conditions for an App Store Monopoly |
03-24-23 | Remix Culture |
03-23-23 | Are Incumbents Accruing All The AI Value? |
03-22-23 | Model Arbitrage |
03-21-23 | Modeling Context Length vs. Information Retrieval Cost in LLMs |
03-20-23 | Framework-Defined Infrastructure |
03-19-23 | The Missing Semester of CS |
03-18-23 | The Value of Software Generalists |
03-17-23 | Foundational Models Are Commodities |
03-16-23 | On OpenAI's Kubernetes Cluster |
03-15-23 | Choosing the Right Model |
03-14-23 | Gell-Mann Amnesia |
03-13-23 | On Prompt Injection |
03-12-23 | Local LLaMA on a Mac M1 |
03-11-23 | Automatic1111 and AI Aggregators |
03-10-23 | All the -Ops |
03-09-23 | Chain of Thought Paradigms in LLMs |
03-08-23 | Data Local Machine Learning |
03-07-23 | On React.js |
03-06-23 | Applications, Services, and Workflows Overload |
03-05-23 | Will The AI Stack Be Open Or Closed? |
03-04-23 | The Stoic Arrow |
03-03-23 | Product Windows |
03-02-23 | ChatML and the ChatGPT API |
03-01-23 | The Bundling of the Software Developer |
02-28-23 | Shells and Distribution |
02-27-23 | More Art than Science |
02-26-23 | Wrong Sequences For Startups |
02-25-23 | Commoditization of Large Language Models: Part 3 |
02-24-23 | Taxonomy of Startup Risk |
02-23-23 | The Connectors/Loaders Trap |
02-22-23 | Erdős Vocabulary |
02-21-23 | Why DSLs Fail |
02-20-23 | Amdahl's Law and Optimization |
02-19-23 | Why Python Won't Be the Language of LLMs |
02-18-23 | Nix Is Fighting The Last War |
02-17-23 | Interfaces for Uncertainty |
02-16-23 | Why ChatGPT Needs AuthZ |
02-15-23 | Ask Yourself Dumb Questions |
02-14-23 | Carrying a Dozen Problems |
02-13-23 | Blurring Language Boundaries |
02-12-23 | LLM Ops, Part 1 |
02-11-23 | What Won't Change |
02-10-23 | Multi-Model vs. Multi-Cloud |
02-09-23 | Should OSS Projects Have Telemetry? |
02-08-23 | Reactive Strategy |
02-07-23 | Docker Without Docker |
02-06-23 | Applications of Gall's Law |
02-05-23 | Composable Models |
02-04-23 | Stack Shift |
02-03-23 | If It Doesn’t Ship, It Doesn’t Exist |
02-02-23 | Optimal Stopping Theory |
02-01-23 | Future is Not Evenly Distributed |
01-31-23 | Zero Interest Rate Policy Phenomena |
01-30-23 | The Frontend Bundling Cycle |
01-29-23 | Type-Safe API Calls: tRPC vs. gRPC |
01-28-23 | Overview of GPT-as-a-Backend |
01-27-23 | Eisenhower Priority Matrix |
01-26-23 | What Doesn't Fit in Git |
01-25-23 | Cloud Services Ranked: Build vs. Buy |
01-24-23 | Workflow Engine Paradigms |
01-23-23 | Prompt Engineering Shouldn't Exist |
01-22-23 | GPT Lineage |
01-21-23 | How to Version an API |
01-20-23 | Cheap UIs |
01-19-23 | Cloud Spend Breakdown |
01-18-23 | Rebuilding in Rust |
01-17-23 | All Models Are Wrong (But Some Are Useful) |
01-16-23 | The Problem with Drag-n-Drop Infrastructure |
01-15-23 | Output vs. Outcome |
01-14-23 | Garbage In, Garbage out? |
01-13-23 | Winning Ugly and The Metagame |
01-12-23 | Minix and nanoGPT |
01-11-23 | Fully Managed Infrastructure |
01-10-23 | Lessons from the Last AI Cycle |
01-09-23 | White Space |
01-08-23 | Fine-Tuning an OCR Model |
01-07-23 | Semi-Organic Growth |
01-06-23 | What's Next After NextJS |
01-05-23 | RPA: The Human Interface |
01-04-23 | The Implications of More Developers |
01-03-23 | Counterfactuals |
01-02-23 | A New ML Stack |
01-01-23 | Top Posts of 2022 |
12-31-22 | 2023 Predictions |
12-30-22 | Local AI: Part 2 |
12-29-22 | Local AI: Part 1 |
12-28-22 | Reflections on 2022 Predictions |
12-27-22 | Proebsting's Law |
12-26-22 | Turing Social: Twitter, For Bots |
12-25-22 | Christmas 2022 |
12-24-22 | Shortest Time-to-Launch |
12-23-22 | Software Rewrites |
12-22-22 | Backward Compatibility |
12-21-22 | ML Developer Experience |
12-20-22 | The Architecture of Mastodon |
12-19-22 | How Did Microsoft Win Back Devs? |
12-18-22 | Vector Search |
12-17-22 | The Fall of Freenode |
12-16-22 | Docker as a DevTool Platform |
12-15-22 | AI-driven Interfaces |
12-14-22 | LAION, The Pile, and more datasets |
12-13-22 | Abstracting the Infrastructure |
12-12-22 | Lessons from Lensa |
12-11-22 | Tarpit Ideas |
12-10-22 | An Ideal CI/CD System |
12-09-22 | Elo Rating |
12-08-22 | Spam Filtering AI Content |
12-07-22 | Google Takeout and Data Portability |
12-06-22 | Stack Overflow Bans ChatGPT |
12-05-22 | Will LLMs Disrupt Google Search? |
12-04-22 | The Frontend Ouroboros |
12-03-22 | A Conversation with ChatGPT |
12-02-22 | Apple's Enemies |
12-01-22 | MacGuffin |
11-30-22 | Do Cold Starts Matter? |
11-29-22 | Sharing a Notebook |
11-28-22 | Fuzzy Databases |
11-27-22 | Human-in-the-Loop and Other AI Mistakes |
11-26-22 | Technical Posts Overview and Roundup |
11-25-22 | Schelling Point |
11-24-22 | Showing Up Every Day |
11-23-22 | The Cloud Tax Implications |
11-22-22 | Why Do Configuration Changes Cause Outages? |
11-21-22 | Excel for Developers |
11-20-22 | Will Twitter Fail? |
11-19-22 | Generative AI Value Chain |
11-18-22 | Amazon's Distributed Computing Manifesto (1998) |
11-17-22 | Windows Subsystem for Linux |
11-16-22 | Solving the Simple Case |
11-15-22 | On the Mastodon Experiment |
11-14-22 | On Launching |
11-13-22 | LLMs for Code |
11-12-22 | What is a Token? A Technical Explanation |
11-11-22 | On FTX |
11-10-22 | Information Barbell |
11-09-22 | What are Containers? |
11-08-22 | Decoy Effect |
11-07-22 | What Happens to Infra Engineers? |
11-06-22 | Generational Advantages |
11-05-22 | UGC: User-Generated Code |
11-04-22 | Mastering the Command Line |
11-03-22 | Man in the Arena |
11-02-22 | Who Pays? The Twitter Blue Check |
11-01-22 | What If Google Builds This? |
10-31-22 | Facebook's Culture Book (2012) |
10-30-22 | And Yet it Moves |
10-29-22 | Deploy Early, Deploy Often |
10-28-22 | Ethereum RPC as a Service |
10-27-22 | The Inner Dev Loop |
10-26-22 | Apple's Ad Positioning |
10-25-22 | Daily is the Product |
10-24-22 | Kubernetes Interfaces |
10-23-22 | Moat By Induction |
10-22-22 | Exploiting Protocols for Fun |
10-21-22 | AI Will Write Most Code |
10-20-22 | Cloud Repatriation or Not? |
10-19-22 | AI Scaling Laws |
10-18-22 | Richard Feynman and Narrative |
10-17-22 | SEC, Gensler, and Crypto |
10-16-22 | Defaults |
10-15-22 | Getting Stuck in the Past |
10-14-22 | Short Taxonomy of Open-Source Strategies |
10-13-22 | The Middle Squeeze |
10-12-22 | A Personal Training Corpus |
10-11-22 | Why Is NixOS Popular Again? |
10-10-22 | Where Logic Lives |
10-09-22 | On Web Clipping |
10-08-22 | Risk vs. Uncertainty |
10-07-22 | eBPF File Watching |
10-06-22 | Reentrancy Attacks |
10-05-22 | Perceptual Hashing |
10-04-22 | Free Compute and Replit |
10-03-22 | Screenshots as the Universal API |
10-02-22 | The Steffen Boarding Method |
10-01-22 | The Promise of Write Once, Run Anywhere |
09-30-22 | Why Stadia Failed |
09-29-22 | Thoughts on GitHub Actions |
09-28-22 | Simple Group Theory |
09-27-22 | Is Ethereum a Dumb Pipe? |
09-26-22 | Startup Ideas I've Considered |
09-25-22 | Hard to Compute, Simple to Verify |
09-24-22 | What's an MVP in 2022? |
09-23-22 | Infrastructure Defined Software |
09-22-22 | Tree Shaking |
09-21-22 | Rust, C++, or Carbon? |
09-20-22 | It's Just a Tarball |
09-19-22 | Standards, Protocols, and Platforms |
09-18-22 | Is GitHub a Social Network? |
09-17-22 | Google Infra For Everyone Else in 2022 |
09-16-22 | Adobe/Figma |
09-15-22 | When To Roll Your Own X |
09-14-22 | The Inventor's Paradox |
09-13-22 | GraphQL Trades Complexity |
09-12-22 | TensorFlow vs. PyTorch |
09-11-22 | Recursive-length Prefix (RLP)/Simple Serialize (SSZ) |
09-10-22 | SQLite Doesn't Use Git |
09-09-22 | Materializing Results |
09-08-22 | The Lost Art of System Administration |
09-07-22 | Performance Comes Last |
09-06-22 | Two Approaches to Prompt Engineering |
09-05-22 | WASI vs. WASM |
09-04-22 | Libraries > Languages |
09-03-22 | Parallelizing Programs on the Blockchain |
09-02-22 | The Unbundling of Twitter |
09-01-22 | Low-end Disruption of AWS |
08-31-22 | Why Does Google Kill So Many Products? |
08-30-22 | The Commoditization of Large Language Models: Part 2 |
08-29-22 | Design in OSS |
08-28-22 | Timeline of Early Email |
08-27-22 | It's Harder to Read Code Than Write It |
08-26-22 | Developer Platform Table Stakes |
08-25-22 | The Value is in the API |
08-24-22 | Value Accrual in the Crypto Infra Stack |
08-23-22 | A Short List of Cognitive Biases |
08-22-22 | r/K Startup Theory |
08-21-22 | Tool-driven Scientific Revolutions |
08-20-22 | Webhooks Aren't So Bad |
08-19-22 | The Issues with Buildpacks |
08-18-22 | Friction as a Proxy for Value |
08-17-22 | Tradeoffs in API Design |
08-16-22 | Teams, Slack, and Discord in Retrospect |
08-15-22 | Cloud Native Localhost |
08-14-22 | Towards Granular Compute |
08-13-22 | The Ethereum Merge |
08-12-22 | The Unreasonable Effectiveness of Makefiles |
08-11-22 | Growing the Pie |
08-10-22 | Developers Should Deploy Their Own Code |
08-09-22 | Sanctioning a Smart Contract |
08-08-22 | Braess's paradox |
08-07-22 | Component-driven Markup |
08-06-22 | On Unoptimizing |
08-05-22 | Will v8 Isolates Coexist With Containers? |
08-04-22 | The End-to-End Principle in System Design |
08-03-22 | Sufficiently Decentralized |
08-02-22 | Open-Source and Quadratic Funding |
08-01-22 | The New Wave Frontend Toolchain |
07-31-22 | Gacha Game |
07-30-22 | A First-Class Language Package Manager |
07-29-22 | Brooks in Reverse |
07-28-22 | Don't Be Scared of Cloud Lock-in |
07-27-22 | Lisp and Spreadsheets |
07-26-22 | Adverse Selection Examples |
07-25-22 | Defensible Machine Learning Model Naming |
07-24-22 | Fault-Tolerant Design |
07-23-22 | Non-Obvious Docker Uses |
07-22-22 | Pull Request is Now the Unit of Review |
07-21-22 | Presentation Next to Code |
07-20-22 | Choosing Esoteric Technology |
07-19-22 | The Quick Uptake of ARM on Cloud |
07-18-22 | Stacked Pull Requests |
07-17-22 | Shannon's Demon |
07-16-22 | IaC: Strength or Weakness for Cloud Providers? |
07-15-22 | Sybil Attacks on Airdrops |
07-14-22 | The Story of CP/M |
07-13-22 | Hotelling's Law and Differentiation |
07-12-22 | Distribution in a Downturn |
07-11-22 | The Remix IDE |
07-10-22 | SSH: Less Relevant In the Cloud |
07-09-22 | So Easy You Could Run It Yourself |
07-08-22 | Smart Contract Immutability |
07-07-22 | Not Even Wrong |
07-06-22 | How Kubernetes Broke Git |
07-05-22 | Commoditization of Large Language Models |
07-04-22 | What Comes After Git |
07-03-22 | A Look Into My Development Stack |
07-02-22 | Giving Up Decentralization: Scalability Trilemma |
07-01-22 | Does Financial Policy Matter? |
06-30-22 | The Centralization of dYdX |
06-29-22 | 16 Bell-Curve Opinions on Engineering |
06-28-22 | History of Version Control Systems: Part 3 |
06-27-22 | History of Version Control Systems: Part 2 |
06-26-22 | History of Version Control Systems |
06-25-22 | Asset-lite in an Asset-Heavy Business |
06-24-22 | Sequencing |
06-23-22 | Panic of 1907/2022 |
06-22-22 | How to Use GitHub Copilot Effectively |
06-21-22 | Least Common Denominator APIs |
06-20-22 | Every Sufficiently Advanced Configuration Language is Wrong |
06-19-22 | Is Snowflake a Platform? |
06-18-22 | Plaintext Protocols |
06-17-22 | Thoughts on RSS |
06-16-22 | Convergence of DBaaS and BaaS |
06-15-22 | Path of Least Resistance |
06-14-22 | Don't Use Kubernetes, Yet |
06-13-22 | The Last Question |
06-12-22 | The Cost to Participate In Decentralized Networks |
06-11-22 | Work Expands to Fill the Space |
06-10-22 | Web3's Eternal September |
06-09-22 | Are Platform Teams Dead? |
06-08-22 | The Surprising Linearity of GitHub Star Growth |
06-07-22 | The Centralization of Skype |
06-06-22 | Usage-based Pricing in a Downturn |
06-05-22 | Fallacies of Distributed Systems |
06-04-22 | Datadog's State of Serverless |
06-03-22 | The Idea Maze |
06-02-22 | A Napkin Architecture of Ethereum Interfaces for Developers |
06-01-22 | Product Velocity of Alternative Cloud Platforms |
05-31-22 | Programming to the Interface |
05-30-22 | Interface Decomposition in Cloud |
05-29-22 | Payment for Order Flow in Web3 |
05-28-22 | One Year of Daily Blogging |
05-27-22 | ETL vs. Platform Extensibility |
05-26-22 | Computer Tips For Everyday People From a Software Engineer |
05-25-22 | Text to Image Diffusion Models |
05-24-22 | List of All Oblique Strategies |
05-23-22 | A Universal Package Manager |
05-22-22 | Smart Contract Language Runtimes |
05-21-22 | A Short Primer on eBPF |
05-20-22 | Crypto Without Blockchains |
05-19-22 | Streaming Applications |
05-18-22 | Minsky Cycle |
05-17-22 | SQLite Renaissance |
05-16-22 | PaaS Design Principles |
05-15-22 | The Problem of Sharing Code |
05-14-22 | Stablecoin Depegging |
05-13-22 | Why Did Heroku Fail? |
05-12-22 | Null Programming Philosophy |
05-11-22 | Future of Passwords |
05-10-22 | Request for Product: Typescript Docker Construct |
05-09-22 | The Economics of Seinfeld |
05-08-22 | Code Managed Service is Coming For Static Sites |
05-07-22 | Taking on Good Technical Debt |
05-06-22 | Elevator Data Structures and Algorithms |
05-05-22 | API Aggregators Aggregating Aggregators |
05-04-22 | Correlation vs. Causation |
05-03-22 | Miner Extractable Value |
05-02-22 | {Java,Py}Script |
05-01-22 | The M:N API Problem |
04-30-22 | Ethereum Transaction Fees |
04-29-22 | Steganography |
04-28-22 | What's Holding Monorepos Back? |
04-27-22 | Path Dependence |
04-26-22 | Improving Twitter |
04-25-22 | Merkle Trees |
04-24-22 | Innovation Tokens |
04-23-22 | Permissionless Reckoning |
04-22-22 | Chekhov's Gun of Product Development |
04-21-22 | Why Do Protocols Win? |
04-20-22 | Serverside, or Clientside WASM? |
04-19-22 | Less Sticky SaaS |
04-18-22 | Only the Paranoid Survive |
04-17-22 | Stitching Together SaaS |
04-16-22 | Annus Mirabilis |
04-15-22 | Schema-driven Development |
04-14-22 | Cathedral and Bazaar Startups |
04-13-22 | Accidentally Turing Complete |
04-12-22 | Why So Many Outages? |
04-11-22 | Language Server Protocols |
04-10-22 | Plan9: Everything is (Really) a File |
04-09-22 | Every Unix Command Becomes a Startup |
04-08-22 | Backwardation and Contango |
04-07-22 | Shift Left: Observability at the Edge |
04-06-22 | NFT and Email Spam |
04-05-22 | Scaling Ethereum: Horizontal/Vertical |
04-04-22 | Zero Knowledge Proofs |
04-03-22 | Configuration-to-Code |
04-02-22 | Engineering Against the Grain |
04-01-22 | Type 1 and Type 2 Errors |
03-31-22 | $ make docker |
03-30-22 | Lagging vs. Leading Indicators |
03-29-22 | On Standardized Tests |
03-28-22 | Threat of the Hard Fork |
03-27-22 | Elliptic Curve Cryptography for Beginners |
03-26-22 | Carthago Delenda Est |
03-25-22 | Build-as-Code |
03-24-22 | How to Negotiate a Car Lease |
03-23-22 | SaaS is the New Microservices |
03-22-22 | Working on the Right Problems |
03-21-22 | Trends from The Enterprise 30 |
03-20-22 | Embrace. Extend. Extinguish. |
03-19-22 | Gall's Law |
03-18-22 | Developer Velocity |
03-17-22 | API Warfare |
03-16-22 | Problems with Daylight Saving Time |
03-15-22 | GitHub Isn't About Code |
03-14-22 | youtube-dl and Google |
03-13-22 | Sword of Damocles |
03-12-22 | Blockchain Trade-offs: Part 3 – Incentives |
03-11-22 | Blockchain Trade-offs: Part 2 - Privacy |
03-10-22 | Blockchain Trade-offs |
03-09-22 | Exponential Trends |
03-08-22 | Ignore Sunk Costs |
03-07-22 | Environment Parity |
03-06-22 | Wire Protocols and APIs |
03-05-22 | SPAs weren't a mistake |
03-04-22 | Latency Numbers You Should Know (2022) |
03-03-22 | What is SWIFT? |
03-02-22 | Modus Tollens |
03-01-22 | Giving It Away For Free |
02-28-22 | Year 2038 Problem |
02-27-22 | Software Convention in Consistency |
02-26-22 | Why First Mover Advantage is Overrated |
02-25-22 | Squash, Merge, or Rebase? |
02-24-22 | Remote Work Zealotry |
02-23-22 | J-Curves |
02-22-22 | Don't Ship an Architecture |
02-21-22 | Total Cost of Ownership and Crypto |
02-20-22 | Order of Magnitudes |
02-19-22 | Regression to the Mean |
02-18-22 | Spectrum of Reproducibility |
02-17-22 | Shodan and Port-Knocking |
02-16-22 | What is Dog Fooding, Fish Fooding a Product? |
02-15-22 | Compiled Configuration Stack |
02-14-22 | Cutting Out the Middleman |
02-12-22 | Algorithmic Fairness |
02-11-22 | Why TypeScript for Infrastructure? |
02-10-22 | Rickard's Law of Eponymy |
02-09-22 | Optimization is Fragile |
02-08-22 | VA Linux |
02-07-22 | Platform vs. Publishers |
02-06-22 | Onion Futures Act and Saturated Channels |
02-05-22 | Commoditized Trust |
02-04-22 | Meta on Meta |
02-03-22 | Behind the $325mm Blockchain Hack |
02-02-22 | Rethinking the PDF |
02-01-22 | Okta's 2022 Business at Work |
01-31-22 | Keynesian Beauty Contest |
01-30-22 | Building the VPC Layer for Cloud |
01-29-22 | Software Half-Life |
01-28-22 | Flying-Car Syndrome |
01-27-22 | Dumb (and Free) Interchange |
01-26-22 | Source Code Generation |
01-25-22 | The Declarative Trap |
01-24-22 | S3 Isn't Getting Cheaper |
01-23-22 | Negative Value Features |
01-22-22 | Software Mullets |
01-21-22 | Embedded DevOps Teams |
01-20-22 | Antitrust Opportunity |
01-19-22 | Technical Perfection and Irrelevance |
01-18-22 | Layer Above, Layer Below |
01-17-22 | Monk's Window |
01-16-22 | Notes from Behind the Cloud |
01-15-22 | Best Tech Acquisitions of All Time |
01-14-22 | Code or Issues in DevOps Platform(s)? |
01-13-22 | AWS is Not a Dumb Pipe |
01-12-22 | Reversing the Chicago River |
01-11-22 | Veto Power and Decision-Making Process |
01-10-22 | Too Cheap to Meter |
01-09-22 | Maxwell's Equations and Bridges |
01-08-22 | The Story of Adobe |
01-07-22 | Wordle: What's the Best Starting Word? |
01-06-22 | Losing Sleep Over Java |
01-05-22 | VPN as a Dev Tool |
01-04-22 | Strategy Beyond Markets |
01-03-22 | Pair Programming Doesn't Scale |
01-02-22 | Increasing Bus Factor |
01-01-22 | Antifragile in 2022 |
12-31-21 | 2022 Predictions |
12-30-21 | Expert Networks |
12-29-21 | Open Customer Data |
12-28-21 | Russell Conjugation and The Great Rebranding |
12-27-21 | Developer Network Effects |
12-26-21 | Virtual Reality this Christmas |
12-25-21 | Capturing Digital Identity |
12-24-21 | Ownership in the Twenty-First Century |
12-23-21 | Lost Art of Arch Linux |
12-22-21 | Hunting Bugs with Bisect |
12-21-21 | Twitch's Gini Coefficient |
12-20-21 | Antiwork |
12-19-21 | The Real Fix for Log4j Isn't a Patch. |
12-18-21 | Next-Gen Terminals |
12-17-21 | No Brown M&M's |
12-16-21 | Top 10 Posts of 2021 |
12-15-21 | 90% of Everything is Crap |
12-14-21 | Unused Gift Cards are Great Business |
12-13-21 | Metaverse and Other Words from Science Fiction |
12-12-21 | Is Open Source Free Riding Bad? |
12-11-21 | U-Shaped Utility of Monorepos |
12-10-21 | The Leopard of Kilimanjaro |
12-09-21 | Toolchain Sprawl |
12-08-21 | Hollywood Accounting |
12-07-21 | Direct Registration System (DRS) |
12-06-21 | The Toyota Production System |
12-05-21 | It's Impossible to Design a Watch that Only Tells Time |
12-04-21 | If It Can Be Compiled, It Will Be |
12-03-21 | Every DevOps Company is an Observability Company |
12-02-21 | The Most Entertaining Outcome is the Most Likely |
12-01-21 | Jane Jacobs and Software Engineering |
11-30-21 | On Centralization |
11-29-21 | Achilles and the Tortoise |
11-28-21 | Calculating Willingness to Pay |
11-27-21 | Browse Now, Pay Later |
11-26-21 | Netlify, Vercel, and AWS Amplify |
11-25-21 | Cloud Marketplaces |
11-24-21 | The Sailing Ship Effect |
11-23-21 | Shortcomings of Diff3 |
11-22-21 | How Git Merges |
11-21-21 | The Gordian Knot |
11-20-21 | How to Comment Your Code |
11-19-21 | The Terrible UX of Git |
11-18-21 | Being Wrong on Hacker News |
11-17-21 | GitHub's Missing Package Manager |
11-16-21 | The Collision Course of Databricks and Snowflake |
11-15-21 | Mining Crypto on My M1 Max |
11-14-21 | No Time to Read Bad Books |
11-13-21 | The Goat Behind the Door |
11-12-21 | A Browser for Developers |
11-11-21 | How to Beat Google Search |
11-10-21 | Open Infrastructure |
11-09-21 | Open-sourced GPT-J |
11-08-21 | PQLs |
11-07-21 | Where is the Edge? |
11-06-21 | The Cloud Cost Era |
11-05-21 | The Next Design Systems |
11-04-21 | Rich Barton and Zillow |
11-03-21 | Commodity SaaS |
11-02-21 | Niche Communities |
11-01-21 | I Miss The Programmable Web |
10-31-21 | Chesterton's Fence |
10-30-21 | Cloud Growth in 2021 |
10-29-21 | Founder Vision |
10-28-21 | Technical Wedges |
10-27-21 | Data Planes and Control Planes |
10-26-21 | Kelly Criterion |
10-25-21 | Remote Work for Developers |
10-24-21 | Solving Supply Chain with a Tweet |
10-23-21 | How Complex Systems Fail |
10-22-21 | Scoping Developer Tools |
10-21-21 | IDE as a Platform |
10-20-21 | Agent vs. Agentless Future |
10-19-21 | A Short History of the M1 Chip |
10-18-21 | Zuckerberg on Platforms |
10-17-21 | Alternative Data on Developer Products |
10-16-21 | Top-Down JAMStack vs. Cloud |
10-15-21 | The GitLab Upgrade |
10-14-21 | Takeaways From JetBrain's Developer Survey 2021 |
10-13-21 | Templating: When to Move Along the Heptagon |
10-12-21 | Kubernetes in the Data Stack |
10-11-21 | Calculating SaaS Retention |
10-10-21 | The Tarpit |
10-09-21 | The Changelog Podcast #463 |
10-08-21 | Open Source Reckoning |
10-07-21 | Running Fast |
10-06-21 | What is BGP? |
10-05-21 | The Birth & Death of JavaScript |
10-04-21 | Sales Compensation at GitLab |
10-03-21 | Zawinski's Law |
10-02-21 | Egregious Egress and Disruption |
10-01-21 | The Puzzling Corporate Archaeology of MIPS |
09-30-21 | What is RISC-V? |
09-29-21 | Extending Applications with WebAssembly |
09-28-21 | A Hypothesis is a Liability |
09-27-21 | Go-to-market Strategy |
09-26-21 | Developer Experience |
09-25-21 | Knuth and McIlroy Approach a Problem |
09-24-21 | Commoditizing Your Complements in the Cloud Era |
09-23-21 | A Public Public Company |
09-22-21 | The Unbundling of the Software Developer |
09-21-21 | The Problems with "Cloud-Prem" |
09-20-21 | Thinking Like a Contrarian With Counter-Positioning |
09-19-21 | Remote Developer Environments are Cool Again (Kind of) |
09-18-21 | Laws of Software Evolution |
09-17-21 | Infrastructure as SQL |
09-16-21 | The Data Stack As a Snowflake |
09-15-21 | How to Calculate a CIDR |
09-14-21 | Email is Back in Vogue |
09-13-21 | Net Dollar Retention |
09-12-21 | Frustrations of Modern Development |
09-11-21 | Software Treadmills |
09-10-21 | The End of CI |
09-09-21 | Ten Things I Look For In a Code Review |
09-08-21 | The Mother of All Demos |
09-07-21 | As We Thought |
09-06-21 | The Rule of 40 |
09-05-21 | Tools as Code |
09-04-21 | Are Ideas Getting Harder to Find? |
09-03-21 | Product-Led Sales Efficiency at GitLab |
09-02-21 | Different Types of Software Containers |
09-01-21 | An Overview of Docker Desktop Alternatives |
08-31-21 | Your Integration Tests are Too Long |
08-30-21 | SaaS Isolation Patterns |
08-29-21 | Buying IPv4 Addresses |
08-28-21 | Words |
08-27-21 | The Clever Hans Effect |
08-26-21 | Incremental Compilation in Build Systems |
08-25-21 | The Map is Not The Territory |
08-24-21 | What Low-Code Lacks |
08-23-21 | Keep Your API Surface Small |
08-22-21 | Nine Circles of Dependency Hell |
08-21-21 | History of Silicon Valley: 1891-1956 |
08-20-21 | Potential Energy in Startups |
08-19-21 | Tracking Cyclomatic Complexity |
08-18-21 | Hire for slope, not Y-Intercept |
08-17-21 | One Month of Using GitHub Copilot |
08-16-21 | DRY Considered Harmful |
08-15-21 | Yak Shaving |
08-14-21 | Cheap and Expensive |
08-13-21 | Non-Consensus Right |
08-12-21 | Signaling Against Asymmetric Markets |
08-11-21 | Growing Your Open Source Project: Part 3 – Users |
08-10-21 | Growing Your Open Source Project: Part 2 – Community |
08-09-21 | Growing Your Open Source Project: Part 1 – Contributors |
08-08-21 | Service Reliability Math that Every Engineer Should Know |
08-07-21 | Coding Classical Latin |
08-06-21 | Confessions of an Internal Tool Builder |
08-05-21 | Unexpected Developer Trends |
08-04-21 | Real Options Valuation |
08-03-21 | Silence Dogood and the Ben Franklin Effect |
08-02-21 | Reflections on 10,000 Hours of Programming |
08-01-21 | Economics of Bundling and Unbundling |
07-31-21 | Limiting Steps |
07-30-21 | How Multiplayer Data Structures Work |
07-29-21 | Grok |
07-28-21 | Don't Break the Chain |
07-27-21 | Kubernetes Maximalism |
07-26-21 | How to Spot a Made Up Number |
07-25-21 | The IKEA Effect in Software Development |
07-24-21 | Why The Dow Jones is a Lousy Index |
07-23-21 | Functions as a Service |
07-22-21 | Orthogonal or Parallel Problems |
07-21-21 | Be Lazy |
07-20-21 | Open-Source and Firm-Specific Training |
07-19-21 | In Defense of the Jupyter Notebook |
07-18-21 | Code Poems |
07-17-21 | Ship Thesean Software |
07-16-21 | A History of 'Welcome, seriously' Ads |
07-15-21 | A Personal Internet |
07-14-21 | Everything is a Graph |
07-13-21 | The Potato Paradox |
07-12-21 | Package Managers and Developer Productivity |
07-11-21 | JEDI Mind Tricks |
07-10-21 | GitHub Copilot |
07-09-21 | Avoiding People at Work |
07-08-21 | Strange Loops |
07-07-21 | The Taste Gap |
07-06-21 | Dynamics of Switching Costs |
07-05-21 | High-Velocity Decision-Making |
07-04-21 | Makers of Patterns: Part 2 |
07-03-21 | Maker of Patterns: Part 1 |
07-02-21 | What is WebAssembly? |
07-01-21 | What is MicroSaaS? |
06-30-21 | Jevons Paradox and Software Efficiency |
06-29-21 | Steven P. Jobs and Pixar Employees Buy Pixar |
06-28-21 | Survivorship Bias |
06-27-21 | Code Transparency |
06-26-21 | Machine Learning Operations (MLOps), Convergent or Divergent? |
06-25-21 | Foundational Products |
06-24-21 | How Startups Grew by Platform Hacking |
06-23-21 | Live Programming |
06-22-21 | Reducing Errors in Decision-Making |
06-21-21 | First Principles |
06-20-21 | Platform Advantage: Velocity |
06-19-21 | The End of Per-node Pricing |
06-18-21 | Software Wants to be Simple |
06-17-21 | Observations of the Lindy Effect |
06-16-21 | Everything is a Browser |
06-15-21 | Declarative vs. Imperative |
06-14-21 | Diseconomies of Scale at Google |
06-13-21 | Asynchronous Communication |
06-12-21 | The Post-Modern Web |
06-11-21 | Why Developers Will Win the Creator Economy |
06-10-21 | Build a Team of Rivals |
06-09-21 | Comparative Advantage and Why PMs Shouldn't Write SQL Queries |
06-08-21 | The Case For XCode Cloud |
06-07-21 | Problem Solving Techniques from Math |
06-06-21 | Getting to Market With Rails |
06-05-21 | The Developer Economy |
06-04-21 | APIs Will Disrupt Rpa. This Is Obvious to Engineers. |
06-03-21 | Organic Cloud Infrastructure |
06-02-21 | Usage or Subscription Pricing |
06-01-21 | Docker Is a Compiler |
05-31-21 | Inorganic Growth at Zynga |
05-30-21 | A Mind at Play |
05-29-21 | What's Measured Gets Managed |
05-28-21 | Why Do Companies That Sell APIs Have Such Low Churn Rates? |
03-14-21 | ScapeNet: Real-time object detection in RuneScape |
02-03-21 | Docker Merge |
12-11-20 | Sales Calculus, Part 1: Scaling |
07-09-20 | Is Technology Making Us More Productive? |
07-08-20 | Virgo: a Graph-based Configuration Language |
07-05-20 | The Negative Operating Cycle |
02-26-19 | Reproducibility in Practice |
02-22-19 | 6 Open Source Licenses That You Shouldn't Use |
01-10-19 | An Alternative to the Dockerfile |
01-01-19 | The Heptagon of Configuration |
10-22-18 | Should Your Developers Work in the Cloud? |
10-11-18 | Fast Kubernetes Development with File Sync and Smart Rebuilds |
10-08-18 | Offline is a Feature, Not a Product |
10-06-18 | Unit Testing with the Kubernetes Client Library |