<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: cle</title><link>https://news.ycombinator.com/user?id=cle</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 03:32:41 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=cle" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by cle in "MCP is dead?"]]></title><description><![CDATA[
<p>The security model and runtime requirements are completely different between making an HTTP request and executing arbitrary code.<p>They have different tradeoffs.</p>
]]></description><pubDate>Sat, 30 May 2026 00:11:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48330978</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=48330978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48330978</guid></item><item><title><![CDATA[New comment by cle in "Layoff Thinking"]]></title><description><![CDATA[
<p>What? I get so much joy out of learning the details of careers of people in different industries than me. I had an hourlong conversation with someone the other day who is in the high-end rug business…where he sources from, how he deals with difficult clientele, how he gets new leads, what it’s like visiting the remote villages where the rugs are made, etc. And another one with a hedge fund quant, and a separate one with a professional dancer. These are some of my favorite conversations to have with people.</p>
]]></description><pubDate>Sat, 11 Apr 2026 21:07:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47734028</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=47734028</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47734028</guid></item><item><title><![CDATA[New comment by cle in "Child's Play: Tech's new generation and the end of thinking"]]></title><description><![CDATA[
<p>GP didn't say it's not a problem and not worth fixing. They're claiming this is not a good fix.</p>
]]></description><pubDate>Fri, 20 Feb 2026 16:11:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47089880</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=47089880</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47089880</guid></item><item><title><![CDATA[New comment by cle in "I’m leaving Redis for SolidQueue"]]></title><description><![CDATA[
<p>> The issue is that "83 per second" is multiple orders of magnitude off the expected level of performance on any RDBMS running on anything resembling modern hardware.<p>This is just not true, there are so many scenarios where 83/sec would be the limit. That number by itself is almost meaningless, similar to benchmarks which also make a bunch of assumptions about workloads and runtime environments.<p>As a simple example if your queue has a large backlog, you have a large worker fleet aggressively pulling work to minimize latency, your payloads are large, you have not optimized indexing, and/or you have many jobs scheduled for the future, every acquire can be an expensive table scan.<p>(This is a specific example because this is one of many failure scenarios I’ve encountered with Graphile that can cause your DB to meltdown. The same workload in Redis barely causes a blip in Redis CPU, without having to fiddle with indexes and auto vacuuming and worker backoffs.)</p>
]]></description><pubDate>Fri, 16 Jan 2026 13:42:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46646254</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=46646254</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46646254</guid></item><item><title><![CDATA[New comment by cle in "Americans Overwhelmingly Support Science, but Some Think the U.S. Is Lagging"]]></title><description><![CDATA[
<p>Americans think "supporting universities" is not necessarily the same as "supporting science."</p>
]]></description><pubDate>Thu, 15 Jan 2026 17:15:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46635806</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=46635806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46635806</guid></item><item><title><![CDATA[New comment by cle in "I’m leaving Redis for SolidQueue"]]></title><description><![CDATA[
<p>This comes up every time this conversation occurs.<p>Yes, PG can theoretically handle just about anything with the right configuration, schema, architecture, etc.<p>Finding that right configuration is not trivial. Even dedicated frameworks like Graphile struggle with it.<p>My startup had the exact same struggles with PG and did the same migration to BullMQ bc we were sick of fiddling with it instead of solving business problems. We are very glad we migrated off of PG for our work queues.</p>
]]></description><pubDate>Wed, 14 Jan 2026 13:31:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46615861</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=46615861</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46615861</guid></item><item><title><![CDATA[New comment by cle in "HTTPS by default"]]></title><description><![CDATA[
<p>There are good arguments for it, but it's also not a coincidence that they happen to align with Google's business objectives. Ex it's hard to issue a TLS cert without notifying Google of it.</p>
]]></description><pubDate>Tue, 28 Oct 2025 19:18:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=45737588</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=45737588</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45737588</guid></item><item><title><![CDATA[New comment by cle in "DeepSeek OCR"]]></title><description><![CDATA[
<p>That will not work with many of the world's most important documents because of information density. For example, dense tables or tables with lots of row/col spans, or complex forms with checkboxess, complex real-world formatting and features like strikethroughs, etc.<p>To solve this generally you need to chunk not by page, but by semantic chunks that don't exceed the information density threshold of the model, given the task.<p>This is not a trivial problem at all. And sometimes there is no naive way to chunk documents so that every element can fit within the information density limit. A really simple example is a table that spans hundreds pages. Solving that generally is an open problem.</p>
]]></description><pubDate>Mon, 20 Oct 2025 15:27:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=45645032</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=45645032</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45645032</guid></item><item><title><![CDATA[New comment by cle in "Launch HN: Extend (YC W23) – Turn your messiest documents into data"]]></title><description><![CDATA[
<p>> How many degrees of freedom do you real need to represent API cost.<p>The amount that your users care about.<p>At a large enough scale, users will care about the cost differences between extraction and classification (very different!) and finding the right spot on the accuracy-latency curve for their use case.</p>
]]></description><pubDate>Thu, 09 Oct 2025 19:31:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=45532067</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=45532067</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45532067</guid></item><item><title><![CDATA[New comment by cle in "MCP overlooks hard-won lessons from distributed systems"]]></title><description><![CDATA[
<p>I write these as part of my job, I know how they work. I'm not going to spend more time explaining to you (and demonstrating!) what is in the spec. Read the spec and let the authors know that they don't understand what they wrote. I've run out of energy in this conversation.</p>
]]></description><pubDate>Sun, 10 Aug 2025 15:45:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=44855961</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=44855961</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44855961</guid></item><item><title><![CDATA[New comment by cle in "MCP overlooks hard-won lessons from distributed systems"]]></title><description><![CDATA[
<p>I'd encourage you to read the MCP specification: <a href="https://modelcontextprotocol.io/specification/2025-06-18/server/tools#output-schema" rel="nofollow">https://modelcontextprotocol.io/specification/2025-06-18/ser...</a><p>Or write a simple MCP server and a client that uses it. FastMCP is easy: <a href="https://gofastmcp.com/getting-started/quickstart" rel="nofollow">https://gofastmcp.com/getting-started/quickstart</a><p>You are quite wrong. The LLM "chooses" to use a tool, but the input (provided by the LLM) is validated with JSON Schema by the server, and the output is validated by the client (Claude Code). The output is not provided back to the LLM if it does not comply with the JSON Schema, instead an error is surfaced.</p>
]]></description><pubDate>Sun, 10 Aug 2025 00:36:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=44851730</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=44851730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44851730</guid></item><item><title><![CDATA[New comment by cle in "MCP overlooks hard-won lessons from distributed systems"]]></title><description><![CDATA[
<p>What you described is essentially how it works. The LLM has no control over how the inputs & outputs are validated, nor in how the result is fed back into it.<p>The MCP interface (Claude Code in this case) is doing the schema checks. Claude Code will refuse to provide the result to the LLM if it does not pass the schema check, and the LLM has no control over that.</p>
]]></description><pubDate>Sun, 10 Aug 2025 00:32:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=44851705</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=44851705</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44851705</guid></item><item><title><![CDATA[New comment by cle in "MCP overlooks hard-won lessons from distributed systems"]]></title><description><![CDATA[
<p>Every time the LLM uses this tool, the response schema is validated--deterministically. The LLM will <i>never</i> see a non-integer value as output from the tool.</p>
]]></description><pubDate>Sat, 09 Aug 2025 23:43:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44851420</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=44851420</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44851420</guid></item><item><title><![CDATA[New comment by cle in "MCP overlooks hard-won lessons from distributed systems"]]></title><description><![CDATA[
<p>Generally you'd use a time library to model ISO-8601 dates in a typesafe way. Some fancier languages might have syntactic support for it, but they ultimately serve the same purpose.<p>Related but distinct from serialization.</p>
]]></description><pubDate>Sat, 09 Aug 2025 21:19:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44850330</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=44850330</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44850330</guid></item><item><title><![CDATA[New comment by cle in "MCP overlooks hard-won lessons from distributed systems"]]></title><description><![CDATA[
<p>This is deterministic, it is validating the response using a JSON Schema validator and refusing to pass it to an LLM inference.<p>I can't gaurantee that behavior will remain the same more than any other software. But all this happens before the LLM is even involved.<p>> The whole point of it is, whichever LLM you're using is already too dumb to not trip when lacing its own shoes. Why you'd trust it to reliably and properly parse input badly described by a terrible format is beyond me.<p>You are describing why MCP supports JSON Schema. It requires parsing & validating the input using deterministic software, not LLMs.</p>
]]></description><pubDate>Sat, 09 Aug 2025 20:53:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44850111</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=44850111</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44850111</guid></item><item><title><![CDATA[New comment by cle in "MCP overlooks hard-won lessons from distributed systems"]]></title><description><![CDATA[
<p>I just tried this in Claude Code. I made an MCP server whose tool output is declared as an integer but it returns a string at runtime.<p>Claude Code validated the response against the schema and did not pass the response to the LLM.<p><pre><code>     test - test_tool (MCP)(input: "foo")
      ⎿  Error: Output validation error: 'bar' is not of type 'integer'</code></pre></p>
]]></description><pubDate>Sat, 09 Aug 2025 20:08:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=44849695</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=44849695</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44849695</guid></item><item><title><![CDATA[New comment by cle in "MCP overlooks hard-won lessons from distributed systems"]]></title><description><![CDATA[
<p>I don't understand this criticism by the author. MCP supports JSON Schema, and server responses must conform to the schema. If the schema requires an ISO-8601 timestamp (ex by specifying a "date" format in the schema) but the server sends a Unix epoch timestamp, then it is violating the protocol.<p>The author even later says that MCP supports JSON Schema, but also claims "you can't generate type-safe clients". Which is plainly untrue, there exist plenty of JSON Schema code generators.</p>
]]></description><pubDate>Sat, 09 Aug 2025 19:23:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=44849325</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=44849325</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44849325</guid></item><item><title><![CDATA[New comment by cle in "Most RESTful APIs aren't really RESTful"]]></title><description><![CDATA[
<p>For me the battle is with people who want to waste time bikeshedding over the definition of "REST" and whether the APIs are "RESTful", with no practical advantages, and then having to steer the conversation--and their motivation--towards more useful things without alienating them. It's tiresome.</p>
]]></description><pubDate>Wed, 09 Jul 2025 14:29:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=44510485</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=44510485</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44510485</guid></item><item><title><![CDATA[New comment by cle in "The Academic Pipeline Stall: Why Industry Must Stand for Academia"]]></title><description><![CDATA[
<p>"Everyone should support education" is an empty platitude, it doesn't help answer questions like "how much funding?" and "who gets funding and who doesn't?". That's where the sides arise.<p>The author (and Nature) pretends like those aren't real problems and that scientists should get unconditional support. That's never been the case.</p>
]]></description><pubDate>Mon, 30 Jun 2025 16:38:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=44425251</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=44425251</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44425251</guid></item><item><title><![CDATA[New comment by cle in "Claude Code for VSCode"]]></title><description><![CDATA[
<p>Cursor does all that stuff too perfectly fine.</p>
]]></description><pubDate>Mon, 23 Jun 2025 12:35:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=44355149</link><dc:creator>cle</dc:creator><comments>https://news.ycombinator.com/item?id=44355149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44355149</guid></item></channel></rss>