<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: kageroumado</title><link>https://news.ycombinator.com/user?id=kageroumado</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 09 Apr 2026 11:08:42 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=kageroumado" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by kageroumado in "Show HN: Refrax – my Arc Browser replacement I made from scratch"]]></title><description><![CDATA[
<p>For me the main use case is screen sharing (share only the mirrored window). It can also be useful for multi-monitor setups when you want to show something to other people on a bigger screen without mirroring your main screen.</p>
]]></description><pubDate>Mon, 23 Mar 2026 11:01:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47487723</link><dc:creator>kageroumado</dc:creator><comments>https://news.ycombinator.com/item?id=47487723</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47487723</guid></item><item><title><![CDATA[New comment by kageroumado in "Show HN: Refrax – my Arc Browser replacement I made from scratch"]]></title><description><![CDATA[
<p>The browser was made as an Arc replacement, and so has most of its features.<p>Features currently available in the alpha version include:
Pinned tabs, tab groups, tab filtering, tab sorting, favorites (Arc model), spaces with optionally different profiles, custom download paths, and authentication via TouchID or password, RSVP reader, split-view for tabs (2, 3, or 4), and a side panel that has its own tabs, per-tab volume and audio control, link previews, custom routing rules for links, you can make all mailto: links open gmail, open all links to a domain in a specific browser, etc., automatically detects phone numbers, flight numbers, and similar info on right click and shows relevant actions, can also convert measurements, can download videos from most services with yt-dlp integration, can be controlled from Claude Code or similar, and has a DSL for the commands, blocks APIs like page visibility, disables copy-paste blocking, strips tracker parameters, shortcuts app integration, calendar integration (will remind of meetings), handoff support, auto-detects and marks tabs as unread when you receive a new message, auto-add custom search engines, can show the memory use of each tab, supports Chrome, Firefox extensions, can pin window to be always on top, make it transparent, or show on every space, windowed fullscreen, tab screenshots and video recording, quick drag and drop shelf</p>
]]></description><pubDate>Mon, 23 Mar 2026 00:06:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47483764</link><dc:creator>kageroumado</dc:creator><comments>https://news.ycombinator.com/item?id=47483764</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47483764</guid></item><item><title><![CDATA[Show HN: Refrax – my Arc Browser replacement I made from scratch]]></title><description><![CDATA[
<p>Open the same tab in two browser windows. In Chrome or Safari, you get two unconnected pages. In Arc, one window shows a placeholder. In Zen, it silently creates a duplicate.<p>In Refrax, the browser I built, both windows show the same page updating live. The same web page, in as many windows as you want.<p>This shouldn't be possible. WebKit's WKWebView can exist in exactly one view hierarchy at a time. With macOS 26, Apple added a SwiftUI API separating WebView from WebPage, so you can end up with multiple views referencing the same page. But if you try it, your app crashes. WebKit source code has a precondition with this comment: "We can't have multiple owning pages regardless, but we'll want to decide if it's an error, if we can handle it gracefully, and how deterministic it might even be..."<p>So here's how I did it.<p>CAPortalLayer is an undocumented private class that's been in macOS since 10.12. It mirrors a layer's composited output by referencing the same GPU memory, not copying it. Every scroll, animation, or repaint reflects instantly. This is what powers Liquid Glass effects, the iOS text selection magnifier, and ghost images during drag and drop. Apple uses portals for effects. I use them to put the same web page in two windows.<p>Refrax keeps one real WKWebView per tab and displays a CAPortalLayer mirror everywhere else. When you click a different window, the coordinator moves the real view there and the old window gets a portal. You can't tell which is which.<p>This sounds simple in theory, but making this actually work seamlessly took quite a lot of effort. Each macOS window has its own rendering context, and the context ID updates asynchronously, so creating a portal immediately captures a stale ID and renders nothing. The portal creation needs to be delayed, but delaying creates a visual gap. I capture a GPU snapshot using a private CoreGraphics function and place it behind the portal as a fallback. Another hard part is that none of it is documented. Portals are very capricious and would crash the app if you use them incorrectly. I had to inspect the headers and then disassemble the binaries to explore exactly how it works in order to build something robust.<p>I never worked on a browser before this, I've only been a user. I started using Arc in 2022. I remember asking for an invite, learning the shortcuts, slowly getting used to it. I didn't like it at first as it had too much Google Chrome in it for my taste, and I'd been using Safari at the time. But it grew on me, and by the time it was essentially abandoned and sold to Atlassian, I couldn't go back to Safari anymore. 
I tried everything: Zen, SigmaOS, Helium. None felt right, and I didn't want another Chromium fork. WebKit ships with the OS, but all you get is the rendering engine. Tabs, history, bookmarks, passwords, extensions, everything else has to be made separately. And so, being a very reasonable person, I decided to make my own Arc replacement from scratch.<p>And I did. Refrax is built in Swift and Objective-C with no external dependencies. The app itself is less than 30 MB. I have 393 tabs open right now using 442 MB of RAM; 150 tabs in Safari was already over 1 GB. I've been using it daily for over a month, and so have some of my friends.<p>The portal mirror is just one feature. The same approach, finding what Apple built for themselves and using it to create something they didn't think about, runs through the entire browser. You can tint your glass windows with adjustable blend modes and transparency. The sidebar in compact mode samples the page and matches the colors. And it has support for Firefox and Chrome extensions.<p>The alpha is public. Download from the linked website, enter REFRAX-ALPHA-HACKERNEWS to activate. No account needed. Telemetry is crash reports and a daily active-user ping, nothing else. And if you find a bug – I built this alone, so I'll actually read your report.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47483155">https://news.ycombinator.com/item?id=47483155</a></p>
<p>Points: 12</p>
<p># Comments: 8</p>
]]></description><pubDate>Sun, 22 Mar 2026 22:52:29 +0000</pubDate><link>https://refrax.website/</link><dc:creator>kageroumado</dc:creator><comments>https://news.ycombinator.com/item?id=47483155</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47483155</guid></item><item><title><![CDATA[New comment by kageroumado in "ClashMac – A Modern Proxy Tool for macOS"]]></title><description><![CDATA[
<p>The website is so nice. I don’t have a use case for it - I don’t use proxies -  but the website alone made me download it.<p>Why do you link to GitHub however, and publish them as zip archives, instead of a direct DL of a DMG from your website? You may lose some users solely because of the unexpected friction: GH releases are confusing to many, and zip is unexpected.</p>
]]></description><pubDate>Sun, 22 Mar 2026 18:07:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47480323</link><dc:creator>kageroumado</dc:creator><comments>https://news.ycombinator.com/item?id=47480323</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47480323</guid></item><item><title><![CDATA[New comment by kageroumado in "VNDB founder Yorhel has died"]]></title><description><![CDATA[
<p>This website is a remnant of something long gone: simple yet capable HTML websites that just work. I hope it will be preserved, or at least the database made public so it won’t get lost.</p>
]]></description><pubDate>Sun, 22 Mar 2026 17:05:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47479617</link><dc:creator>kageroumado</dc:creator><comments>https://news.ycombinator.com/item?id=47479617</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47479617</guid></item><item><title><![CDATA[New comment by kageroumado in "Windows native app development is a mess"]]></title><description><![CDATA[
<p>You can now use SwiftUI, which is, as of the latest version, quite stable. They used to change things a lot between releases a few years ago, but nowadays you don't need to refactor your code every year. Only issue with it is that it's iOS first, so you may need to fallback to AppKit (Cocoa) to implement more complex elements.</p>
]]></description><pubDate>Sun, 22 Mar 2026 14:37:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47477970</link><dc:creator>kageroumado</dc:creator><comments>https://news.ycombinator.com/item?id=47477970</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47477970</guid></item><item><title><![CDATA[New comment by kageroumado in "Ask HN: Are we close to figuring out LLM/Agent Memory"]]></title><description><![CDATA[
<p>For my personal use case, I use something that's known as “lossless context management.” I made a custom harness implementation that uses it. In short, it has a database with every message ever exchanged, and the model can access any of those messages using a simple search. On top of that, every exchange is summarized and stored separately as a level zero summary. Level zero summaries are then periodically summarized together into level one summaries that leave only the most important parts (lessons, knowledge).<p>The full context then looks something like: [intro prompt] + [old exhanges lvl 1 summaries] + [larger system prompt] + [more recent exchanges lvl 0 summaries] + [temporal context] + [recent messages with tool results stripped] + [recent messages including tool results]<p>Tool results are progressively stripped because they are generally only useful for a few turns. This allows to keep everything we've ever done in the context, and the model can easily look up more information by expanding  each node. It's a single perpetual session that never compacts during active work.<p>I find it outperforming every other solution I tried for my use case (personal assistant).</p>
]]></description><pubDate>Fri, 20 Mar 2026 02:41:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47449797</link><dc:creator>kageroumado</dc:creator><comments>https://news.ycombinator.com/item?id=47449797</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47449797</guid></item></channel></rss>