<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: lewisjoe</title><link>https://news.ycombinator.com/user?id=lewisjoe</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 10 Jun 2026 06:56:07 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=lewisjoe" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by lewisjoe in "Native all the way, until you need text"]]></title><description><![CDATA[
<p>Just checked out VMPrint and it's crazy! Keep up the efforts. If you/someone could get a HTML/CSS input layer in front of VMPrint that would be a killer feature? Or is it possible already?</p>
]]></description><pubDate>Sun, 17 May 2026 14:01:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48169002</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=48169002</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48169002</guid></item><item><title><![CDATA[New comment by lewisjoe in "Native all the way, until you need text"]]></title><description><![CDATA[
<p>If you squint enough, you'll see the official Google doc app for Android/iOS is a webview (i.e the editor part)<p>Fancy text rendering/editing is hard to implement when you leave the luxury of webviews.</p>
]]></description><pubDate>Sun, 17 May 2026 13:57:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48168969</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=48168969</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48168969</guid></item><item><title><![CDATA[New comment by lewisjoe in "Nordstjernen Web Browser"]]></title><description><![CDATA[
<p>Got it. Thanks!</p>
]]></description><pubDate>Fri, 15 May 2026 17:36:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48151502</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=48151502</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48151502</guid></item><item><title><![CDATA[New comment by lewisjoe in "Nordstjernen Web Browser"]]></title><description><![CDATA[
<p>Congrats on the journey. How did you implement the layouting engine? And how much of an effort did it take?</p>
]]></description><pubDate>Fri, 15 May 2026 17:34:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48151465</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=48151465</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48151465</guid></item><item><title><![CDATA[New comment by lewisjoe in "Nordstjernen Web Browser"]]></title><description><![CDATA[
<p>Honest question: How can an entire html/CSS layout engine fit in a single layout.c that I can read over an afternoon? 
This looks too simple to be usable for serious work.</p>
]]></description><pubDate>Fri, 15 May 2026 17:23:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48151328</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=48151328</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48151328</guid></item><item><title><![CDATA[New comment by lewisjoe in "Show HN: Adam – An embeddable cross-platform AI agent library"]]></title><description><![CDATA[
<p>Jetbrains maintain a kotlin based ADK - <a href="https://github.com/JetBrains/koog" rel="nofollow">https://github.com/JetBrains/koog</a><p>Since it's written using kotlin multiplatform it's compilable to js/wasm/ios/android or any platform of choice.<p>Worth checking out.</p>
]]></description><pubDate>Wed, 06 May 2026 17:39:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48039077</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=48039077</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48039077</guid></item><item><title><![CDATA[New comment by lewisjoe in "CSS as a Query Language"]]></title><description><![CDATA[
<p>What's more fun is: LLMs too are really good at CSS selectors. 
I've been building a document editing agent and I used this fact to present the document as HTML to LLM and make it query and pull pieces of documents into context by just specifying CSS selectors.<p>Works like magic!</p>
]]></description><pubDate>Sat, 25 Apr 2026 07:28:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47899471</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47899471</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47899471</guid></item><item><title><![CDATA[Antirez is working on a Hacker News alternative]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/i/status/2044773715846500531">https://twitter.com/i/status/2044773715846500531</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47795987">https://news.ycombinator.com/item?id=47795987</a></p>
<p>Points: 3</p>
<p># Comments: 8</p>
]]></description><pubDate>Thu, 16 Apr 2026 16:39:00 +0000</pubDate><link>https://twitter.com/i/status/2044773715846500531</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47795987</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47795987</guid></item><item><title><![CDATA[New comment by lewisjoe in "I still prefer MCP over skills"]]></title><description><![CDATA[
<p><p><pre><code>    > ChatGPT can’t run CLIs. Neither can Perplexity or the standard web version of Claude. Unless you are using a full-blown compute environment (like Perplexity Computer, Claude Cowork, Claude Code, or Codex), any skill that relies on a CLI is dead on arrival. 
</code></pre>
Incorrect observation. Claude web does support skills upload. I guess claude runs code_interpreter tool and filesystem in the background to run user uploaded skills. ChatGPT business plans too allow uploading custom skills in web.<p>I can see Skills becoming a standard soon. But the concern still holds. When you publish a MCP you liberate the user out of installing anything. But with skills what happens if the skill running environment don't have access to the cli binary or if it isn't in PATH?</p>
]]></description><pubDate>Fri, 10 Apr 2026 04:15:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47713571</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47713571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47713571</guid></item><item><title><![CDATA[New comment by lewisjoe in "Ask HN: What are you building that's not AI related?"]]></title><description><![CDATA[
<p>1. Reviving an old project that lets users sync their google docs as blog posts.<p>2. Writing a rich text editor library powered by pretext for cheap pagination<p>3. A layout engine that understands html/CSS subset for lightning fast pdf generation<p>Although AI is the main reason why I'm able to work on all these projects concurrently.</p>
]]></description><pubDate>Thu, 09 Apr 2026 09:00:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47701009</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47701009</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47701009</guid></item><item><title><![CDATA[New comment by lewisjoe in "Show HN: Apfel – The free AI already on your Mac"]]></title><description><![CDATA[
<p>Tempted to write a grammarly-like underline engine that flags writing mistakes across all apps and browser. Fully private grammarly alternative without even bundling an LLM!</p>
]]></description><pubDate>Fri, 03 Apr 2026 15:17:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47627664</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47627664</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47627664</guid></item><item><title><![CDATA[New comment by lewisjoe in "Pretext's most interesting use cases have no DOM at all"]]></title><description><![CDATA[
<p>Got it! :)</p>
]]></description><pubDate>Thu, 02 Apr 2026 07:06:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47610955</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47610955</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47610955</guid></item><item><title><![CDATA[New comment by lewisjoe in "Pretext's most interesting use cases have no DOM at all"]]></title><description><![CDATA[
<p>This is not an accurate take. Especially the SSR one. Pretext doesn't liberate text layout from the browser entirely (at least not yet). It still uses canvas.measureText that does critical heavy lifting like font fallbacks, default styles, etc.<p>Once you take pretext out of browser environment, you'll have to worry about lot more things around fonts.</p>
]]></description><pubDate>Wed, 01 Apr 2026 04:11:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47596715</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47596715</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47596715</guid></item><item><title><![CDATA[Google Workspace no longer supports MCP]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/googleworkspace/cli/pull/275">https://github.com/googleworkspace/cli/pull/275</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47587036">https://news.ycombinator.com/item?id=47587036</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 31 Mar 2026 13:25:16 +0000</pubDate><link>https://github.com/googleworkspace/cli/pull/275</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47587036</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47587036</guid></item><item><title><![CDATA[New comment by lewisjoe in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>If the author is right, this is going to be huge for GUI web frameworks and for future rich text editors.</p>
]]></description><pubDate>Sun, 29 Mar 2026 19:08:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47566151</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47566151</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47566151</guid></item><item><title><![CDATA[New comment by lewisjoe in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>Quick overview of pretext: if you want to layout text on the web, you have to use canvas.measureText API and implement line-breaking / segmentation / RTL yourself.<p>Pretext makes this easier. Just pass the text and text properties (font, color, size, etc) into a pure JS API and it layouts the content into given viewport dimension.<p>Earlier you'll have to either use measureText or ship harbuzz to browser somehow. I guess pretext is not a technical breakthrough, just the right things assembled to make layouting as a pure JS API.<p>I have one question though: how is this different from Skia-wasm / Canvaskit? Skia already has sophisticated API to layout multiline text and it also is a pure algorithmic API.</p>
]]></description><pubDate>Sun, 29 Mar 2026 19:06:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47566122</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47566122</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47566122</guid></item><item><title><![CDATA[Pretext: browser independent text layouting engine for the web]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/i/status/2037713766205608234">https://twitter.com/i/status/2037713766205608234</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47564988">https://news.ycombinator.com/item?id=47564988</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 29 Mar 2026 17:06:30 +0000</pubDate><link>https://twitter.com/i/status/2037713766205608234</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47564988</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47564988</guid></item><item><title><![CDATA[New comment by lewisjoe in "Show HN: Revise – An AI Editor for Documents"]]></title><description><![CDATA[
<p>This is great work. I'm curious how did you get the agentic behavior integrated into your datamodel?<p>1. How does the AI read your document? have you exposed a JSON/XML?<p>2. How is AI generating edits over the document?<p>3. How are big documents presented to AI? Was minimizing token consumption a goal?<p>Fantastic work, btw!</p>
]]></description><pubDate>Tue, 24 Mar 2026 11:03:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47500911</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47500911</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47500911</guid></item><item><title><![CDATA[New comment by lewisjoe in "Chrome DevTools MCP"]]></title><description><![CDATA[
<p>Can you elaborate more?</p>
]]></description><pubDate>Mon, 16 Mar 2026 03:28:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47394899</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47394899</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47394899</guid></item><item><title><![CDATA[New comment by lewisjoe in "Google Workspace CLI"]]></title><description><![CDATA[
<p>Excellent project! I see that the agent modifies the google docs using an interesting technique: convert doc to html, AI operates over the HTML and then diff the original html with ai-modified html, send the diff as batchUpdate to gdocs.<p>IMO, this is a better approach than the one used by Anthropic docx editing skill.<p>1. Did you compare this one with other document editing agents? Did you have any other ideas on how to make AI see and make edits to documents?<p>2. What happens if the document is a big book? How do you manage context when loading big documents?<p>PS:I'm working on an AI agent for Zoho Writer(gdocs alternative) and I've landed on a similar html based approach. The difference is I ask the AI to use my minimal commands (addnode, replacenode, removenode) to operate over the HTML and convert them into ops.<p>This works pretty well for me.</p>
]]></description><pubDate>Thu, 05 Mar 2026 20:19:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47266744</link><dc:creator>lewisjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47266744</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47266744</guid></item></channel></rss>