For the past five years, I’ve been working at one of the best educational technology companies in the world: Duolingo. I want to start writing about the things I’m learning about educational technology and I needed a space to do so. So here it is. (You can get this in your email via Substack.)
August 25, 2025
Bytes, Books, and BikesJuly 16, 2025
What’s New with Notebook IndexMay 13, 2025
Introducing Notebook IndexApril 29, 2025
Robot Pull-Ups and the Age of AIApril 01, 2025
Better Off Dead than BoredFebruary 05, 2025
Tech Deserves Better than OKRsAugust 26, 2024
The Remains of the DayJuly 21, 2024
Connecting with Vanished WorldsJuly 02, 2024
This Is EnoughMay 15, 2024
Tolkien and the Post-Literate SocietyApril 29, 2024
The Buried EmpireApril 21, 2024
Partly Cloudy with a Chance of DarknessApril 15, 2024
El Squid RoeMarch 19, 2024
What What Was It Like Working for Facebook, 2012-2019March 06, 2024
What It's Like Working for DuolingoFebruary 26, 2024
That's All You Let Yourself RememberFebruary 19, 2024
Ladder Levels for LivingFebruary 12, 2024
All The FeelsFebruary 04, 2024
What will Machine Learning mean for programming jobs?January 23, 2024
A Failed WriterJanuary 16, 2024
The Best Decision I Ever MadeJanuary 10, 2024
Why I am Still a ProgrammerSeptember 04, 2023
Toolbar BugsAugust 21, 2023
NSTextAttachment in MacOS vs iOSAugust 13, 2023
Creating Menu Items with Checkmarks in SwiftUIJuly 31, 2023
What I've been learning: Summer 2023April 04, 2023
Let’s Make a BetMarch 22, 2023
Work-Life BalanceMarch 21, 2023
Goodbye, Kitsbow and DPReviewMarch 17, 2023
How and Why I Became a Morning PersonMarch 16, 2023
Rational IrrationalityMarch 07, 2023
More Adventures in AI Writing CoachesMarch 04, 2023
Quick UICollectionView compositional layout recipeMarch 01, 2023
SwiftUI and TabView heightFebruary 26, 2023
Ten Years of Bike CommutingFebruary 20, 2023
Today I Learned: RegexBuilderFebruary 19, 2023
From Impossible to InevitableJanuary 16, 2023
Rich text lists in UITextViewJanuary 06, 2023
First Impression: Readwise ReaderDecember 04, 2022
Loading and Saving in SwiftUINovember 28, 2022
What is Permanent Marker?November 23, 2022
An Ode to Personal Programming ProjectsAugust 30, 2022
SwiftUI Toolbar Bug Fixed!August 29, 2022
SwiftUI on the Mac: Bugs and WorkaroundsAugust 21, 2022
Mac Catalyst and UISplitViewControllerAugust 14, 2022
UIDocumentBrowserViewController on Mac CatalystJuly 23, 2022
Using Git from SwiftOctober 21, 2021
How and Why I use Library NotesAugust 21, 2021
KeyValueCRDTJune 28, 2021
Grail Diary's building blocksJune 23, 2021
Announcing TextMarkupKitMay 22, 2021
Random QuotesMay 12, 2021
Piece Tables: Building a Swift custom collection for text editingMay 09, 2021
What’s Happening with Grail DiaryApril 30, 2021
Grail Diary's new focus: Book notesApril 25, 2021
Happy 3rd Birthday, Grail Diary!April 24, 2021
<em>Ultralearning</em> Book ReviewApril 21, 2021
SwiftUI Performance, Part 2April 19, 2021
SwiftUI PerformanceApril 18, 2021
Educational Technology, Motivation, and Streaks