The Books I Read Since April 2025 π
The Books I Have Read Since April 2025 It has been a slow couple of months for my reading habit. Although, now that I've said that out loud, I realize [...]
a collection of dev rss feeds - blogroll
Posts
The Books I Have Read Since April 2025 It has been a slow couple of months for my reading habit. Although, now that I've said that out loud, I realize [...]
Harper for Firefox There's a great deal of overlap between those who use Harper and those who use Firefox. Foremost, they both value privacy. Which is [...]
Refactoring More and Faster I've been deep in the refactor rabbit-hole. You knowβthat awful (but strangely satisfying) space where the majority of you [...]
Continuations on Transformation-based Learning The most common type of machine learning out there takes the form of some kind of neural network. Inspi [...]
Transformation-based Learning for POS Tagging Harper is currently undergoing some pretty radical changes when it comes to its language analysis. These [...]
Quality Is the Most Important Metric Harper's Chrome extension continues to come along beautifully. I'm actively working to make it more useful and re [...]
Harper in Firefox Through SpellBolt We designed Harper to be the ultimately portable grammar checker, but we're still working on living up to that pro [...]
Integration Testing Thousands of Websites with Playwright As I've accounted and discussed in previous posts, one of the hardest problems Harper faces [...]
Bypassing Hallucinations in LLMs Before I get too deep, I just want to get it out of the way: OpenAI's o3 model is impressive. With its tool use and w [...]
Putting Harper in Your Browser When our users install Harper, they should expect it to work anywhere they do. Whether they're writing up a blog post i [...]
Always Think of the Hook First In his popular book, Outliers, Malcolm Gladwell made the case that there was one number that predicted your skill level [...]
ChatGPT for the Moms My mom is a violently intelligent woman. But she lives in the unfortunate reality of not being a software engineer or mathematici [...]
The Status of the Harper Chrome Extension Elijah! Elijah! When will we have a Chrome extension for Harper? Although it's usually asked with a bit more [...]
Photography as Meditation The goal of meditation is to become more mindful and aware. For me, it is often an attempt to get an appreciation for my sur [...]
The Art of Exception English is an area of interest littered with edge cases. In preparation for addressing similar problems in the development of the [...]
On Linkarzu's YouTube I consider myself an avid member of the Neovim community. As a whole, they have a great pulse on what a good writing experience [...]
Footguns of the Rust WebAssembly Target WebAssemblyβeven after several years of standardizationβis still a nascent technology. I've been working with [...]
The Books I Read in February and March 2025 In a world containing TikTok, YouTube and a vast array of other apps that profit off human attention, it t [...]
The One Hard Thing People (myself included) love to make cascading lists of tasks. Actions, each of which are needed to improve a product, release a f [...]
3 Traits of Good Test Suites As evidenced by my previous posts on LLM-Assisted Fuzzing, I've been dedicating a lot of my mental bandwidth to maintaini [...]
LLM-Assisted Fuzzing: A New Approach to False-Positives Preface: this post was actually written on February 24th, despite being published today. I'd l [...]
Harper is in Cursor and Visual Studio Code Harper is a grammar checker for developers. Its roots are in code editors like Neovim, Helix, Zed, and you [...]
Never Wait Preface: This post is specifically about Pull Requests for Harper. Read the contributor guidelines for a project before opening a PR. I get [...]
Prompting Large Language Models In Bash Scripts I've been experimenting with using LLMs locally for generating datasets to test Harper against. I migh [...]
A Harper Record When we started work on harper.js, our goal was simple. We wanted it to take less than 24 hours for a developer to embed high-quality [...]
The Books I Read in January 2025 I only got to read two full books this month. The first was a short novel by Matt Haig with the title The Midnight Li [...]
Notifications I have found that the first couple hours of the day are my most productive. I try to move tedious tasks to later so I can focus on solvi [...]
The Three Steps to an Apology My grandmother is a wonderful woman. She never leaves the house without a least a little bit of purple. Maybe a keychain [...]
The Best 25 Bucks I Ever Spent Earlier this year (I don't remember the exact day or month) I decided, screw it, I'm going to try using a flip phone. F [...]
Why You Need sccache As the maintainer of a reasonably popular open source project written in Rust, I find myself cloning PRs and swapping between bra [...]
The Best Books I Read This Year This year I've been reading a lot more. Is there a particular reason? Other than simply admiring those that do, no. I [...]
For The Love of iframes. I adore a good iframe. They're so elegant as a web component. Just expose an endpoint, say https://writewithharper.com/editor [...]
Naming Harper Someone recently asked me where the name Harper came from. When I first sat down to start work on Harper, I had one goal in mind. I want [...]
The Simplest Neovim Markdown Setup I am not one who enjoys complexity. I am also someone who likes to make their own tools. As a student, I write a lo [...]
What Blasterhacks Taught Me About Leadership The Beginning Although it was several months ago, I remember it like it was yesterday. It was what I woul [...]
The Optimal Workspace There are a number of grand challenges my generation faces. Some threaten the way we live, like the housing crisis. Others are d [...]
Stupid-Simple Spell-Check For the last month, I've been spending a lot of time replacing one key component of my writing and programming environment: [...]
Markov Chains are the Original Language Models Heads Up: This article is a republished (with some tweaks on spelling, grammar and layout) version of a [...]
How I Built a Software Render Engine from Scratch Heads Up: This article is a republished (with some tweaks on spelling, grammar and layout) version o [...]
The Easiest Way to Run LLMs Locally LLMs Unless you've been living under a rock for the past year, you already know what LLMs are. If you do happen to [...]
Do Not Type Your Notes I feel it necessary to make it clear who I am speaking to. First and foremost, I am speaking to anyone who is considering switc [...]
Quantifying Hope on a Global Scale Hope is a somewhat nebulous word. For some, it is an expectation of what the future will be. For others, it is a go [...]
The Climate Change Progress Bar The Problem Over the last couple years, I've noticed a growing distinction between two groups of people. On one hand, [...]
A Case for Procrastination The most valuable, unique aspect of software development is the speed at which we can iterate. Software projects that don't [...]
How I Designed (and built) My Own Pen Plotter For the last few months, after reading Preslav Rachev's book Generative Art in Go, I have been playing a [...]
What Is Randomness? In case you were born yesterday, let's go over it. Randomness is, at the most basic level, something that cannot be predicted. In [...]
Build a Wordle Solver Using Rust The Game Wordle is a relatively simple game. If you have ever played Mastermind, it should sound familiar. The goal i [...]
Why Rust Might Attract More Developers Than Java and JavaScript Rust is undeniably a greatly appreciated language, after all, it has placed as "#1 Mos [...]
How to Write a Discord Bot in Rust Discord is an instant message platform with more than 150 million monthly active users. The main appeal seems to a [...]