<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: rnestler</title><link>https://news.ycombinator.com/user?id=rnestler</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 27 Aug 2026 16:42:50 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=rnestler" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Safe Ways to Use AI Agents]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.rnstlr.ch/safe-ways-to-use-ai-agents.html">https://blog.rnstlr.ch/safe-ways-to-use-ai-agents.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48717052">https://news.ycombinator.com/item?id=48717052</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 29 Jun 2026 09:49:15 +0000</pubDate><link>https://blog.rnstlr.ch/safe-ways-to-use-ai-agents.html</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=48717052</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48717052</guid></item><item><title><![CDATA[Safe Ways to Use AI Agents]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.rnstlr.ch/safe-ways-to-use-ai-agents.html">https://blog.rnstlr.ch/safe-ways-to-use-ai-agents.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48281751">https://news.ycombinator.com/item?id=48281751</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 26 May 2026 16:14:11 +0000</pubDate><link>https://blog.rnstlr.ch/safe-ways-to-use-ai-agents.html</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=48281751</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48281751</guid></item><item><title><![CDATA[LibrePCB 2.1 with cross-probing, net highlighting, UI themes and more]]></title><description><![CDATA[
<p>Article URL: <a href="https://librepcb.org/blog/2026-05-19_release_2.1.0/">https://librepcb.org/blog/2026-05-19_release_2.1.0/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48198608">https://news.ycombinator.com/item?id=48198608</a></p>
<p>Points: 4</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 19 May 2026 19:56:16 +0000</pubDate><link>https://librepcb.org/blog/2026-05-19_release_2.1.0/</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=48198608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48198608</guid></item><item><title><![CDATA[New comment by rnestler in "We can’t send mail farther than 500 miles (2002)"]]></title><description><![CDATA[
<p>It has it in the AUR: <a href="https://aur.archlinux.org/packages/units" rel="nofollow">https://aur.archlinux.org/packages/units</a></p>
]]></description><pubDate>Thu, 29 Jan 2026 11:42:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46808901</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=46808901</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46808901</guid></item><item><title><![CDATA[LibrePCB 2.0 with new slint.rs based UI]]></title><description><![CDATA[
<p>Article URL: <a href="https://librepcb.org/blog/2026-01-28_release_2.0.0/">https://librepcb.org/blog/2026-01-28_release_2.0.0/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46795234">https://news.ycombinator.com/item?id=46795234</a></p>
<p>Points: 4</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 28 Jan 2026 13:40:26 +0000</pubDate><link>https://librepcb.org/blog/2026-01-28_release_2.0.0/</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=46795234</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46795234</guid></item><item><title><![CDATA[New comment by rnestler in "Reflections on Haskell and Rust"]]></title><description><![CDATA[
<p>The article shows neatly how Rust is inspired by functional programming languages, but polished the concepts by learning from their mistakes.<p>In the "Purity and Referential Transparency" section I'd have expected some comparison with `const fn` in Rust. Aren't `const fn` in Rust pure?</p>
]]></description><pubDate>Tue, 01 Jul 2025 08:24:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=44431779</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=44431779</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44431779</guid></item><item><title><![CDATA[New comment by rnestler in "Show HN: A Mypy-Compatible Python Language Server Built in Rust"]]></title><description><![CDATA[
<p>I tested it quickly on a 30kLOC project. zmypy seems to be faster than mypy indeed:<p>Without mypy cache:<p><pre><code>  $ rm -rf .mypy_cache
  $ time mypy
  Success: no issues found in 157 source files
  mypy  20.40s user 2.33s system 108% cpu 20.886 total
</code></pre>
With mypy cache without any changes:<p><pre><code>  $ mypy --version
  mypy 1.16.0 (compiled: yes)
  $ time mypy
  Success: no issues found in 157 source files
  mypy  0.56s user 1.84s system 628% cpu 0.381 total
</code></pre>
mypy with a small change in a shared module<p><pre><code>  $ time mypy
  Success: no issues found in 157 source files
  mypy tests/  2.32s user 2.06s system 168% cpu 2.601 total
</code></pre>
zmypy:<p><pre><code>  $ time zmypy
  Found 68 errors in 16 files (checked 157 source files)
  zmypy  0.68s user 0.05s system 99% cpu 0.731 total

</code></pre>
Without caching and parallelization (as the 99% CPU usage indicates) it comes in the range of mypy using the cache and multiple cores (628% CPU usage) without any changes in the code.<p>zmypy seems to find more errors but they mostly boil down to the following errors<p>* Call to untyped function "__setitem__" in typed context<p>* ... has incompatible type "MagicMock"; expected ...<p>Maybe __setitem__ and MagicMock are treated specially in mypy? Also there seem to be differences in handling Protocol and enum comparison.</p>
]]></description><pubDate>Mon, 16 Jun 2025 12:13:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=44288817</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=44288817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44288817</guid></item><item><title><![CDATA[New comment by rnestler in "The Linux 6.15 kernel arrives – and it's big a victory for Rust fans"]]></title><description><![CDATA[
<p>This article is IMO inaccurate in a few points:<p>> for the first time, we have a Rust-based driver in the mainline kernel.<p><a href="https://rust-for-linux.com/amcc-qt2025-phy-driver" rel="nofollow">https://rust-for-linux.com/amcc-qt2025-phy-driver</a> is in mainline since 6.12 and <a href="https://rust-for-linux.com/asix-phy-driver" rel="nofollow">https://rust-for-linux.com/asix-phy-driver</a> even since 6.8<p>> empowers Nvidia's next-generation open-source graphics hardware. The driver targets Nvidia's RTX 2000 "Turing" series and newer GPUs.<p>This sounds like it is already fully working, but as far as I know it's just a stub driver merged so far: <a href="https://rust-for-linux.com/nova-gpu-driver" rel="nofollow">https://rust-for-linux.com/nova-gpu-driver</a>, <a href="https://www.phoronix.com/news/NOVA-Driver-For-Linux-6.15" rel="nofollow">https://www.phoronix.com/news/NOVA-Driver-For-Linux-6.15</a><p>This makes the article appear as just click-bait to me.</p>
]]></description><pubDate>Fri, 30 May 2025 07:22:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44133804</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=44133804</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44133804</guid></item><item><title><![CDATA[New comment by rnestler in "Rust 1.0 (2015)"]]></title><description><![CDATA[
<p>10 years already, amazing. I still remember playing around with pre 1.0 Rust and having my code break on every other compiler update :)</p>
]]></description><pubDate>Thu, 15 May 2025 18:42:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=43997992</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=43997992</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43997992</guid></item><item><title><![CDATA[New comment by rnestler in "The Linux Kernel Matures to Having a Minimum Rust Toolchain Version"]]></title><description><![CDATA[
<p>I maintain an AUR package which builds a Rust enabled kernel: <a href="https://aur.archlinux.org/packages/linux-rust" rel="nofollow">https://aur.archlinux.org/packages/linux-rust</a><p>So far I just pinned the rustc version used by requiring rustup as a build dependency. Let's see if this lets me drop it or if it is still easier in the end to build with pinned version.</p>
]]></description><pubDate>Tue, 02 Jul 2024 16:58:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=40858451</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=40858451</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40858451</guid></item><item><title><![CDATA[New comment by rnestler in "Spotify demonetizes all tracks under 1k streams"]]></title><description><![CDATA[
<p>> In addition, if you add "donate" button you'd see a lot of artists being showered with cash.<p>There are donation buttons for some artist on Spotify. I guess the artist need to enable it? ("Signum Regis" is an artist that has a Donate button for example)</p>
]]></description><pubDate>Mon, 08 Apr 2024 08:34:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=39967520</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=39967520</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39967520</guid></item><item><title><![CDATA[New comment by rnestler in "LibrePCB 1.1.0 Released"]]></title><description><![CDATA[
<p>New features include: Live Parts Information via  Partstack and EAGLE Project Import.</p>
]]></description><pubDate>Wed, 03 Apr 2024 17:40:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=39920523</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=39920523</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39920523</guid></item><item><title><![CDATA[LibrePCB 1.1.0 Released]]></title><description><![CDATA[
<p>Article URL: <a href="https://librepcb.org/blog/2024-04-03_release_1.1.0/">https://librepcb.org/blog/2024-04-03_release_1.1.0/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39920522">https://news.ycombinator.com/item?id=39920522</a></p>
<p>Points: 3</p>
<p># Comments: 2</p>
]]></description><pubDate>Wed, 03 Apr 2024 17:40:03 +0000</pubDate><link>https://librepcb.org/blog/2024-04-03_release_1.1.0/</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=39920522</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39920522</guid></item><item><title><![CDATA[New comment by rnestler in "Broot: A new way to look at file management written in Rust"]]></title><description><![CDATA[
<p>This looks really nice and useful! I wonder if I could configure it to open things in vim directly? Because currently it seems to use xdg-open which then opens it in whatever application is configured.</p>
]]></description><pubDate>Wed, 06 Sep 2023 13:48:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=37405091</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=37405091</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37405091</guid></item><item><title><![CDATA[New comment by rnestler in "Linux 6.5 Upgrading the Rust Toolchain, New Modules Added"]]></title><description><![CDATA[
<p>> Can I compile rust-written linux modules with a rust-written rust compiler?<p>The offficial Rust compiler is written in Rust.<p>> And where can I download bootstrap static ELF64 binaries of this compiler?<p>You can get a Rust compiler on <a href="https://rustup.rs" rel="nofollow noreferrer">https://rustup.rs</a><p>Probalby you can get one which is statically compiled for the musl target.<p>If you want to follow the boostrap procedure see <a href="https://rustc-dev-guide.rust-lang.org/building/bootstrapping.html" rel="nofollow noreferrer">https://rustc-dev-guide.rust-lang.org/building/bootstrapping...</a></p>
]]></description><pubDate>Mon, 19 Jun 2023 17:18:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=36393758</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=36393758</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36393758</guid></item><item><title><![CDATA[New comment by rnestler in "Building an Out-of-Tree Rust Kernel Module Part Three"]]></title><description><![CDATA[
<p>I finally managed to build an ArchLinux kernel that supports out-of-tree modules written in Rust. If you're interested in the whole journey there are also the following posts:<p>* <a href="https://blog.rnstlr.ch/building-an-out-of-tree-rust-kernel-module.html" rel="nofollow noreferrer">https://blog.rnstlr.ch/building-an-out-of-tree-rust-kernel-m...</a><p>* <a href="https://blog.rnstlr.ch/building-an-out-of-tree-rust-kernel-module-part-two.html" rel="nofollow noreferrer">https://blog.rnstlr.ch/building-an-out-of-tree-rust-kernel-m...</a></p>
]]></description><pubDate>Thu, 15 Jun 2023 12:54:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=36339763</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=36339763</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36339763</guid></item><item><title><![CDATA[Building an Out-of-Tree Rust Kernel Module Part Three]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.rnstlr.ch/building-an-out-of-tree-rust-kernel-module-part-three.html">https://blog.rnstlr.ch/building-an-out-of-tree-rust-kernel-module-part-three.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36339762">https://news.ycombinator.com/item?id=36339762</a></p>
<p>Points: 4</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 15 Jun 2023 12:54:58 +0000</pubDate><link>https://blog.rnstlr.ch/building-an-out-of-tree-rust-kernel-module-part-three.html</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=36339762</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36339762</guid></item><item><title><![CDATA[New comment by rnestler in "Rust module system encourages bad practices"]]></title><description><![CDATA[
<p>> The real problem is that you can't use crates to improve incrementalism when you have a type in one logical part of the module hierarchy implement a trait from another logical part. Due to orphan rules and coherence, it is not possible to implement a foreign trait for a foreign type.<p>Well you can implement a trait for a type from another logical part either in the crate of the trait or the crate of the type.<p>What is the use-case for implementing a foreign trait for a foreign type if you have both under control?</p>
]]></description><pubDate>Thu, 08 Jun 2023 11:11:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=36239947</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=36239947</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36239947</guid></item><item><title><![CDATA[New comment by rnestler in "Rust module system encourages bad practices"]]></title><description><![CDATA[
<p>> I wanted to separate the type, the trait and the implementation of the trait in different crates.<p>I usually put the traits in a separate crate, but keep concrete types and implementations for them in the same crate.<p>What is the use-case for splitting a type and it's implementation into separate crates? (except for cases where the trait or the type are out of your control, then one indeed needs to use the new-type escape hatch)</p>
]]></description><pubDate>Thu, 08 Jun 2023 11:01:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=36239875</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=36239875</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36239875</guid></item><item><title><![CDATA[New comment by rnestler in "20M digits of pi in 1 minute using Julia"]]></title><description><![CDATA[
<p>> (Plain Windows took ~26 seconds for some reason?)<p>Maybe the allocations were the reason?</p>
]]></description><pubDate>Sat, 04 Mar 2023 12:32:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=35020351</link><dc:creator>rnestler</dc:creator><comments>https://news.ycombinator.com/item?id=35020351</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35020351</guid></item></channel></rss>