<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: nvahalik</title><link>https://news.ycombinator.com/user?id=nvahalik</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 25 Jun 2026 06:29:30 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=nvahalik" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[A generic tragedy: Why PHP's Generics vote failed]]></title><description><![CDATA[
<p>Article URL: <a href="https://tempestphp.com/blog/a-generic-tragedy">https://tempestphp.com/blog/a-generic-tragedy</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48569284">https://news.ycombinator.com/item?id=48569284</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 17 Jun 2026 12:11:48 +0000</pubDate><link>https://tempestphp.com/blog/a-generic-tragedy</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=48569284</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48569284</guid></item><item><title><![CDATA[Zephir: PHP Extension Language]]></title><description><![CDATA[
<p>Article URL: <a href="https://zephir-lang.com/en">https://zephir-lang.com/en</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48407259">https://news.ycombinator.com/item?id=48407259</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 05 Jun 2026 02:32:52 +0000</pubDate><link>https://zephir-lang.com/en</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=48407259</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48407259</guid></item><item><title><![CDATA[List of JJ Aliases]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.lysator.liu.se/~axl/jj-aliases/">https://www.lysator.liu.se/~axl/jj-aliases/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48135935">https://news.ycombinator.com/item?id=48135935</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 14 May 2026 14:28:06 +0000</pubDate><link>https://www.lysator.liu.se/~axl/jj-aliases/</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=48135935</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48135935</guid></item><item><title><![CDATA[Brandolini's Law]]></title><description><![CDATA[
<p>Article URL: <a href="https://en.wikipedia.org/wiki/Brandolini%27s_law">https://en.wikipedia.org/wiki/Brandolini%27s_law</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48055039">https://news.ycombinator.com/item?id=48055039</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 07 May 2026 21:07:34 +0000</pubDate><link>https://en.wikipedia.org/wiki/Brandolini%27s_law</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=48055039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48055039</guid></item><item><title><![CDATA[Apple MLX vs. llama.cpp: compared and benchmarked [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=ZwCbChJWXkQ">https://www.youtube.com/watch?v=ZwCbChJWXkQ</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48050029">https://news.ycombinator.com/item?id=48050029</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 07 May 2026 14:38:46 +0000</pubDate><link>https://www.youtube.com/watch?v=ZwCbChJWXkQ</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=48050029</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48050029</guid></item><item><title><![CDATA[Why everyone is quietly quitting OpenClaw [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=urAMvpPhtqo">https://www.youtube.com/watch?v=urAMvpPhtqo</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47954704">https://news.ycombinator.com/item?id=47954704</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 29 Apr 2026 21:09:17 +0000</pubDate><link>https://www.youtube.com/watch?v=urAMvpPhtqo</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47954704</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47954704</guid></item><item><title><![CDATA[New comment by nvahalik in "He asked AI to count carbs 27000 times. It couldn't give the same answer twice"]]></title><description><![CDATA[
<p>Man. I built an AI food system at my previous company and it was tough: we ended up just using it as a way to look up foods in a real DB and allowed guestimation but ultimately the win was "I don't have to search for everything on this place" we surface _what_ and then allowed the user to enter the real weights.<p>And this... really was and (will be) the only way for this to ever work.</p>
]]></description><pubDate>Wed, 29 Apr 2026 14:23:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47948893</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47948893</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47948893</guid></item><item><title><![CDATA[A Git merge with 100k parents]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/cirosantilli/test-octopus-100k/commit/07fdcceb20ac3626a07c08166d0c410707b1cb9b">https://github.com/cirosantilli/test-octopus-100k/commit/07fdcceb20ac3626a07c08166d0c410707b1cb9b</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47943016">https://news.ycombinator.com/item?id=47943016</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 29 Apr 2026 01:12:22 +0000</pubDate><link>https://github.com/cirosantilli/test-octopus-100k/commit/07fdcceb20ac3626a07c08166d0c410707b1cb9b</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47943016</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47943016</guid></item><item><title><![CDATA[New comment by nvahalik in "Jujutsu megamerges for fun and profit"]]></title><description><![CDATA[
<p>If you have a dependency tree like this:<p><pre><code>       / A \
      -- B - Megamerge 
       \ C /
</code></pre>
There is nothing stopping you from doing this:<p><pre><code>       / A - D \
      -- B ----- - Megamerge 
       \ C - E /
</code></pre>
(Edit, or even this:)<p><pre><code>       / A - D \
      -- B ----- - Megamerge 
       \ C ----/
          \ E /
</code></pre>
Where E stacks on C and D stacks atop A. In the case above, A-E are revsets of either 1 or more commits. JJ doesn't care if they are or not. You'd generally bookmark the revset on the final "commit" as the pointer.<p><pre><code>           / features/add-widgets
          /  / features/add-widget-integration
       / A - D \
      -- B ----- - Megamerge 
       \ C - E /
          \   \ feature/add-new-page
           \ feature/rework-navigation
</code></pre>
In the example above, let's say you rework the navigation. You could have it exist alongside the navigation rework, but changes are you don't want to do the work twice. You just say "hey, this depends on the nav rework" and so it's there inside of the repo.<p>The thing is there is another way to do this where you end up with 4 different parents in a megamerge and your nav rework touches the megamerge and your new page is yet another revset is just a fork off of it. But yeah... JJ gives you a lot of flexibility in this manner.</p>
]]></description><pubDate>Tue, 21 Apr 2026 14:14:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47849142</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47849142</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47849142</guid></item><item><title><![CDATA[Clanker]]></title><description><![CDATA[
<p>Article URL: <a href="https://en.wikipedia.org/wiki/Clanker">https://en.wikipedia.org/wiki/Clanker</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47842536">https://news.ycombinator.com/item?id=47842536</a></p>
<p>Points: 10</p>
<p># Comments: 4</p>
]]></description><pubDate>Mon, 20 Apr 2026 23:31:52 +0000</pubDate><link>https://en.wikipedia.org/wiki/Clanker</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47842536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47842536</guid></item><item><title><![CDATA[New comment by nvahalik in "Jujutsu megamerges for fun and profit"]]></title><description><![CDATA[
<p>The mega merge wouldn't handle that based on the way the article shows. You COULD have a revset that includes stacked changes, though. That does work and is what I currently do.</p>
]]></description><pubDate>Mon, 20 Apr 2026 22:33:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47841943</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47841943</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47841943</guid></item><item><title><![CDATA[New comment by nvahalik in "Jujutsu megamerges for fun and profit"]]></title><description><![CDATA[
<p>Great article, Isaac!<p>If anyone is JJ-curious, I also can't recommend the Discord[1] enough. The community is very helpful and welcoming.<p>[1]: <a href="https://discord.com/invite/dkmfj3aGQN" rel="nofollow">https://discord.com/invite/dkmfj3aGQN</a></p>
]]></description><pubDate>Mon, 20 Apr 2026 22:32:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47841922</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47841922</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47841922</guid></item><item><title><![CDATA[Revdiff: Local Diff Review TUI]]></title><description><![CDATA[
<p>Article URL: <a href="https://revdiff.com/">https://revdiff.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47779590">https://news.ycombinator.com/item?id=47779590</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 15 Apr 2026 14:34:09 +0000</pubDate><link>https://revdiff.com/</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47779590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47779590</guid></item><item><title><![CDATA[OPFS: Origin Private File System]]></title><description><![CDATA[
<p>Article URL: <a href="https://web.dev/articles/origin-private-file-system">https://web.dev/articles/origin-private-file-system</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47679739">https://news.ycombinator.com/item?id=47679739</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 07 Apr 2026 18:53:55 +0000</pubDate><link>https://web.dev/articles/origin-private-file-system</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47679739</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47679739</guid></item><item><title><![CDATA[Combine multiple Docker Compose files with profiles]]></title><description><![CDATA[
<p>Article URL: <a href="https://docs.docker.com/compose/how-tos/profiles">https://docs.docker.com/compose/how-tos/profiles</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47665931">https://news.ycombinator.com/item?id=47665931</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 06 Apr 2026 19:43:37 +0000</pubDate><link>https://docs.docker.com/compose/how-tos/profiles</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47665931</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47665931</guid></item><item><title><![CDATA[New comment by nvahalik in "CodingFont: A game to help you pick a coding font"]]></title><description><![CDATA[
<p>I initially used this one when I started playing around with Zed on a personal project, but I kept it and it has grown on me considerably.</p>
]]></description><pubDate>Mon, 30 Mar 2026 16:12:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47576155</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47576155</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47576155</guid></item><item><title><![CDATA[CodingFont: A game to help you pick a coding font]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.codingfont.com/">https://www.codingfont.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47575403">https://news.ycombinator.com/item?id=47575403</a></p>
<p>Points: 499</p>
<p># Comments: 239</p>
]]></description><pubDate>Mon, 30 Mar 2026 15:16:35 +0000</pubDate><link>https://www.codingfont.com/</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47575403</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47575403</guid></item><item><title><![CDATA[New comment by nvahalik in "Liberate Your OpenClaw"]]></title><description><![CDATA[
<p>I’ve been using Ollama for this on their $20 plan and I’m amazed that I’ve barely gotten to 5% utilization</p>
]]></description><pubDate>Sun, 29 Mar 2026 01:27:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47559640</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47559640</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47559640</guid></item><item><title><![CDATA[Hyperlinks in terminal emulators]]></title><description><![CDATA[
<p>Article URL: <a href="https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda">https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47360383">https://news.ycombinator.com/item?id=47360383</a></p>
<p>Points: 106</p>
<p># Comments: 64</p>
]]></description><pubDate>Fri, 13 Mar 2026 03:32:18 +0000</pubDate><link>https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=47360383</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47360383</guid></item><item><title><![CDATA[New comment by nvahalik in "New York’s budget bill would require “blocking technology” on all 3D printers"]]></title><description><![CDATA[
<p>This is New York. Not the US as a whole.</p>
]]></description><pubDate>Wed, 04 Feb 2026 14:27:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46886193</link><dc:creator>nvahalik</dc:creator><comments>https://news.ycombinator.com/item?id=46886193</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46886193</guid></item></channel></rss>