<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: grav</title><link>https://news.ycombinator.com/user?id=grav</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 24 May 2026 22:19:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=grav" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by grav in "Claude Sonnet 4.6"]]></title><description><![CDATA[
<p>I fail to understand how two LLMs would be "consuming" a different amount of tokens given the same input? Does it refer to the number of output tokens? Or is it in the context of some "agentic loop" (eg Claude Code)?</p>
]]></description><pubDate>Tue, 17 Feb 2026 19:51:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47052272</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=47052272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47052272</guid></item><item><title><![CDATA[New comment by grav in "Malicious versions of Nx and some supporting plugins were published"]]></title><description><![CDATA[
<p>> Interestingly, the malware checks for the presence of Claude Code CLI or Gemini CLI on the system to offload much of the fingerprintable code to a prompt.<p>Can anyone explain this? Why is it an advantage?</p>
]]></description><pubDate>Wed, 27 Aug 2025 13:08:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=45039159</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=45039159</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45039159</guid></item><item><title><![CDATA[New comment by grav in "Gemma 3n preview: Mobile-first AI"]]></title><description><![CDATA[
<p>It seems they are:
<a href="https://developer.chrome.com/docs/ai/built-in" rel="nofollow">https://developer.chrome.com/docs/ai/built-in</a></p>
]]></description><pubDate>Wed, 21 May 2025 04:54:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=44048409</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=44048409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44048409</guid></item><item><title><![CDATA[New comment by grav in "Show HN: Real-time AI Voice Chat at ~500ms Latency"]]></title><description><![CDATA[
<p>In the demo, is there any specific reason that the voice doesn't go "up" in pitch when asking questions? Even the (many) rethorical questions would in my view improve by having a bit of a pitch change before the question mark.</p>
]]></description><pubDate>Tue, 06 May 2025 07:04:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=43902478</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=43902478</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43902478</guid></item><item><title><![CDATA[New comment by grav in "The Pain That Is GitHub Actions"]]></title><description><![CDATA[
<p>At [previous company], we initially required branches to be up to date with main.  
Since it was a relatively big mono repo, it slowed down productivity quite a bit.<p>Eventually we tried dropping that requirement and instead relied on testing main before deploying to production. It sped us up again, and main never broke because of bad merges while I was there.</p>
]]></description><pubDate>Thu, 20 Mar 2025 07:01:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=43420415</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=43420415</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43420415</guid></item><item><title><![CDATA[New comment by grav in "Konva.js - Declarative 2D Canvas for React, Vue, and Svelte"]]></title><description><![CDATA[
<p>I give up, why?</p>
]]></description><pubDate>Wed, 19 Mar 2025 16:12:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=43413931</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=43413931</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43413931</guid></item><item><title><![CDATA[New comment by grav in "Claude 3.7 Sonnet and Claude Code"]]></title><description><![CDATA[
<p>Claude 3.7 Sonnet seems to have a context window of 64.000 via the API:<p><pre><code>  max_tokens: 4242424242 > 64000, which is the maximum allowed number of output tokens for claude-3-7-sonnet-20250219
</code></pre>
I got a max of 8192 with Claude 3.5 sonnet.</p>
]]></description><pubDate>Mon, 24 Feb 2025 19:58:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=43164178</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=43164178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43164178</guid></item><item><title><![CDATA[New comment by grav in "Escaping Surprise Bills and Over-Engineered Messes: Why I Left AWS"]]></title><description><![CDATA[
<p>It is possible, since spending has an API. I’ve recently implemented it on Azure for a company, to ensure our storage costs didn’t run wild.<p>Couldn’t find an out-of-the-box solution, maybe, as you say because it’s not in their interest.</p>
]]></description><pubDate>Tue, 04 Feb 2025 06:37:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=42928854</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=42928854</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42928854</guid></item><item><title><![CDATA[New comment by grav in "Enhancing your MIDI devices with Perl"]]></title><description><![CDATA[
<p>Couldn't get the code to run with Perl on Mac:<p><pre><code>   $ plenv exec perl midi.pl
   Not enough arguments for main::pedal_notes at midi.pl line 107, near "$note)"
   BEGIN not safe after errors--compilation aborted at midi.pl line 150.
</code></pre>
I got something similar working in Supercollider though, which has a lot of tools for these sort of things, eg:<p><pre><code>   MIDIIn.addFuncTo(\noteOn, ~myNoteOnHandler);</code></pre></p>
]]></description><pubDate>Sun, 02 Feb 2025 16:10:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=42909507</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=42909507</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42909507</guid></item><item><title><![CDATA[New comment by grav in "No GPS required: our app can now locate underground trains"]]></title><description><![CDATA[
<p>> no motion data<p>How come there's no motion data?</p>
]]></description><pubDate>Thu, 14 Nov 2024 11:25:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=42135166</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=42135166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42135166</guid></item><item><title><![CDATA[New comment by grav in "No GPS required: our app can now locate underground trains"]]></title><description><![CDATA[
<p>Very impressive. Also interesting that the motion type prediction ("is this a moving train?") generalizes to underground trains in other cities.<p>I see they support the the largest cities in Sweden and Norway, wonder if there are any plans for Copenhagen, Denmark?</p>
]]></description><pubDate>Wed, 13 Nov 2024 06:53:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=42123540</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=42123540</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42123540</guid></item><item><title><![CDATA[New comment by grav in "LLRT: A low-latency JavaScript runtime from AWS"]]></title><description><![CDATA[
<p>For ref:<p>- <a href="https://blog.cloudflare.com/workerd-open-source-workers-runtime/" rel="nofollow">https://blog.cloudflare.com/workerd-open-source-workers-runt...</a><p>- <a href="https://github.com/cloudflare/workerd">https://github.com/cloudflare/workerd</a></p>
]]></description><pubDate>Sat, 10 Feb 2024 05:13:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=39323782</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=39323782</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39323782</guid></item><item><title><![CDATA[New comment by grav in "On whether we're living in a simulation"]]></title><description><![CDATA[
<p><p><pre><code>  (swap! state update :co2-level (partial * 0.8))</code></pre></p>
]]></description><pubDate>Thu, 08 Feb 2024 12:21:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=39301092</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=39301092</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39301092</guid></item><item><title><![CDATA[New comment by grav in "How to find a lost phone in a no-cell-coverage camping site?"]]></title><description><![CDATA[
<p>TL;DR: created a wifi-network on another phone with same SSID and password as the one that the lost phone usually connects to, walked around waiting for the phone to connect, receive the "Find my phone" notification and send out a sound.<p>Cool :)</p>
]]></description><pubDate>Thu, 26 Oct 2023 11:47:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=38024310</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=38024310</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38024310</guid></item><item><title><![CDATA[New comment by grav in "Touch Pianist"]]></title><description><![CDATA[
<p>Nice idea. I'm really missing a way to contol the dynamics. Maybe just mapping 1-9 keys to a velocity scaling?</p>
]]></description><pubDate>Fri, 08 Sep 2023 13:13:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=37433037</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=37433037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37433037</guid></item><item><title><![CDATA[New comment by grav in "UTM – Virtual Machines for iOS and macOS"]]></title><description><![CDATA[
<p>I also experienced performance problems with Arch Linux ARM through UTM. Parallels seems to perform much better for me.<p>One issue might be that only OpenGL 2.1 is supported:
<a href="https://github.com/utmapp/UTM/issues/4285">https://github.com/utmapp/UTM/issues/4285</a></p>
]]></description><pubDate>Thu, 31 Aug 2023 20:17:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=37343120</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=37343120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37343120</guid></item><item><title><![CDATA[New comment by grav in "Compuserve"]]></title><description><![CDATA[
<p>PrevJS</p>
]]></description><pubDate>Tue, 22 Aug 2023 05:53:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=37219139</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=37219139</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37219139</guid></item><item><title><![CDATA[New comment by grav in "Critique of Lazy Sequences in Clojure"]]></title><description><![CDATA[
<p>I've been using the trick with enforcing realization by serializing to strings a few times. Slow, but quite useful in many contexts. However, instead of using `(with-out-str (pr ...`, there's simply`pr-str`, which is easier to remember.<p>I'm typically using it like so:<p><pre><code>  (defn realize [v] (doto v pr-str))

  (binding [*some* binding]
    (realize (f some-nested-lazy-seq)))</code></pre></p>
]]></description><pubDate>Wed, 16 Aug 2023 12:06:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=37145773</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=37145773</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37145773</guid></item><item><title><![CDATA[New comment by grav in "Opus Databending Drumkit"]]></title><description><![CDATA[
<p>Works for me. You probably need to unmute the phone.</p>
]]></description><pubDate>Tue, 01 Aug 2023 21:15:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=36963070</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=36963070</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36963070</guid></item><item><title><![CDATA[New comment by grav in "Show HN: Automating daily reports, because fuck it"]]></title><description><![CDATA[
<p>Flee.</p>
]]></description><pubDate>Fri, 02 Jun 2023 21:03:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=36170720</link><dc:creator>grav</dc:creator><comments>https://news.ycombinator.com/item?id=36170720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36170720</guid></item></channel></rss>