<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: insin</title><link>https://news.ycombinator.com/user?id=insin</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 19 Sep 2026 19:28:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=insin" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by insin in "Tailwind Labs is joining Shopify"]]></title><description><![CDATA[
<p>Writing CSS in a way that will scale up with the size of your project and team is just as hard as it's ever been, you still have to come up with a convention for doing that, including taking into account what newer features bring to the table. Having to manually edit it was never the pain point.</p>
]]></description><pubDate>Wed, 09 Sep 2026 14:43:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=49627452</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=49627452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49627452</guid></item><item><title><![CDATA[New comment by insin in "Ask HN: Who is using MCP in production?"]]></title><description><![CDATA[
<p>I work on an F100's internal, vendor/model-independent LLM chat app whose agent runs in your browser, so CLI isn't an option, direct API is out as the agent deliberately doesn't have any tools for hitting arbitrary URLs and it can't access the network via its iframe-sandboxed code execution tool, so we use MCP in the harness to let it do third-party things, with e.g. Atlassian and GitHub MCP servers pre-configured and support for BYO MCP if there are compatible third-party servers you want to use, or are running your own locally to provide tools to let it do things on your machine (it can already be given R/W access to your local filesystem via showDirectoryPicker()).<p>The biggest issues are usually that a third-party MCP server you're trying to use either has misconfigured CORS so the browser can't hit it, has a bespoke OAuth setup which doesn't work with @modelcontextprotocol/client, or they don't support Dynamic Client Registration (DCR) so you can't just point at it and use it. It's nice when none of these apply and it Just Works, the user can auth easily with the third-party and refresh tokens automatically handled in the background by the client.<p>That's the advantage, really - you didn't have to define the tools yourself, auth is handled for you, and the agent doesn't need to (and can't) access credentials or tokens as it knows nothing about MCP.</p>
]]></description><pubDate>Fri, 04 Sep 2026 03:31:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=49560202</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=49560202</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49560202</guid></item><item><title><![CDATA[New comment by insin in "Firefox is now the last major browser that still supports uBlock Origin"]]></title><description><![CDATA[
<p>It looks like Google constantly pushing "MV3 is more secure" messaging worked at the intended high level.</p>
]]></description><pubDate>Sat, 15 Aug 2026 11:04:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=49309582</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=49309582</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49309582</guid></item><item><title><![CDATA[Chrome Web Store will remove all MV2 extensions on August 31st]]></title><description><![CDATA[
<p>Article URL: <a href="https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline">https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49309540">https://news.ycombinator.com/item?id=49309540</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Sat, 15 Aug 2026 10:58:51 +0000</pubDate><link>https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=49309540</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49309540</guid></item><item><title><![CDATA[New comment by insin in "uBlock Origin is giving up the fight to keep ads off Facebook"]]></title><description><![CDATA[
<p>Given that YouTube already has a suite of anti-adblocking checks in their UI code [1] (e.g. submit a fake request to the /player endpoint and see if anything removed the ads from it - which also tells you exactly which fields you need to remove from which request, lol), I don't know why they don't have someone looking at the latest filters and reacting to them.<p>Twitch did that a while back and uBlock Origin was ineffective against their video ads within a few months.<p>[1] <a href="https://bsky.app/profile/soitis.dev/post/3lvk7przgus2u" rel="nofollow">https://bsky.app/profile/soitis.dev/post/3lvk7przgus2u</a></p>
]]></description><pubDate>Thu, 13 Aug 2026 07:16:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=49282679</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=49282679</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49282679</guid></item><item><title><![CDATA[New comment by insin in "Ask HN: Add flag for AI-generated articles"]]></title><description><![CDATA[
<p>I have default "AI" keyword and domain filters as a separate toggleable option (so you can keep your personal filters separate) in my HN extension (which I really need to add recent model names to):<p><a href="https://soitis.dev/comments-owl-for-hacker-news" rel="nofollow">https://soitis.dev/comments-owl-for-hacker-news</a></p>
]]></description><pubDate>Mon, 13 Jul 2026 06:41:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48888763</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=48888763</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48888763</guid></item><item><title><![CDATA[New comment by insin in "X has launched its complete rewrite of X Web"]]></title><description><![CDATA[
<p>I thought this was funny because they've rewritten it seemingly with the primary goal of trying to get you to not use it.<p>TL;DR: open app, use the app, install the app, have you opened the app yet?</p>
]]></description><pubDate>Tue, 07 Jul 2026 07:14:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48814602</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=48814602</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48814602</guid></item><item><title><![CDATA[X has launched its complete rewrite of X Web]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/wongmjane/status/2073141434484666724">https://twitter.com/wongmjane/status/2073141434484666724</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48814601">https://news.ycombinator.com/item?id=48814601</a></p>
<p>Points: 3</p>
<p># Comments: 2</p>
]]></description><pubDate>Tue, 07 Jul 2026 07:14:40 +0000</pubDate><link>https://twitter.com/wongmjane/status/2073141434484666724</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=48814601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48814601</guid></item><item><title><![CDATA[New comment by insin in "window.showDirectoryPicker opens up a whole new world"]]></title><description><![CDATA[
<p>I'm using this API in the internal [1] model-independent LLM chat app I work on at an F100, and it ruined using the Claude and ChatGPT web interfaces for me outside of work [2] because I'm used to being able to point the model at a folder so it can be directed to find and pull in relevant context itself, being able to add folder mid-chat and saying "you do it", and being able to have the model run code to work with local files of any size your browser can handle (every time we released a new version people would drag in their huge Excel files and go "still doesn't work" as we used to extract and context stuff the contents, but now it can poke around in them directly to find sheets/headers/structure and write code to do whatever they wanted).<p>Claude Opus on its own with filesystem tools built around the FileSystemDirectoryHandle API [3] makes for a pretty decent coding agent - I've been using the app to write itself live on its own development server ever since it got the ability to edit its own files, which is some of the most fun development I've done recently. I think writing your own harness is probably the most fun thing you can do with an LLM, which is why so many people do it - getting the model to add and then start using a new tool you had an idea for in the same chat is always fun.<p>[1] which seems like the best scenario for it in terms of the security/privacy issues it poses<p>[2] I ended up creating an MCP server rooted to a specific local directory - which I can expose to them via Cloudflare Tunnel - and a browser extension which adds a folder picker button to their chat interfaces, so I can get an almost-equivalent experience. This is really ugly in ChatGPT but works as well as I'm used to in Claude.<p>[3] as a bonus, the tools you write against this API will also be compatible with the Origin private file system (OPFS) API if you want to give your chats a virtual filesystem for the model to write to, or to copy user-attached files into</p>
]]></description><pubDate>Tue, 23 Jun 2026 07:23:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48641494</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=48641494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48641494</guid></item><item><title><![CDATA[New comment by insin in "MCP is dead?"]]></title><description><![CDATA[
<p>> Let's say you have a jq MCP. How do you pass data in and out to/from it without the data also being processed as tokens?<p>Provide a meta-tool which handles piping data in and out of any other tool, and make specific tools which can read/write data sources directly, bypassing context. Or you could go full code mode, but I'm not sure it's worth the lift unless you have Cloudflare numbers of APIs which would need tools.<p>I work on an internal model/vendor-independent chat app where the agent runs in the browser - every chat gets its own virtual origin private filesystem (OPFS) [1] directory where user attachments get written to and tools can read from/write to, and users can also provide read/write access to a real directory with window.showDirectoryPicker() [2] (both use the same API, so tools can route to/from either).<p>It can push and pull MBs of data through tools, e.g. pulling huge spreadsheets directly from SharePoint in 50,000 row chunks using a tool which calls the Excel Services REST API, passing those all into a code execution tool to join them together and process them, which generates an Excel output file using SheetJS, none of which goes into context.<p>People used to drag their multi-MB documents in and complain either it didn't work or the agent couldn't do anything useful with it. Now it just works.<p>[1] <a href="https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/API/File_System...</a><p>[2] <a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/showDirectoryPicker" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/API/Window/show...</a></p>
]]></description><pubDate>Sun, 31 May 2026 04:52:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48343133</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=48343133</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48343133</guid></item><item><title><![CDATA[New comment by insin in "Hacker News front page as a site"]]></title><description><![CDATA[
<p>Nice try at trying to get me to read the friendly articles ;)</p>
]]></description><pubDate>Mon, 25 May 2026 23:23:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48273040</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=48273040</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48273040</guid></item><item><title><![CDATA[New comment by insin in "Project Glasswing: An Initial Update"]]></title><description><![CDATA[
<p>Watching it like a hawk and stopping/redirecting, or immediately reviewing and doing the same is the only way, really.</p>
]]></description><pubDate>Sat, 23 May 2026 00:04:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48243089</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=48243089</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48243089</guid></item><item><title><![CDATA[New comment by insin in "I believe there are entire companies right now under AI psychosis"]]></title><description><![CDATA[
<p>HN needs to start sticking an ?mx=1 on the end</p>
]]></description><pubDate>Sat, 16 May 2026 02:34:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48156304</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=48156304</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48156304</guid></item><item><title><![CDATA[New comment by insin in "Rewrite Bun in Rust has been merged"]]></title><description><![CDATA[
<p>Congratulations to the Anthropic marketing team on their acqui-hire.</p>
]]></description><pubDate>Fri, 15 May 2026 09:55:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48146637</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=48146637</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48146637</guid></item><item><title><![CDATA[New comment by insin in "Claude for Small Business"]]></title><description><![CDATA[
<p>I don't think it needs to specifically be a coding agent for the average user, creating apps for whatever they want to do, just something that can use code and has appropriate access for what they're already asking it to do (instead of the model bullshitting to them that it can do it, annoying them), and some way to make it repeatable when needed, like skills.<p>I'm currently doing something like this in the internal model-independent LLM chat app I work on at a F100, specifically targeted at our everyday users. <input type="file" webkitdirectory> lets the user give the model read and write access to a local folder (and OPFS lets us reuse the same fs tools we give the model for files manually attached to the chat, or for files tools want to create if they haven't granted folder access).<p>Every time we used to release a new version it was "still can't handle the 6MB Excel file I drop into it" when that was being extracted to CSV and added to context - now it can poke about in the big Excel file directly with SheetJS to pull the sheets/headers and inspect the shape of the data, and use locally sandboxed code execution to write code against either extracted data or the spreadsheet itself via SheetJS for pivot tables and such (all locally - none of which need go into the context).<p>The base models are good enough at tool calling (I really mean Claude, though, the GPTs just go on a tear calling tools with no context for the user) they're already decent at automating stuff for the user without a dedicated harness (our default system prompt is still "You are a helpful AI assistant", lol). Add tools for Graph API stuff, and now it can pull the nightly batch file from a support inbox, unzip the spreadsheet within, diff it against yesterday's and generate an import file for new users and draft an email to welcome them, something that used to be a daily support task (which I'd already automated most of - but now you don't need a dev for this kind of thing). Or go find the big 450,000+ row spreadsheet that's being automated somewhere on SharePoint, pull it down in 150,000 row chunks (Graph Excel REST API limit) and write code to go figure out whatever the user is asking.<p>Having implemented and used it, I like this setup so much it kinda ruined Claude.ai and ChatGPT.com for me, so I've hooked up similar access for them using a browser extension to add the folder picker input, with the extension talking to a local server to tell it which folder to give access to, and Claude/ChatGPT talking to the same server over MCP via a CloudFlare Tunnel to work with the selected folder.</p>
]]></description><pubDate>Thu, 14 May 2026 09:47:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48133153</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=48133153</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48133153</guid></item><item><title><![CDATA[New comment by insin in "Show HN: Humanoid.js – One HTML file that scores how human your clicks look"]]></title><description><![CDATA[
<p>Upvoting because of how I misread those 2 letters</p>
]]></description><pubDate>Wed, 22 Apr 2026 13:12:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47863097</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=47863097</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47863097</guid></item><item><title><![CDATA[Show HN: Themeable HN]]></title><description><![CDATA[
<p>Hi HN, I needed a distraction from the new and scary thing I was working on this weekend, so I grabbed HN's stylesheet, extracted CSS variables for every colour it defined, then re-applied them back onto HN using its own selectors (plus some extras for bits of HN which are styled inline, and some separation between header and content styling), allowing it to be themed with variables.<p>After using them to implement a dark mode (and a pure black variant for OLED), plugging everything into my existing HN browser extension which already lets you apply custom CSS, and making it handle theme switching via attributes on <html>, custom styles and theming are now manageable using it. There are a few examples in the friendly release notes above, with screenshots and copy-pasteable CSS.<p>If you just want to grab the stylesheet which sets up the CSS variables and application rules to use in your own thing, it's here [1], but not _everything_ is themeable without a bit more work - in particular, I had to replace the HN <img src="y18.svg"> logo with an inline version of the SVG, so its fills can be controlled by CSS.<p>[1] <a href="https://github.com/insin/comments-owl-for-hacker-news/blob/master/style.css" rel="nofollow">https://github.com/insin/comments-owl-for-hacker-news/blob/m...</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47836108">https://news.ycombinator.com/item?id=47836108</a></p>
<p>Points: 8</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 20 Apr 2026 15:54:06 +0000</pubDate><link>https://github.com/insin/comments-owl-for-hacker-news/releases/tag/v3.6.1</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=47836108</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47836108</guid></item><item><title><![CDATA[New comment by insin in "Show HN: Ilha – a UI library that fits in an AI context window"]]></title><description><![CDATA[
<p>Create a new UI library without spending a decent chunk of the landing page telling the reader what it <i>isn't</i> challenge.</p>
]]></description><pubDate>Thu, 16 Apr 2026 15:24:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47794610</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=47794610</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47794610</guid></item><item><title><![CDATA[New comment by insin in "YouTube users get option to set their Shorts time limit to zero minutes"]]></title><description><![CDATA[
<p>Upvoting because Shorts are terrible. Flagging because the submission title - which is 100% faithful to the friendly article - is a complete lie!<p>Plug: I added a bunch of features to Control Panel for YouTube [1] which let you either hide Shorts completely, everywhere (which is the default) or take more control of how you use them if you do (e.g. redirecting to the normal video player)<p>[1] <a href="https://soitis.dev/control-panel-for-youtube" rel="nofollow">https://soitis.dev/control-panel-for-youtube</a></p>
]]></description><pubDate>Thu, 16 Apr 2026 01:19:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47787550</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=47787550</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47787550</guid></item><item><title><![CDATA[New comment by insin in "Project Maven Put A.I. Into the Kill Chain"]]></title><description><![CDATA[
<p>Bravo New Yorker, defeating my regular expression because I've never once seen it referred to as A.I. (I'm sure it happens)</p>
]]></description><pubDate>Wed, 15 Apr 2026 23:41:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47786831</link><dc:creator>insin</dc:creator><comments>https://news.ycombinator.com/item?id=47786831</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47786831</guid></item></channel></rss>