• Sep 1 2026 Bad code is kudzu
  • Aug 12 2026 Write for people
  • Jun 15 2026 Running local models is good now
  • May 28 2026 We should be more tired than the model
  • May 18 2026 Tagging my blog posts with BERTopic and LLMs
  • Apr 20 2026 Build yourself flowers
  • Apr 13 2026 Mechanical sympathy
  • Apr 6 2026 On Programming Joy and Octocat
  • Apr 5 2026 NASA Elements of Engineering Excellence
  • Mar 4 2026 Antidote
  • Feb 21 2026 Querying 3 billion vectors
  • Dec 22 2025 2025 in review
  • Oct 20 2025 I want to see the claw
  • Sep 9 2025 Walking around the app
  • Sep 1 2025 How big are our embeddings now and why?
  • Aug 8 2025 Enabling Hugo static site search with Lunr.js
  • Jul 16 2025 My favorite use-case for AI is writing logs
  • Mar 17 2025 20 years of YC
  • Jan 23 2025 You can just hack on ATProto
  • Jan 14 2025 How FastAPI path operations work
  • Jan 3 2025 Everything I did in 2024
  • Dec 16 2024 Write code with your Alphabet Radio on
  • Nov 9 2024 Why are we using LLMs as calculators?
  • Sep 19 2024 Dead Internet Souls
  • May 25 2024 Don't worry about LLMs
  • May 6 2024 We've been put in the vibe space
  • Apr 25 2024 How I search in 2024
  • Apr 16 2024 Redis is forked
  • Mar 13 2024 Both pyramids are white
  • Feb 28 2024 GGUF, the long way around
  • Jan 15 2024 What's new with ML in production
  • Jan 5 2024 Retro on Viberary
  • Dec 11 2023 Why if TYPE_CHECKING?
  • Sep 13 2023 Build and keep your context window
  • Jul 18 2023 What we don't talk about when we talk about building AI apps
  • Jun 29 2023 Naming things
  • Feb 26 2023 What should you use ChatGPT for?
  • Jan 17 2023 Welcome to the jungle, we got fun and frames
  • Jan 10 2023 What I did in 2022
  • Dec 22 2022 Everything I learned about accidentally running a successful tech conference
  • Dec 5 2022 The cloudy layers of modern-day programming
  • Nov 18 2022 Some notes on the Stable Diffusion safety filter
  • Nov 10 2022 How I learn machine learning
  • Sep 10 2022 On the team as a system
  • Jul 26 2022 How to prepare an AWS test image for PyTorch
  • Jul 25 2022 Looking back at two years at Automattic and Tumblr
  • Feb 21 2022 On owning a software problem
  • Jan 9 2022 Git, SQL, CLI
  • Jan 8 2022 Migrating to Hugo
  • Jan 2 2022 2021 Work Recap, or the conjoined triangles of success
  • Nov 7 2021 The programmer's brain in the lands of exploration and production
  • Oct 28 2021 Recsys 2021 Recap
  • Oct 10 2021 Doing small, fun projects
  • Sep 23 2021 Reaching MLE (machine learning enlightenment)
  • Aug 5 2021 The local minima of suckiness
  • Jul 17 2021 Writing for distributed teams
  • Jun 20 2021 The ritual of the deploy
  • Jun 6 2021 The humble hash aggregate
  • Mar 26 2021 The ghosts in the data
  • Jun 9 2020 Getting machine learning to production
  • Feb 25 2020 Securely storing configuration credentials in a Jupyter Notebook
  • Feb 18 2020 Lauching a Jupyter notebook from within a virtual environment
  • Sep 11 2019 How to make sure your question gets answered online
  • Jul 8 2019 A deep dive on Python type hints
  • May 10 2019 IT runs on Java 8
  • Apr 29 2019 Breaking down Apple's iOS Screen Time report
  • Apr 11 2019 The attic and the basement of apps
  • Feb 13 2019 Data science is different now
  • Feb 10 2019 Commit to your lock-in
  • Sep 24 2018 The Case of the Broken Lambda
  • Sep 8 2018 On Excel and developer productivity
  • Jul 23 2018 Good small datasets
  • Jul 2 2018 One month with the 2017 MacBook Pro
  • Mar 12 2018 It's still hard for beginners to get started with Python
  • Feb 19 2018 Building a Twitter art bot with Python, AWS, and socialist realism art
  • Jan 28 2018 Working with AWS
  • Dec 11 2017 Data ex machina
  • Oct 12 2017 Recent podcast and radio appearences
  • Sep 26 2017 Alice in Python projectland
  • Jul 20 2017 Should Spark have an API for R?
  • Jun 19 2017 So, you want to data science
  • Apr 20 2017 Setting up SQL for beginners is hard
  • Mar 20 2017 Should you replace Hadoop with your laptop?
  • Feb 22 2017 Being a woman in programming in the Soviet Union
  • Feb 1 2017 What should you think about when using Facebook?
  • Oct 6 2016 Strata 2016 and the rise of New Data
  • Aug 28 2016 How to parse emails with Python
  • Aug 24 2016 Walkthrough of Jupyter Lab Alpha
  • Aug 19 2016 My recent experiences using Azure ML
  • Jul 7 2016 Why doesn't MySQL have window functions?
  • Jul 4 2016 Data strategy in 2016
  • Jun 23 2016 How to keep up with the data industry today?
  • Apr 20 2016 Building presentations the hard way with reveal.js and Jupyter
  • Apr 9 2016 Learning tech by analogy
  • Apr 7 2016 Content is dead. Long live filler!
  • Mar 29 2016 Starting to dig inside Spark RDDs
  • Sep 9 2015 Let's work on the hard stuff
  • Aug 26 2015 How non-technical teams work together
  • Aug 24 2015 Generating fake Hacker News headlines with Python
  • Aug 4 2015 How large should your sample size be?
  • Jul 28 2015 Who is doing this to my internet?
  • Jul 8 2015 Cumulative totals three different ways in data science
  • Jun 15 2015 How many people are actually using your stuff?
  • Jun 9 2015 Really easy data concepts that get abused all the time
  • Jun 2 2015 Creating readable SQL.
  • Jun 1 2015 How to get into big data
  • May 31 2015 I'm not so sure about Tufte
  • May 30 2015 Man, do static sites suck.