<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: steveklabnik</title><link>https://news.ycombinator.com/user?id=steveklabnik</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Apr 2026 10:05:22 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=steveklabnik" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by steveklabnik in "The future of everything is lies, I guess – Part 5: Annoyances"]]></title><description><![CDATA[
<p><a href="https://aphyr.com/posts/395-geoblocking-multiple-localities-with-nginx" rel="nofollow">https://aphyr.com/posts/395-geoblocking-multiple-localities-...</a></p>
]]></description><pubDate>Sat, 11 Apr 2026 16:24:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47731845</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47731845</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47731845</guid></item><item><title><![CDATA[New comment by steveklabnik in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>Their product is a CLI.</p>
]]></description><pubDate>Fri, 10 Apr 2026 21:23:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47723827</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47723827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47723827</guid></item><item><title><![CDATA[New comment by steveklabnik in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>jj offers "jj undo" which will undo changes to your repo, and the "oplog", which is sort of like the reflog, but on steroids. It's one of the nicest things about it.</p>
]]></description><pubDate>Fri, 10 Apr 2026 21:17:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47723761</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47723761</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47723761</guid></item><item><title><![CDATA[New comment by steveklabnik in "RSoC 2026: A new CPU scheduler for Redox OS"]]></title><description><![CDATA[
<p>There are pure rust, no c, embedded RTOSes, like Hubris.</p>
]]></description><pubDate>Fri, 10 Apr 2026 19:35:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47722654</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47722654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47722654</guid></item><item><title><![CDATA[New comment by steveklabnik in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>You're right that git commits are snapshots.<p>jj is very non-modal, that is, it doesn't tend to have a lot of state that commands rely on. As an example of what I mean, because jj does not have a staging area, everything is already committed, which makes it very easy to say, move to a different commit: you don't need to stash your working copy, as jj has already stashed it for you. Similarly, due to the auto-rebase behavior, you can be working in one part of the tree, realize something somewhere else should be moved, and go rebase that without even moving to it at all!<p>As a small example: say I'm working on something, and I find a typo. I want to send that typo in as a PR, but I don't want to do it as part of my work. I can do that with:<p>1. make the change in my current working copy (@)<p>2. jj split -o trunk (selecting the typo contents to split off the typo fix into a new change on top of (hence -o) trunk)<p>3. jj log (go check out what the change id of that change is<p>4. jj git push -c <change id I found in 3><p>No need to even move my own HEAD (in git terms), just knock it out inline in a few steps while I'm working.<p>Now, as for magit, I don't use it, and I know that those that do love it and it does make some of this stuff easier. But not everyone can use magit. And there are "magit, but jj" projects as well, but I can't speak to them or which is best at the moment.</p>
]]></description><pubDate>Fri, 10 Apr 2026 15:56:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47720041</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47720041</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47720041</guid></item><item><title><![CDATA[New comment by steveklabnik in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>Yes, I use Claude with jj often, and it occasionally tries to use older commands like move. Most of the time it gets it right for me though, often plugins and such say to use git explicitly, and that's where it tends to stray.</p>
]]></description><pubDate>Fri, 10 Apr 2026 15:45:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47719862</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47719862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47719862</guid></item><item><title><![CDATA[New comment by steveklabnik in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>The others use `jj status`, but if I were to do this, I'd use `jj log -n0`, which has no output. All you really need is any read-only jj command.<p>You could also turn on watchman and have this property on every save of a file and not even need to worry about hooks.</p>
]]></description><pubDate>Fri, 10 Apr 2026 15:44:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47719841</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47719841</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47719841</guid></item><item><title><![CDATA[New comment by steveklabnik in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>(also at ERSC here, hi Austin!) Heck, I have not had enough bandwidth to do as much upstream work as I initially thought I would when I started there!</p>
]]></description><pubDate>Fri, 10 Apr 2026 15:37:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47719738</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47719738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47719738</guid></item><item><title><![CDATA[New comment by steveklabnik in "ML promises to be profoundly weird"]]></title><description><![CDATA[
<p>I see. Thanks. I cannot wait until this is settled law too.</p>
]]></description><pubDate>Fri, 10 Apr 2026 15:20:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47719476</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47719476</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47719476</guid></item><item><title><![CDATA[New comment by steveklabnik in "ML promises to be profoundly weird"]]></title><description><![CDATA[
<p>I don't read how that opposes what I said, that's part of the "training on pirated data is not fair use." That said, I am not a lawyer. From those pages:<p>> The copies used to train specific LLMs were justified as a fair use.<p>This is (in my understanding) because those were not the pirated copies.<p>> The copies used to convert purchased print library copies into digital library copies were justified, too, though for a different fair use.<p>Buying a book and then digitizing it for purposes of training is fair use.<p>> The downloaded pirated copies used to build a central library were not justified by a fair use.<p>Piracy is not fair use, you quoted this part as well.<p>In the conclusions section a the end of 31:<p>> This order grants summary judgment for Anthropic that the training use was a fair use. And, it grants that the print-to-digital format change was a fair use for a different reason. But it denies summary judgment for Anthropic that the pirated library copies must be treated as training copies.<p>Training is fair use. Pirating is not fair use, and therefore, you can't train on that either.<p>What part am I missing?</p>
]]></description><pubDate>Thu, 09 Apr 2026 20:29:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47709458</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47709458</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47709458</guid></item><item><title><![CDATA[New comment by steveklabnik in "ML promises to be profoundly weird"]]></title><description><![CDATA[
<p>I mean, that is what the court said! Training on pirated data was not fair use. Training on legally acquired data is fair use.<p>Anthropic legally acquired the data and re-trained on it before release.</p>
]]></description><pubDate>Thu, 09 Apr 2026 13:56:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47703847</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47703847</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47703847</guid></item><item><title><![CDATA[New comment by steveklabnik in "ML promises to be profoundly weird"]]></title><description><![CDATA[
<p>I still use swarm every day, and get teased for it all the time.<p>"So Steve, you're a millennial. What does it mean to 'be the mayor' of something?"</p>
]]></description><pubDate>Thu, 09 Apr 2026 02:38:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47698720</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47698720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47698720</guid></item><item><title><![CDATA[New comment by steveklabnik in "ML promises to be profoundly weird"]]></title><description><![CDATA[
<p>Even beyond that, the initial legal opinion we do have did in fact point to training being fair use: <a href="https://www.reuters.com/legal/litigation/anthropic-wins-key-ruling-ai-authors-copyright-lawsuit-2025-06-24/" rel="nofollow">https://www.reuters.com/legal/litigation/anthropic-wins-key-...</a><p>However, I don't feel comfortable suggesting that this is settled just yet, one district judge's opinion does not mean that other future cases may disagree, or we may at some point get explicit legislation one way or the other.</p>
]]></description><pubDate>Wed, 08 Apr 2026 22:01:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47696836</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47696836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47696836</guid></item><item><title><![CDATA[New comment by steveklabnik in "ML promises to be profoundly weird"]]></title><description><![CDATA[
<p>I did say "free use" instead of "fair use," yeah. That's my mistake, thank you for the correction. If I could edit my original comment, I would, mea culpa. Typos happen.</p>
]]></description><pubDate>Wed, 08 Apr 2026 21:57:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47696805</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47696805</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47696805</guid></item><item><title><![CDATA[New comment by steveklabnik in "ML promises to be profoundly weird"]]></title><description><![CDATA[
<p>You made an incredibly strong statement that is much broader than what we are talking about. I am pointing out various cases where I think that broadness is incorrect, I am not equating the two.<p>I do not think that, if you read, say, <a href="https://steveklabnik.com/writing/when-should-i-use-string-vs-str/" rel="nofollow">https://steveklabnik.com/writing/when-should-i-use-string-vs...</a> , and then later, a friend asks you "hey, should I use String or &str here?" that you need my consent to go "at the start, just use String" instead of "at the start, just use String, like Steve Klabnik says in <a href="https://steveklabnik.com/writing/when-should-i-use-string-vs-str/" rel="nofollow">https://steveklabnik.com/writing/when-should-i-use-string-vs...</a> ". And if they say "hey that's a great idea, thank you" I don't think you're a bad person if you say "you're welcome" without "you should really be saying welcome to Steve Klabnik."<p>It is of course nice if you happen to do so, but I think framing it as a consent issue is the wrong way to think about it.<p>We recognize that this is different than simply publishing the exact contents of the blog post on your blog and calling it yours, because it is! To me, an LLM is a transformative derivative work, not an exact copy. Because my words are not in there, they are not being copied.<p>But again, I am not telling anyone else that they must agree with me. Simply stating my own relationship with my own creative output.</p>
]]></description><pubDate>Wed, 08 Apr 2026 18:56:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47694642</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47694642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47694642</guid></item><item><title><![CDATA[New comment by steveklabnik in "ML promises to be profoundly weird"]]></title><description><![CDATA[
<p>Consent is absolutely important, but that does not mean that every single thing in the entire world requires explicit consent. You did not ask me for consent to use my words in your comment. That does not mean you're a bad person.<p>Free use is an important part of intellectual property law. If it did not exist, the powerful could, for example, stifle public criticism by declaring that they do not consent to you using their words or likeness. The ability to do that is important for society. It is also just generally important for creating works inspired by others, which is virtually every work. There has to be lines for cases where requiring attribution is required, and cases where it is not.</p>
]]></description><pubDate>Wed, 08 Apr 2026 18:36:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47694374</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47694374</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47694374</guid></item><item><title><![CDATA[New comment by steveklabnik in "ML promises to be profoundly weird"]]></title><description><![CDATA[
<p>I can totally see that, for sure. I was much more likely to write a review long ago, now I don't even bother. (For buying stuff online, at least.) Maybe I lost my innocence about this stuff a long time ago, and so it's not so much LLMs that broke it for me, but maybe... I dunno, the downfall of Web 2.0 and the death of RSS? I do think that the old internet, for some definition of "old," felt different. For sure. I'll have to chew on this. I certainly felt some shock on the IP questions when all of this came up. I'm from the "information wants to be free" sort of persuasion, and now that largely makes me feel kinda old.<p>Also I'm not a fan of billionaires, obviously, but I think that given I've worked on open source and tools for so long, I kinda had to accept that stuff I make was going to be used towards ends I didn't approve of. Something about that is in here too, I think.<p>(Also, I didn't say this in the first comment, but I'm gonna be thinking about the industrial revolution thing a lot, I think you're on to something there. Scale meaningfully changes things.)</p>
]]></description><pubDate>Wed, 08 Apr 2026 18:02:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47693941</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47693941</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47693941</guid></item><item><title><![CDATA[New comment by steveklabnik in "ML promises to be profoundly weird"]]></title><description><![CDATA[
<p>As you know, I deeply respect you. Not trying to argue here, just provide my own perspective:<p>> Why would a writer put an article online if ChatGPT will slurp it up and regurgitate it back to users without anyone ever even finding the original article?<p>I write things for two main reasons: I feel like I <i>have</i> to. I need to create things. On some level, I would write stuff down even if nobody reads it (and I do do that already, with private things.) But secondly, to get my ideas out there and try to change the world. To improve our collective understanding of things.<p>A lot of people read things, it changes their life, and their life is better. They may not even remember where they read these things. They don't produce citations all of the time. That's totally fine, and normal. I don't see LLMs as being any different. If I write an article about making code better, and ChatGPT trains on it, and someone, somewhere, needs help, and ChatGPT helps them? Win, as far as I'm concerned. Even if I never know that it's happened. I already do not hear from every single person who reads my writing.<p>I don't mean that thinks that everyone has to share my perspective. It's just my own.</p>
]]></description><pubDate>Wed, 08 Apr 2026 17:44:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47693680</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47693680</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47693680</guid></item><item><title><![CDATA[New comment by steveklabnik in "A tail-call interpreter in (nightly) Rust"]]></title><description><![CDATA[
<p>From the first line of the post:<p>> Last week, I wrote a tail-call interpreter using the become keyword, which was recently added to nightly Rust (seven months ago is recent, right?).</p>
]]></description><pubDate>Sun, 05 Apr 2026 18:44:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47652548</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47652548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47652548</guid></item><item><title><![CDATA[New comment by steveklabnik in "Claude Code Found a Linux Vulnerability Hidden for 23 Years"]]></title><description><![CDATA[
<p>I’ve had Claude Code diagnose bugs in a compiler we wrote together by using gdb and objdump to examine binaries it produces. We don’t have DWARF support yet so it is just examining the binary. That’s not security work, but it’s adjacent to the sorts of skills you’re talking about. The binaries are way smaller than real programs, though.</p>
]]></description><pubDate>Sat, 04 Apr 2026 20:16:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47642924</link><dc:creator>steveklabnik</dc:creator><comments>https://news.ycombinator.com/item?id=47642924</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47642924</guid></item></channel></rss>