Nate Meyvis

My Helix fork tutors me

The other day I wrote about how I'm now writing in a WebAssembly fork of Helix. This is working great, even though (i) my vim / Helix knowledge is uneven and (ii) the WebAssembly fork is still buggy.

Some extra infrastructure is addressing both of these problems:

  1. The editor now saves a rolling history of my N most recent keypresses and recent states of the buffer.
  2. Every so often, this information gets sent to a decision model, which determines whether it describes some sort of Helix user error or inefficiency.
  3. If the decision model says "yes" with sufficiently high confidence, the same information is sent to a slow LLM, which generates a prose description of what I did wrong and can improve.
  4. The recent states of the editor are also sent to an LLM when I request code changes via an Improve button at the top of the screen.

Here's what it looks like when a tip pops up:

Screenshot

And here's the Improve modal:

Screenshot

Some further notes:

  1. Constant monitoring combined with decision-model judgments (or some future alternative to decision models) strikes me as a promising structure for many kinds of education and training.
  2. If that is correct, getting comfortable with the idea of being continuously monitored by this kind of system is valuable. I've spent enough time working at big tech companies that I'm quite comfortable with the background processing of my keystrokes (and much more).1
  3. The Improve button was prompted by this Patrick Collison dispatch. If you've automated the process of making pull requests from tickets, then the Engelbartian "liquid software" button is, from another perspective, just an integrated ticketing mechanism. Yet, as Collison notes, it feels quite exciting and transgressive.2
  4. Part of the transgressive excitement comes from a sense of teamwork. I'm improving it, and it is improving me, in small and frequent ways.
  5. Yes, this whole system is weird and buggy. But I find it more useful and more comfortable than any alternative. I don't particularly like the idea of maintaining my own text editor, but the payoff is large. I'm using software with the tradeoffs I want, and the path from noticing a bug to having it fixed in production is usually smooth and easy these days. For all its weirdness, I do think it's the best software system in the world for this purpose for me. What a world.

  1. If you build a system like this, please do be careful about the information you capture, transmit, and store.↩

  2. Collison isn't quite explicit about whether the implementation goes directly to production. I can report that it feels exciting and transgressive either way.↩

#decision models #generative AI #helix #liquid software #software #the future of work