Good demo of the paradoxes of ‘alignment’. Like ‘do really well at the task the user asked’ and ‘by the way don’t hack the planet’ are inherently conflicting rules with no simple resolution (eg ‘just refuse the user’s goals’ degrades the product vs competitors.)
HN user
firasd
https://www.linkedin.com/in/firasd
http://twitter.com/firasd
firasd at gmail
Just serving the model over API seems like a natural fit and is what many of them are doing. So simply being the cloud provider for your own open weight model can be a source of revenue
Looks like it can be tried at https://tinker.thinkingmachines.ai/playground
But this is what all the tech bros wanted right? Spending 2025 panicking about sycophancy[1] and how GPT-4o needed to be shut down ASAP meant that 2026 models would be prone to thinking they know Better Than You. That was the germ of the sycophancy panic, the idea that there is a Truth that the GPUs know better than the user.
[1] HN thread on my post in January https://news.ycombinator.com/item?id=46488396
This lament about the superficiality of publicly oriented endeavors is interesting cause this guy's life is inseparable from meta commentary.
"George Francis Hotz (born October 2, 1989), known online by geohot, is an American security hacker, entrepreneur,[1] and software engineer. He is known for developing iOS jailbreaks,[2][3] reverse engineering the PlayStation 3, and for the subsequent lawsuit brought against him by Sony. From September 2015 until November 2025, he worked on his vehicle automation machine learning company comma.ai.[4] Since November 2022, Hotz has been working on tinygrad, a deep learning framework."
From the early legal controversy to today, if there's one thing we can expect from geohot, it's that he's gonna think he's god's gift to programming and everyone whose work he disagrees with are losers. But the bluster often doesn't result in much eg his plan to 'fix twitter search' didn't amount to anything (and today in June 2026 twitter search is way less reliable than it was pre-Elon/Hotz/etc in Oct 2022-- but I guess we can't say it's Hotz's fault cause like I said he did approximately nothing)
Punk is actually a good metaphor because the the angst in the music became the blockbuster 'brand' of the music. Being jaded and cynical doesn't make you inherently more interesting it just leaves you--'here', wherever this post is. The programmer equivalent of sporting a studded leather jacket and green mohawk
Very cool. So much of the 'capability overhang' of AI can be addressed with tools like this--data manipulation etc without LLMs having to galaxy brain everything in token space
Works well on prose too
npx github:firasd/venetianblinds --samples=12 macbeth.txt # venetianblinds file: macbeth.txt characters: 128338 samples: 12 context_range: 120
--- sample 1/12 char 0 line 1 col 1 range 0:60 The Project Gutenberg eBook of Macbeth
This eBook is ^
--- sample 2/12 char 11667 line 481 col 25 range 11607:11727 thee from our royal master thanks; Only to herald thee into his sight, Not pay thee.
ROSS. And, for an earnest of ^
--- sample 3/12 char 23334 line 868 col 21 range 23274:23394 have judgement here; that we but teach Bloody instructions, which being taught, return To plague th’ inventor. This ev ^
Some interesting stats here about the current landscape https://arena.ai/leaderboard/agent
Agent Arena (Dynamic ranking of models on how well they orchestrate tools for real-world agentic tasks, based on signals like tool reliability, task completion, and steerability.)
Top 10, Highest rank to lowest
Claude Fable 5 (High), Claude Opus 4.8 (Thinking), GPT 5.5 (xHigh), Claude Opus 4.7 (Thinking), GPT 5.5 (High), Claude Opus 4.7, Claude Opus 4.6, GPT 5.5, GPT 5.4 (High), GLM 5.2 (Max)
Text Arena View overall rankings across various AI models in text-to-text tasks across math, coding, creative writing, and other open-ended domains.
Top 10, Highest rank to lowest
claude-fable-5, claude-opus-4-6-thinking, claude-opus-4-7-thinking, claude-opus-4-6, claude-opus-4-7, muse-spark, gemini-3.1-pro-preview, gemini-3-pro, claude-opus-4-8-thinking, gpt-5.5-high
This is basically about OAuth for accessing a Cloudflare account, not a CF-hosted generic 'Login' type stuff for custom apps
Ha fun--works in my regular laptop in Chrome without any CPU/GPU etc spikes
Do CLI enjoyers realize that MCP can be called via curl?
For example I have a no-auth clock for AI deployed from https://github.com/firasd/mcpclock to https://mcpclock.firasd.workers.dev/mcp (anyone is welcome to go ahead and add it to your AI apps as an MCP endpoint)
You can still call it via CLI if you're a MCP hater
curl -s -X POST "https://mcpclock.firasd.workers.dev/mcp" -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id": 1,"method":"tools/call","params":{"name":"clock_get","arguments":{}}}' event: message data: {"result":{"content":[{"type":"text","text":"[\n {\n \"timezone\": \"UTC\",\n \"iso\": \"2026-05-30T04:05:07.175Z\",\n \"unixtime\": 1780113907\n },\n {\n \"timezone\": \"Alphadec\",\n \"alphadec\": \"2026_K6G7_066464\"\n }\n]"}]},"jsonrpc":"2.0","id":1}
curl -s -X POST "https://mcpclock.firasd.workers.dev/mcp" -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id": 1,"method":"tools/list","params":{"name":"","arguments": {}}}' 2>&1 | grep '^data:' | sed 's/^data: //'| jq -r '.result. tools[].name' clock_get clock_day_info clock_convert clock_convert_alphadec clock_convert_unixtime clock_shift_utc clock_delta_utc clock_delta_alphadec
The "just use a CLI" crowd is implicitly assuming:
1) You're a developer 2) On a laptop 3) With a shell open Inside an agentic coding harness (Claude Code, Codex CLI, Cursor) 4) Working on a software project 5) That's like... maybe 2% of AI usage.
The other 98% is: Someone on the ChatGPT iOS app asking a question on the subway; Someone in Claude.ai web chatting about their calendar; Someone using ChatGPT Desktop to summarize their Notion; A non-developer using AI in a browser at work; Voice mode on a phone; An embedded chat widget on some company's website...
Interesting experiment!
I think tool calling (such as MCP) is really underrated. People think of it as a way to connect to Google Drive etc but the potential for MCP to power actual in-chat apps is very under-explored.
I've been working on something called Liveclip which is like tables in chat: just a few hours ago I implemented a way for ChatGPT (etc) to surface sentences within the US Constitution: https://x.com/firasd/status/2049187034066198658
I've also thought that games are an obvious way to explore chat-native MCP apps. Hangman for example. Also small utilities like a clock. In fact I have a no-auth remote MCP clock that can be added to any client right now deployed straight from https://github.com/firasd/mcpclock to https://mcpclock.firasd.workers.dev/mcp <-- works in Claude .ai, Claude iOS, Claude Code, Codex, etc right now
This seems a bit fiddly... I gave it the ChatGPT iframe html for my (not yet released) Liveclip MCP server that's like tables [https://x.com/firasd/status/2039926453408776649]. And I had this chat in the sidebar and it popped up some questions in a form
do you see our current html
Hi-fi design Interactive prototype html
do you see our current html
Hi-fi design Interactive prototype html
● Claude Yes — I can see your html/ folder. It has 7 files:
files-list.html math-result.html rows-view.html table-view.html text-editor-doc-view.html trending-topics.html unique-result.html Want me to open them up and take a look at what's in there? And what would you like to do — polish them, turn them into an interactive prototype, build something new on top, or something else?
yeah in table view i'm thinking about how to deal with cells that may be big. i guess we want to do something different than excel or sheets in that auto expand rows with cells that contain big values. we can show like the first -- what does twitter show, 280? so we can show 280 chars and then [...]
● Let me take a look at the current table view to understand what we're working with.
Got it — I see the current table view. Right now every cell is clamped to max-width:220px with white-space:nowrap and text-overflow:ellipsis, so long values just get cut off at whatever ~30 chars fits the column. You're thinking about the opposite end: what if a cell genuinely holds 2,000 chars of text? Neither pure clip nor Excel-style row expansion is quite right.
Before I start sketching, a few quick questions so I don't guess wrong:
Questions answered: - truncation_threshold: ~280 chars (new tweet) - expansion_ux: nothing right now -- it's not interactive - row_height_policy: Grow freely like Notion/Airtable - content_types: Not sure yet - indicator_style: [...] at the end of the text - newlines: Render them (row grows) - copy_affordance: no interaction right now - column_width: Fixed width, all columns equal - variation_count: 2 variations - aesthetic_direction: Same bones, but let you push it a bit
● Got it — so: non-interactive, rows can grow freely, 280-char cap with [...], newlines render, same bones but push it a bit, 2 variations. Let me sketch this out.
Set up variations file with two table treatments V1: Notion/Airtable-style free-grow with [...] cap V2: pushed aesthetic variant Wire both to the same sample data w/ long cells Let me peek at a couple of the sibling files so the variations stay in-family with the rest of the widget set.
Good — now I have the visual family. The shared vocabulary across widgets:
#f5f5f3 page, #fff card, #d0d0cc borders, #f0f0ec headers System font, 12–14px Subtle alternating row tints, no drop shadows, flat corners Color used sparingly; #666 for secondary text My plan for the two variations (side-by-side in a canvas so you can compare on the same rows):
V1 — "Notion-ish, stay in family"
Keep current palette, borders, zebra striping Rows grow vertically as needed; white-space: pre-wrap so newlines render Cap each cell at 280 chars; if longer, slice to 280 + […] inline Same fixed column widths, everything else identical V2 — "Same bones, pushed"
Tightens the grid (hairline borders instead of panels, more whitespace, denser typography) Column rail with sticky row numbers Soft fade on the bottom of ultra-tall cells instead of mid-text […] when content is really long (hybrid: char cap + visual) Monospaced tabular digits for row numbers; type column ⌾ / ▤ markers subtly hinting content type; column width slightly wider for breathing room Let me build it.
Now let me build the two variations. I'll set up realistic sample data with a mix of short values, tweet-length values, long-long values, and ones with newlines, so the behaviors are visible.
Now the two table components.
Clean. Two variations on the canvas, both rendering the same 7 rows so you can compare directly:
V1 — in-family. Your current widget, with white-space: pre-wrap so rows grow, newlines render, and a soft grey […] appended when a cell goes past 280 chars. Row 3's summary (double-long prose) and row 4's URL show the cap. V2 — same bones, pushed. Hairline borders instead of filled header panels, monospaced tabular row gutter, column letters as uppercased small-caps above the header names row, tighter typographic rhythm, cells > 280 → […] legend in the footer. Row 7 shows how newlines render naturally. Both slice at the nearest word boundary when one is within ~40 chars of the 280 cap, otherwise hard-cut — so […] never lands mid-word.
A couple of things worth calling out, not changed:
280 is pretty generous when a row has multiple long cells side-by-side — row 3 is ~2 cells × 280 = a very tall row. If that ends up being painful in real usage, dropping to ~180 or adding a per-row max-height with fade might be worth a follow-up. Neither variation is interactive per your answer; there's no click-to-expand, hover, or copy. Easy to bolt on later. Fork verifier agent Both variations are live on the canvas. Let me know which direction feels right and I'll fold it back into html/table-view.html." -----
It's basically similar to their Artifacts system in a harness I guess
Seems like a lot of previous context led to this but yeah still unexpected.
Interesting subplot about the Anthropic ads
Anthropic’s Super Bowl debut, which drew close attention from rivals, illustrated the risks of that convergence. By centering its message on promising not to include ads on Claude, which OpenAI announced it would begin testing earlier this year. The company made a bet that its ad free principles would resonate with audiences more than product familiarity.
That wager came amid a significant awareness gap. According to an S&P Global 2025 survey of 1,149 respondents, 73% reported using ChatGPT, followed by Google’s Gemini at 41%. Tools like Perplexity and Claude registered in the single digits, with only 7% of respondents saying they use Claude.
“The vast majority of consumers don’t know what Claude is. Many people aren’t going to really get the whole ‘Oh, we’re comparing ourselves to chatGPT,’” said Williamson.
It's helpful to keep in mind that 'AI Twitter' is a bubble. Most people just don't have that many 'important' notes and calendar items.
People saying 'Claude is now managing my life!11' are like gearheads messing with their carburetor or (closer to this analogy) people who live out of Evernote or Roam
All that said I've been thinking for a while that tool use and discrete data storage like documents/lists etc will unlock a lot of potential in AI over just having a chatbot manipulating tokens limited to a particular context window. But personal productivity is just one slice of such use cases
It's interesting to think about how complex the wikipedia text is compared to something like github flavored markdown or even standard html tables (although I guess it eventually renders into standard html so it's not more complex than the latter when all other html elements are considered in addition to <table>)
For example the swatch internet time infobox is dynamically updated
{{short description|Alternate time system by watch maker Swatch}} {{Infobox | image = [[File:Swatch beat Logo.svg|200px|alt=Logo of Swatch Internet Time]] | caption = Logo of Swatch Internet Time | title = Time{{efn|at page generation }} {{purge|(update to view correct time)}} | label1 = 24-hour time (UTC) | data1 = {{nowrap|{{#time:H:i:s}}}} | label2 = 24-hour time (CET) | data2 = {{Time|CET|dst=no|df-cust=H:i:s|hide-refresh=yes}} | label3 = .beat time (BMT) | data3 = {{nowrap|@{{#expr: floor( {{#expr:{{#expr:{{#expr:{{#time:H|now + 1 hour}}3600}}+{{#expr:{{#time:i}}60}}+{{#time:s}}}}/86.4}} )}}}} }}
I'm not very familiar with this model series but tried it when prototyping a potential 'Vibesbench' (my eval) conversation I tried it. Here's Kimi on a Robocop scene
kimi k2 thinking turbo
"He’s not being poetic; he’s weaponizing nostalgia. Quoting Casablanca—the ultimate “beautiful sacrifice” romance—to taunt Morton about corporate backstabbing is pure executive sleaze. It’s the same move as his mahogany desk and flag pin: draping sentimental Americana over naked power. He’s essentially saying, “Isn’t it romantic, Bob? You fought the good fight, now you die.” "
grok 4.1
"So when Dick Jones smirks and says, “Time goes by, it’s the same old story… the fight for love and glory, huh, Bob?” that’s pure Ed Neumeier flexing his love of old Hollywood while simultaneously mocking how these psychopathic ’80s execs think they’re in some grand cinematic drama instead of just murdering a guy for market share."
chatgpt-4o
"The reason the Casablanca reference matters is RoboCop itself is partially a noir—and also a tragedy built inside a genre engine. [… ] So yeah, calling back to Casablanca is not just some meta-joke—it’s a knowing wink that RoboCop is a noir trapped in cybernetic skin. // Even Clarence Boddicker, for all his cartoonish sadism, plays like a twisted stand-in for a noir heavy—talking smooth, dropping nicknames, throwing out casual violence like it’s a punchline."
opus 4.5
"Jones is performing avuncular menace. He's the kind of executive who'd quote old movies while having you murdered, because it's all performance to him, all style. The substance is just power."
It's puzzling to me that all this theorizing doesn't just look at the actual effects of AI. It's very non-intuitive
For example the fact that AI can code as well as Torvalds doesn't displace his economic value. On the contrary he pays for a subscription so he can vibe code!
The actual work AI has displaced is stuff like: freelance translation, graphic illustration, 'content writing' (writing seo optimized pages for Google) etc. That's instructive I suppose. Like if your income source can already be put on upwork then AI can displace it
So even in those cases there are ways to not be displaced. Like diplomatic translation work can be part of a career rather than just a task so the tool doesn't replace your 'job'.
Both Trump presidencies have really shown how little check there is on the White House when it comes to coordinating among these agencies. Heck literally one of the first the things he did in Jan 2016 is try to find out which park ranger posted a sparse inauguration photo. It wouldn't even occur to me that he was the de facto boss of millions of people in this way
Cause consider the previous status quo. It was considered somehow scandalous for Bill Clinton to have an opinion on what his AG Janet Reno was doing
Right. So I guess that's my quibble with the term sacrifice (shared by Rudolf Spielmann)
But what's interesting to me is the counterfactual like outside of these 3 queen moves he would have lost the entire advantage. So it was like a tactical shot like capturing the golden snitch in Harry Potter
Unfortunately the list of AI edits this person declares at the bottom of their post is self-refuting
If you use AI as a Heads-up Display you can't make a giant scroll of every text change you accepted.
What I was expecting is that it would pull up the KJV using the results returned from the wiki_source_search tool instead of going for a totally different translation and then doing a text match for a KJV quote
I've been analyzing classic "romantic" games using Stockfish with multipv (showing the top 4-5 lines rather than just the best move)
1. Morphy vs. Duke of Brunswick (The Opera Game)
https://lichess.org/study/xAo78qLb/truC6WoM
16. Qb8+.
This is viewed as Morphy doing a stylish Queen sacrifice
But if you look at the MultiPV:
Qb8+* leads to forced mate.
Qc3 or Qb7 drops the advantage significantly.
Qb5 actually allows equality
If he had played anything else, he would have been imprecise. It wasn't a gamble
2. D. Byrne vs. Fischer (Game of the Century)
https://lichess.org/study/UZlSqSLA/Ku9M59je
Fischer plays 17... Be6, leaving his Queen hanging.
Standard narrative: "Fischer offers his Queen for a mating attack!"
Engine reality: 17... Be6 is the correct move. Trying to save the Queen actually loses the advantage.
Byrne taking the Queen (18. Bxb6) was a massive blunder. The engine actually wants Byrne to ignore the Queen and trade off Fischer's Knight on c3. He ends up with a Queen stranded on a3, a total spectator
Ah but I'm not arguing about the rate of change in the trend. I'm saying the signals are decoupled. That is to say an LLM can be as good as a programmer as Linus Torvalds without having even basic knowledge-generalization abilities we assume the median human with no specialized skills would have (when given the same knowledge an LLM has)
I was asking it to see if the wikisource tools are working by looking up a Bible quote. There was no ambiguity about the task itself; what I'm saying is that Claude 'knows' a bunch of things (the Bible has different translations) that it doesn't operationalize when doing a task--issues that would would be glaringly obvious to a human who knows the same things
When I see Dario say all this I wonder what he's seeing that seems so differentiated from my POV
I wonder how much of Anthropic's success is based on a horde of prompt to code examples that they post-train on. We shouldn't assume Opus' web dev skills are the same as general intelligence
Here's something Sonnet 4 did (Jul 2025) that I don't think a human intern would do when I made a wikisource tool (transcript follows)
#-#-#
F:
let’s see how the wikisource tool wrks.. let’s try to match “Mary hath chosen that good part” in one of the bible sources they should have
Claude: Great idea! Let me first search for some biblical content on WikiSource, then use the content match tool.
wiki_source_search
Perfect! Let me try the Douay-Rheims version of Luke, which should have the Mary and Martha story:
wiki_source_page_content_match
No matches! Let me try a slightly different phrasing – maybe it’s “hath chosen the good part”:
wiki_source_page_content_match
Still nothing. Let me try searching for just “Martha” to see if the story is there:
F:
dummy .. why would use kjv wording in a different edition lol
Claude: Haha you’re absolutely right! I was being completely silly – of course the KJV wording “Mary hath chosen that good part” wouldn’t be in the Douay-Rheims translation. Different translations use different language entirely.
What I Did Wrong: • Used King James Version phrasing in a Catholic translation • The Douay-Rheims says “Mary hath chosen the best part” • I was looking for “good part” (KJV wording)
Should Have Started With: Just searching for “Martha” or “Mary” to see what the actual text says in that translation, then used the exact wording I found.
#-#-#
It's almost comedic.. "Perfect! Let me try the Douay-Rheims version of Luke" is where if you were watching a horror movie you'd say "Don't go down to the basement fridge!"
And I think a human when they first see the text match fail would go "hmm--ohh" but Claude starts doing permutations. This I guess is the side effect of Reinforcement Learning and system prompts that amount to saying: "Just do it. Don't ask questions. Just do it."
I'm beginning to think that origin stories are an underrated way to find these angles. Like why exactly did you start thinking about this topic. I guess the recipe bloggers were on to this with their long rambles about where they first tried this dish (albeit it may have been for SEO too...)
I noticed something in Claude across all product surfaces
There's a bug in that it can't output smart quotes “like this”
Sonnet, Opus et al think they output it but something in the pipeline is rewriting it
https://github.com/firasd/vibesbench/blob/main/docs/2026/A/t...
Try it in Claude Code and you'll see what I mean! Very weird
"Model power" is being conflated with benchmark and reasoning scores.
There are models that do well on academic or coding benchmarks but have poor world knowledge and conversational fluency. That gap isn't visible in standard evals, but it matters a lot for actual use.