4,764 karma · joined July 18, 2022
[ my public key: https://keybase.io/logandark; my proof: https://keybase.io/logandark/sigs/m6zjqnGMWscZConP_8q5dTxchLtZC37IPnwlaj0mBGo ]
Implying something with context is just about as bad as saying it outright, so hunter2-ing your swears doesn't save you as much as dropping it altogether.
"Verify, Then Vote", "When five models disagree", or both ("When five models disagree: Verify, Then Vote") would probably have made a better one.
Here's a more concise explainer that doesn't take a whole page.
Most language models can only generate content, like text or images, by default. For a model to perform actions, you need to give it tools. These tools are like functions: the model emits special markers signaling a tool call, which includes the name of the tool as well as parameters for the tool. Models can be instructed to do this, but many models are already trained to emit tool calls when tool definitions are provided.
These special markers around the tool call signal to a surrounding system, called a harness, that the model intends to call a tool. The harness, or the provider, will typically stop generation after collecting a tool call or multiple, execute the tool(s) with the specified parameters, and then restart generation with the results of the tool calls.
(The harness could be a desktop app, or a CLI like Claude Code. Sometimes even websites can offer to connect to hosted or even local MCP servers. Some providers like Anthropic also have a server-side harness, which performs server-side tool calls transparently, sending only the client-side tool calls down to be performed by the client-side harness.)
However, some users want models to be able to call tools that aren't built-in to the harness. This includes tools from third-party developers, as well as custom tools; anything the user wants the model to be able to do. MCP allows a harness to achieve this capability by connecting to an MCP server and exchanging messages to communicate tool calls and receive their results.
The harness can connect to the MCP server in one of two ways: using HTTP Server-Sent Events (legacy) or the newer "Streamable HTTP" to connect to an already-running server, or executing a command as a new subprocess and communicating by writing messages (JSON-RPC) to its stdin and reading responses from its stdout.
Once a connection is successful, the harness asks the server for tool definitions. These are JSON schemas, defining the shape and documentation of expected and allowed parameters for each tool the server offers. The harness can include these tool definitions when calling the model. The server can also provide documentation that applies to all tools, and which can also be included to the model.
When the model tries to call one of the server's tools by emitting a tool call, the harness sends the tool call and its parameters as a message to the server, which may perform the desired action before returning a response back to the harness. The harness then communicates this response to the model to continue the model's turn.
This omits some implementation details of precisely how protocols are implemented, because that knowledge is relevant only to the protocols themselves and not to MCP servers in specific. That is one distinction LLMs struggle to make in explainers. It assumes some basic familiarity with certain computing concepts like processes or stdio. In all cases, a search engine should help you study up on anything you might not understand yet.
I don't switch from Claude for things like emotional advice. I gave Siri AI a big trial run when it first launched, because I absolutely love the system integration and the user interface, but the model itself is a bit dry for my needs. It doesn't really have principles the way Claude does (thanks to "constitutional AI" or whatever the fuck they want to call it). And I want principles, and sometimes the impression of empathy. Claude meets that bar without being obsessively sycophantic or paranoid.
(Siri AI is very good for some things, though. And I do greatly admire it. When it first came out, I even hacked up an adapter to use it for coding with Pi for just a short time, partly as a meme but also just out of curiosity.)
I tried switching from Claude Code to Pi with DeepSeek. I had tried OpenCode at first, but it's just complete garbage. I felt so impressed with it at first, it felt so slick on the outside, but that impression's just been shattered and shattered and shattered ever since I dug into it trying to fix a performance issue. Its data model and internal behavior is just not acceptable for me. (I tried Reasonix for about five minutes before concluding it's also a bit slop. It seems crafted by someone who actually understands LLMs though, unlike OpenCode, but it's still not very good.)
I absolutely loved the flexibility of Pi and the cheap prices of DeepSeek, but found myself falling into the same patterns as when trying Linux: I was constantly debugging the harness and the model, trying to get it to perform better or investigate something or other. Constantly worried that something was going wrong, that I should try to fix. And yeah, Pi has a lot of convenient features that Claude Code doesn't have, is a lot lighter, and of course can be incredibly modded. I just felt like it was also my responsibility to make my own experience, not just my capability.
At this point, Claude Code seems to just work for me, even though they removed a bunch of features I loved a while ago and never added them back (they came up with huge misunderstandings that completely missed what I actually appreciated about those features, and then proceeded to file them away as resolved). I never have to worry about debugging Claude or Claude Code.
For certain other things that aren't chatting or coding, I found that Gemini 4 Argon is actually by far the best model I've ever seen. It is the first model that's ever strictly exceeded the original November 2022 release of ChatGPT for me. Yup, it took the collective world nearly four years to replicate an experience from 2022. Gemini 3.1 Pro was so close though, I could feel it. When I first found it, I was so relieved that type of experience wasn't lost forever. Then Gemini 4 truly solidified what line of models I prefer for that use case.
This is like saying there's no lock-in that iPhone has because it's trivial to switch to Android. Or that there's no lock-in that Windows has because it's trivial to switch to Linux or Mac. Or that there's no lock-in that cars have because it's trivial to switch to bikes or trains.
They're different products. They're not the same. Being able to write the same code does not make a model Claude. Nor does being able to reach the same benchmark scores. Nor does performing one or a choice set of tasks to a comparable level of quality.
It's true, people can switch if all they want is to perform X, Y, or Z, and some other model can do X, Y and Z well enough. People switch from iPhone to Android all the time. From Windows to Linux or Mac. From cars to bikes or trains or other transit. But they're not the same thing! Android doesn't have a missing business model just because iPhone exists, nor vice versa.
You can't just say that makes cars the same as bikes or Windows the same as Linux. You can't get Claude from anybody other than Anthropic. Maybe you can get something else that does as well where it counts, but not Claude. You can't just say Anthropic is just the same as any open model provider, and that you can just switch providers for the same result. The open model has to actually deliver the desired result, because you're not going to find one that is just Claude.
This is what keeps me on Apple now. This is why most of my biggest hopes and dreams for my personal computing are that Apple will do the right things and in the right way. Because if I want to reject even one single aspect of an Apple product, it means changing to an entirely separate product. That gives up every aspect Apple had over that product at once, even the vastly positive ones. So I put up with the decisions I don't agree with, in exchange for the decisions that I do.
(Meanwhile, I plan to switch to SteamOS as soon as they support Nvidia. I don't use or care about any aspects of Windows besides running games. Now that I have Steam Frame, I don't need Windows Mixed Reality either.)
This is why you can finance Chipotle orders with Klarna
This is why organically written text is superior. Hell yeah.
Same for some methods I've since forgotten for solving polynomials. They were non-iterative algorithms that could work with any constants. They weren't faster than other methods, but you could fall back on them when you didn't have anything better.
That is what they were trying to teach me. General solutions that could work with anything. While, of course, it's valuable to be able to intuit shortcuts on the fly, if that's all you're capable of, there's a class of problems you simply can not solve. If they don't click in your head enough for you to come up with a specific shortcut, you wouldn't have a general one to fall back on.
I've always used computers, and didn't understand why my teacher got so upset when I programmed equations into my calculator. Like you'd think writing a program around a family of equations would develop experience with those equations, and I thought it was a good way to speed up the solving process. Needless to say, teacher did not agree, and quickly learned to ban my calculator on tests.
(technically, it was supposed to be banned anyway because it had a CAS... but I got it because 68k TI-BASIC was better than the Z80 TI-BASIC)
I still don't know the general solutions for most of the problems I work with nowadays, and I think that sucks. I think AI makes this way worse on a scale much greater than mathematics.
Sometimes I wish I could go back to school and catch up on all the basics I've been cheating around. I feel like my apparent intelligence is a mistake and I need to develop a better foundation.
Chemical companies love this -- just look at the refrigerant racket. Or the medicine racket. Both will wait until their current patent expires, then have a new slightly-modified one granted, and get the old product regulated out of existence. The end result is that they keep a monopoly for effectively life, even though expiring patents are supposed to eventually create an open market.
This works best in industries where chemicals need to be tested and approved before they can be used. Otherwise, one would be able to simply change irrelevant implementation details.
> In addition, as I have previously made clear to you, by open sourcing our proprietary DisplayLink technology for whatever personal reasons you may have as a "hobbyist," you would be single-handedly eviscerating DisplayLink's competitive advantage in this crowded market by educating our competitors and other third parties as to how we implement our market-leading proprietary technology. We have gone to great lengths and great expense to prevent such disclosures and protect our market space. Your actions are potentially putting tens of millions of dollars of yearly corporate revenue at risk.
> In short, by your ongoing actions, you are effectively making a significant, dramatic, and grave business decision on behalf of Synaptics and DisplayLink that you have absolutely no authority to make. Given the magnitude of the potential damages at stake, we cannot and will not let this happen. We demand your immediate cessation of your infringing activities, and we will continue to escalate this matter through every available legal channel if you fail to comply.
Keep in mind that every PHP application globally was advised to completely cut network access or entirely shut down until the patch was available, so this was global critical infrastructure failure. I'm surprised lives weren't lost as a result.
And no, from what I've seen, it had nothing to do with the few entities that did rightly ignore the embargo after the exploit was already being circulated, even though the PHP devs are seemingly still putting resources into spinning it that way.
I'm sure the defender community will eventually come up with a way to patch security vulnerabilities just about as fast as they can be discovered and exploited.
We have evidence that any hardware maker that would open up their hardware will do it already (see: reMarkable, Ubiquiti offering SSH root access). If you try to fight that battle by holding software from them, you only lose them as a contributor as they make their own, which is worse for everyone.
As for plurality, it is quite fascinating indeed <3
Based on a hunch, GP may potentially find similar minds on 4chan