Recent Posts
Everything has a cost. Everything has a benefit.
A risk-return analysis of the software development lifecycle when software is abundant
It's Agents All the Way Down
Reflections on two weeks of transformational work at Delphos
You can just do stuff: Another chapter in the newsletter saga
Using OpenCode and GitHub Actions to automate newsletter delivery in MailerLite
The Knowledge Stack: Claude Cowork and the Future of AI Work
What writing a 100-page design doc in 3 days taught me about where AI-assisted knowledge work is headed
LLMs provide a general model for knowledge work
Applying best practices of agentic development to better understand the world
Case study: Creating a newsletter for this blog using Gemini
Documenting a somewhat realistic workflow as I update my blog.
Claude Code now runs in your IDE
It’s so over.
Effective Vibe Coding Runs on MCPs
If you want to get the most out of you AI development agent, you need to use MCPs.
What is Data Science in the Age of AI
Where we start exploring a thesis statement for this blog.
Some thoughts after a month of working on AI
It’s been one month since I left Google for an AI startup, which makes it a good time for some reflection.
Moving the development of this blog to devcontainers
The world has changed since I discussed building the site for the first time. Let’s get caught up!
Earlier writing (2014-2016)
R, statistics, and functional programming from a previous life.
-
An R translation of List out of Lambda — March 2016
-
Wait, how do you bootstrap? — January 2016
-
You see a Geyser. I see a Stochastic Process. — December 2015
-
Going Old School with the Spam Email Dataset — December 2015
-
How I Built this Site — November 2015
-
Experimenting with Lists and Hash Tables — October 2015
-
My old blog (The Empirical Turn) — September 2014