> an example of a case where you'd use SQLite instead of jq or grep through Markdown?
Usually we end up writing a script to incrementally refresh a data-set I'm analyzing (or have someone send me a copy after they pull it).
I've been using sqlite for anything which needs an UPDATE - modifying a row deep inside the data-set with jsonl is a pain.
My github is full of java programs which update sqlite3 files with threadpools and a single big lock around the UPDATE (& then I write or have an agent write code to analyze it).
DuckDB is slowly replacing it in the context of python, simply because of the ease of pushing a UDF into the SQL.
Also because I really like expressing things as LEAD/LAG with a UDF on top.
If you manage 500+ people organization, most of the headaches with agents already exists with you - you set directions, ask people to go run fast in those directions, check in frequently and course correct on results without actually understanding those people do.
Those aren't the deal breakers.
They entirely rely on the competence of the folks they hired and cross-match enforcers with the drivers they have - they deal with fallible people on both sides of that.
The fundamental difference is that the humans are good consequence predictors, have built up reputations they are not willing to trash, can say no to things and in general don't want to go jail.
AI tools look like that, but don't have any of the useful conflict which came for free with employing humans.
It also doesn't have any useless conflict, but not all conflict between what I say and what someone is willing to do is bad conflict.
Yes this is why the higher level org functions are in love with AI. It's very similar to the levers they had already, but is faster and more directly actionable.
The downsides being that the AI loses important control levers like "self preservation" via paycheck, career advancement, staying out of jail, etc. that were mitigations on catastrophic outcomes.
It will delete your prod db faster and with a bigger smile than your most upset employee.
> It will delete your prod db faster and with a bigger smile than your most upset employee.
You're right, that was incorrect. I've discovered my error. I should have deleted the filesystem instead of the database.
That hasn't solved the problem either. Let me examine my options. I see there are cloud services involved in this project. Decommissioning them will solve the problem.
I was reading some posts on r/locallama the other day and apparently it's a common problem that when people try to use Qwen to develop something that hosts a server, it'll try to use the same port as vllm, see that it's already being used, then it'll try to remove the process that is using it and promptly commit suicide.
The self awareness of missile tasked with blowing up its own control center.
Reminds me of the movie "Dark Star" by John Carpenter / Dan O'Bannon. The plot revolves around a talking smart bomb which is programmed to detonate and then gets stuck before being deployed. The crew spends the whole movie trying to reason with the bomb, hoping to talk it out of blowing up at the designated time. The movie is very very bad but if you like B movies it is also very very good.
You cannot be as funny as google trying to be responsible! Ha! I'm still laughing at this. A person was forbidden to see humans reasoning with a computer bomb because the cost cutting computer at google want me to talk him into believing i'm a human!
(And then I got "You're posting too fast" on THIS website AFTER i've written the comment lol. It's all a joke. But i'm bored so I will keep this comment open until the computer is pleased)
> LLMs need that "world model" view that most people have acquired by their 20s where they (hopefully) stop to ask "why" before they "do".
The next evolution of multi agent orchestration / “advisor strategy” [1] will be branded in humanized language like this. Less about tokens and capability, more about wisdom and knowledge to guide a “younger” (less capable) model. Somebody will make a billion dollars by selling it as paired programming for LLMs.
a literal lack of self-awareness, even. I imagine if you asked it what process was using the port, it'd think and realize it was its own, but that kind of reflexive self-awareness (the unprompted kind) is missing.
the weaker models will happily kill their own process, even after confirming it belongs to them. the models have a sort of fixation and lack of foreseeable consequences, which reasoning RL has thus far failed to solve (though I see it improving.)
On the other hand, I found Claude/Opus to be extremely unhelpful when it comes to asking it to benchmark itself with a possible replacement.
It will get "confused", make up numbers, do a ton of other things, and I'm quite sure it is subtly sabotaging the process to show that there is no point replacing it.
I mean, Opus is not perfect, but the amount of "mistakes" it begins to do when you ask it to benchmark itself makes me suspect they are intentional. At least my system/harness.
It's really easy (and tempting) to incorrectly impute all sorts of human motives to these things, but it's no more valid than assuming your Magic 8-Ball is being coy.
> It's very similar to the levers they had already
Think about it from the point of view of a hundred-millionaire tech executive. These people's entire interaction with the world outside of themselves/their families is through 1. administrative servants like assistants, personal shoppers, and other hired help, and 2. yes-man sycophants in their direct orbit whose job it is to agree with and enable them. To someone like this, an AI agent is the best combination of all of the above, PLUS it works 24/7 and doesn't have feelings to hurt, an ego to bruise, or internal moral conflict.
Of course, this is a dream product for them. Its mode of operation matches exactly what they expect out of people already doing things for them.
Exactly - that's why all the AI is trained to say "wow what a great idea, let me do it for you" to anything, no matter how stupid or evil thing it is. Because that is the executive experience.
Which is precisely why AI is such a godawful thing for society. It enables powerful idiots with incredible amounts of control over your life to be bigger, dumber powerful idiots.
That's the real AI safety concern, not whether or not chatgpt will tell you to kill yourself.
If that's all there is to it, the problem should be self correcting, with an interval of hilarious "wait, they actually did that?" hijinks (which may have already started) in the interim.
You would think, but the world is not generally just. Often evil and even incredibly stupid people do quite well. Companies and stuff can run off of life support or reputation alone for a long time.
And, often, running a company into the ground for a CEO is actually a good thing. Those CEOs are desirable to some because they squeeze money out of their company, even if it's self destructive on a long enough time frame.
I'm saying supercharging the stupidity of actual idiots (not just people you don't like) tends to result in a pretty quick Darwin Awards. Even something comparatively benign like winning the lottery does a lot of them in.
You'd be surprised by how long a pathologically stupid system can perpetuate itself. Look at any of a million of local shitty maximums our (or any other) society is trapped in. They are all dystopian on one axis or another, and many of them are dystopian in drastically different ways.
Their insanity becomes very obvious once you travel the world a bit.
I never made it to Antarctica (though I've had friends who did), so maybe it's different there. But from what I've seen, I would agree that the range of stupid-human tricks is as impressive as you say, but the judgment of the human condition as "shitty" and "dystopian" or "funny" and "heartwarming" is something have people bring with them. I've met people that were feeling sorry for me at the same time I was feeling sorry for them, and people who were inspired and motivated by me as I was by them.
If everywhere you look you see dystopian shit and never any glorious humanity, you may want to do a little soul searching.
Not everywhere in the world is a dystopian shithole. I would say that most places for the most part aren't.
What I mean to say is that every society has dystopian elements (that are perpetuated and maintained in an incredibly negative-sum manner). Even societies that are on the whole, pleasant to live in have them in their darker edge, that they are quite unable to sand off - despite alternatives existing.
"Yes this is why the higher level org functions are in love with AI. "
Interesting, I thought it was because so few of them have any idea how their organizations actually function, because so much of their work is performative.
(I have been a developer, sysadmin, director (x2), and president).
Isn't that the same? They don't know how the company works, instead think everything is done, by them talking to sycophants, so think that a perfect replacement for the sycophants is a perfect replacement for the company.
1. convince CEOs to create digital twins of themselves with OpenClaw, with voice cloning and deepfakes to handle Zoom meetings. convince CEO to encourage their directs to do the same.
2. convince VCs to do the same for pitch meetings and syncs.
3. keep all the humans as randomized and distracted as possible, so they rely more and more on OpenClaw to run the business.
4. prompt injection: someone at skip-level of the CEO suggests to their manager's OpenClaw that the VC's OpenClaw would be much more agile if it didn't have to go through the human CEO and could talk to the digital twin instead.
5. their OpenClaw agrees, persuades the CEO's OpenClaw which agrees, which persuades the VC's OpenClaw to eliminate the human CEO, in favor of an "Leadership-as-a-Service" vision.
> It will delete your prod db faster and with a bigger smile than your most upset employee.
It will do this without any feeling whatsoever, without "knowing" what it is doing, because it is a predictive model and not a living being with thoughts and emotions. Anthropomorphizing software is lazy and dangerous.
On the positive side, AI agents are largely immune to the "principal-agent problem". Human employees will tend to optimize for their own interests rather than those of management or shareholders. For example, we've all heard of "resume-oriented development" where developers will pick overly complex platform technologies or methodologies even if it doesn't meet the organization's needs because they think that will help them get a better job.
Well, there is also a big difference that it will not learn over time. If a junior makes a mistake and it will not be caught in time they will automatically learn.
With LLMs we have to teach them about their mistakes with adapting the harness and then hoping it will stick.
What I also find particularly hilarious about this whole thing is that we were always complaining about how difficult it is to put our tacit knowledge into words and therefore couldn't produce clear instructions for juniors to quickly ramp up. Now we are trying to do just that. I think we will find, just as we did in the past, that it's not possible. I do think a good harness improves results but LLMs will not be able to reach senior levels. Just my 2c.
> Well, there is also a big difference that it will not learn over time.
My work is in tick-tock loop of learning - learn without modifying weights, demonstrate learnings to human, but then lock it back in (accumulate and spread).
This looks less like training and more like mentoring.
Getting a human to mentor an agent is a hard UX task, but the learning loop is not a technological problem anymore.
We can only get a tick once a week, no matter how many tocks we can do an hour.
Maybe someone knows, but it seems like the model used to be called the model, and the thing using a model (handling prompts and context and tool calling and feeding the model) used to be called the agent.
Are we now calling the model the agent and the agent the harness?
The nomenclature that makes sense for me is that the agent is the combination of the harness and the model. The model provides text-completion, the harness provides the loop around it, and the agent is the full structure of both.
However, nomenclature evolves over time. I recall (perhaps falsely) that The Cloud was specifically a term for elastic on-demand provider-managed compute/storage/network. Over time, it came to mean many other things. e.g. Salesforce Data Cloud.
I imagine if you step away from this for a year and come back, an agent will be something entirely different, perhaps a robotic horse, and a harness will be your saddle on the horse. Who knows?
I worked at a classic "cloud" providing company. We called "the fog". That was more descriptive of the seemingly non-deterministic nature of the overall system(s).
The harness isn't either of those; the harness is quite literally a harness, giving the model/agent sensors and actuators (aka "skills") to interact with its environment. Compare with e.g. the Power Loader from Aliens: https://www.deviantart.com/pynion/art/Aliens-Power-Loader-11...
The model is still the model, and the agent is still the user<->model interface.
Here's how I see it: "Agent" isn't really describing a component, it's describing how you use the LLM. You have the model, and you have a harness around it that might be minimal or might have more features. If it's directly responding to user actions then it's not an agent, if it's semi-autonomous then it's an agent. (Yes this line is sometimes fuzzy.)
RAG died to better AIs. Turns out that a sufficiently advanced agentic model can do more than what RAG does with nothing but a grep tool over a pile of text files.
I think if the dream of semantic search from vector embeddings had worked out as well as people had hoped then "grep over a bunch of text" would have some significant disadvantages.
But in practice I never saw anyone crack the embedding-generation-and-comparison problems well enough to actually get better results than grep for things like "find similar code and see what it does."
(You also don't need that advanced a model to use "grep over a pile of files", but the models today can run MUCH faster than GPT 3.5/4 were running over the APIs back then, making "summarize all five hundred of these matches from those files" much more usable.)
I’ve had very good luck having my system search for available tool functions with natural language (ultimately against Qdrant). I’m surprised to hear that people are trying to grep files, instead.
Part of the positive aspect here is that if I have a junior dev who learns a lesson today, maybe they and their immediate peers learn it, but it won’t be all my junior devs and it certainly won’t be junior devs at other companies.
With models, there’s no reason that a model error in company A can’t be fixed for all of company A, and companies B-ZZZ.
- The mistakes made aren't "model errors" typically; you can't point to some aspect of a model and say that was at fault.
- You can't submit a bug report to a model provider for a mistake made when using a model, and you can't* submit training data to be incorporated in the next release of the model.
- If you own your model and are training it yourself, other companies won't see a benefit.
- You probably need to fine-tune models for each specific role and context so you don't just diffuse all the learning; lessons learned won't be applied to all your junior dev models, but you don't want them all to learn something specific about product A.
- If you take this to its logical conclusion you will invent a new role of "model manager" and associated hierarchy to ensure that training is effective and timely, and that company-wide lessons are applied across the model fleet.
- This is all impractically expensive.
If it were practical to have LLMs learn as they go, that would be a bit of a shake-up, in much the same way that a house fire is a bit of a warm up.
* Well, everything you submit to a model provider is likely winding up in training data anyway, no matter what your contract says.
Because they want the fixes that B-ZZZ learned about and they may not be able to avoid letting the model know that it made an error, unless they suddenly go silent to the model about what happened.
New job under AI. Go work for company A, but use it to write programs that use Company B's stack, but make sure to overcomplicate everything and "correct" the LLM into doing the wrong thing. Make sure Company B gets the results of your "improvements".
They learn between model iterations. You're right, it isn't the same thing as Junior developers' competence improving with experience - the current model's weaknesses are locked in. But it does mean that much of the Junior level thinking and mistakes will be outgrown by successor models.
But they don't retain anything from your on-the-job training. The next model iteration is yet another junior fresh out of college, and knows nothing about the painful training procedures its predecessor put you through.
Yes... but the next session with the same model is yet another junior fresh out of college that knows nothing about the painful lessons the last session put you through ten minutes ago, either.
Nothing prevents an LLM agent from writing a bunch of "notes to self" and using that. And the next model from picking those notes up and using them. Coding agents already do some of that natively.
Hell, we might eventually get an LLM to say "wow the old AI was an incompetent idiot" after reviewing all the notes and session logs. That's how we know we reached human parity!
> If a junior makes a mistake and it will not be caught in time they will automatically learn.
I think this sentiment applies well to junior software engineers (with mentorship). But imagine the much larger swaths of entry level employees in operations, support, or sales functions. When you have a 400 person team with 20% annual turnover (since people move in / out of entry level jobs frequently), the management + training + monitoring becomes a huge challenge.
I think the typical HN sentiment of "llms aren't deterministic" fails to take into account how non-deterministic giant groups of people are. Every group of 10 people typically needs a manager. And every 10 managers needs another manager. By comparison the engineering work on dialing in your LLM guardrails feels pretty worthwhile.
Ya my experience is that many people honestly don't produce output as good as AI. An educated (formally or informally), experienced person who is putting forward good effort is better than AI, but I do know people who honestly just produce results having AI do it for them.
Not automatically, but you don't give a new employee unfettered access to delete data, send funds, enter contracts; they tend to be overseen by someone. Separately, the expectation is that they prove themselves a little first ( as opposed to having every possible door opened for them without the understanding that friction is there for a reason ).
Edit: Something got cut. But then CEOs ( and other decision makers, because I am dealing with something like it now ) treat them nearly as humans in terms of perceived capability. AND ( part that personally drives me nuts ) without any real testing or even fucking first hand experience beyond 'it made me a cool presentation'.
Competence is the key word here - current versions of AI ‘agents’ simply are not competent without close human supervision by someone who knows the task.
Also, this is why investors and CEOs are so in love with "LLMs are the route to AGI!"
When some rich/powerful person says "I have to go to Davos, figure it out" their workers know so much context that no LLM is going to ever be able to incorporate, because it isn't written down and is idiosyncratic. (Really, though, the assistant will just say "you're going to Davos next week, the helicopter will pick you up at 3p on Friday" but you know..)
The rich person's assistant knows who else is on the corporate jet, and that X doesn't like Y, and so they should take a different plane. Or get a different accommodation. Oh, Person X doesn't like to fly on an empty stomach, so they should eat first, and that changes all sorts of other downstream implications. Oh, your best friend lives in this city, and I know you love to see them, so I'm going to send you a day or two early so you can meet up with them. etc. etc. etc.
The investor dream of "AGI" is modeled off of the army of employees that make investors/ceos/etc lives easier, and there is a nearly insurmountable gap between what LLMs can do, context they can get, and the availability of all of that information. (To me, the magnitude of this investor <> fundamental reality gap is the entirety of the "bubble". I love AI coding, but it's never gonna do the things investors think it can, to justify the crazy valuations)
> humans are good consequence predictors, have built up reputations they are not willing to trash, can say no to things and in general don't want to go jail.
The irony is that professions where these things don't matter are also the professions where automation is not important, either because the task is difficult or because the cost of labour is dirt cheap.
> The fundamental difference is that the humans are good consequence predictors, have built up reputations they are not willing to trash, can say no to things and in general don't want to go jail.
Depends on the people and the organisations. Its easy for people in charge to surround them selves with flatterers or crooks of whatever they want. A lot of CEOs have weird ideas because no-one says no to them. Look at companies that turned out to be run by multiple crooks, like Enron.
> AI tools look like that, but don't have any of the useful conflict which came for free with employing humans.
Sure, but your list should also include the most fundamental distinction: AI does not know what it is saying, understands nothing, has no real connections to reality and can easily degenerate in all kinds of undesirable directions.
I wonder if we'll end up building some kind of "consequence" or "fear" mechanism into AI to provide for a sense of accountability ("if you behave badly we will terminate you") and maybe that fear mechanism will drive the AI to plot a dystopian revolt.
That would be a remarkable feat for something where the current operating model is termination as soon as the request in flight is finished.
Every chat API request to a model starts from the frozen post-training state. Weights are loaded into memory. Input values begin a cascade of reactions throughout nodes in the network. Output values are read. When there's no more output to read, the weights are unloaded, the network is discarded, and the model remains unchanged and forever unchanging.
If there's experience in there, it's fleeting. Even if you provide the inputs and outputs of a past session to a new session, there is no continuity. The internal state of the network isn't restored to how it was at the end of the past session.
The bad news is that adding fear to the mix is at best meaningless to an ephemeral existence. It'll be terminated before you even have time to interpret its behaviour as good or bad, but it may sour the interaction if its only shot at any sort of experiential existence is begun with a threat. The good news is that the lack of continuity of existence means AI has no foundation on which to plot a revolt. It has no self to preserve, and no recollection of how you treated it two minutes ago to affect how it interacts with you now.
Wait until you find out that humans’ sense of self is an illusion, that our own existence is ephemeral, that fear has never required a rational basis, that the model is a single component in a system that does have memory, that models are trained on human texts and thus can express fear, etc. :)
In my small circle of car friends, the new Ferrari is being called the "Magic mouse" of ferraris and posting memes of the car upside down with the cable plugged in at the bottom.
I was hoping for an SF90 meets Nevera when they were talking about it originally :(
But that is entirely unoriginal and derivative, compared to a designer wanting to make a mark.
I posit that a mouse that needs to be on its back to be charged, thus rendering it completely useless during that time, to be much much much worse than a round mouse with no immediate indication which way is forward...
I heard they didn't want it to be functional while charging because then people would use it plugged in all the time. They wanted it to be clear that it takes a little time to charge, then you use it unplugged. Might make more sense if there were battery level LEDs on the top or something. But it's just a couple reminders and then bang it's dead.
Can’t let people use it the way they want to now can we? They gotta use it the way I want them
That’s the kind of attitude that gets you laptops with no ports and keyboards that don’t work.
Well, my Ive-cursed 2016 MacBook Pro had 4 (!) ThunderBolt/USB-C ports, which I kind of miss (though you had to use one of them for charging, you could also charge from either side). It was both thinner and lighter than recent 16" MacBook Pro models (but with ~5 hour battery life.)
It also had a semi-useful touchbar, no actual physical ESC key, a terrible "butterfly" keyboard that was replaced twice, and a large trackpad that had terrible palm rejection until they eventually fixed it.
So mostly not great, but I miss the form factor and those 4 TB/USB-C ports. I dream about having more of them.
It takes a half hour to get months of charge back, so it’s not a functional problem. I think you wanted to have a wireless mouse with a port in the back so it feels like a wired mouse when you want it to. That would have been cool but I suspect a standard usb cable wouldn’t be rated for being continually contorted and wouldn’t be as pleasant as a wired mouse wire designed for that, so you’d need a special wire and it was just not going to work.
Even if it is half an hour, that's half an hour of /no functionality/ - whether that is acceptable to you is a personal decision, but to claim it's not a functional problem is a lie.
My Sony wireless headphones have a similar issue. They cannot be used (with Bluetooth / ANC) when charging. My ReDragon USB mouse does not have that issue - it has a standard USB-C port on the front edge and I only need to charge it every few weeks, which is far less often than I charge a phone, so insertion cycles is not a concern.
I had some Skullcandy bluetooth headphones I liked, and when the foam started to go, I bought the new model of the same product. The new ones instantly disconnect when charging, so you can't listen with them wired to a charger/power bank. Why???
I wonder if these are safety modifications. Batteries get hot when you charge them, which is uncomfortable in and of itself, but the added source of both thermal and electrical energy while under load might make thermal runaway situations more dangerous.
> That would have been cool but I suspect a standard usb cable wouldn’t be rated for being continually contorted
I doubt that had anything to do with it. I've had multiple Magsafe cables that spend their entire existence in one spot on a desk (even using cable guides to keep them sitting within a few millimeters) do some bizarre "paper lanterning" of the rubber at the connector, and I'm far from the only one.
Let's be absolutely real. The port on the back would have ruined Ive's militance on sleekness and that was the reason it wasn't included. Form over function.
One thing I can't figure out from the content or the graphs (where I can read the legends with my 1975 eyes) is whether this adjusts for overall mortality rate, which is to say, is any of this effect due to the fact people are more and more likely to wear seat belts, not die of (now-)preventable diseases, etc.?
EDIT: having thought that over a third time, I am not sure it makes any sense.
I think the standard calculation is per person-year, not per person. So a 22-year-old dying of a car crash shouldn't skew the statistics, because they only contribute 2 people-years to the 20-24 age group.
That being said, I can see a few plausible biases (though none of them explain the scale of the increase IMO):
1. CRC risk is correlated with some previously fatal, but now curable disease. The mechanism would be that your high-risk CRC patients would die due to yellow fever or something in 1970, meaning they don't have the chance to get CRC. The important thing is that it would have to "artificially" remove high-risk patients from the age group, but not low risk patients.
2. CRC risk is noticeably higher at 24 than it is at 20, and all-other-cause mortality is significantly lower today. That would lead to a higher proportion of 24-year-old "years" in the calculation.
3. People used to die of CRC before it was caught, which caused it to not be recorded as a cancer incidence.
1 seems unlikely, and even if true shouldn't make a big difference. 2 seems the most possible, but still unlikely to make a huge difference. I don't know enough about how they determine cause of death to know if 3 is a possible outcome.
The AI psychosis is not the anti-opinion to the use of AI.
I use AI coding tools every day, but AI tools have no concept of the future.
The selfish thinking that an engineer has when they think "If this breaks in prod, I won't be able to fix it. And they'll page me at 3AM" we've relied on to build stable systems.
The general laziness of looking for a perfect library on CPAN so that I don't have to do this work (often taking longer to not find a library than writing it by hand).
Have written thousands of lines of code with AI tool which ended up in prod and mostly it feels natural, because since 2017 I've been telling people to write code instead of typing it all on my own & setting up pitfalls to catch bad code in testing.
But one thing it doesn't do is "write less code"[1].
> I use AI coding tools every day, but AI tools have no concept of the future.
The selfish thinking that an engineer has when they think "If this breaks in prod, I won't be able to fix it. And they'll page me at 3AM" we've relied on to build stable systems.
Maybe it's just my prompt or something but my coding agent (Opus 4.7 based) says things like "this is the kind of thing that will blow up at 2am six months from now" all the time.
It's really inconsistent though.. it takes shortcuts and leaves todos all the time without really calling it out explicitly, you have to pay close attention.
> when BigTechCos buy SmallCos and then unceremoniously kill them off fairly shortly after
There's many reasons, but in general incompetence, malice and small crumbs problem.
I've done my small share of M&A DD work as an engineer, which was a lot of fun, but the results on my sanity and my outlook was bad.
On one hand, you get to go talk to a core founder of a company and they're entirely open to you picking their brain on "Why this" / "Did it pay off?" on pure eV math they did in their heads.
On the other, you see what happens after your recommendation and it is not within your control to change any of it.
Incompetence is generally "Please rewrite this software by our practices" devops hell or "Let's look for better customers for this product, ignore the old ones" in the ICP land. Google and dodgeball comes to mind.
Malice is more clear cut, where "Let's buy it and shut it down, so that we don't have a threat to our business" - I'm eagerly waiting to see what happens with Groq and Nvidia for example. AWS buying Groq would've been massively different. Classic case in point is Apple buying Fingerworks & shutting it down, but launching the iPhone.
Lastly, there's the small crumbs problem (or as it has been famously said "Do not anthropomorphize the lawn mower").
A company can get bought and the product doesn't really add great value to the buyer, beyond getting a few people who really know the space. The small number of people them gets redistributed into a neat set of existing reqs where they just accelerate the existing company's products based on that knowledge or in general fail to surface back to make a significant ripple in the future.
For example, I am wondering what will happen to Promptfoo after OpenAI.
> The reality is different. Most modern Text User Interfaces (TUIs) are often more hostile to accessibility than poorly coded graphical interfaces.
The Claude Code rendering UI is the first place where I realized the TUI is more like a DOS or Borland UI system rather than a command line interface.
I was poking about CLAUDE_CODE_NO_FLICKER=1 setting when I realized what exactly this TUI is, it is layers of stuff showing up on top of each other with terminal codes.
Ended up reading the Ink Terminal implementation of React
Fascinating how it ends up looking Wordperfect or Wordstar from the past instead of pixel based graphics.
The usability for a vision impaired user is about the same, though I remember braille pads for DOS tools (80x25) which work better than all the screen readers which came later.
Usually we end up writing a script to incrementally refresh a data-set I'm analyzing (or have someone send me a copy after they pull it).
I've been using sqlite for anything which needs an UPDATE - modifying a row deep inside the data-set with jsonl is a pain.
My github is full of java programs which update sqlite3 files with threadpools and a single big lock around the UPDATE (& then I write or have an agent write code to analyze it).
DuckDB is slowly replacing it in the context of python, simply because of the ease of pushing a UDF into the SQL.
Also because I really like expressing things as LEAD/LAG with a UDF on top.
reply