I believe it goes back a few years to originally being just oxlint, and then recently Void Zero was created to fund the project. One of the big obstacles I can imagine is that it needs extensive plugin support to support all the modern flavours of TypeScript like React, Vue, Svelte, and backwards compatibility with old linting rules (in the case of oxlint, as opposed to oxc which I imagine was a by-product).
We tried adoption of Claude Code at my last job as our PM was quite excited about its potential and I saw some horrors that were raised during code review (where I thankfully read the code):
- Using private undocumented APIs subject to breaking changes;
- Removing a call to produce a message to an external topic, with no internal references besides tests, declaring it as "redundant" (it was very much not redundant);
- Repeated duplication of formatting, calculation, and permission logic, causing inconsistencies and bugs.
They met whatever goal the agent created for itself, but they would've broken several features in ways that would've been difficult to test for, either today or in the future.
OAuth has always been quite hard to grasp, even though I use it every day. One day I'll write an implementation to properly understand how it works from the bottom up and go through each of the standards that have evolved over time.
I did this for OAuth and OAuth2 in Unison. It was a headache to be sure I did everything procedurally correct. The hash token is based off using certain KVPs from a dictionary of various bits of data, and you sort it in a certain order before hashing, and certain steps require certain bits of data, and sometimes it's URL encoded and sometimes it's not, and all of this dramatically changes the hash.
I remember how stoked I was to finally get it working. It was a massive pain, but luckily there were websites that would walk through the process procedurally, showing how everything worked, one step at a time.
OP briefly touches on it, but vibe coding is (typically) absent of struggle, besides the usual frustrations with code flat out not working or the LLM not understanding the nuance of human language. Whenever I build a solution that a PM has asked for, I can typically make some predictions about what possible problems are going to be and potential solutions, but you don't know what you don't know. It's not until I immerse myself in a problem space that I actually understand what some of the roadblocks might be. The LLMs that I've tried are more than happy to keep hacking at a problem and implement workarounds, instead of taking a step back and wonder if the approach is wrong.
Here's why I use them: many modern graphical applications are extremely wasteful. TUIs are typically small, low footprint applications that don't come bundled with a browser or webview. I don't need yet another electron app for every little thing.
I’m definitely not advocating more little electron apps, and I’m totally with you on TUI’s benefits. I’m bemoaning the lack of imagination that has ended us up here and not in a situation where we can have, say, a small, low-footprint application that can deliver a more structured UI with minimal dependencies. It’s not an impossibility, it’s not even that difficult to imagine, we just don’t have the exact technology.
The thing is Windows 98 let you throw up a HTML window with almost zero overhead (the OS used the same libraries) and javascript could get data easily from another process via COM etc.
Now like 25 years later, apparently our choices are shipping bespoke copies of Chrome and Node, OR making shit work on an emulated 1981 DEC terminal. Lack of vision is exactly right.
I think for the time being, there's no way to get around writing native UIs to get a native experience. Any sufficiently high level APIs will have to give up something. TUIs for me fill that niche because across any POSIX-compatible interface they will generally work the same, and modern high level languages make cross-compiling to terminals a breeze. Now to write a native UI across Windows, MacOS, Wayland and X11, that's a different story.
I’m happy to give up a lot; I’m not tied to fully-native-looking UIs for the types of things I’m talking about. Totally get that lowest common denominators will feel native nowhere. I just think it’s possible to do a lot better than the current state of TUIs.
I don't know how it works where you live, but in many jurisdictions around the world (including the one I live in), you have to provide ID to prove that you're of drinking age.
If we were as smart as the smartest guys throwing trillions at LLMs we wouldn't be predicting anything, we would be creating it like the gods we were always meant to be ever since someone hurt our feelings irrevocably. Hitler could have been a painter, these guys could be slinging dope for a living but here we are.
reply