Published on 6/3/25
Harper is currently undergoing some pretty radical changes when it comes to its language analysis. These improvements will improve the output of our existing rule engine, in addition to making entirely new corrections possible.
Published on 5/19/25
After receiving some feedback related to the suggestion box’s visual unpleasantness and difficulty to understand intuitively, I’ve started making some modifications. Nothing drastic—I don’t want to confuse existing users.
Published on 5/19/25
SpellBolt is a Firefox extension that delivers Harper’s fantastic grammar checking straight into your Firefox browser.
Published on 5/16/25
There are a great variety text editors on the web, each used in a different context. That’s a beautiful thing, but unfortunately our users expect Harper to work in all of these places seamlessly.
Published on 5/14/25
If there is one thing o3 is useful for, it’s finding canonical documentation for complex subjects.
Published on 5/2/25
When our users install Harper, they should expect it to work anywhere they do.
Published on 5/1/25
Spend more time on the introduction than anything else.
Published on 4/23/25
Advice you can give your mom (or other nontechnical person) for how to use ChatGPT wisely and effectively.
Published on 4/23/25
An update on the long-awaited Harper Chrome extension, its current state, and what to expect next.
Published on 4/19/25
Reflecting on the clarity photography brings.
Published on 4/18/25
Reflecting on lessons learned from handling English edge cases in developing Harper’s Chrome extension.
Published on 4/17/25
I was honored to be a guest on Linkarzu’s YouTube series.
Published on 4/8/25
Four years in Rust + WebAssembly taught me these 3 lethal footguns—don’t learn them the hard way.
Published on 4/5/25
Two months does not mean twice as many.
Published on 3/27/25
Reach further each day. The minimum effective dose.
Published on 3/23/25
Don’t believe the clickbait.
Published on 3/21/25
A new approach to false-positives.
Published on 3/19/25
A boon if you comment your code.
Published on 3/1/25
Your code is always welcome.
Published on 2/26/25
Of course it’s that easy.
Published on 2/6/25
🎉
Published on 2/4/25
Spoiler: there aren’t many.
Published on 2/2/25
The mornings are for deep work.
Published on 1/30/25
Wisdom from my grandmother.
Published on 1/13/25
Bonus: why you need to do it too.
Published on 12/29/24
You might not actually need it.
Published on 12/21/24
I might be starting to sound like a broken record.
Published on 10/13/24
Chronically underrated, chronically over-prescribed
Published on 8/6/24
Where did Harper come from?
Published on 7/13/24
How I preview my Markdown quickly and reliably.
Published on 4/19/24
It’s easier than you think.
Published on 3/29/24
How I intend to live better.
Published on 3/4/24
It almost feels wrong. Maybe it is.
Published on 1/31/24
Back in my day, we used math for autocomplete.
Published on 1/31/24
How I built a software render engine from scratch, and you can too.
Published on 12/18/23
It saved me enough time, I had some to share about it.
Published on 10/29/23
It didn’t work for me, and if you reading this, it probably won’t work for you either.
Published on 10/20/23
An experiment on how to live in a seemingly hopeless world.
Published on 10/12/23
A proposal.
Published on 9/27/23
Or: why doing things at the last minute actually saves time. I talk about the importance of shockingly fast iteration cycles and lean manufacturing.
Published on 3/4/22
We look at several interesting ways computers generate random numbers. It may fascinate you to know that some methods are not truly random, but only an approximate.
Published on 3/1/22
I built a Wordle solver in Rust to beat my grandma. Follow the journey of how I did, and how I failed.
Published on 6/2/21
We go through step-by-step how to build a Discord bot using the Rust Serenity Framework.
Published on 2/25/22
A key part of Rust is far better than what JavaScript has to offer.
Published on 10/18/22
In which I go through the process of designing, building, and testing a vector graphic pen plotter.