Page Inspect
Internal Links
859
External Links
3
Images
0
Headings
0
Page Content
Title:Irrational Exuberance
Description:
HTML Size:229 KB
Markdown Size:45 KB
Fetched At:November 17, 2025
Page Structure
Markdown Content
Irrational Exuberance
Irrational Exuberance
- Popular
- Tags
- Newsletter
- RSS
- About
*Crafting Engineering Strategy* is available now on O'Reilly and Amazon!
Hey folks, I’m Will Larson! I wrote *An Elegant Puzzle*, *Staff Engineer*, *The Engineering Executive’s Primer*, and *Crafting Engineering Strategy*. You might also be interested in my collection of popular blog posts over the years, or to read my writing as it’s published via my newsletter or my RSS feed.
⭐ "Good engineering management" is a fad October 26, 2025
Crafting Engineering Strategy! October 25, 2025
An agent to use Notion docs as prompts to comment on Notion docs. July 20, 2025
Commenting on Notion docs via OpenAI and Zapier. July 20, 2025
⭐ Moving from an orchestration-heavy to leadership-heavy management role. July 19, 2025
Advancing the industry, part two. July 18, 2025
What can agents actually do? July 6, 2025
What is the competitive advantage of authors in the age of LLMs? June 14, 2025
My desk setup in 2025. June 7, 2025
Stuff I learned at Carta. May 23, 2025
systems-mcp: generate systems models via LLM May 11, 2025
How to provide feedback on documents. May 11, 2025
Public company comparables. May 3, 2025
How to filter out old email from inbox May 3, 2025
How should Stripe deprecate APIs? (~2016) April 24, 2025
Systems model of API deprecation April 24, 2025
library-mcp: working with Markdown knowledge bases April 22, 2025
Refreshed StaffEng.com and a few other sites April 20, 2025
Why did Stripe build Sorbet? (~2017) April 17, 2025
How to get better at strategy? April 10, 2025
Wardley mapping the service orchestration ecosystem (2014). April 10, 2025
Script for consistent linking within book. April 6, 2025
How to resource Engineering-driven projects at Calm? (2020) April 3, 2025
Is this strategy any good? March 27, 2025
Steps to build an engineering strategy. March 27, 2025
Operational mechanisms for strategy. March 20, 2025
Career advice in 2025. March 15, 2025
Setting policy for strategy. March 13, 2025
Who gets to do strategy? March 6, 2025
How to integrate Stripe's acquisition of Index? (2018) February 27, 2025
Diagnosis in engineering strategy. February 22, 2025
Exploring for strategy. February 13, 2025
How should we control access to user data? February 7, 2025
Our own agents with their own tools. February 4, 2025
Is engineering strategy useful? January 30, 2025
"We're a product engineering company!" — Engineering strategy at Calm. January 23, 2025
Bridging theory and practice in engineering strategy. January 16, 2025
Uber's service migration strategy circa 2014. January 9, 2025
Service onboarding model for Uber (2014). January 9, 2025
Refining strategy with Wardley Mapping. January 2, 2025
How to effectively refine engineering strategy. December 28, 2024
Wardley mapping the LLM ecosystem. December 24, 2024
Wardley mapping of Gitlab Strategy. December 23, 2024
2024 in review. December 14, 2024
Measuring developer experience, benchmarks, and providing a theory of improvement. December 8, 2024
Rough notes on learning Wardley Mapping. November 30, 2024
Video of practice run of QCon SF 2024 talk on Principal Engineers. November 21, 2024
How to get more headcount. November 16, 2024
Navigating Private Equity ownership. November 11, 2024
Using systems modeling to refine strategy. November 4, 2024
⭐ Eng org seniority-mix model. October 27, 2024
Modeling driving onboarding. October 19, 2024
Modeling impact of LLMs on Developer Experience. October 6, 2024
Strategy testing: avoid the waterfall strategy trap with iterative refinement. September 25, 2024
Should we decompose our monolith? September 15, 2024
Executive translation. September 7, 2024
Video of Developing Eng Leadership Styles. September 7, 2024
Numbers go up. September 1, 2024
When to write strategy, and how much? August 25, 2024
Developing domain expertise: get your hands dirty. July 16, 2024
Physics and perception. June 29, 2024
⭐ How to create software quality. June 16, 2024
Video of Using LLMs in your product. June 14, 2024
No Wrong Doors. May 22, 2024
Making engineering strategies more readable May 18, 2024
How should you adopt LLMs? May 14, 2024
Load-bearing / Career-minded / Act Two rationales May 2, 2024
Constraints on giving feedback. April 29, 2024
Notes on how to use LLMs in your product. April 8, 2024
Ex-technology companies. March 22, 2024
Leadership requires taking some risk. March 17, 2024
Friction isn't velocity. March 15, 2024
More (self-)publishing thoughts. February 24, 2024
Digital release of Engineering Executive's Primer. February 7, 2024
Thesis on value accumulation in AI. January 31, 2024
High-Context Triad. January 24, 2024
⭐ Useful tradeoffs are multi-dimensional. January 24, 2024
Navigating ambiguity. January 19, 2024
⭐ Layers of context. January 15, 2024
Those five spare hours each week. January 14, 2024
Predictability. January 1, 2024
2023 in review. December 18, 2023
Notes on How Big Things Get Done December 15, 2023
⭐ Writers who operate. December 7, 2023
Advancing the industry. December 7, 2023
Notes on Enterprise Architecture as Strategy December 7, 2023
Create technical leverage: workflow improvements & product capabilities December 1, 2023
Navigators November 24, 2023
Notes on The Crux November 24, 2023
Engineering strategy notes. November 21, 2023
Notes on Technology Strategy Patterns November 20, 2023
Notes on The Software Engineer's Guidebook November 19, 2023
Notes on Tidy First? November 19, 2023
Notes on The Value Flywheel Effect November 18, 2023
Team Charters are a trap. November 12, 2023
A bit late, but I did leave Calm. November 12, 2023
Benchmarking. November 11, 2023
Getting lucky isn't a plan. November 11, 2023
Thoughts on writing and publishing Primer. November 3, 2023
Developing leadership styles October 22, 2023
Video of Solving the Eng Strategy crisis. October 21, 2023
Solving the Engineering Strategy crisis. September 23, 2023
Drafted Eng Executive's Primer! September 4, 2023
Performance & Compensation (for Eng Execs). September 3, 2023
The Engineering executive’s role in hiring. August 27, 2023
Manage your priorities and energy. August 3, 2023
Gelling your Engineering leadership team. July 11, 2023
Building personal and organizational prestige July 4, 2023
Playing with Streamlit and LLMs. June 19, 2023
Extract the kernel. May 27, 2023
Slides for Measuring an engineering organization. May 20, 2023
Good hypergrowth/curator manager. April 30, 2023
The Engineering Executive's Primer. April 27, 2023
Balancing your CEO, peers, and Engineering. April 20, 2023
Grab bag of random thoughts. April 17, 2023
Interviewing engineering executives. April 17, 2023
Poking around OpenAI. April 12, 2023
How to plan as an engineering executive. April 10, 2023
Who runs Engineering processes? April 3, 2023
Onboarding peer executives. March 27, 2023
⭐ Deciding to leave your (executive) job. March 20, 2023
Using cultural survey data. March 13, 2023
Running your engineering onboarding program. March 6, 2023
Engineering’s role in Mergers & Acquisitions. February 27, 2023
Building your executive network. February 21, 2023
ReadME contribution on reliability programs. February 16, 2023
⭐ Writing an engineering strategy. February 13, 2023
Better to micromanage than be disengaged. February 6, 2023
Culture vs systems. February 3, 2023
⭐ Setting engineering org values. January 30, 2023
Safe defaults. January 26, 2023
Internal comms for executives. January 23, 2023
What does it mean to be a cost center? January 20, 2023
Meetings for an effective eng organization. January 17, 2023
Mailbag: What should you do if you report to an underperforming executive? January 15, 2023
Trying Plausible. January 12, 2023
Getting a job as an engineering executive. January 8, 2023
Make an effective executive LinkedIn profile. January 8, 2023
How to capitalize engineering costs. January 5, 2023
Trying Tailscale. January 4, 2023
⭐ Measuring an engineering organization. January 2, 2023
A brief rant on converging compliance regimes. December 22, 2022
Lessons not worth learning. December 15, 2022
2022 in review. December 13, 2022
2019 - 2022 reading recap. December 12, 2022
When shouldn't you roll out business reviews? December 10, 2022
Company, team, self. November 30, 2022
Twitter. November 19, 2022
The flying wedge. November 13, 2022
Work hard / work smart. November 7, 2022
Time and energy. November 6, 2022
Mailbag: What isn't measurable? To hire as exec or not? October 21, 2022
Reminiscing: the retreat to comforting work. October 11, 2022
Fewer, happier incident heroes. October 8, 2022
One-on-ones with executives. September 6, 2022
'Drawing your three maps' exercise September 4, 2022
Bar raisers, hiring committees, and other complex ways to improve hiring quality. August 28, 2022
How to estimate disk space. July 8, 2022
⭐ Reading a Profit & Loss statement. July 6, 2022
Downturn career decisions. July 5, 2022
STAR method for interview questions. June 20, 2022
Career checkup template. June 5, 2022
Plagarism, idea theft, and writing online. May 21, 2022
Mailbag: Did I become a manager too soon? May 18, 2022
Moving the finish line. May 11, 2022
Your migration probably isn’t failing due to insufficient staffing. May 5, 2022
⭐ Founding Uber SRE. April 28, 2022
Platforms change but cool URIs don't. April 25, 2022
Interim assignments. April 23, 2022
Stuff I haven't written yet, but hopefully will someday (2022). April 22, 2022
Stripe's model of product-led, developer-centric growth. April 16, 2022
Mailbag: Resources for Engineering Directors. April 13, 2022
Generating a daily snapshot of Twitter Search results. April 7, 2022
Should you prioritize infrastructure costs? April 3, 2022
What is innovation? April 2, 2022
⭐ Hard to work with. March 17, 2022
Starting to write Infrastructure Engineering. March 9, 2022
⭐ Trunk and Branches Model for Scaling Infrastructure Organizations March 5, 2022
Getting started with git-scraping February 27, 2022
The impact of less scalable work. February 21, 2022
Mix and match mental models. January 15, 2022
Index of writing on hiring. January 9, 2022
Things I learned hiring a data science leader. December 30, 2021
Dipping toes in angel investing. December 30, 2021
Why not start an indie tech book publisher? December 27, 2021
⭐ Inspection and the limits of trust. December 18, 2021
Thesis on engineering onboarding products. December 4, 2021
2021 in review. November 23, 2021
The terminal level rulebook. November 17, 2021
Should you write a technical or management book? November 17, 2021
Notes on The Kool-Aid Factory's Planning Issue. October 24, 2021
How to find engineering leadership roles. October 16, 2021
⭐ How to safely think in systems. October 7, 2021
Learning about personal finances. September 11, 2021
Notes on hiring a Foundation Eng leader. September 9, 2021
Closing calls: tell the best version of the truth. August 26, 2021
Create capacity rather than capture it. August 17, 2021
Getting to yes: solving engineering manager hiring loops that reject every candidate. July 26, 2021
Pockets of rest enable careers. July 2, 2021
Can senior leaders make friends at work? June 7, 2021
An interlude. May 11, 2021
Mailbag: Should we just call them architects? March 26, 2021
RSS feed changing! Migrating blog in next few days. March 25, 2021
Mailbag: How to deal with unhappy users on your Internal platform? March 3, 2021
Measures of engineering impact. February 27, 2021
Digital gardening at Exuberant Sketches. February 25, 2021
Self-publishing Staff Engineer. February 17, 2021
Mailbag: Building alignment around a new strategy. February 16, 2021
Mailbag: How to encourage good documents rather than perfect documents? February 15, 2021
The curious case of the missing regretted attrition. February 9, 2021
Staff Engineer. February 5, 2021
Why not create a StaffEng Slack or Discord? February 1, 2021
⭐ How to be a tech influencer. January 30, 2021
How to present to executives. January 2, 2021
Early Edition of "Staff Engineer" coming Jan 31st. January 1, 2021
Pacing and isolating change. December 21, 2020
Tech Lead Management roles are a trap. December 18, 2020
Interesting work happens at the edges. December 17, 2020
2020 in review. December 10, 2020
Weak and strong team concepts. December 5, 2020
What do Staff engineers actually do? December 3, 2020
Managing Staff-plus engineers. November 27, 2020
⭐ Write five, then synthesize: good engineering strategy is boring. November 26, 2020
Mailbag: Advice for someone five years into their tech career? November 23, 2020
Notes on compliance tools. November 22, 2020
Interviewing for Staff-plus roles. November 20, 2020
Finding your Staff sponsor. November 19, 2020
My skepticism towards current developer meta-productivity tools. November 18, 2020
Renegotiating your first vendor contract. November 14, 2020
Speaking and podcasts in 2020. November 13, 2020
Engineering strategy every org should write. November 7, 2020
Surplus rules of engineering strategy. November 7, 2020
Care and feeding for your engineering strategy. November 7, 2020
Things that aren't engineering strategy. November 7, 2020
A survey of engineering strategies. November 7, 2020
Engineering strategy. November 5, 2020
Developer productivity surveys. October 18, 2020
⭐ Managing technical quality in a codebase. October 17, 2020
Finding the right company to reach Staff Engineer. October 8, 2020
Deciding to switch companies. October 1, 2020
TechWriters community. September 26, 2020
Being visible. September 24, 2020
Staff projects. September 17, 2020
⭐ Work on what matters. September 10, 2020
Using QR Codes in printed books. September 7, 2020
Build a network of peers. September 4, 2020
Performative leadership. August 23, 2020
The Grand Migration. August 13, 2020
Promotion pathologies. August 9, 2020
Staff promotion packets. August 8, 2020
The Saint-Exupéry of metrics. August 6, 2020
Some common hiring manager mistakes. August 2, 2020
Customizing screen and screenrc. July 26, 2020
Create space for others. July 26, 2020
Staff-plus interview processes. July 12, 2020
External office hours. July 7, 2020
Does the Staff title even matter? June 28, 2020
Where do Staff-plus engineers fit into the org? June 28, 2020
StaffEng Updates, June 2020 June 23, 2020
Stuff I've learned about Diversity, Equity and Inclusion over the past few years. June 20, 2020
How to practice backend engineering. June 20, 2020
Trapped in a Values Oasis. June 18, 2020
My career story. June 14, 2020
Mentoring from privilege. June 13, 2020
Ways I'm available to help. June 12, 2020
Black Lives Matter. May 30, 2020
To lead, you have to follow. May 25, 2020
The rush to "show value." May 5, 2020
April updates for StaffEng. April 23, 2020
Picking problems for programming interviews. April 19, 2020
Minding our stories. April 16, 2020
Testing Python projects for Google Cloud Run. April 11, 2020
Staff engineer archetypes. April 9, 2020
Poking around Contentful. April 5, 2020
Build versus buy. April 5, 2020
Staying aligned with authority. April 2, 2020
Getting in the room. March 28, 2020
Learn to never be wrong. March 21, 2020
How do folks reach Staff Engineer? March 19, 2020
Hotspotting developer productivity. March 17, 2020
vtt-compactor: slightly less verbose VTT files. March 7, 2020
Resources for Staff-plus engineers. March 7, 2020
From one to two: how to start a successful distributed engineering office. March 3, 2020
Interviewing senior engineering leaders. February 18, 2020
Mailbag: Evolving your engineer career beyond the career level. February 13, 2020
Crowdsourcing CTO/VPE learning circles. February 11, 2020
Do you work at a tech company? February 10, 2020
Share stories, not advice. February 4, 2020
How to partner with an executive assistant. January 28, 2020
Example Call For Proposals submissions. January 25, 2020
Joining Calm. January 21, 2020
Some rough notes on running learning circles. January 18, 2020
How to build your company's engineering brand. January 16, 2020
More great memos. January 14, 2020
⭐ Your first 90 days as CTO or VP Engineering. January 13, 2020
How to navigate and/or survive your acquihire. January 2, 2020
⭐ How the Digg team was acquihired. January 1, 2020
2019 in review. December 26, 2019
"Good Process is Evolved, Not Designed" in 97 Things Every Engineering Manager Should Know December 20, 2019
Incident response, programs and you(r startup). December 19, 2019
Mailbag: When your team wants your job, personal brand, and service registries. December 9, 2019
Maintaining platform-product fit. November 25, 2019
"How to successfully design organizational processes" November 23, 2019
"Do engineering managers need to be technical?" in Increment. November 22, 2019
Expanding on S\[a-z\]{3,} Reliability Engineer roles. November 18, 2019
Notes on Building Evolutionary Architectures. November 15, 2019
You only learn when you reflect. November 14, 2019
Distributing your Slack application. November 11, 2019
Using Cloud Firestore to power a Slack app. November 10, 2019
Make Slack app respond to reacji. November 9, 2019
Adding App Home to Slack app in Python. November 8, 2019
Creating a Slack App in Python on GCP. November 6, 2019
HMAC SHA256 signatures in Python and Flask. November 6, 2019
Forecasting synthetic metrics. November 5, 2019
Sending weekly 5-15 updates. November 3, 2019
"Investing in technical infrastructure" October 31, 2019
Healthchecks at scale. October 27, 2019
An Elegant Puzzle by the numbers, five months later. October 23, 2019
Founding Monocle Studios. October 22, 2019
Nobody cares about quality. October 12, 2019
⭐ A forty-year career. October 8, 2019
Notes on data modeling from Handbook of Relational Database Design. September 13, 2019
Organizing team offsites. September 8, 2019
Rewriting the Yahoo! BOSS Datahub. August 31, 2019
Describing fault domains. August 17, 2019
Distributed systems vocabulary. August 11, 2019
⭐ Reclaim unreasonable software. July 28, 2019
What's the inverse of literate programming. July 14, 2019
Head in the clouds. July 7, 2019
Don't follow the sun. July 3, 2019
Notes on Escaping the Build Trap June 30, 2019
Fostering program engagement. June 26, 2019
Programs: tips for owning the unownable. June 25, 2019
Some career advice. June 22, 2019
Running systems library as Cloud Function. June 16, 2019
Path to engineering manager of managers. June 15, 2019
An Elegant Puzzle @ Software Engineering Daily June 14, 2019
What I learned writing a book. June 8, 2019
Privilege's upward-facing window. June 1, 2019
Elegant Puzzle press, reviews and podcasts. May 29, 2019
An Elegant Puzzle is released today! May 28, 2019
Make timeline tradeoffs using iterative elimination tournaments. May 25, 2019
⭐ How to invest in technical infrastructure. May 19, 2019
Can governments design great APIs? Let's hope so. May 12, 2019
An Elegant Puzzle is available for pre-order. April 25, 2019
To innovate, first deprecate. April 7, 2019
⭐ Magnitudes of exploration. April 6, 2019
An Elegant Puzzle coming in late May. April 1, 2019
Fire fixation. March 23, 2019
Rules of thumb for org design. March 17, 2019
⭐ How to evolve an engineering organization. March 5, 2019
Paying the predictability tax. February 24, 2019
Valuing already-solved problems. February 23, 2019
⭐ Why limiting work-in-progress works. February 17, 2019
Binder for hosting Jupyter notebooks. February 10, 2019
Writing a reliability strategy: reason about complex things with system models. February 9, 2019
Notes on Soul of a New Machine, Messy Middle, Crazy at Work, Company of One. February 2, 2019
Growing with your company's complexity. January 29, 2019
Meeting people. January 26, 2019
An Elegant Puzzle: Systems of Eng Management. January 22, 2019
Newsletter for Irrational Exuberance. January 20, 2019
⭐ Metrics for the unmeasurable. January 19, 2019
Some delightful developer experiences in 2019. January 7, 2019
Good process is evolved, not designed. January 1, 2019
Defining policy, process and programs. December 30, 2018
Notes on Structure and Interpretation of Computer Programs. December 29, 2018
2018 in review. December 27, 2018
"Paying Technical Debt at Scale - Migrations" December 13, 2018
⭐ Infrastructure planning: users, baselines and timeframes. December 9, 2018
Notes on The Timeless Way of Building November 24, 2018
Quick tutorial on using GraphQL with Python. November 18, 2018
Headcount dilemmas. November 15, 2018
Speaking at QCon SF 2018 about migrations. November 5, 2018
Talent distributions. November 4, 2018
Landing in the JET Program. October 15, 2018
Capturing resources. October 14, 2018
Quick blogging update for October 2018 October 13, 2018
Notes on The Pyramid Principle. October 1, 2018
System dynamics in a jupyter notebook. September 30, 2018
Career narratives. September 26, 2018
Saying no. September 23, 2018
⭐ Work the policy, not the exceptions. September 23, 2018
Modeling a hiring funnel with Systems library. September 18, 2018
Introduction to systems thinking. September 4, 2018
Notes on A Philosophy of Software Design. September 3, 2018
Designing interview loops. September 2, 2018
Communities of learning. September 1, 2018
Time management: the leadership meta-problem. August 27, 2018
Problem exploration, selection and validation. August 20, 2018
Introducing SREs, TPMs and other specialized roles. August 13, 2018
Career levels, designation momentum, etc. August 11, 2018
Designations, levels and calibrations. August 10, 2018
Make your peers your first team. August 8, 2018
Digg v4 @ Internet History Podcast August 6, 2018
Presenting to executives. August 6, 2018
Your hiring funnel. August 1, 2018
Scaling technical consistency. July 30, 2018
Book recommendations. July 24, 2018
Succession planning. July 23, 2018
Identify your controls. July 21, 2018
Opportunity & Membership. July 17, 2018
Service cookbooks. July 15, 2018
⭐ Sizing engineering teams. July 14, 2018
Selecting project leads. July 12, 2018
Writing strategies and visions. July 9, 2018
Braindump on approach to writing a technical book. July 8, 2018
Guiding broad change with metrics. July 6, 2018
Goals and baselines. July 5, 2018
⭐ Digg's v4 launch: an optimism born of necessity. July 2, 2018
My rails for engineering leadership. July 1, 2018
Accelerate's definition of developer productivity. June 27, 2018
The briefest of media trainings. June 24, 2018
A case against top-down global optimization. June 23, 2018
Infrastructure migrations @ Interestings June 22, 2018
⭐ Staying on the path to high performing teams. June 17, 2018
Where to stash your organizational risk? June 13, 2018
Experiment with distributed finite state machines. June 2, 2018
You can't reason about big balls of mud. May 23, 2018
Consider the team you have for senior positions. May 19, 2018
Setting organizational direction. May 9, 2018
Model, document and share. April 26, 2018
⭐ Migrations: the sole scalable fix to tech debt. April 15, 2018
Reflections on the Systems & Papers. April 14, 2018
The Redis Protocol is pretty great. April 10, 2018
⭐ Some of my favorite technical papers. April 7, 2018
Close out, solve or delegate. March 29, 2018
Managing in the growth plates. March 21, 2018
Infrastructure engineering @ Inside Intercom March 20, 2018
Notes from "Good Strategy, Bad Strategy." March 1, 2018
How I write group emails at work. February 17, 2018
Refactoring Ruby programmatically. February 13, 2018
Seth Godin's The Dip. February 11, 2018
⭐ Product management in infrastructure eng. February 6, 2018
Global secondary indexes. January 30, 2018
Experimenting with content and distribution. January 27, 2018
Inclusion in the first shift. January 23, 2018
Vulnerability. January 20, 2018
The physics of Cloud expansion. January 16, 2018
Async processing with sync semantics? January 15, 2018
⭐ Cold sourcing: hire someone you don't know. January 8, 2018
Roles over rocket ships, and why hypergrowth is a weak predictor of personal growth. January 2, 2018
Engineering management stuff I learned in 2017. December 29, 2017
Analyzing cross-service requests with Apache Beam. November 26, 2017
From lambda to kappa and dataflow paradigms. November 22, 2017
Tools for operating a growing organization. November 18, 2017
Sketching out failure injection on Kubernetes. May 20, 2017
Simple Continuous Deployment on GKE with gke\_ci May 18, 2017
Trying out Google Container Engine May 14, 2017
Providing pierceable abstractions. May 7, 2017
Options for orchestrating periodic tasks. April 30, 2017
Increment has launched. April 13, 2017
Notes from fifth blog rewrite April 2, 2017
Running an engineering reorg March 17, 2017
Partnering with your manager March 13, 2017
Technology Inheritance March 7, 2017
Infrastructure between cost center and ego trip March 5, 2017
Ways Engineering Managers Get Stuck March 3, 2017
Braindump on Load Generation December 18, 2016
Finding Managerial Scope October 31, 2016
Usable QA Environments October 24, 2016
Serverless: Gatekeeping and Profit Margins October 16, 2016
⭐ Productivity in the age of hypergrowth. October 10, 2016
You Should Take More Vacation October 1, 2016
Acing Your Architecture Interview September 27, 2016
Fail Open and Layer Policy September 20, 2016
Thoughts on Envoy's Design September 18, 2016
QoS, Cost & Quotas September 11, 2016
Running a Humane Interview Process June 9, 2016
Healing a Burned Out Team May 29, 2016
Wherein I Rewrite My Blog a Fifth Time May 20, 2016
Your Philosophy of Management May 7, 2016
Adding Value as an Engineering Manager September 26, 2015
Developing service oriented architectures. June 1, 2014
Building a Software Deployment Pipeline March 30, 2014
Irrational Exuberance's Fourth Coming March 24, 2014
Company Culture and Managing Freedoms February 9, 2014
War Card Game in Python December 2, 2012
Reflection on RethinkDB December 2, 2012
Kill Your Heroes, Stop Doing it Harder November 25, 2012
Configuration Driven Behavior November 25, 2012
Extraction: Get Metadata from HTML Documents November 23, 2012
Social Hierarchies in Engineering Organizations November 4, 2012
Creating Multi-Worksheet Excel Docs with xlwt November 4, 2012
Building Technical Leverage November 4, 2012
Hosting a Paper Reading Group October 28, 2012
Why Pagination Was Hard at Digg August 25, 2012
Slack and Hope for Middle Management August 25, 2012
Digg v4's Architecture and Development Processes August 19, 2012
Writing, Analytics and Analysis April 10, 2011
Storing Bounded Timeboxes in Redis April 7, 2011
Using Flot.js with the Digg Streaming API April 6, 2011
⭐ Introduction to architecting systems for scale. April 4, 2011
How to Filter Bots From Analytics April 3, 2011
Don't Make Me Defend Your Claims March 30, 2011
IE's New Infrastructure and Writing Workflow March 28, 2011
Irrational Exuberance's Third Rebirth March 27, 2011
Articles and Series March 27, 2011
Coding Projects March 27, 2011
Being Defensive January 22, 2011
Python Default Parameter Value Gotchas September 11, 2010
Python Datastructures Backed by Redis September 5, 2010
DjangoDash and Drinkfindr September 4, 2010
Time to Load Redis Snapshots August 23, 2010
Notes on Redis Memory Usage August 22, 2010
SuperFamily Relationships with Lazyboy May 23, 2010
Tailing in Python May 16, 2010
Callbacks Are An Informal Pipeline March 7, 2010
Porting Django's urlpatterns to Node.js March 6, 2010
Retiring and Releasing Codernote.com February 20, 2010
The Day I Broke Production February 14, 2010
Looking For a New Agenda February 7, 2010
Log Collection Server with Node.js January 30, 2010
Debugging Crashes With Small Scripts January 23, 2010
A Python-Markdown Extension for Embedding Graphviz January 16, 2010
Formatting Multipart Formdata in Erlang January 10, 2010
A Photo Album with Python and PIL January 4, 2010
Refactoring & Testing Our Dynamo Clone January 2, 2010
Quick Notes for Starting 2010 January 1, 2010
Crash on Compiling App With MKMapView December 31, 2009
Nagios Monitoring for Erlang December 30, 2009
Replicating receive-after in an Erlang gen\_server December 13, 2009
Durable Writes & Consistent Reads November 30, 2009
Hands On Review of the Dynamo Paper November 30, 2009
Recurring Events and Message Passing November 25, 2009
Scalable Scraping in Clojure November 24, 2009
A Couple of Clojure Agent Examples November 22, 2009
Writing Files in Clojure November 16, 2009
Reading Files in Clojure November 15, 2009
Setting Up TLA+ Tools on OS X October 31, 2009
Comments on "Why Engineers Should Consider Formal Methods" October 20, 2009
Money or Meaning: Spending Our Wealth of Time October 11, 2009
Cleaning up erlang\_markdown October 10, 2009
A Failed Stack-based Markdown Interpreter September 27, 2009
Proposal for Authenticating Web Callbacks September 20, 2009
Generating RSS feeds via BeepBeep September 20, 2009
How Pitance Versions Documents in CouchDB September 17, 2009
Erlang Brush for SyntaxHighlighter September 15, 2009
Pitance: Template and Snippet Infrastructure September 13, 2009
Load Balancing Across Erlang Process Groups September 12, 2009
Changing Mimetypes for Text Responses in BeepBeep September 3, 2009
Paper Review of "Hints On Computer System Design" August 21, 2009
Paper Review of "A Transaction Model" August 18, 2009
Success and Dancing Shoes July 31, 2009
Several Approaches to Versioning Files in PHP July 28, 2009
Distinguishing Strings from Lists in Erlang July 24, 2009
Freebase Hackday and Image Game July 12, 2009
BeepBeep, CouchDB and a Trivial Blog July 9, 2009
Using Ajax with the BeepBeep Microframework July 6, 2009
Getting Started With BeepBeep July 5, 2009
What Do Django People Search About? June 17, 2009
YUI Dialogs, IE z-index and Tragedy June 16, 2009
Feedback Loops in Software Development June 1, 2009
Recycling Hacker Fear-Mongering May 31, 2009
Skew, The Frontend Engineer's Misery April 28, 2009
OS X Textfield Encoding (maybe) Issue April 1, 2009
Findjango Redesign & Slides for django-nyc March 25, 2009
How To Remotely Admin Servers Via Twitter March 22, 2009
Findjango, A Week of Progress March 16, 2009
Making Django Apps Run On and Off GAE March 10, 2009
Technical Debt and Peanut Butter Jars March 10, 2009
Findjango: A Django Search Vertical March 9, 2009
Solango and Tomcat 6 on Ubuntu Intrepid March 6, 2009
Simplified django-springsteen Deploy on GAE March 5, 2009
Deploying django-springsteen on Google App Engine March 5, 2009
Reranking Results in django-springsteen February 26, 2009
django-springsteen and Distributed Search February 25, 2009
Leaving DreamHost February 23, 2009
Depicting Human Relationships February 21, 2009
Smaller Header, JobSyndicate, Printable Articles February 19, 2009
Measuring Single and Multi Server Performance February 18, 2009
Rewriting Parameterized URLs with Nginx February 16, 2009
Overview of Single vs. Multi Server Architecture February 16, 2009
When psycopg2 Can't Import tz February 13, 2009
The Django and Ubuntu Intrepid Almanac February 13, 2009
Visually Representing Word Structures February 10, 2009
Using Threadpools in Python February 10, 2009
Setting up CouchDB-Lucene on OS X February 6, 2009
We're All Sinners and Cosiners February 6, 2009
Circle and Line Diaspora February 5, 2009
Spiral and Square February 5, 2009
Visualizing Keyterms with BOSS and Processing February 4, 2009
Cull Lingering Erlang Heart Processes February 4, 2009
Hard and Soft, Fluffy and Brittle February 3, 2009
Simple Unittesting in PHP February 1, 2009
Stripping Illegal Characters from XML in Python January 25, 2009
Huge CSV and XML Files in Python January 22, 2009
A Filter to Display Neighbors in a List January 20, 2009
Genetic Programming: A Novel Failure January 19, 2009
⭐ Genetic algorithms: cool name & damn simple. January 2, 2009
Moving Into 2009 January 2, 2009
Django-Portfolio: Organize and Display Projects December 29, 2008
The Subtle Joys of Generic Methods December 11, 2008
A Command Line Tool for Loading CouchDB Documents December 9, 2008
Full-Text Search in CouchDB Using... CouchDB December 8, 2008
Blogging as People December 6, 2008
Intro to HTTP::Server::Simple::CGI December 5, 2008
Finally Waving The White Flag to Objective-C 2.0 December 4, 2008
Fixing What Ails LifeFlow December 3, 2008
Prevent Cron Cancer With a File-based Mutex December 3, 2008
Parallel HTTP Requests in Python December 2, 2008
Reading XML Files on the iPhone November 30, 2008
A Different Approach to local\_settings.py November 28, 2008
XML::Twig for Large XML Files in Perl November 20, 2008
Slides from django-nyc on 11/18/2008 November 19, 2008
Python-Brightkite for... you get the idea November 16, 2008
Introducing a Tutorial and touchDefense November 11, 2008
The Blogging Hypochondriac November 8, 2008
The Fate of Pop and Hip-Hop in 2008 November 7, 2008
XML::Simple for Non-Perlers November 7, 2008
You Only Learn the First Time November 6, 2008
Bad Ideas and Regular Expressions in Templates November 5, 2008
Deploying Django with Fabric November 4, 2008
Development to Deployment in Django November 3, 2008
Creating Slideshows with Cocos2d iPhone October 29, 2008
Customize site style by user with django-userskins October 27, 2008
User Registration Apps for Django October 25, 2008
Releasing Kappa Source (PyObjC Twitter Client) October 23, 2008
Advice to Programmers in College October 22, 2008
Touch Detection in Cocos2d iPhone October 20, 2008
Being a Local Maximum October 19, 2008
HSS and YUI Compressor in AYM CMS October 19, 2008
R.I.P. Your Resume Site to Awesome October 18, 2008
Taming AuditTrail Proliferation October 16, 2008
Releasing Source for Mahou October 16, 2008
Choosing Between AuditTrail and Django-Rcsfield October 15, 2008
Setting Up Django-Rcsfield October 15, 2008
Restricting User Signups in Django October 12, 2008
Failing a Contract October 11, 2008
The Magical Source of YUI Get's Power October 3, 2008
Notes on Cocos2d iPhone Development October 3, 2008
Suffer Less By Using Django Dev Server as a Proxy September 30, 2008
Writing for Consumption September 29, 2008
Starting Again, Keeping It Simple September 27, 2008
As-You-Type Slug Uniqueness Validation September 26, 2008
Layers of Authentication September 25, 2008
Custom Django Views for Happier Ajax September 24, 2008
Using Automator to Scale Images Horizontally September 22, 2008
Redesign of Lethain.com September 21, 2008
Intro to Unintrusive JavaScript with Django September 21, 2008
A One-Stop AYM CMS Solution September 17, 2008
Making Static Dynamic Again; AYM CMS September 15, 2008
Intricate Static Websites With Django Templates September 15, 2008
Sparklines.js Port to Python September 13, 2008
Yes, You Do Care About Cappuccino September 12, 2008
Extending Mahou; Gotchas and Snippets September 12, 2008
Extracting Data From Google Analytics Reports September 11, 2008
Extending Classes in Cappuccino September 7, 2008
Writing Mahou; a Cappuccino Image Search September 6, 2008
Startups and Assembly Lines September 5, 2008
Migrating the 'This Week in Django' Concept September 5, 2008
Poor Wireless Connectivity for MacBook September 4, 2008
Naming and Casing Convention in PyObjC September 4, 2008
Introducing Kappa, a Twitter Client September 3, 2008
I Live in New Jersey September 1, 2008
Dynamic Ad Targeting With django-monetize August 29, 2008
Transcending Search-as-You-Type Stickiness August 29, 2008
Epic PyObjC, Part 5: Resources and Farewell August 27, 2008
Epic PyObjc, Part 4: Drag & Drop, Multiple Nibs August 26, 2008
Epic PyObjC, Part 3: Browsing, Caching, Indicating August 25, 2008
Epic PyObjC, Part 2: Adding a Library & Bindings August 24, 2008
⭐ An Epic Introduction to PyObjC and Cocoa August 22, 2008
Writing to Application Support in PyObjC August 22, 2008
Writing Titles Under Ninety-Five Characters August 20, 2008
Deleting From NSOutlineView With the Delete Key August 20, 2008
How to Use Selectors in PyObjC August 19, 2008
An Introduction to Using CouchDB with Django August 18, 2008
Global Popularity of Programming Languages August 14, 2008
An Introduction to Compassionate Screen Scraping August 10, 2008
A Syntax Coloring Template Filter for Django August 9, 2008
A Year Later, Home From Japan August 9, 2008
Python Content Scraper for OneManga.com August 8, 2008
Reading "The Nudist on the Late Shift" in 2008 August 7, 2008
Cocoa Drag and Drop text into the Dock Icon August 6, 2008
How to Write a Wrapper Library August 4, 2008
BossArray for list-like Yahoo search results July 28, 2008
Replacing Django's ORM with SQLAlchemy July 23, 2008
Replacing Django's Template Language With Jinja2 July 22, 2008
An Introduction to Django's Loose Coupling July 22, 2008
Reflections on a Year of Blogging and Japan July 21, 2008
小学校と教える授業の最後の日 July 18, 2008
Last Day of Elementary School and Classes July 18, 2008
Stripping Reddit From HackerNews With BOSS Mashup July 12, 2008
Polishing Up Our Django & BOSS Search Service July 12, 2008
Search Recipes for Yahoo's BOSS in Python July 11, 2008
Yahoo's Build your Own Search Service in Django July 10, 2008
Release of LifeFlow 0.91 July 7, 2008
Advice for ALTs Considering a Second Year July 7, 2008
A Thursday: Elementary School July 2, 2008
An Introduction to a Week in Japan July 2, 2008
ReST, Textile and HTML in Markdown July 1, 2008
Updates to Sparklines.js June 30, 2008
Sparklines in Javascript With Sparklines.js June 26, 2008
JSON, Object Oriented Views, and Starting a Real App June 22, 2008
Ambush Code Review Learns Code Diffs June 18, 2008
Overview of Using Django on the Google App Engine June 17, 2008
A Sunday Project: Ambush Code Review June 16, 2008
Up to Speed June 15, 2008
A Django Anti-Pattern, Rolling Your Own REST June 13, 2008
Minimalism June 11, 2008
Working on LifeFlow's Public Face June 11, 2008
Release of LifeFlow Version 0.90 June 10, 2008
Deployment Scripts With BeautifulSoup June 9, 2008
Processed Tower Defense 1.0 June 9, 2008
Things I'll Miss in Japan June 8, 2008
Strangest JavaScript Bug I've Ever Seen June 6, 2008
Looking for Recycling's Lost Sex Appeal June 3, 2008
Updates to Processed Tower Defense May 28, 2008
May in Review May 27, 2008
Processing.jsの使い方 May 26, 2008
Spoken Languages, Blub, and Convenience May 25, 2008
Music From the iTunes Store, 1 May 21, 2008
Improvements to LifeFlow Editor May 21, 2008
Updating Processing.js Graphics via Ajax May 20, 2008
Design of Processed Tower Defense May 18, 2008
Three Processing.js Examples May 14, 2008
Using Javascript to Control Processing May 11, 2008
Getting Started with Processing.js May 10, 2008
Our Yellow Woods, and a Story May 7, 2008
Writing Join in Erlang May 4, 2008
Photographing Japan May 4, 2008
A Picture of a Couple May 3, 2008
Spring Haiku and Tanka May 3, 2008
Thoughts on Dating Erlang April 30, 2008
Haiku for an April April 20, 2008
Designing Elesma April 13, 2008
A Week In The Job April 12, 2008
Failed Night Time Pictures of Sakura Blossoms April 5, 2008
A Brief Winter Hike April 5, 2008
Opening Files With Associated App in Cocoa April 5, 2008
Tip Your Hat To Accessors And Mutators March 12, 2008
Handling Files With CoreData March 12, 2008
Catching Up On Some Thoughts March 10, 2008
Tools, Languages, and Squeak March 1, 2008
Quick Reflections on JET in Haiku February 27, 2008
Assigning One To Many Relationships in CoreData February 24, 2008
Spring Doesn't Come in February, But Snow Does February 24, 2008
On Writing February 19, 2008
Filtering Arrays in Objective C February 15, 2008
Teaching Elementary Classes as an ALT February 14, 2008
My First Sickday in Japan February 13, 2008
Midnight Philosophy in The Garden of Good and Evil February 12, 2008
Seeking Some Music I Can't Find February 11, 2008
Some Biased Analysis of Music Videos February 4, 2008
Using Our Own Software February 4, 2008
Using Optional Parameters in Django Urls February 4, 2008
Technical Aspects of the Life Flow Editor February 3, 2008
Introducting the LifeFlow Editor February 3, 2008
Why Was The Syllabus Born? January 28, 2008
On Hegemony and an Anti-Capitalist Bias in European Textbooks January 26, 2008
Hot Water Is Broken January 26, 2008
5\. A Chartered Bus to Downtown Tokyo January 25, 2008
Standard Workflow for Publishing With LifeFlow January 24, 2008
Replacing the Karma Social Model with Whuffie January 22, 2008
Catching Lessons From Spam January 22, 2008
Translating Entries into Other Languages with LifeFlow January 22, 2008
A Historical Perspective on the JET Program in 2008 January 22, 2008
On The Causes and Cures of Malware January 21, 2008
Failures of Proactive Communication & Other Generic Complaints January 20, 2008
かかった年と新しい年の取り返し January 19, 2008
生きて変わる January 19, 2008
Opinionated Programming Languages, The Huddled Masses, and Elitism January 19, 2008
Lesson Plan: My Winter Vacation January 16, 2008
New Style for Including Resources in Entries on LifeFlow January 15, 2008
Adding Arbitrary Mods to LifeFlow January 15, 2008
Changes from Living January 13, 2008
Introduction to Kamioka-cho, Hida-shi, Gifu-ken, Japan January 10, 2008
Odors from Shoes Curious in OS X 10.4 January 10, 2008
Driving on the Left Side January 9, 2008
Don't Repeat Yourself for Bloggers: Dynamic Blog Context in LifeFlow January 9, 2008
Cleanly Extending Python Markdown with Syntax Highlighting January 9, 2008
Update to Lethain.com January 7, 2008
Customizing LifeFlow Quickly with Skins January 7, 2008
Installing a Development Deployment of LifeFlow, a Django Blog Solution January 7, 2008
Reflections on the old year, and the new one January 6, 2008
BluePrint CSS makes LifeFlow look better, and easier to customize January 6, 2008
Music Recommendations & Snow Pictures January 5, 2008
Implementing Threaded Comments in LifeFlow January 4, 2008
Visiting Kiyomizudera January 3, 2008
Status Update for LifeFlow January 3, 2008
Accolades for Pygments 0.9 January 3, 2008
Actors in Common Lisp January 3, 2008
Packaging of Renu Contact Solution January 1, 2008
Miyajima and Hiroshima December 29, 2007
Designing My Future Home December 29, 2007
Another Breakfast With You December 29, 2007
Another Slight Mistake... December 27, 2007
Merry Christmas 2007 December 24, 2007
Moving Writings to Separate Flow December 24, 2007
Two-Faced Django Part 7: PyFacebook and FBJS Ajax December 17, 2007
Upgrading from 256 to 512 megs of ram December 16, 2007
Two-Faced Django: Live install December 16, 2007
Two-Faced-Django Part 6: PyFacebook December 12, 2007
Two-Faced Django Part 5: JQuery Ajax December 11, 2007
4\. Airplanes December 9, 2007
Two-Faced Django Part 4: The Webapp December 9, 2007
Two-Faced Django Part 3: Newforms December 4, 2007
Two-Faced Django Part 2: Models and Django Testing December 4, 2007
Two-Faced Django Part 1: Building a project that exists simultaniously on Facebook and the web December 4, 2007
3\. Shuttle Busses December 2, 2007
On Education, Self-Responsibility and Manure December 2, 2007
2\. Traffic Jams December 1, 2007
1\. Beginnings December 1, 2007
0\. Introduction December 1, 2007
Using JQuery with Django for Autocomplete Fields November 30, 2007
Using PyFacebook without the Facebook middleware November 30, 2007
Human Error November 24, 2007
"You Are Beautiful At All Times" by Yppah November 5, 2007
Context is a Parameter in Calculating Truth November 5, 2007
Those Annoying Habits November 5, 2007
Defining Your Web Aesthetic October 24, 2007
Introducing my Japanese Kitchen October 21, 2007
Hiking Tengaisan October 21, 2007
Reliable Mealtime Friends October 20, 2007
Grocery Shopping in Japan October 19, 2007
Getting Cold in Kamioka October 18, 2007
Teaching Adult English Classes October 18, 2007
Getting started with Shoes on OS X October 15, 2007
Expectations and Reality for the lowly ALT October 14, 2007
FAQ about JET October 13, 2007
A Few Quick Updates to Site October 12, 2007
Back in Action October 10, 2007
Eating Cornflakes August 20, 2007
Leaving Tokyo, Arriving in Kamioka August 20, 2007
From America into an American Bubble: The Flight to Japan August 9, 2007
JET Pre-Departure Orientation July 29, 2007
Picture from Hotel Room July 29, 2007
Heading toward Atlanta July 26, 2007
Applying to the JET Programme July 19, 2007
Failure of Implicit Conventions: Determining Function Destructiveness July 18, 2007
"Building Scalable Web Sites" by Cal Henderson July 17, 2007
Dreamier Dream Server with Nginx July 17, 2007
Apache/Lighttpd Confusion July 17, 2007
Adding Social Bookmarking To a Django App July 14, 2007
Syntax Highlighting with MarkDown, and a pinch of Automagick for Django July 14, 2007
Music Video? Movie? The 'Once' Dilemma July 14, 2007
Extracting Models From Django Datadump July 13, 2007
Creating my Dream Server for Django July 13, 2007
New Look for LifeFlow, Deployment on Dreamhost July 12, 2007
"Puddle City Racing Lights" by Windmill July 12, 2007
YouTube Scalability July 8, 2007
Stability Issues July 5, 2007
How to Migrate Data Across Model Changes July 1, 2007
Writing Custom Contexts for Django July 1, 2007
Examining Web Analytics to Implement (repost) June 21, 2007
A Django Middleware for Google Analytics (repost) June 14, 2007
Anti-Objects and Reflexive Decisions (repost) June 7, 2007
A Comp. Sci Degree is What You Make Of It (repost) June 5, 2007
Is the JVM the "next assembly"? I hope not. (repost) June 4, 2007
Good to Great, Paul Graham and Ayn Rand (repost) June 1, 2007
Reflections on Django (repost) June 1, 2007
Finding Our Programming Flow (repost) April 7, 2007
© Will Larson 2025 Tags Newsletter RSS About