<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: amadeus</title><link>https://news.ycombinator.com/user?id=amadeus</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 30 May 2026 20:03:54 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=amadeus" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>Glad we solved glitchy scrolling for now (the title of this blog post was “on rendering diffs”, not “searching diffs”). Browser search on a 36 million line diff would not by great, but it’s something we hope to have a solution for. One step at a time.</p>
]]></description><pubDate>Sat, 30 May 2026 09:26:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48334326</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48334326</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48334326</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>Would love to see a website that makes everything DiffsHub does without making any of the work necessary. Making it all obsolete would be a huge step forward for the web. We support diffs that exceed 36 million lines, with syntax highlighting, comments, bundled into a reusable library for anyone to use.<p>Also this works in all browsers, fixing blink doesn’t help move the web forward.</p>
]]></description><pubDate>Sat, 30 May 2026 07:27:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48333620</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48333620</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48333620</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>Appreciate it, thank you!</p>
]]></description><pubDate>Sat, 30 May 2026 01:56:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48331618</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48331618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48331618</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>Hey thank you, appreciate your kind words! I don’t write much and was quite an effort to get all this written out!</p>
]]></description><pubDate>Sat, 30 May 2026 01:55:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48331614</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48331614</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48331614</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>I probably didn’t explain this well enough, but your render times always have to be within the frame buffer (16.6ms for 60hz or 8.3ms for 120hz). Under normal circumstances even if you occasionally blow a frame buffer, with the over-scroll you won’t hit the sticky bounds.<p>The only time you will is if you’re scrolling at a rate where the jumps are quite large — large and fast enough typically where you’re not going to have a frame of reference for what you should see vs what you are seeing to notice you are behind.<p>Ultimately scrolling is managed on a separate thread from JS, which means if you do like an opt+click on the scroll bar, you’re going to make a jump that JavaScript can never keep up with, even if you’re under your frame times.<p>And with regards to safari, if your requestAnimationFrame is capped at 60hz but your scrolling is GPU composited at 120hz, this is the only way to keep scrolling at 120hz with 60hz dom updates and never see any blanking.</p>
]]></description><pubDate>Sat, 30 May 2026 01:54:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48331606</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48331606</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48331606</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>Yeah, my bad. Sorry i wasted your time :(</p>
]]></description><pubDate>Sat, 30 May 2026 01:04:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48331317</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48331317</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48331317</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>Yup! You can pick from a bunch of different themes and use css variables to override the core colors as well!</p>
]]></description><pubDate>Fri, 29 May 2026 23:55:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48330888</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48330888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48330888</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>Maybe i need to buy one of these devices to test.<p>Just to be clear tho, we don't actually scroll jack, native scrolling works as it should and content should move with normal gpu composited scroll. That said, it's possible that loading that much data into memory may be causing causing knock on effects somehow that are just slowing everything down.</p>
]]></description><pubDate>Fri, 29 May 2026 23:48:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48330830</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48330830</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48330830</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>>  disagree with the theory that scrolling frame rate doesn't need to be smooth for scrolling to feel smooth<p>It's possible you might be misunderstanding what I was trying to say here because 120hz scrolling on a 120hz device was the goal and why one of those virtualization techniques was not acceptable to me which lead me to coming up with a novel workaround to this problem (Inverse Sticky Technique).<p>CodeView uses a system that allows scrolling to update at your native framerate (120hz) WITHOUT needing Javascript needing to keep up at 120hz. If you're seeing stuttering while scrolling on <a href="https://diffshub.com" rel="nofollow">https://diffshub.com</a> would love to know more context (device/diff link/etc) because that is very much NOT our experience.</p>
]]></description><pubDate>Fri, 29 May 2026 20:58:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48329168</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48329168</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48329168</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>Naw, the truth is I'm not really smart or intelligent enough to build a semantic diff system. For that you'll need to wait on a post from one of our smarter devs, this was a post about rendering diffs in a browser.</p>
]]></description><pubDate>Fri, 29 May 2026 20:45:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48329009</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48329009</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48329009</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>Yes and no. It would help to improve things a bit when it comes the measure/reconciliation phase (unclear to say how much). However we've already done a pretty good job around batching writes vs reads.<p>However passing a million lines of code through pretext is unlikely to be very efficient, so a lot of the work around estimation is still very important.<p>That said, while I don't want to make pretext a direct dependency of the library, there's a good chance I'll explore the possibility of allowing devs to pass it in as an additional argument perhaps improve performance a bit.<p>It should also be noted that we have a full API to support things like line annotations (comments, etc) that are entirely controlled by the user, so there's always a bit of a dynamic aspect there that would come into play</p>
]]></description><pubDate>Fri, 29 May 2026 20:44:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48328992</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48328992</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48328992</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>thank you!</p>
]]></description><pubDate>Fri, 29 May 2026 20:37:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48328899</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48328899</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48328899</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>Performance and optimization is one of many pieces, but yes, it's a meme to render 500k lines.<p>That said though, and maybe I didn't say it well in the post, the more performant and optimized your tool is, the less burden you put on developers and users.<p>Sure you won't review 100k lines, but maybe the diff includes a ton of testing snapshots, or maybe it's a long running feature branch and you need to just quickly jump in and look at a specific change from a specific file. The less the developer or the user needs to think about `how` to render the diff or `how to navigate the diff`, the better we did our job.</p>
]]></description><pubDate>Fri, 29 May 2026 20:25:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48328745</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48328745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48328745</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>One of our next big projects is actually to support semantic diffs, which I think will be a lot more applicable to what you're asking for here. Currently diffs just takes a normal git patch file, or generates one from 2 versions of a file.</p>
]]></description><pubDate>Fri, 29 May 2026 20:07:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48328504</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48328504</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48328504</guid></item><item><title><![CDATA[New comment by amadeus in "On Rendering Diffs"]]></title><description><![CDATA[
<p>A bit of a technical deep dive into how we built CodeView, a review surface that can handle rendering diffs of immense size, all in a browser.</p>
]]></description><pubDate>Fri, 29 May 2026 19:04:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48327810</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48327810</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48327810</guid></item><item><title><![CDATA[On Rendering Diffs]]></title><description><![CDATA[
<p>Article URL: <a href="https://pierre.computer/writing/on-rendering-diffs">https://pierre.computer/writing/on-rendering-diffs</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48327809">https://news.ycombinator.com/item?id=48327809</a></p>
<p>Points: 194</p>
<p># Comments: 65</p>
]]></description><pubDate>Fri, 29 May 2026 19:04:54 +0000</pubDate><link>https://pierre.computer/writing/on-rendering-diffs</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=48327809</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48327809</guid></item><item><title><![CDATA[New comment by amadeus in "Twitch is acquiring popular video game community and software maker Curse"]]></title><description><![CDATA[
<p>Disclosure: I'm a Discord developer.<p>Discord works in a browser or with the native apps. Just visit the website and click 'Open Discord in your browser'</p>
]]></description><pubDate>Wed, 17 Aug 2016 18:25:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=12307030</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=12307030</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12307030</guid></item><item><title><![CDATA[New comment by amadeus in "Vim's 400 line function to wait for keyboard input"]]></title><description><![CDATA[
<p>Yet another Vim bashing post by the Floobits bros.<p>It's getting old.</p>
]]></description><pubDate>Wed, 15 Jul 2015 23:11:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=9894583</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=9894583</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9894583</guid></item><item><title><![CDATA[New comment by amadeus in "Borderlands Books is Closing"]]></title><description><![CDATA[
<p>They addressed this in the article.</p>
]]></description><pubDate>Tue, 03 Feb 2015 20:20:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=8993062</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=8993062</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8993062</guid></item><item><title><![CDATA[Engine.js – For quick animation or simulation prototyping]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/amadeus/Engine.js">https://github.com/amadeus/Engine.js</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=8106695">https://news.ycombinator.com/item?id=8106695</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 30 Jul 2014 06:23:22 +0000</pubDate><link>https://github.com/amadeus/Engine.js</link><dc:creator>amadeus</dc:creator><comments>https://news.ycombinator.com/item?id=8106695</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8106695</guid></item></channel></rss>