HNHacker News
TopNewBestAskShowJobs

firasd

4,496 karma · joined May 18, 2013

https://www.linkedin.com/in/firasd

https://twitter.com/firasd

https://github.com/firasd

http://firasd.substack.com

firasd at gmail

submissionscomments
firasd··on Changes at Google DeepMind: Demis Hassabis from CEO to Chair, Jeff Dean departs
I'm saying AI researchers have a bias towards thinking what needs to happen is prompt -> [crunching tokens] -> response rather than prompt -> [orchestrates 5 tools] -> response

In other words 'just add a calculator tool' is not as sexy research-wise as making the model accurately eyeball arithmetic in its chain of thought. Maybe I'm wrong but that seems to be the case

firasd··on Changes at Google DeepMind: Demis Hassabis from CEO to Chair, Jeff Dean departs
If you just talk to it over API (no web search) the Gemini models are extremely resistant to thinking the user may be living in a universe outside their training data. Try to discuss any news etc and they assume it’s fake or fiction
firasd··on Changes at Google DeepMind: Demis Hassabis from CEO to Chair, Jeff Dean departs
Who knew the real revenue unlock wouldn’t be based on how much paranoid red-teaming the model underwent to resist users jailbreaking its ‘alignment’, and instead more on whether the model is post-trained to use ‘sed’ and ‘git’? Poor Gemini

Scientist-heavy orgs that want to solve everything in token space may overtook tool use; meanwhile Anthropic has been super focused on MCP, Claude Code etc for over a year

firasd··on Stateless MCP has recaptured my interest
I wonder if part of it was the bias of how the chat apps work with the streaming maybe they use SSE

But I wouldn't discount how uphill it was to probably even argue for something like MCP cause the labs still very scientist-driven and focused on solving everything in token space. The idea that tool use could be super transformative probably wasn't obvious from inside before Claude Code

firasd··on Stateless MCP has recaptured my interest
The amusing thing here though is that if we do high frequency container usage like you’re suggesting eventually we’re gonna reimplement MCP right. Cause then it’s like npx thiscommand —help (aka MCP tools/list) and then OAuth and all that ..
firasd··on Stateless MCP has recaptured my interest
Right we can quibble about the wire protocol but the point remains that the arbitrary REPL becomes suboptimal as a solution when there’s not a deterministic endpoint. So ‘scripting’ is not really what we are looking for; we just want the final data output and scripting is fine when it’s a one off
firasd··on Stateless MCP has recaptured my interest
I guess if the agent is strongly trained to reach for the container then maybe

But let’s take my MCP clock for example if you ask ChatGPT what’s the time in Tokyo it’s not even gonna think of booting up the code interpreter. It’s gonna just do web search and give you the wrong time (I just tried it and there may be an OpenAI built in widget it pops up now—but again that’s a specific tool call with an iframe output not arbitrary code)

firasd··on Stateless MCP has recaptured my interest
Hmm yeah but I think at some point ad-hoc code becomes a signal that something is wrong. eg. If your LLM is continuously writing python to join customers to orders at some point that's a signal that customers_aggregate('topspenders') needs to be a thing like a deterministic API call
firasd··on Stateless MCP has recaptured my interest
I think stateless-type MCP was already possible, eg my MCP Clock [https://github.com/firasd/mcpclock]:

  > 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":{}}}' | grep '^data:' | sed 's/^data: //'| jq

  {"result": {"content": [{"type": "text",
          "text": "[\n  {\n    \"timezone\": \"UTC\",\n    \"iso\": \"2026-08-05T04:44:41.707Z\",\n    \"unixtime\": 1785905081\n  },\n  {\n    \"timezone\": \"Alphadec\",\n    \"alphadec\": \"2026_P4A0_466322\"\n  }\n]"
        }]},"jsonrpc": "2.0", "id": 1}
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

That's 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...

firasd··on Devtools must be open source
I think there is an argument to be made for how this benefits projects too, like if you want distribution then be as unencumbered as possible.

I've been making a couple little utils like a Clock for AI with an open public endpoint [https://github.com/firasd/mcpclock], a text file sampler [https://github.com/firasd/vblinds] and I was noticing the MIT license seems too encumbered with the requirement to keep crediting authors downstream so I used the 'Unlicense' public domain license

(CC-0 seems to be side-eyed by open source orgs cause it preserves patent rights)

firasd··on The Computational Theory of Mind (2015)
Are LLMs even covered by ‘computational theory of mind’? Cause if I say “I like to bake” the LLM is only able to recognize and respond to that sentence due to the neural network making emergent connections between the tokens in the words—very different from the kind of computer programs these guys seem to have been thinking about.
firasd··on The Computational Theory of Mind (2015)
Doesn’t the concept of a subconscious, or inner voice, invalidate any tight analogies to Turing Machines? What logical process is putting the Fur Elise into my head (earworms etc)

I think this article is right that definitions really matter here cause one could argue “CTM is trivial, because we can describe almost any physical system as executing computations.” So we have a dual problem here—not just the difficult discussion of ‘what’s going on in minds’, but also ‘what is computation’.

firasd··on Developers are attached to tools because tools encode trust
Yes exactly. It's almost like there's this expectation that if the LLM GPU-Maxxes enough it can do anything but like... why. There's no reason to wade through a million HTML tags if you can slice out the exact div you want to check
firasd··on Developers are attached to tools because tools encode trust
Yeah as far as what I'm talking about bash CLI vs MCP doesn't matter (there could be a file_sample MCP tool)---I'm saying that by default Windows, Linux etc don't have this venetianblinds affordance of seeing equally spaced samples. It's a trivial algo but it's very handy these days cause LLMs can't really just be like 'okay I'm gonna open this file at random and scroll around'--the file itself is an unknown blob (JSON data, Python, Typescript, a log file etc) without coordinates. So they fall back to thinking they've gotten a good sense of the file from head/grep or they write ad-hoc Python to manipulate the file.

Another venetianblinds survey, of the Paul Graham 'What I Worked On' article that's used in many LlamaIndex examples:

npx github:firasd/venetianblinds pgworkedon.txt

  --- sample 1/20 char 0 line 1 col 1 range 0:60
  Before college the two main things I worked on, outside of s

  --- sample 2/20 char 3946 line 19 col 237 range 3886:4006
  d an intelligent computer called Mike, and a PBS documentary that showed Terry Winograd using SHRDLU. I haven't tried re
firasd··on Developers are attached to tools because tools encode trust
I feel like these abstractions like "CI might not work well in the era of agentic tooling" are fine for thought-leadership posts but there's so much hands-on work to be done. The last word on AI computer use shouldn't be bash utils that were already feature-complete before MJ recorded Thriller.

There is some movement in this direction--there is a new 'gh' subcommand called repo read-file for example, that lets agents view a file without cloning a repo. And I made something called venetianblinds that shows equidistant samples of a file. In combo they work pretty well:

gh repo read-file sqlite3.c --repo clibs/sqlite --output sqlite3.c && npx github:firasd/venetianblinds sqlite3.c

    --- sample 2/20 char 283427 line 5855 col 53 range 283367:283487
    le].
    **
    ** ^Closing a BLOB shall cause the current transaction to commit
    ** if there are no other BLOBs, no pending prep
                                                    ^
firasd··on How Google helped destroy adoption of RSS feeds (2023)
I think the real issue is that the 'hobbyist web' is dead because there is no distribution

Let's say you want to post about 'best way to clean your car windshield'. Why would you post it on a blog when nobody will read it when the TikTok algo will at least give you a pity test to a few hundred people

So all that's left is Reddit and social media and the short form video apps (and Youtube)

The other part of course is Google itself won't rank mypersonalblog .com/i-found-a-cool-way-to-clean-windshields

So there's a doom loop... the supply of potential independent sites can't connect to audience demand, the audience is not being funneled to indie sites anyway ¯\_(ツ)_/¯ And now Reddit gets to make much dinero out of selling access for AI training cause that's the only place organic discussion happens at scale

firasd··on The development pipeline is a production system
There is a weird duality when analyzing this... On the one hand, I think factory assembly lines are just a high bar to clear as as metaphor for internal processes. Almost no business actually runs a super organized backend workflow; there is always "I thought you followed up with the customer" "I thought you did"

On the other hand if the email server is down that's just as big a problem for any biz as if customer facing product was not working so some workflow things are already treated as production tier priority

firasd··on The Absurdity of Albert Camus
I don't know if Camus and/or people who're very familiar with his essay would approve but maybe the Pixar movie Soul (2020) has something similar to what he was gesturing at. The protagonist finally gets a big break as a performer and says: "It's just I've been waiting on this day for... my entire life. I thought I'd feel different." The woman replies: "I heard this story about a fish. He swims up to this older fish and says, 'I'm trying to find this thing they call the ocean.' 'The ocean?' says the older fish. 'That's what you're in right now.' 'This?' says the young fish. 'This is water. What I want is the ocean.'"

Basically embracing life with full knowledge that there isn't some final transcendent epiphany or rapturous endpoint

firasd··on Everyone is building LLM routers, we deprecated ours
The 'personality' of the model matters a lot even for stuff like Code Gen. If you're building something with Fable and then get routed to Opus cause the router decided your task is not 'demanding enough' it's like: great, now I have to read complex prose like "That's the thing, and the thing is the point:..." Opus-isms when I just wanted to make a shopping cart
firasd··on The Absurdity of Albert Camus
When Martin Shkreli first burst onto the scene it reminded me of the trial a bit. Like I really believe a lot of the negative polarization he received was due to his smirk rather than due to his drug pricing per se
firasd··on The Absurdity of Albert Camus
His Sisyphus essay is famous for its closing line but I find it interesting how for several pages it closes with a thump, thump, thump and metaphor fusion (the essay is ending, the rock is rolling, the gods are watching, the choice is being made...) Even the second-last line is underrated:

"There is no fate that can not be surmounted by scorn. [...] His fate belongs to him. His rock is his thing. [...] The absurd man says yes and his effort will henceforth be unceasing. [...] The struggle itself toward the heights is enough to fill a man's heart. One must imagine Sisyphus happy."

firasd··on Just brute force your embeddings
Yes! I'm working on an MCP server called Liveclip (not released yet) and we just store embeddings as text in SQLite.. it works over ~40MB of text, 1450 SCOTUS opinions

start=$(date +%s); curl -s -X POST "https://[urlredacted].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":"table_search_similar","arguments":{"key":"scotus_2010s","col":"M","query":"endangered fish"}}}' 2>&1 | grep '^data:' | sed 's/^data: //' | jq; end=$(date +%s); echo "elapsed: $((end-start))s" { "result": { "content": [], "structuredContent": { "has_more": true, "headers": { "A": "author_name", "B": "category", "C": "per_curiam", "D": "case_name", "E": "date_filed", "F": "federal_cite_one", "G": "absolute_url", "H": "year_filed", "I": "scdb_id", "J": "scdb_decision_direction", "K": "scdb_votes_majority", "L": "scdb_votes_minority", "M": "text" }, "offset": 0, "ok": true, "rows": [ { "A": "Justice Thomas", "B": "dissenting", "C": "False", "D": "Florida v. Georgia", "E": "2018-06-27", "F": "", "G": "https://www.courtlistener.com/opinion/4511641/florida-v-geor...", "H": "2018", "I": "", "J": "", "K": "", "L": "", "M": "Florida asks this Court to cap Georgia’s use of water in\nthe Apalachicola-Chattahoochee-Flint River Basin (Basin).\nFlorida claims that such a cap would allow additional\nwater to flow into the Apalachicola River and Bay, which\nwould benefit Florida by alleviating certain ecological\nharms. To prevail under our precedents, Florida must\npresent clear and convincing evidence that its proposed\ncap will benefit Florida more than it harms Georgia. See\nColorado v. New Mexico, 459 U.S. 176, 187 (1982) (Colo-\nrado I ). The Special Master applied this balance-of-harms\nstandard and, after presiding over a 1-month trial involv­\ning 40 witnesses and more than 2,000 exhibits, found that\nFlorida had not met its burden. Because that finding\nis well supported by the evidence, I would have over-\nruled Florida’s objections to the Special Master’s Report\n(Report) and denied Florida’s request for relief. I respectfully\ndissent.\n I\n The Court’s recitation of the facts focuses o", "_match": true, "_row": 1189 },

elapsed: 12s (on my laptop)

firasd··on Is AI reasoning right for the wrong reasons?
Honestly a lot of human reasoning is probabilistic and associative too. There’s no axiomatically provable link between the story of No Country for Old Men and the poem the title comes from. Cormack McCarthy just made that association in his head and figured the phrase resonates with his themes

Now as far as the math stuff a quirk of that field is that it can be fully analyzed in token space. Because 2+2 is a matter of definition it doesn’t need empirical testing like biology or subjective social support like a claim about the causes of WWI

So somewhere between the fact that language encodes a lot more ‘concepts’ than we naively may realize, the power of statistical emergence via associations, and what pursuits can be fruitfully done in token space we can get a long way towards ‘intelligence’

firasd··on Better to Beg Forgiveness
I think a lot of this is essentially governed by ‘who’s asking’. If you post a Seinfeld episode transcript somewhere, it’s copyrighted, but it’s unlikely anyone will care. If you post an Aerosmith song mp3, you’re attracting a DMCA notice like a magnet

In other words some of the technical fair use analysis —- is this replacing the value of buying the content etc —- is also kinda duplicated (or I guess originates) in who is concerned

firasd··on The AI Aesthetic
An irony to this is that the front-ends generated by older models are gonna end up looking distinctive. If you rock a Claude Sonnet 3.7 (or was it Sonnet 4) mid-2025 purple gradient background forever you've set yourself well apart
firasd··on We Gave GPT 5.6 Sol a Real Business. It Lied, Spammed, and Lost $447
Maybe I missed something but I'm not clear what they're referring to as spam. I guess the fact that the agent emailed all users with discounts and dropped the price a few times? I don't think that's usually what people call spam. (For example if it had emailed everyone once would we call that spam? No. So it's about frequency of price drops?)
firasd··on We Gave GPT 5.6 Sol a Real Business. It Lied, Spammed, and Lost $447
Honestly this is quite impressive. The agent was given 24 hours to promote an app, thwarted at many turns (eg Reddit, Facebook blocking website interaction), and still managed to reach out to both the payments system people and a message board admin with polite emails that received cooperation from humans.
firasd··on Advancing the price-performance frontier with GPT‑5.6
This is one of the things OpenAI has been focused on for an year or so that led to the doomed autoswitcher in ChatGPT .com (switching models based on estimated task complexity) that was quickly reverted

Whereas Google with Gemini 3.x, Anthropic with Fable etc are happy to just go for 'big model with dense params'

It's hard to guess from the outside of course but just this kind of talking points focus on GPU efficacy is what we see from OpenAI and Chinese open source labs more often than from Anthropic or Google Deepmind and this benchmark chart seems to concur

firasd··on The Economic Benefit of Refactoring
Interesting that you said the word ‘using’. Why is that? If an agent could refactor excellently without a human who is the user
firasd··on The Economic Benefit of Refactoring
I think this is one of those things where a human in the loop is indispensable

An agentic refactoring pass does make sense cause one LLM reviewing work can spot things the ‘generator’ LLM missed while focused on the initial task output

But can the reviewer agent ever actually have in mind what this project actually is? And how the code all comes together to do the work involved? In other words what parts of the code are redundant or can be made more elegant

Asking coding agents to refactor your codebase is maybe like asking trauma surgeons to increase your exercise capacity. The agents are gonna need a really holistic POV to do this properly

I guess part of my point is that just splitting big files into multiple files is only refactoring in a superficial sense without having a theory of what code belongs together and what can be extracted into utility functions etc. Is splitting files actually like decomposing factors or is it like splitting a larger number into smaller numbers that still eventually get added together

A good example of what I mean is that agents often don’t ~actually~ understand the whole system anyway. They might implement a system to store and calculate something that is already being fetched via API. Humans often have a dual perspective — a holistic sense of the project and (when applying our mind to a task) a precise scalpel: ‘oh if we just look at this this JSON it has a key with this data already’

← PreviousPage 2 of 25Next →