<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: simon_void</title><link>https://news.ycombinator.com/user?id=simon_void</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 08 Nov 2026 17:10:04 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=simon_void" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by simon_void in "The Ubuntu 26.04 Rust sudo is not compatible with standard sudo"]]></title><description><![CDATA[
<p>according to <a href="https://itsfoss.com/news/ubuntu-25-10-sudo-rs/" rel="nofollow">https://itsfoss.com/news/ubuntu-25-10-sudo-rs/</a>:<p>"Canonical's Jon Seager mentions that the sudo-rs developers are collaborating with Todd Miller, the original maintainer of sudo, and to think of sudo-rs as a "handshake across generations of secure systems".<p>He also added that sudo-rs is not expected to bring over all the features of sudo, as the devs are taking a "less is more" approach, excluding features that are too niche or outdated."<p>So sudo.rs drops some features because "less is more", but it's still called "sudo" because by working together with the original maintainer they capture the spirit of the original, a "sudo 2.0" so to speak.</p>
]]></description><pubDate>Sat, 07 Nov 2026 11:50:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=50403729</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=50403729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50403729</guid></item><item><title><![CDATA[New comment by simon_void in "Starcraft: Ashfall"]]></title><description><![CDATA[
<p>nope, StarCraft factions (most likely) come from Warhammer40k.
- the Zerg (and its hivemind) are a version of the Tyranids [1]
- the Protoss are adapted from the Aeldari [2]
- the Humans are, well, Humans. with the ghost units being adapted from Psykers [3] and Marines being adapted from the 40k Space Marines [4]<p>The rumour is that Blizzard wanted to make a Warhammer game, but Games Workshop - the owner of the Warhammer IP - pulled out of the deal, so Blizzard modified their game's universe a a bit and called it WarCraft and later took a similar approach with StarCraft.<p>[1] <a href="https://warhammer40k.fandom.com/wiki/Tyranids" rel="nofollow">https://warhammer40k.fandom.com/wiki/Tyranids</a><p>[2] <a href="https://warhammer40k.fandom.com/wiki/Aeldari" rel="nofollow">https://warhammer40k.fandom.com/wiki/Aeldari</a><p>[3] <a href="https://warhammer40k.fandom.com/wiki/Psyker" rel="nofollow">https://warhammer40k.fandom.com/wiki/Psyker</a><p>[4] <a href="https://warhammer40k.fandom.com/wiki/Space_Marines" rel="nofollow">https://warhammer40k.fandom.com/wiki/Space_Marines</a></p>
]]></description><pubDate>Tue, 20 Oct 2026 22:21:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=50173490</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=50173490</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50173490</guid></item><item><title><![CDATA[New comment by simon_void in "JetBrains Junie Local: An agent you own, not one you rent"]]></title><description><![CDATA[
<p>I've read it again: Junie CLI has a Linux version, Junie Local doesn't.</p>
]]></description><pubDate>Sun, 18 Oct 2026 00:11:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=50136510</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=50136510</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50136510</guid></item><item><title><![CDATA[New comment by simon_void in "JetBrains Junie Local: An agent you own, not one you rent"]]></title><description><![CDATA[
<p>why is Junie local only available for Mac & Windows? Why not Linux?</p>
]]></description><pubDate>Sat, 17 Oct 2026 18:57:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=50133951</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=50133951</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50133951</guid></item><item><title><![CDATA[New comment by simon_void in "I think I found a planet nobody knew existed. I used Claude Code to find it"]]></title><description><![CDATA[
<p>regarding naming the planet, I'd vote for "Adrian".</p>
]]></description><pubDate>Fri, 09 Oct 2026 12:18:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=50019436</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=50019436</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50019436</guid></item><item><title><![CDATA[New comment by simon_void in "The Two Factions of C++ (2024)"]]></title><description><![CDATA[
<p>> Bun's recent migration to Rust which could be misinterpreted as an example supporting migrating to rust, but under the hood it's far from a success story.<p>Since you don't mention that this migration is basically executed agenticly by Claude, it seems like you attribute this troubled migration to Rust not being that good of an improvement after all.
For me it doesn't seem that surprising that Claude autonomously translating hacky Zig (according to Andrew Kelly #1) to unidiomatic (way more unsafe code that usual) Rust didn't solve the issues that the original code base already had.<p>#1 <a href="https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html" rel="nofollow">https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.ht...</a></p>
]]></description><pubDate>Wed, 19 Aug 2026 13:29:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=49361360</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=49361360</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49361360</guid></item><item><title><![CDATA[New comment by simon_void in "Google is its own worst enemy"]]></title><description><![CDATA[
<p>less is more, I just want the plain old search experience I've had for 25 years so I stated paying for Kagi around a year ago. (Before that I used DuckDuckGo which still seems fine. They seem to also offer AI now, but it's not obnoxious like on Google.)</p>
]]></description><pubDate>Tue, 26 May 2026 06:39:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48275917</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=48275917</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48275917</guid></item><item><title><![CDATA[New comment by simon_void in "The limits of Rust, or why you should probably not follow Amazon and Cloudflare"]]></title><description><![CDATA[
<p>Is the inclusion of synchronous interfaces a new thing? When I learned actix_web 2-3 years ago for some webservices at work, the documentation surely (at least) started of with async functions everywhere.
Did that change? Were synchronous interfaces introduced later in the actix_web documentation? Or did everybody switch over to axum in the meantime and axum has synchrounous interfaces!? (I just checked and according to crates.io axum seems to have 8x the recent downloads of actix_web.)
background: actix_web is still the only Rust webframework I have experience with</p>
]]></description><pubDate>Thu, 14 May 2026 08:32:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48132626</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=48132626</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48132626</guid></item><item><title><![CDATA[New comment by simon_void in "Don't trust AI agents"]]></title><description><![CDATA[
<p>nobody trusts AI agents, that's why they are put in a harness. It's just that I additionally belong to the people who don't trust AI agents to always adhere to harnesses either.</p>
]]></description><pubDate>Sat, 28 Feb 2026 18:53:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=47198867</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=47198867</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47198867</guid></item><item><title><![CDATA[New comment by simon_void in "Half million 'Words with Spaces' missing from dictionaries"]]></title><description><![CDATA[
<p>true, but you'd be wrong to assume that Germans only compound words if both parts are nouns, e.g. "Gehweg" (walk way) and "Springseil" (jump rope) use the base of a verb.
We do actually have "Kochwasser" ("kochen" means "to cook", "kochend" means "boiling") but that's not boiling water ("kochendes Wasser") but for water used for cooking.</p>
]]></description><pubDate>Wed, 25 Feb 2026 14:38:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47152096</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=47152096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47152096</guid></item><item><title><![CDATA[New comment by simon_void in "Half million 'Words with Spaces' missing from dictionaries"]]></title><description><![CDATA[
<p>not anything. As a German I see no way to compound "boiling water". It remains two words: "kochendes Wasser".</p>
]]></description><pubDate>Wed, 25 Feb 2026 10:11:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47149674</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=47149674</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47149674</guid></item><item><title><![CDATA[New comment by simon_void in "Kotlin's rich errors: Native, typed errors without exceptions"]]></title><description><![CDATA[
<p>thank you for the link to the talk! I actually witnessed the talk live, but must have completely missed this or simply forgot that this was answered :D</p>
]]></description><pubDate>Sun, 25 Jan 2026 10:04:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46752523</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=46752523</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46752523</guid></item><item><title><![CDATA[New comment by simon_void in "Kotlin's rich errors: Native, typed errors without exceptions"]]></title><description><![CDATA[
<p>Rich Errors look promising to me, but what about interop with Java?
What will the return-type of a function be on the Java side be, if the return type on Kotlin side is: Int | ParseError | SomeOtherError?<p>Background: unions aren't restricted to one normal type and one error type, but to one normal type and any number of error types, so this can't be modelled as syntactic sugar on top of an implicit Either/Result type, can it??</p>
]]></description><pubDate>Mon, 19 Jan 2026 07:20:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46675884</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=46675884</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46675884</guid></item><item><title><![CDATA[New comment by simon_void in "C Is Best (2025)"]]></title><description><![CDATA[
<p>technically, Kotlin can use VirtualThreads like it can use any other Java Api
(when being compiled to JVM bytecode).[1]
If I remember correctly the Kotlin team was e.g. thinking about implementing a Coroutine Dispatcher with VirtualThreads.
So building a Kotlin service that uses Virtual Threads instead of coroutines is -in principle- possible. But if you've got a Java project using Virtual Threads you could rewrite it slowly -class for class- to Kotlin (and later probably refactor the VirtualThreads to coroutines).
What you have to keep in mind though: if you're creating a Kotlin lib that is meant to be used by Java then the public Api of this lib should include suspend functions!
My company made that mistake at some point, they ordered a lib from an external supplier and since Java and Kotlin are both first class languages and "Kotlin is compatible with Java", they ordered this lib in Kotlin. They learned the hard way that Kotlin suspend methods translate to Java methods returning a Continuation class (!? If I remember correctly. I wasn't part of that project, but heard their story) which is very unergonomic to use manually. The fix was to write a small Kotlin shim lib that wrapped the other lib and replaced every suspend function with a normal function invoking their suspend counterpart in a runBlocking-block (I think). Hardly ideal, but workable. So yes, writing a Kotlin lib that's (also) meant to be consumed from Java requires more thought than one that is only meant to be used by Kotlin. (There is functionality in Kotlin to help with this though, e.g. look up the annotations @JvmStatic, @JvmName, @JvmRecord.)<p>[1] <a href="https://void2unit.onrender.com/post/virtualthreads-in-kotlin/" rel="nofollow">https://void2unit.onrender.com/post/virtualthreads-in-kotlin...</a></p>
]]></description><pubDate>Thu, 08 Jan 2026 08:00:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46538509</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=46538509</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46538509</guid></item><item><title><![CDATA[New comment by simon_void in "Was it a billion dollar mistake?"]]></title><description><![CDATA[
<p>I really like languages with non-/nullable types like Kotlin and Rust! I used to work with Java for over a decade and therefore used to code very defensively against NullPointerException and now (with Kotlin) I just don't have to do this anymore.
That being said there are two possible sources of nullpointers: from inside your program or from outside (e.g. the json your server got send wasn't fully initialized). The majority of NullPointers come from outside in my experience. Nullpointers from within you have to fix mostly once. but there's no end to what data send to you from outside your control can be missing.
Of course you still have to validate/parse outside data when using Kotlin but since the type system then carries on which data has been validated, you can drop the defensive mindset that was appropriate in Java.<p>So if you have a self-contained, non-safety critical project and want to use/try out an arena-allocated memory approach using Odin seems fine (e.g. looking at you: "raytracing in a weekend").<p>So yeah, I think there's a niche of projects where the possibility of null pointers isn't a huge deal.<p>None of my work-related projects fall in that category though :D</p>
]]></description><pubDate>Sun, 04 Jan 2026 15:12:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46488700</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=46488700</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46488700</guid></item><item><title><![CDATA[New comment by simon_void in "Rust's Block Pattern"]]></title><description><![CDATA[
<p>I agree, i started with (scope) blocks in Rust, but keep the habit in Kotlin win the run - scope-function. Since run takes no arguments, it feels like the closest equivalent to Rust scopes (compared to other Korlin scope functions, which also keep their local variables from polluting the rest of the function body).</p>
]]></description><pubDate>Fri, 19 Dec 2025 18:05:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46328883</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=46328883</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46328883</guid></item><item><title><![CDATA[New comment by simon_void in "Computer animator and Amiga fanatic Dick van Dyke turns 100"]]></title><description><![CDATA[
<p>a Corridor Crew YouTube video describing/recreating that sodium vapour process: <a href="https://www.youtube.com/watch?v=UQuIVsNzqDk" rel="nofollow">https://www.youtube.com/watch?v=UQuIVsNzqDk</a></p>
]]></description><pubDate>Sat, 13 Dec 2025 09:54:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46253384</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=46253384</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46253384</guid></item><item><title><![CDATA[New comment by simon_void in "What if I don't want videos of my hobby time available to the world?"]]></title><description><![CDATA[
<p>this is exactly about what is legal or not.
If I remember correctly in Germany there's a distinction about people being the focus of a photograph or people in the background. You can e.g. publish a picture of a public place without asking everybody on that place for their consent.
Another corner case would be filming police brutality. What if the police officers in question wouldn't like to be photographed being brutal!?
Local laws do apply.</p>
]]></description><pubDate>Mon, 29 Sep 2025 12:09:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=45412700</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=45412700</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45412700</guid></item><item><title><![CDATA[New comment by simon_void in "WASM 3.0 Completed"]]></title><description><![CDATA[
<p>I works very well, thank you for asking: <a href="https://rustwasm.github.io/book/" rel="nofollow">https://rustwasm.github.io/book/</a></p>
]]></description><pubDate>Thu, 18 Sep 2025 07:25:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=45286606</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=45286606</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45286606</guid></item><item><title><![CDATA[New comment by simon_void in "Go is still not good"]]></title><description><![CDATA[
<p>Kotlin! personal disclosure: I'm a Kotlin fan boy. (If performance is important then Rust, but Kotlin is more ergonomic.)</p>
]]></description><pubDate>Tue, 26 Aug 2025 12:27:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=45025592</link><dc:creator>simon_void</dc:creator><comments>https://news.ycombinator.com/item?id=45025592</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45025592</guid></item></channel></rss>