<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: lemming</title><link>https://news.ycombinator.com/user?id=lemming</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 28 May 2026 21:33:20 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=lemming" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by lemming in "Jank now has its own custom IR"]]></title><description><![CDATA[
<p>That is really interesting, and very clever - thanks for the details! What you describe is indeed what I meant by whole world, I'm not sure if there's a better term of art for it.</p>
]]></description><pubDate>Wed, 20 May 2026 19:27:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48212803</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=48212803</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48212803</guid></item><item><title><![CDATA[New comment by lemming in "Jank now has its own custom IR"]]></title><description><![CDATA[
<p>I can't speak for the core team, but from memory invokedynamic took a long time to become performant. So if you still want to support older JVM versions, the performance will be pretty terrible on those older systems if invokedynamic is used for something as integral as var lookups.</p>
]]></description><pubDate>Tue, 19 May 2026 00:53:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48187919</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=48187919</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48187919</guid></item><item><title><![CDATA[New comment by lemming in "Jank now has its own custom IR"]]></title><description><![CDATA[
<p>That is very cool indeed. Are there limitations that this imposes? Is Julia a whole world compiler or does it support partial compilation?</p>
]]></description><pubDate>Mon, 18 May 2026 10:58:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48177864</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=48177864</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48177864</guid></item><item><title><![CDATA[New comment by lemming in "Jank now has its own custom IR"]]></title><description><![CDATA[
<p>Clojure (AFAIK) does not use invokedynamic, except perhaps in the latest version for some of the new interop stuff. It still officially supports JVM 1.8 bytecode. It’s a language which greatly values stability and backwards compatibility, so it’s been very slow to adopt newer JVM features.</p>
]]></description><pubDate>Mon, 18 May 2026 10:55:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48177838</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=48177838</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48177838</guid></item><item><title><![CDATA[New comment by lemming in "Jank now has its own custom IR"]]></title><description><![CDATA[
<p>No, it doesn't. In JVM Clojure's case, the vars are usually compiled to the moral equivalent of a global variable holding a pointer to a function. This allows you to update the function if the developer redefines it in the REPL, but it comes at a performance cost (the JVM can't inline it or otherwise optimise it). Clojure also allows you to compile with "direct linking", e.g. for production deployments, where you know you're unlikely to be wanting to dynamically update the code. In those cases defns are compiled down to static methods which call each other - much faster since the JVM can perform its magic with them, but you can't update them at the REPL.<p>I'm unsure exactly how jank works WRT this tradeoff, but the article makes it sound like it's closer to the direct linking version, but with the inlining etc being done by jank rather than the JVM. I don't know if this is only for AOT or also in JIT cases.</p>
]]></description><pubDate>Mon, 18 May 2026 03:30:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=48175261</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=48175261</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48175261</guid></item><item><title><![CDATA[New comment by lemming in "Jank now has its own custom IR"]]></title><description><![CDATA[
<p>Great article, as always.<p>There is one thing that I think is important to bear in mind when discussing inlining, especially in the context of Clojure. This is that once a function has been inlined, you can no longer update the definition of that function in the REPL and have that update the behaviour of functions which use it, unless you recompile those as well. This is not a criticism of course, it’s just part of the natural tension between dynamism and performance.</p>
]]></description><pubDate>Mon, 18 May 2026 00:20:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48174372</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=48174372</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48174372</guid></item><item><title><![CDATA[From One AI to Any AI: JetBrains rethinks the approach to AI tooling [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=J8fHU4WFd_c">https://www.youtube.com/watch?v=J8fHU4WFd_c</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47942940">https://news.ycombinator.com/item?id=47942940</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 29 Apr 2026 01:02:29 +0000</pubDate><link>https://www.youtube.com/watch?v=J8fHU4WFd_c</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47942940</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47942940</guid></item><item><title><![CDATA[New comment by lemming in "4TB of voice samples just stolen from 40k AI contractors at Mercor"]]></title><description><![CDATA[
<p>When I was in NYC a while back, I met a woman at a friend's dinner party. She sounded totally American, but was in fact Brazilian. She worked as a lawyer, and said that she'd had to get extensive voice training in order to sound American so that people would take her more seriously professionally. I have no idea if the professional part worked, but the accent, mannerisms etc was amazing - I would never have guessed.</p>
]]></description><pubDate>Mon, 27 Apr 2026 21:55:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47927904</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47927904</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47927904</guid></item><item><title><![CDATA[New comment by lemming in "Chernobyl wildlife forty years on"]]></title><description><![CDATA[
<p>Sure, but the article talks about flourishing populations of deer, elk, <i>and</i> bison. I assume that means we’re talking about herds of each, all in the same space. And they have to survive over winter, which sounds pretty cold there - presumably they don’t migrate, which I guess they usually would? It’s definitely not ideal conditions.<p>Obviously it’s possible, but I was surprised.</p>
]]></description><pubDate>Mon, 27 Apr 2026 21:15:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47927395</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47927395</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47927395</guid></item><item><title><![CDATA[New comment by lemming in "Chernobyl wildlife forty years on"]]></title><description><![CDATA[
<p>What's amazing to me is how little space is required to have a completely self-sustaining ecosystem. A 60km diameter circle just doesn't seem like a very big space to have enough plants to support "flourishing" numbers of multiple types of large herbivores, without migration, as well as all the different prey species required to keep things in balance.<p>Regardless of the arguments about radiation, it seems pretty clear that lack of humans is really the most important thing for animals to flourish.</p>
]]></description><pubDate>Mon, 27 Apr 2026 02:10:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47916986</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47916986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47916986</guid></item><item><title><![CDATA[New comment by lemming in "Official Clojure Documentary page with Video, Shownotes, and Links"]]></title><description><![CDATA[
<p>Thanks! Yes, I get on really well with everyone in the community - the community in general is perhaps my favourite thing about Clojure!</p>
]]></description><pubDate>Sat, 18 Apr 2026 06:54:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47813718</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47813718</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47813718</guid></item><item><title><![CDATA[New comment by lemming in "Official Clojure Documentary page with Video, Shownotes, and Links"]]></title><description><![CDATA[
<p>Hehe, Lisp Emacs Myopia is indeed a real thing. Cursive users have been not starting REPLs for over a decade now!<p>j/k of course, and no offence taken :-)</p>
]]></description><pubDate>Fri, 17 Apr 2026 09:57:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47804225</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47804225</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47804225</guid></item><item><title><![CDATA[New comment by lemming in "Official Clojure Documentary page with Video, Shownotes, and Links"]]></title><description><![CDATA[
<p><i>Things have been different for well over five years...</i><p>In fact, I first presented Cursive at the conj 2014, and I'd been working on it in open beta for perhaps a year before that, so well over 10 years!<p><i>...all this fantastic "static analysis style" developer tooling by borkdude and eric dallo.</i><p><i>ahem</i></p>
]]></description><pubDate>Fri, 17 Apr 2026 05:38:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47802745</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47802745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47802745</guid></item><item><title><![CDATA[New comment by lemming in "Understanding Clojure's Persistent Vectors, pt. 1 (2013)"]]></title><description><![CDATA[
<p><i>I still don’t understand why they’re referred to as persistent vectors rather than immutable vectors, but I digress.</i><p>I believe that immutable just means, well, immutable, but persistent means that updates are achieved via structural sharing, so they’re efficient.</p>
]]></description><pubDate>Wed, 15 Apr 2026 03:35:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47774407</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47774407</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47774407</guid></item><item><title><![CDATA[New comment by lemming in "Show HN: A memory database that forgets, consolidates, and detects contradiction"]]></title><description><![CDATA[
<p>So soon our agents will need spaced repetition flash cards for the things we want them to remember! I eagerly await Anki for Agents.</p>
]]></description><pubDate>Tue, 14 Apr 2026 21:12:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47771593</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47771593</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47771593</guid></item><item><title><![CDATA[New comment by lemming in "Tailscale's new macOS home"]]></title><description><![CDATA[
<p>Related question: how are people handling adding family members of varying technical abilities to your tailnets? Does each family member get a separate user so you can manage their access? For my immediate family I was just logging tailscale in as me on their devices, but that becomes a pain when they get logged out and need me to log in again before things go back to working.</p>
]]></description><pubDate>Thu, 02 Apr 2026 22:22:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47620951</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47620951</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47620951</guid></item><item><title><![CDATA[New comment by lemming in "Data Manipulation in Clojure Compared to R and Python"]]></title><description><![CDATA[
<p>I'm very familiar with Clojure, but even I can't make a good argument that:<p><pre><code>    (tc/select-rows ds #(> (% "year") 2008))
</code></pre>
is more, or at least as, intuitive as:<p><pre><code>    filter(ds, year > 2008)
</code></pre>
as cited above. I think there's a good argument to be made that Clojure's data processing abilities, particularly around immutable data, make a compelling case in spite of the syntax. The REPL is great too, and the JVM is fast. But I still to this day imagine infix comparisons in my head and then mentally move the comparator to the front of the list to make sure I get it right.</p>
]]></description><pubDate>Tue, 24 Mar 2026 23:49:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47511247</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47511247</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47511247</guid></item><item><title><![CDATA[New comment by lemming in "OpenClaw Is a Security Nightmare Dressed Up as a Daydream"]]></title><description><![CDATA[
<p>But if it doesn’t have access to the network, then it’s just not very useful. And if it does, then it’s just a prompt injection away from exfiltrating your data, or doing something you didn’t expect (eg deleting all your emails).</p>
]]></description><pubDate>Sun, 22 Mar 2026 20:28:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47481802</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47481802</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47481802</guid></item><item><title><![CDATA[New comment by lemming in "Anthropic takes legal action against OpenCode"]]></title><description><![CDATA[
<p>This argument is predicated on Anthropic losing money on the subs, but I'm not sure that's a cut and dried argument. OpenAI have said publicly that they're (very) profitable on inference, and they're much cheaper than Anthropic. I suspect this is just artificially trying to create a moat. The problem is their moat is not as sticky as they think it is - I completely ditched Claude for Codex a while ago, my money now goes to OpenAI, and I'm very happy with it. For a while Claude was noticeably better, but that's not the case any more - in my case I prefer Codex.</p>
]]></description><pubDate>Thu, 19 Mar 2026 22:38:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47447384</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47447384</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47447384</guid></item><item><title><![CDATA[New comment by lemming in "Show HN: Claude Code skills that build complete Godot games"]]></title><description><![CDATA[
<p>This actually produces more impressive results than I expected. My understanding was that models are quite poor at spatial reasoning/understanding, so I'm surprised it can generate such good assets. Do you use different models for the 3d generation?</p>
]]></description><pubDate>Mon, 16 Mar 2026 19:45:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47403862</link><dc:creator>lemming</dc:creator><comments>https://news.ycombinator.com/item?id=47403862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47403862</guid></item></channel></rss>