<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: tavianator</title><link>https://news.ycombinator.com/user?id=tavianator</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 09 Apr 2026 06:07:56 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=tavianator" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by tavianator in "ARC-AGI-3"]]></title><description><![CDATA[
<p>> Airplanes don't have wings<p>???</p>
]]></description><pubDate>Thu, 26 Mar 2026 02:21:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47525973</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=47525973</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47525973</guid></item><item><title><![CDATA[New comment by tavianator in "Comma openpilot – Open source driver-assistance"]]></title><description><![CDATA[
<p>No: <a href="https://en.wikipedia.org/wiki/Sony_Computer_Entertainment_America,_Inc._v._Hotz" rel="nofollow">https://en.wikipedia.org/wiki/Sony_Computer_Entertainment_Am...</a></p>
]]></description><pubDate>Sat, 24 Jan 2026 04:16:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=46740983</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=46740983</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46740983</guid></item><item><title><![CDATA[New comment by tavianator in "A bug that taught me more about PyTorch than years of using it"]]></title><description><![CDATA[
<p>Presumably that's just a mistake.  The author calls it "stochastic gradient descent" correctly elsewhere in the article</p>
]]></description><pubDate>Sun, 26 Oct 2025 13:56:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=45711918</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=45711918</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45711918</guid></item><item><title><![CDATA[There is no memory safety without thread safety]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.ralfj.de/blog/2025/07/24/memory-safety.html">https://www.ralfj.de/blog/2025/07/24/memory-safety.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44672003">https://news.ycombinator.com/item?id=44672003</a></p>
<p>Points: 456</p>
<p># Comments: 503</p>
]]></description><pubDate>Thu, 24 Jul 2025 15:35:39 +0000</pubDate><link>https://www.ralfj.de/blog/2025/07/24/memory-safety.html</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=44672003</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44672003</guid></item><item><title><![CDATA[New comment by tavianator in "lsr: ls with io_uring"]]></title><description><![CDATA[
<p>I did try it a while ago and it wasn't profitable, but that was before I added stat() support.  Batching those is probably good</p>
]]></description><pubDate>Fri, 18 Jul 2025 16:57:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=44607073</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=44607073</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44607073</guid></item><item><title><![CDATA[New comment by tavianator in "lsr: ls with io_uring"]]></title><description><![CDATA[
<p>My bfs project also uses io_uring: <a href="https://github.com/tavianator/bfs/blob/main/src/ioq.c">https://github.com/tavianator/bfs/blob/main/src/ioq.c</a><p>I'm curious how lsr compares to bfs -ls for example.  bfs only uses io_uring when multiple threads are enabled, but maybe it's worth using it even for bfs -j1</p>
]]></description><pubDate>Fri, 18 Jul 2025 16:27:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=44606605</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=44606605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44606605</guid></item><item><title><![CDATA[New comment by tavianator in "Pathfinding"]]></title><description><![CDATA[
<p>You may want to look into improvements to A* for grids, like Rectangular Symmetry Reduction.</p>
]]></description><pubDate>Thu, 15 May 2025 18:52:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=43998102</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43998102</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43998102</guid></item><item><title><![CDATA[New comment by tavianator in "Show HN: Helixdb – Open-source vector-graph database for AI applications (Rust)"]]></title><description><![CDATA[
<p>> There was no other helix db<p><a href="https://en.wikipedia.org/wiki/Helix_(database)" rel="nofollow">https://en.wikipedia.org/wiki/Helix_(database)</a></p>
]]></description><pubDate>Tue, 13 May 2025 20:45:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=43977505</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43977505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43977505</guid></item><item><title><![CDATA[New comment by tavianator in "Understanding Memory Management, Part 5: Fighting with Rust"]]></title><description><![CDATA[
<p>They were referencing the title of a specific paper, which invented type classes: <a href="https://dl.acm.org/doi/10.1145/75277.75283" rel="nofollow">https://dl.acm.org/doi/10.1145/75277.75283</a></p>
]]></description><pubDate>Tue, 06 May 2025 14:35:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=43905634</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43905634</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43905634</guid></item><item><title><![CDATA[New comment by tavianator in "Driving Compilers (2023)"]]></title><description><![CDATA[
<p>The C standard (since C99) says that `main()` has an implicit `return 0`, you don't need to write it explicitly.</p>
]]></description><pubDate>Mon, 05 May 2025 12:07:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43894180</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43894180</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43894180</guid></item><item><title><![CDATA[New comment by tavianator in "Parallel ./configure"]]></title><description><![CDATA[
<p>I was looking for a relevant paper and found this one, which isn't what I was looking for but is related: <a href="https://sigops.org/s/conferences/hotos/2023/papers/liargkovas.pdf" rel="nofollow">https://sigops.org/s/conferences/hotos/2023/papers/liargkova...</a></p>
]]></description><pubDate>Sat, 26 Apr 2025 18:56:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=43806191</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43806191</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43806191</guid></item><item><title><![CDATA[New comment by tavianator in "Parallel ./configure"]]></title><description><![CDATA[
<p>My actual "production" implementation of this concept does support that: <a href="https://github.com/tavianator/bfs/blob/main/configure">https://github.com/tavianator/bfs/blob/main/configure</a><p>But I wanted the blog post sized version to be simpler for exposition.</p>
]]></description><pubDate>Sat, 26 Apr 2025 17:07:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=43805305</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43805305</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43805305</guid></item><item><title><![CDATA[New comment by tavianator in "Parallel ./configure"]]></title><description><![CDATA[
<p>Just tried reconfiguring LLVM:<p><pre><code>    27.24s user 8.71s system 99% cpu 36.218 total
</code></pre>
Admittedly the LLVM build time dwarfs the configuration time, but still.  If you're only building a smaller component then the config time dominates:<p><pre><code>    ninja libc  268.82s user 26.16s system 3246% cpu 9.086 total</code></pre></p>
]]></description><pubDate>Sat, 26 Apr 2025 16:00:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=43804752</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43804752</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43804752</guid></item><item><title><![CDATA[New comment by tavianator in "Parallel ./configure"]]></title><description><![CDATA[
<p>Fixed!  <a href="https://github.com/tavianator/tavianator.com/commit/aa9d99d5de55a6f7d7138df6a64b01c435f87f0e">https://github.com/tavianator/tavianator.com/commit/aa9d99d5...</a></p>
]]></description><pubDate>Sat, 26 Apr 2025 15:51:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=43804644</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43804644</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43804644</guid></item><item><title><![CDATA[New comment by tavianator in "Parallel ./configure"]]></title><description><![CDATA[
<p>Nice!  I used to do something similar, don't remember exactly why I had to switch but the two step process did become necessary at some point.<p>Just from a quick peek at that repo, nowadays you can write<p>#if __has_attribute(cold)<p>and avoid the configure test entirely.  Probably wasn't a thing 10 years ago though :)</p>
]]></description><pubDate>Sat, 26 Apr 2025 04:56:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=43801057</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43801057</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43801057</guid></item><item><title><![CDATA[New comment by tavianator in "Parallel ./configure"]]></title><description><![CDATA[
<p>Whoops!  Forgot to do that when I switched from a ``` block to raw html</p>
]]></description><pubDate>Sat, 26 Apr 2025 04:35:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=43800978</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43800978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43800978</guid></item><item><title><![CDATA[New comment by tavianator in "fd: A simple, fast and user-friendly alternative to 'find'"]]></title><description><![CDATA[
<p>You might be interested in rawhide[1] or fselect[2].  (Note: I don't really use them myself, but they seem to offer something like what you're suggesting.)<p>Also, this is still a find-style syntax, but my bfs utility supports -exclude [3].  So you can write<p><pre><code>    bfs -type f -exclude -path ./excluded_dir
</code></pre>
which is a bit more ergonomic.<p>[1]: <a href="https://github.com/raforg/rawhide" rel="nofollow">https://github.com/raforg/rawhide</a><p>[2]: <a href="https://github.com/jhspetersson/fselect" rel="nofollow">https://github.com/jhspetersson/fselect</a><p>[3]: <a href="https://github.com/tavianator/bfs/blob/main/docs/USAGE.md#-exclude" rel="nofollow">https://github.com/tavianator/bfs/blob/main/docs/USAGE.md#-e...</a></p>
]]></description><pubDate>Wed, 19 Mar 2025 18:56:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=43415978</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43415978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43415978</guid></item><item><title><![CDATA[New comment by tavianator in "fd: A simple, fast and user-friendly alternative to 'find'"]]></title><description><![CDATA[
<p>At least with GNU coreutils, you can use `-r`/`--relative`</p>
]]></description><pubDate>Wed, 19 Mar 2025 15:38:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=43413447</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43413447</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43413447</guid></item><item><title><![CDATA[New comment by tavianator in "fd: A simple, fast and user-friendly alternative to 'find'"]]></title><description><![CDATA[
<p>Someday I will get that functionality into fd :)</p>
]]></description><pubDate>Wed, 19 Mar 2025 15:36:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=43413427</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=43413427</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43413427</guid></item><item><title><![CDATA[New comment by tavianator in "Writing a simple pool allocator in C"]]></title><description><![CDATA[
<p>I've replaced Valgrind with sanitizers for most of my workflow.  Using the sanitizer APIs in your custom allocator is also easy: <a href="https://github.com/tavianator/bfs/blob/main/src/sanity.h">https://github.com/tavianator/bfs/blob/main/src/sanity.h</a> <a href="https://github.com/tavianator/bfs/blob/31dffd6441ba80ea998cedd10f9138198298e9fc/src/alloc.c#L218">https://github.com/tavianator/bfs/blob/31dffd6441ba80ea998ce...</a></p>
]]></description><pubDate>Thu, 09 Jan 2025 14:28:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=42645910</link><dc:creator>tavianator</dc:creator><comments>https://news.ycombinator.com/item?id=42645910</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42645910</guid></item></channel></rss>