<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: benwilber0</title><link>https://news.ycombinator.com/user?id=benwilber0</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 18:12:34 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=benwilber0" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Code Is A Commodity]]></title><description><![CDATA[
<p>Article URL: <a href="https://benwilber.github.io/programming/2026/02/14/code-is-commodity.html">https://benwilber.github.io/programming/2026/02/14/code-is-commodity.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47019786">https://news.ycombinator.com/item?id=47019786</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 15 Feb 2026 00:11:25 +0000</pubDate><link>https://benwilber.github.io/programming/2026/02/14/code-is-commodity.html</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=47019786</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47019786</guid></item><item><title><![CDATA[New comment by benwilber0 in "Fast Lua runtime written in Rust"]]></title><description><![CDATA[
<p>The "runtime" word is very confusing in this case.<p>It's a web application server written in Rust (Axum/Tokio), that has hooks into Lua bindings (mlua) so that application behaviors can be implemented in Lua.</p>
]]></description><pubDate>Mon, 24 Nov 2025 16:09:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46035600</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=46035600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46035600</guid></item><item><title><![CDATA[New comment by benwilber0 in "Fast Lua runtime written in Rust"]]></title><description><![CDATA[
<p>Looks neat.  I built a programmable server for Server-Sent Events using a similar stack (Rust/mlua/axum) [1].  I think the Rust/Lua interop story is pretty good.<p>[1] <a href="https://github.com/benwilber/tinysse" rel="nofollow">https://github.com/benwilber/tinysse</a></p>
]]></description><pubDate>Mon, 24 Nov 2025 15:21:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46035050</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=46035050</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46035050</guid></item><item><title><![CDATA[New comment by benwilber0 in "Lua for Elixir"]]></title><description><![CDATA[
<p>> I am surprised more projects don’t provide a Lua scripting layer.<p>Completely agree.  I've been adding Lua scripting support to pretty much everything I make now.  Most recently my programmable SSE server [1].  It's extended the functionality far beyond anything that I would have had the time and patience to do myself.  Lua is such a treat.<p>[1] <a href="https://github.com/benwilber/tinysse">https://github.com/benwilber/tinysse</a></p>
]]></description><pubDate>Thu, 15 May 2025 16:57:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=43996949</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43996949</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43996949</guid></item><item><title><![CDATA[New comment by benwilber0 in "Show HN: CLI that spots fake GitHub stars, risky dependencies and licence traps"]]></title><description><![CDATA[
<p>Github was a "social network" from its very beginning.  The whole premise was geared around git hosting and "social coding".  I don't think it became enshittified later since that was the entire value proposition from day 1.</p>
]]></description><pubDate>Mon, 12 May 2025 17:10:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=43965265</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43965265</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43965265</guid></item><item><title><![CDATA[A lithium deposit valued at $1.5T discovered in the US state of Oregon]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.earth.com/news/volcanic-white-gold-a-lithium-deposit-valued-at-1-5-trillion-has-been-discovered-in-the-u-s/">https://www.earth.com/news/volcanic-white-gold-a-lithium-deposit-valued-at-1-5-trillion-has-been-discovered-in-the-u-s/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43954035">https://news.ycombinator.com/item?id=43954035</a></p>
<p>Points: 3</p>
<p># Comments: 2</p>
]]></description><pubDate>Sun, 11 May 2025 14:24:01 +0000</pubDate><link>https://www.earth.com/news/volcanic-white-gold-a-lithium-deposit-valued-at-1-5-trillion-has-been-discovered-in-the-u-s/</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43954035</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43954035</guid></item><item><title><![CDATA[New comment by benwilber0 in "Redis is open source again"]]></title><description><![CDATA[
<p>But why are they spending any time switching away from Redis at all unless they are a hosting provider offering Redis-as-a-service?<p>I wasn't aware the license had any negative affect on private internal use.</p>
]]></description><pubDate>Thu, 01 May 2025 16:59:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=43860348</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43860348</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43860348</guid></item><item><title><![CDATA[New comment by benwilber0 in "Redis is open source again"]]></title><description><![CDATA[
<p>Your company invested hundreds of engineering hours switching from Redis to a clean fork of Redis?</p>
]]></description><pubDate>Thu, 01 May 2025 16:20:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=43859802</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43859802</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43859802</guid></item><item><title><![CDATA[New comment by benwilber0 in "Linux Kernel Exploitation: Attack of the Vsock"]]></title><description><![CDATA[
<p>> I probably would have gone for turning the UaF into an type confusion style attack<p>I'm aware that Linux is nearly 40 years old at this point, and C is even decades older.  But it is mind-boggling to me that we're still talking about UAFs and jumping from dangling pointers to get privileged executions in the 21st century.<p>(rewrite it in Rust)</p>
]]></description><pubDate>Wed, 30 Apr 2025 21:48:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=43851075</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43851075</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43851075</guid></item><item><title><![CDATA[SQLite is great for what it is: a small, embedded SQL database. But nothing more]]></title><description><![CDATA[
<p>Article URL: <a href="https://benwilber.github.io/programming/2025/03/31/sqlite-is-great-for-what-it-is.html">https://benwilber.github.io/programming/2025/03/31/sqlite-is-great-for-what-it-is.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43849605">https://news.ycombinator.com/item?id=43849605</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 30 Apr 2025 19:24:36 +0000</pubDate><link>https://benwilber.github.io/programming/2025/03/31/sqlite-is-great-for-what-it-is.html</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43849605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43849605</guid></item><item><title><![CDATA[New comment by benwilber0 in "A single line of code cost $8000"]]></title><description><![CDATA[
<p>> their software also downloaded a 250MB update file every five minutes<p>How on earth is a screen recording app 250 megabytes</p>
]]></description><pubDate>Tue, 29 Apr 2025 15:03:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=43833646</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43833646</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43833646</guid></item><item><title><![CDATA[New comment by benwilber0 in "My takeaways from DjangoCon EU 2025"]]></title><description><![CDATA[
<p>> contention slowdowns caused by having a primary key that needs a lock (incrementing key)<p>This kind of problem only exists in unsophisticated databases like SQLite.  Postgres reserves whole ranges of IDs at once so there is never any contention for the next ID in a serial sequence.</p>
]]></description><pubDate>Tue, 29 Apr 2025 00:38:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=43827589</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43827589</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43827589</guid></item><item><title><![CDATA[New comment by benwilber0 in "My takeaways from DjangoCon EU 2025"]]></title><description><![CDATA[
<p>You use a regular bigint/bigserial for internal table relations and a UUID as an application-level identifier and natural key.</p>
]]></description><pubDate>Tue, 29 Apr 2025 00:34:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=43827576</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43827576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43827576</guid></item><item><title><![CDATA[New comment by benwilber0 in "My takeaways from DjangoCon EU 2025"]]></title><description><![CDATA[
<p>> Always use a BigInt (64 bits) or UUID for primary keys.<p>Use bigint, never UUID.  UUIDs are massive (2x a bigint) and now your DBMS has to copy that enormous value to every side of a relation.<p>It will bloat your table and indexes 2x for no good reason whatsoever.<p>Never use UUIDs as your primary keys.</p>
]]></description><pubDate>Mon, 28 Apr 2025 22:20:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=43826749</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43826749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43826749</guid></item><item><title><![CDATA[New comment by benwilber0 in "Migrating away from Rust"]]></title><description><![CDATA[
<p>Tokio + Axum + SQLx has been a total game-changer for me for web dev.  It's by far the most productive I've been with any backend web stack.</p>
]]></description><pubDate>Mon, 28 Apr 2025 21:47:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=43826497</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43826497</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43826497</guid></item><item><title><![CDATA[New comment by benwilber0 in "People say they’ll pay more for “made in the USA” so we ran a test"]]></title><description><![CDATA[
<p>Americans in the market for a "premium" shower head are clearly not looking for the cheapest thing on the market.  So it's obvious that they would be willing to spend more for the added feel-good of a domestic product.</p>
]]></description><pubDate>Thu, 24 Apr 2025 22:23:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=43788167</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43788167</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43788167</guid></item><item><title><![CDATA[New comment by benwilber0 in "Blog hosted on a Nintendo Wii"]]></title><description><![CDATA[
<p>got hugged.<p>Maybe the next post will say "Blog is hosted on a Nintendo Wii (running Varnish)"</p>
]]></description><pubDate>Mon, 21 Apr 2025 18:57:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=43755243</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43755243</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43755243</guid></item><item><title><![CDATA[New comment by benwilber0 in "A new form of verification on Bluesky"]]></title><description><![CDATA[
<p>My initial thought is about GPG's "Web of Trust" system for trusting strangers' keys.  But I don't know if that's a very good example since it always seemed somewhat esoteric and maybe not very successful in general.</p>
]]></description><pubDate>Mon, 21 Apr 2025 18:47:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=43755137</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43755137</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43755137</guid></item><item><title><![CDATA[New comment by benwilber0 in "A new form of verification on Bluesky"]]></title><description><![CDATA[
<p>I'm guessing because users will just "verify" themselves, and then the whole thing is meaningless.</p>
]]></description><pubDate>Mon, 21 Apr 2025 18:26:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=43754927</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43754927</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43754927</guid></item><item><title><![CDATA[New comment by benwilber0 in "Python’s new t-strings"]]></title><description><![CDATA[
<p>The first mistake we're going to see a library developer make is:<p><pre><code>    def execute(query: Union[str, Template]):

</code></pre>
Maybe because they want their execute function to be backwards compatible, or just because they really do want to allow either raw strings are a template string.</p>
]]></description><pubDate>Mon, 21 Apr 2025 14:42:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=43752563</link><dc:creator>benwilber0</dc:creator><comments>https://news.ycombinator.com/item?id=43752563</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43752563</guid></item></channel></rss>