<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: mxey</title><link>https://news.ycombinator.com/user?id=mxey</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 24 Sep 2026 18:42:52 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mxey" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mxey in "Making Tailscale Faster"]]></title><description><![CDATA[
<p>> The WireGuard website claims ChaPoly is at least as fast as hardware-accelerated AES.<p>I haven’t used WireGuard but I have easily doubled OpenSSH performance by switching back to AES.</p>
]]></description><pubDate>Thu, 24 Sep 2026 07:43:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=49827514</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=49827514</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49827514</guid></item><item><title><![CDATA[New comment by mxey in "Yes/No/Cancel causes Aspirin sales to soar (2007)"]]></title><description><![CDATA[
<p>Since 10.7 it autosaves.<p>The Delete button is shown, and correct, for new files that have not been saved at all yet.</p>
]]></description><pubDate>Fri, 21 Aug 2026 19:14:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=49392631</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=49392631</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49392631</guid></item><item><title><![CDATA[New comment by mxey in "Go 1.27 Interactive Tour"]]></title><description><![CDATA[
<p>The drain is asynchronous, so it won’t block. 
The limit is 256 KB and 50 ms.</p>
]]></description><pubDate>Sun, 02 Aug 2026 10:35:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49143110</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=49143110</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49143110</guid></item><item><title><![CDATA[New comment by mxey in "SQLite is all you need for durable workflows"]]></title><description><![CDATA[
<p>At which point there’s little difference from any other database’s backup commands.</p>
]]></description><pubDate>Sat, 30 May 2026 11:10:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48334968</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=48334968</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48334968</guid></item><item><title><![CDATA[New comment by mxey in "SQLite is all you need for durable workflows"]]></title><description><![CDATA[
<p>I think the SQLite website itself says it best:<p>> SQLite does not compete with client/server databases. SQLite competes with fopen().</p>
]]></description><pubDate>Sat, 30 May 2026 10:34:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48334738</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=48334738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48334738</guid></item><item><title><![CDATA[New comment by mxey in "SQLite is all you need for durable workflows"]]></title><description><![CDATA[
<p>The Compose file is written like that so you can quickly try the app without setting up extra dependencies. Usually not for production use.<p>Especially since in production you might want to scale the parts separately. I like to have a Postgres cluster to connect where backup is already handled, and the app then doesn’t have any persistent data, doesn’t need any network volume mounts.</p>
]]></description><pubDate>Sat, 30 May 2026 10:23:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48334656</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=48334656</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48334656</guid></item><item><title><![CDATA[New comment by mxey in "SQLite is all you need for durable workflows"]]></title><description><![CDATA[
<p>Yes if you run a database server like an embedded application database, then it won’t be very different from an embedded application database.</p>
]]></description><pubDate>Sat, 30 May 2026 10:21:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48334651</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=48334651</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48334651</guid></item><item><title><![CDATA[New comment by mxey in "SQLite is all you need for durable workflows"]]></title><description><![CDATA[
<p>SQLite in WAL mode which you want for server apps is multiple files.<p>Files which you cannot just copy while your application is running if you want a correct backup.</p>
]]></description><pubDate>Sat, 30 May 2026 10:13:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48334616</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=48334616</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48334616</guid></item><item><title><![CDATA[New comment by mxey in "SQLite is all you need for durable workflows"]]></title><description><![CDATA[
<p>Huge?</p>
]]></description><pubDate>Fri, 29 May 2026 21:35:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48329625</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=48329625</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48329625</guid></item><item><title><![CDATA[New comment by mxey in "Migrating from Go to Rust"]]></title><description><![CDATA[
<p>Yes, initially modules used to modify the file automatically which is why I have -mod=readonly in some old pipelines.<p>I think the “new” way is much better.<p>I still run tidy in pipelines to check but that’s only for cleanup.</p>
]]></description><pubDate>Tue, 26 May 2026 08:35:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48276854</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=48276854</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48276854</guid></item><item><title><![CDATA[New comment by mxey in "Migrating from Go to Rust"]]></title><description><![CDATA[
<p>> It only syncs go.mod with what is already being used by the build process<p>If dependencies are incomplete, Go will fail to compile and tell you to run go mod tidy to fix it.</p>
]]></description><pubDate>Mon, 25 May 2026 22:15:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48272576</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=48272576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48272576</guid></item><item><title><![CDATA[New comment by mxey in "Migrating from Go to Rust"]]></title><description><![CDATA[
<p>Pinning to me means there is a file with all the versions as they will be used. I don’t see how “go mod tidy” modifying it is different from “bundle install” modifying it.</p>
]]></description><pubDate>Mon, 25 May 2026 22:13:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48272564</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=48272564</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48272564</guid></item><item><title><![CDATA[New comment by mxey in "Migrating from Go to Rust"]]></title><description><![CDATA[
<p>> You literally cannot dereference an Option without acknowledging the None case. Whole categories of pager-duty incidents disappear.<p>This is at the very least misleading, given that you can use unwrap.<p>Regarding error handling: will a parser error in the config return an error that includes the name of the file that’s failed to parse? That’s the kind of useful context that I add to errors in Go.</p>
]]></description><pubDate>Mon, 25 May 2026 15:12:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48267831</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=48267831</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48267831</guid></item><item><title><![CDATA[New comment by mxey in "Migrating from Go to Rust"]]></title><description><![CDATA[
<p>Actually with Go modules you are always pinning dependencies. What’s in your go.mod is what is used. If your go.mod needs to be updated because a dependency wants to bring in a newer version of a transient dependency, the go.mod has to be modified (by the go command, not by you)</p>
]]></description><pubDate>Mon, 25 May 2026 15:10:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48267798</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=48267798</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48267798</guid></item><item><title><![CDATA[New comment by mxey in "PyInfra 3.8.0"]]></title><description><![CDATA[
<p>The problem is that it is actually not just Python, branched with “normal if statements”: <a href="https://docs.pyinfra.com/en/3.x/deploy-process.html#checking-operation-changes" rel="nofollow">https://docs.pyinfra.com/en/3.x/deploy-process.html#checking...</a></p>
]]></description><pubDate>Mon, 04 May 2026 16:47:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48011227</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=48011227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48011227</guid></item><item><title><![CDATA[New comment by mxey in "Bugs Rust won't catch"]]></title><description><![CDATA[
<p><a href="https://pkg.go.dev/os#Root" rel="nofollow">https://pkg.go.dev/os#Root</a></p>
]]></description><pubDate>Wed, 29 Apr 2026 18:30:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47952408</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=47952408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47952408</guid></item><item><title><![CDATA[New comment by mxey in "We tasked Opus 4.6 using agent teams to build a C Compiler"]]></title><description><![CDATA[
<p>That’s the opposite of clean-room. The whole point of clean-room design is that you have your software written by people who have not looked into the competing, existing implementation, to prevent any claim of plagiarism.<p>“Typically, a clean-room design is done by having someone examine the system to be reimplemented and having this person write a specification. This specification is then reviewed by a lawyer to ensure that no copyrighted material is included. The specification is then implemented by a team with no connection to the original examiners.”</p>
]]></description><pubDate>Thu, 05 Feb 2026 22:26:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46906286</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=46906286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46906286</guid></item><item><title><![CDATA[New comment by mxey in "Unconventional PostgreSQL Optimizations"]]></title><description><![CDATA[
<p>PostgreSQL shares other caches between processes so they probably could have a global plan cache if they wanted. I wonder why they don’t though.<p>One possible reason is that the planner configuration can be different per connection, so the plans might not transfer</p>
]]></description><pubDate>Wed, 21 Jan 2026 08:35:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46702720</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=46702720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46702720</guid></item><item><title><![CDATA[New comment by mxey in "Unconventional PostgreSQL Optimizations"]]></title><description><![CDATA[
<p>This is very good to know because it means this exclusion constraint workaround is a better approach over using a SQL hash function and a btree if you want to enforce uniqueness on values too long for a btree index.</p>
]]></description><pubDate>Wed, 21 Jan 2026 08:33:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46702702</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=46702702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46702702</guid></item><item><title><![CDATA[New comment by mxey in "Cue Does It All, but Can It Literate?"]]></title><description><![CDATA[
<p>No, that’s why I said deploy. All it does is run kubectl apply and kubectl rollout status.<p>Only those are directly tied to the data in CUE. there’s not much advantage to running other commands with it. You can run arbitrary processes with cue cmd though.</p>
]]></description><pubDate>Sat, 17 Jan 2026 11:19:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=46657142</link><dc:creator>mxey</dc:creator><comments>https://news.ycombinator.com/item?id=46657142</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46657142</guid></item></channel></rss>