<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: __jem</title><link>https://news.ycombinator.com/user?id=__jem</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 29 Jul 2026 21:27:57 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=__jem" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by __jem in "Maersk ship hit by missile in the Red Sea"]]></title><description><![CDATA[
<p>Right, because endless US involvement in ground wars in the middle east has always been firmly on the side of "concrete facts."</p>
]]></description><pubDate>Sun, 31 Dec 2023 03:47:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=38821569</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=38821569</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38821569</guid></item><item><title><![CDATA[New comment by __jem in "Tracking developer build times to decide if the M3 MacBook is worth upgrading"]]></title><description><![CDATA[
<p>Isn't the point of a dev environment precisely that the intern can drop tables? Idk, I've never had a shared database not turn to mush over a long enough period, and think investing the effort to build data scripts to rebuild dev dbs from scratch has always been the right call.</p>
]]></description><pubDate>Sat, 30 Dec 2023 00:36:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=38811829</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=38811829</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38811829</guid></item><item><title><![CDATA[New comment by __jem in "Fish – Update on the Rust port"]]></title><description><![CDATA[
<p>That's why OsString exists.</p>
]]></description><pubDate>Sun, 26 Nov 2023 22:01:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=38425463</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=38425463</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38425463</guid></item><item><title><![CDATA[New comment by __jem in "OpenAI's board has fired Sam Altman"]]></title><description><![CDATA[
<p>You know, minus sexually abusing his sister.</p>
]]></description><pubDate>Fri, 17 Nov 2023 21:10:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=38310381</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=38310381</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38310381</guid></item><item><title><![CDATA[New comment by __jem in "Preview of CLion Nova, which uses the ReSharper C++/Rider C++ language engine"]]></title><description><![CDATA[
<p>> the return type of MyWidgetFactory() probably isn't.<p>Isn't the return type of a widget factory method obviously Widget? This doesn't seem like a great example. Of course the method name could be <i>wrong</i> and not enforced at the language level like something between angle brackets, but idk.</p>
]]></description><pubDate>Thu, 09 Nov 2023 17:37:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=38208096</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=38208096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38208096</guid></item><item><title><![CDATA[New comment by __jem in "Rules of schema growth (2017)"]]></title><description><![CDATA[
<p>I've worked with some databases that are 20+ years old and have outlived multiple application iterations. There's always going to be cruft in this kind of situation, it just comes with territory of supporting applications with real production users for a long time.</p>
]]></description><pubDate>Tue, 31 Oct 2023 20:50:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=38091187</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=38091187</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38091187</guid></item><item><title><![CDATA[New comment by __jem in "Rules of schema growth (2017)"]]></title><description><![CDATA[
<p>Reclaiming the physical storage of an unused column is often a costly and sometimes impossible operation, which is why many legacy applications end up with the equivalent of my_column_final_final_v2. Database administration requires compromises like this sometimes in the name of uptime and data integrity. Big migrations are always inherently a little risky, and from the view of many DBAs, why even risk it just for a bit of clean up? Your schema shouldn't be totally transparent to your application's business logic anyway, so there are better places to enforce naming hygiene.</p>
]]></description><pubDate>Tue, 31 Oct 2023 20:46:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=38091143</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=38091143</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38091143</guid></item><item><title><![CDATA[New comment by __jem in "Was Rust Worth It?"]]></title><description><![CDATA[
<p>What is the fact that many foundational ecosystem crate contain unsafe code supposed to prove? That's the entire point of the language. That someone writes a really good regex crate once and then the rest of us don't have to write unsafe to use it. It seems like you have a fundamental misunderstanding about the goals and purpose of rust.</p>
]]></description><pubDate>Thu, 26 Oct 2023 06:52:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=38022525</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=38022525</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38022525</guid></item><item><title><![CDATA[New comment by __jem in "Don't use DISTINCT as a "join-fixer""]]></title><description><![CDATA[
<p>yes, it's harmless in this position but it provides no additional benefits to the select 1 idiom and is suggestive of poor query discipline. it's far easier to say just don't ever use select * in queries.</p>
]]></description><pubDate>Sat, 21 Oct 2023 08:40:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=37965134</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=37965134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37965134</guid></item><item><title><![CDATA[New comment by __jem in "Don't use DISTINCT as a "join-fixer""]]></title><description><![CDATA[
<p>you're getting downvoted because it's not really a preference, it's pretty widely known to be bad practice and unhygienic in production queries. select * would get your pr rejected and chewed out by dba at every place i've ever worked at. so you kinda just look like you don't know what you're talking about.</p>
]]></description><pubDate>Sat, 21 Oct 2023 07:29:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=37964832</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=37964832</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37964832</guid></item><item><title><![CDATA[New comment by __jem in "Choose Postgres queue technology"]]></title><description><![CDATA[
<p>I'm not sure this is really an issue with transactionality as a single request can obviously be split up into multiple transactions, but rather that even if you correctly flag the email as pending/errored, you either need to process these manually, or have some other kind of background task that looks for them, at which point why not just process them asynchronously.</p>
]]></description><pubDate>Sun, 24 Sep 2023 23:14:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=37638077</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=37638077</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37638077</guid></item><item><title><![CDATA[New comment by __jem in "Platform that enables Windows driver development in Rust"]]></title><description><![CDATA[
<p>Rust is memory managed, it just doesn't have a garbage collector.</p>
]]></description><pubDate>Sun, 24 Sep 2023 05:43:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=37630437</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=37630437</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37630437</guid></item><item><title><![CDATA[New comment by __jem in "I'm all-in on server-side SQLite (2022)"]]></title><description><![CDATA[
<p>Friction with modern devops practices is a big one.</p>
]]></description><pubDate>Fri, 22 Sep 2023 19:21:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=37616480</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=37616480</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37616480</guid></item><item><title><![CDATA[New comment by __jem in "Currying in Kotlin"]]></title><description><![CDATA[
<p>Passing around functions that have already been partially applied means that downstream users can't incorrectly call or accidentally modify the arguments which have already been applied. Whether this actually results in more safety is unclear, as there are other language features or API design that accomplishes the same thing.</p>
]]></description><pubDate>Sun, 03 Sep 2023 01:30:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=37366951</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=37366951</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37366951</guid></item><item><title><![CDATA[New comment by __jem in "Rust devs push back as Serde project ships precompiled binaries"]]></title><description><![CDATA[
<p>I'm not sure if he's made an official statement about his versioning policy, but if you look at <a href="https://crates.io/users/dtolnay?sort=downloads" rel="nofollow noreferrer">https://crates.io/users/dtolnay?sort=downloads</a>, you can see that most of his crates follow the incremental patch versioning style.</p>
]]></description><pubDate>Sat, 19 Aug 2023 17:22:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=37190974</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=37190974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37190974</guid></item><item><title><![CDATA[New comment by __jem in "Rust devs push back as Serde project ships precompiled binaries"]]></title><description><![CDATA[
<p>Correct, serde does not follow semver.</p>
]]></description><pubDate>Sat, 19 Aug 2023 16:48:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=37190637</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=37190637</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37190637</guid></item><item><title><![CDATA[New comment by __jem in "Rust devs push back as Serde project ships precompiled binaries"]]></title><description><![CDATA[
<p>Well, there is an exit path for those who want to compile from source. If you mean build from source for Cargo users, I believe there's issues with how feature flags interact with transitive dependencies that make this difficult. At least, there's comments on the issue that speak to this. Maybe someone more familiar with Cargo can chime in.</p>
]]></description><pubDate>Sat, 19 Aug 2023 16:30:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=37190448</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=37190448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37190448</guid></item><item><title><![CDATA[New comment by __jem in "Rust devs push back as Serde project ships precompiled binaries"]]></title><description><![CDATA[
<p>> I found the discussion to be mostly very civilized and focused on finding solutions for those affected.<p>I really disagree with this characterization of the discussion. While there's plenty of more or less dispassionate comments focused on finding a solution, there's a greater number of people from the peanut gallery drowning that out with comments that amount to "I don't like this!" at best and questioning the integrity of dtonlay at worst. I feel like this demonstrates some of the worst features of open source software on github, where a bunch of nobodies feel the need to add their totally useless input rather than participating in good faith to find solutions and make the software better. You even see comments like that here, speculating that dtonlay is trying to break cargo and force people to use bazel, which is just an insanely conspiratorial and bad faith speculative interpretation that is obviously untrue and helps no one.</p>
]]></description><pubDate>Sat, 19 Aug 2023 16:19:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=37190315</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=37190315</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37190315</guid></item><item><title><![CDATA[New comment by __jem in "Rust devs push back as Serde project ships precompiled binaries"]]></title><description><![CDATA[
<p>People have complained about the build time of proc macros for ages in the community. This might be a misguided hack, but the response to this is bordering on a witch hunt, particularly when there is a glaring security hole (build.rs) that most people likely use without second thought every single day. I simply do not believe  that most people commenting on this issue are auditing the builds of all their transitive dependencies.</p>
]]></description><pubDate>Sat, 19 Aug 2023 16:11:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=37190219</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=37190219</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37190219</guid></item><item><title><![CDATA[New comment by __jem in "HashiCorp adopts Business Source License"]]></title><description><![CDATA[
<p>Only some of the providers are based on Terraform. I think it would be incorrect to say it's "powered by Terraform."</p>
]]></description><pubDate>Fri, 11 Aug 2023 16:12:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=37090353</link><dc:creator>__jem</dc:creator><comments>https://news.ycombinator.com/item?id=37090353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37090353</guid></item></channel></rss>