<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: ulrikrasmussen</title><link>https://news.ycombinator.com/user?id=ulrikrasmussen</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Apr 2026 08:12:04 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ulrikrasmussen" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ulrikrasmussen in "German implementation of eIDAS will require an Apple/Google account to function"]]></title><description><![CDATA[
<p>Please give some evidence that this is due to hardware tokens failing where a smartphone based solution would have prevented it</p>
]]></description><pubDate>Sun, 05 Apr 2026 11:31:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47648322</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47648322</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47648322</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "German implementation of eIDAS will require an Apple/Google account to function"]]></title><description><![CDATA[
<p>This is simply unacceptable. You are not making an innocent pragmatic compromise here, you are launching digital infrastructure which initially will tie everyone to Google/Apple and give alternatives a huge disadvantage for an unknown amount of time. Nobody knows when, or even if ever, support for open platforms will arrive.<p>You should be ashamed of being involved in this monopoly handover to American big tech.</p>
]]></description><pubDate>Sun, 05 Apr 2026 11:30:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47648313</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47648313</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47648313</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "The Claude Code Leak"]]></title><description><![CDATA[
<p>I think code quality is always important, but it's less important for terminal code which implements a specific set of features using robust APIs underneath. Low code quality becomes a much bigger issue when the code is supposed to deliver well-defined abstractions on which other code can rely.<p>If you are a serious software developer, then you will probably be able to explain both <i>what</i> your code does (i.e. what spec it implements) and <i>how</i> it does it (what does it call, what algorithms does it use, what properties does it rely on?). With the advent of LLMs, people have started to accept not having a clue about the "how", and I fear that we are also starting to sacrifice the "what". Unless our LLMs get context windows that are large enough to hold the source of the full software stack, including LLM-generated dependencies, then I think that sacrificing the "what" is going to lead to disaster. APIs will be designed and modified with only the use cases that fit in the modifying agents context window in mind with little regard for downstream consequences and stability of behavior, because there is not even a definition of what the behavior is supposed to be.</p>
]]></description><pubDate>Thu, 02 Apr 2026 07:24:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47611092</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47611092</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47611092</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "Claude Code's source code has been leaked via a map file in their NPM registry"]]></title><description><![CDATA[
<p>Unit testing is much much harder when you have functions spanning thousands of lines and no abstractions. You have to white box test everything to ensure that you hit all code paths, and it is much more expensive to maintain such tests, both as a human and LLM. I don't think this can be ignored just because LLMs are writing the code.</p>
]]></description><pubDate>Tue, 31 Mar 2026 19:49:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47592504</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47592504</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47592504</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "How I'm Productive with Claude Code"]]></title><description><![CDATA[
<p>I think more people should focus on using LLMs to relieve cognitive load rather than parallelize and overload their brains. We need to learn to live with the fact that humans are not good at multi-tasking, and LLMs are not going to make us better at it.<p>I have started using Claude to develop an implementation plan, but instead of making Claude implement it and then have me spend time figuring out what it did, I simply tell it to walk me through implementing it by hand. This means that I actually understand every step of the development process and get to intervene and make different choices at the point of time where it matters. As opposed to the default mode which spits out hundreds of lines of code changes which overloads my brain, this mode of working actually feels like offloading the cognitive burden of keeping track of the implementation plan and letting me focus on both the details <i>and</i> the big picture without losing track of either one. For truly mechanical sub-tasks I can still save time by asking Claude to do them for me.</p>
]]></description><pubDate>Tue, 24 Mar 2026 09:40:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47500369</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47500369</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47500369</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "The future of version control"]]></title><description><![CDATA[
<p>"Clean" is not the same as "useful". You have to be really, really disciplined to not make a superficially looking "clean" history which may appear linear but which is actually total nonsense.<p>For example, if one is frequently doing "fix after rebase" commits, then they are doing it wrong and are making a history which is much less useful than a seemingly more complicated merge based history. Rebased histories are only clean if they also tell a true story after the rebase, but if you push "rebase fixes" onto the end of your history, then it means that prior rebased commits no longer make any sense because they e.g. use APIs that aren't actually there. Giving up and squashing everything to one commit is almost better in this case because it at least won't throw off someone who is trying to make sense of the history in the future.<p>I think that rebasing has won over merges mostly because the tools for navigating git histories suck SO HARD. I have used Perforce at a previous job, and their graphical tools for navigating a merge based history are excellent and were really useful for doing code archeology.</p>
]]></description><pubDate>Tue, 24 Mar 2026 09:27:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47500268</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47500268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47500268</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "The future of version control"]]></title><description><![CDATA[
<p>The thing about how merges are presented seems orthogonal to how to represent history. I also hate the default in git, but that is why I just use p4merge as a merge tool and get a proper 4-pane merge tool (left, right, common base, merged result) which shows everything needed to figure out why there is a conflict and how to resolve it. I don't understand why you need to switch out the VCS to fix that issue.</p>
]]></description><pubDate>Sun, 22 Mar 2026 17:11:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47479687</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47479687</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47479687</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "The Impact of AI on Game Dev Jobs. Open to Work Crisis"]]></title><description><![CDATA[
<p>Or that people are doing their driving tests using FSD</p>
]]></description><pubDate>Sun, 22 Mar 2026 05:25:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47474741</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47474741</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47474741</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "Google details new 24-hour process to sideload unverified Android apps"]]></title><description><![CDATA[
<p>If I proposed putting mandatory cameras in all homes and you objected, would it then be fair for me to demand that you justify your position by proposing a better alternative to combat domestic violence?<p>Locking down computing is just fundamentally wrong and leads to an unfree society.</p>
]]></description><pubDate>Fri, 20 Mar 2026 16:46:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47457178</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47457178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47457178</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "A sufficiently detailed spec is code"]]></title><description><![CDATA[
<p>A corollary of this statement is that code without a spec is not code. No /s, I think that is true - code without a spec certainly does something, but it is, by the absence of a detailed spec, undefined behavior.</p>
]]></description><pubDate>Thu, 19 Mar 2026 05:40:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47435377</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47435377</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47435377</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "SSH has no Host header"]]></title><description><![CDATA[
<p>Wouldn't a much simpler approach be to have everyone log in to a common server which sits on a VPN with all the VMs? It introduces an extra hop, but this is a pretty minor inconvenience and can be scripted away.</p>
]]></description><pubDate>Wed, 18 Mar 2026 06:42:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47422307</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47422307</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47422307</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "SSH has no Host header"]]></title><description><![CDATA[
<p>I also wonder what happens if you want to grant access to your VM to additional public keys and one of those public keys happen to already be routed to a different VM on the same IP.</p>
]]></description><pubDate>Wed, 18 Mar 2026 06:39:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47422287</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47422287</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47422287</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "SSH has no Host header"]]></title><description><![CDATA[
<p>I had never thought about that. Seems like an easy problem to fix by sending salted hashes instead.</p>
]]></description><pubDate>Wed, 18 Mar 2026 06:37:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47422265</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47422265</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47422265</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "We should revisit literate programming in the agent era"]]></title><description><![CDATA[
<p>Interesting observation. After a human is done writing code, they still have a memory of why they made the choices they made. With an LLM, the context window is severely limited compared to a brain, so this information is usually thrown away when the feature is done, and so you cannot go back and ask the LLM why something is the way it is.</p>
]]></description><pubDate>Mon, 09 Mar 2026 14:49:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47309884</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47309884</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47309884</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "I ported Linux to the PS5 and turned it into a Steam Machine"]]></title><description><![CDATA[
<p>Well, sure. But being free *from* a few bad things is rarely worth it when the price is giving up being free *to* do a lot of other good things.</p>
]]></description><pubDate>Mon, 09 Mar 2026 08:00:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47306032</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47306032</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47306032</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "I ported Linux to the PS5 and turned it into a Steam Machine"]]></title><description><![CDATA[
<p>I highly doubt that. Monopolies do not tend to develop what is best for consumers, but what is best for their bottom lines.<p>It also depends on the criteria on which you judge it. I may be better in terms of compatibility because everything would be an expensive walled garden like Apple's. It would be worse in terms of choice because niche peripheral makers might not be able to enter the market at all. And it would certainly, almost guaranteed, be much much worse in terms of personal freedom because no-one would be allowed to modify any parts of any piece of software without some cryptographic hardware module stopping them. Imagine that situation, and then imagine how a government would use that to impose surveillance on all personal computing devices.</p>
]]></description><pubDate>Mon, 09 Mar 2026 07:58:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47306018</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47306018</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47306018</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "I ported Linux to the PS5 and turned it into a Steam Machine"]]></title><description><![CDATA[
<p>I HATE this argument. If the PC had been locked down like smartphones are today, we would never have had Linux on the desktop.<p>Also, replace "consumers" by "people" who might need to control their devices to do things that may be against the interests of the manufacturer, like removing ads and surveillance.</p>
]]></description><pubDate>Sun, 08 Mar 2026 16:02:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47298371</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47298371</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47298371</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "Claude's Cycles [pdf]"]]></title><description><![CDATA[
<p>So you use the letter to itself in addition to the compacted context? I am curious what you ask it to include in the letter and how it is different from a custom instruction passed to /compact?</p>
]]></description><pubDate>Wed, 04 Mar 2026 03:52:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47242834</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47242834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47242834</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "Programmable Cryptography (2024)"]]></title><description><![CDATA[
<p>Built-in rate limiting perhaps? What you describe is also just rate limiting, and buttons/swipes can always be faked, also on a smartphone using mechanized fingers. What do you think Play Integrity adds that cannot be done on a USB dongle?</p>
]]></description><pubDate>Tue, 03 Mar 2026 14:19:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47232733</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47232733</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47232733</guid></item><item><title><![CDATA[New comment by ulrikrasmussen in "Programmable Cryptography (2024)"]]></title><description><![CDATA[
<p>Sort of, but not really. They have a design document for how ZKP-based age verification would be implemented in the white-label prototype app, but it is my understanding that the first implementation to be rolled out in the early adopter countries like mine (Denmark) will be based on "trust me, bro" central verifiers who promise not to do logging, with ZKP mentioned as a possible future alternative. Until I see the requirement of ZKP or equivalent <i>provable</i> zero-trust privacy guarantees in the law, I consider the promise of ZKP as a distraction (lie) to shut down the harshest criticism.<p>Google Play Integrity is not a requirement, but governments think it is. All you need to avoid trivial duplication of certificates is that keys are bound to a device which is also able to perform the primitive cryptographic operations needed to construct a ZKP proof. This could be achieved using a USB dongle. Still proprietary technology, but the scope of what needs to be locked down is much, much smaller than with a solution like Play Integrity.</p>
]]></description><pubDate>Tue, 03 Mar 2026 07:33:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47229333</link><dc:creator>ulrikrasmussen</dc:creator><comments>https://news.ycombinator.com/item?id=47229333</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47229333</guid></item></channel></rss>