<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: mkleczek</title><link>https://news.ycombinator.com/user?id=mkleczek</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 03 May 2026 03:10:29 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mkleczek" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mkleczek in "I made my own Git"]]></title><description><![CDATA[
<p>Much more principled (and hence less of a foot-gun) way of handling conflicts is making them first class objects in the repository, like <a href="https://pijul.org" rel="nofollow">https://pijul.org</a> does.</p>
]]></description><pubDate>Tue, 27 Jan 2026 14:18:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46780235</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46780235</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46780235</guid></item><item><title><![CDATA[New comment by mkleczek in "Scaling PostgreSQL to power 800M ChatGPT users"]]></title><description><![CDATA[
<p>Shameless plug: <a href="https://github.com/mkleczek/pgwrh" rel="nofollow">https://github.com/mkleczek/pgwrh</a> automates it quite a bit.</p>
]]></description><pubDate>Fri, 23 Jan 2026 16:42:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46734601</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46734601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46734601</guid></item><item><title><![CDATA[New comment by mkleczek in "The recurring dream of replacing developers"]]></title><description><![CDATA[
<p>From my experience the issue really is, unfortunately, that it is impossible to tell if a particular detail is irrelevant until after you have analyzed and answered all of them.<p>In other words, it all looks easy in hindsight only.</p>
]]></description><pubDate>Sun, 18 Jan 2026 06:14:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=46665257</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46665257</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46665257</guid></item><item><title><![CDATA[New comment by mkleczek in "The recurring dream of replacing developers"]]></title><description><![CDATA[
<p>At least in case of the kitchen contractor, you can trust all the electrical equipment, plumbing etc. is going to be connected in such a way that disasters won't happen. And if it is not, at least you can sue the contractor.<p>The problem with LLMs is that it is not only the "irrelevant details" that are hallucinated. It is also "very relevant details" which either make the whole system inconsistent or full of security vulnerabilities.</p>
]]></description><pubDate>Sun, 18 Jan 2026 06:11:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46665242</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46665242</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46665242</guid></item><item><title><![CDATA[New comment by mkleczek in "Trump says Venezuela’s Maduro captured after strikes"]]></title><description><![CDATA[
<p>I am Polish and I was 15 in 1990 when the Berlin Wall fell.<p>Lately I was thinking if it was only me or my fellow Poles remembering 90s as times of freedom and hope.<p>Thanks for confirming it is much wider experience and memory.</p>
]]></description><pubDate>Sat, 03 Jan 2026 18:16:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46479752</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46479752</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46479752</guid></item><item><title><![CDATA[New comment by mkleczek in "Japan joining growing global trend of declining democracy"]]></title><description><![CDATA[
<p>Indeed. The organization changed in the passing years.<p>My worry is that there is more will to just dissolve it instead of working on improving it.</p>
]]></description><pubDate>Sat, 03 Jan 2026 07:09:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46473490</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46473490</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46473490</guid></item><item><title><![CDATA[New comment by mkleczek in "Japan joining growing global trend of declining democracy"]]></title><description><![CDATA[
<p>This.<p>It looks like it goes in cycles: after major catastrophic event subsequent generations that don't remember the catastrophe are willing to engage in another one (I think of WWI and WWII as one event). If the memory was stronger there would be more pressure to find other means of resolving issues.<p>Eg. as a "half boomer" European I remember well why EU was created. It looks like the reasons have been largely forgotten now.</p>
]]></description><pubDate>Sat, 03 Jan 2026 06:39:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46473362</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46473362</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46473362</guid></item><item><title><![CDATA[New comment by mkleczek in "BYD Sells 4.6M Vehicles in 2025, Meets Revised Sales Goal"]]></title><description><![CDATA[
<p>> The economic interest is the US ability to as rapidly as possible convert those shipyards to military shipyards during a large scale prolonged war.<p>Nah, that doesn't add up. US needs _ships_ and SOTA military equipment to make sure that any military conflict is as short as possible (ie. US wins). Losing money on unused production capability does not make sense because in case of prolonged conflict there is time to build the capability (as it happened during WWII).<p>In reality, what you call "prolonged military conflict", is nothing more than normal international competition. One could even argue US is in prolonged military conflict since WWII.
In which case making rational decisions based on hard economic criteria (ie. not losing money) is the key to success.</p>
]]></description><pubDate>Sat, 03 Jan 2026 06:28:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46473327</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46473327</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46473327</guid></item><item><title><![CDATA[New comment by mkleczek in "BYD Sells 4.6M Vehicles in 2025, Meets Revised Sales Goal"]]></title><description><![CDATA[
<p>> Insofar as the country being conquered and Americans being slaughtered wholesale would be against our economic interests lol
> There are clear national security reasons for the government to prop up shipbuilding and semiconductors.<p>Are you saying countries without shipbuilding facilities or not producing semicondutors are being conquered and their citizens being slaughtered?<p>I'd say that is fear mongering done by the people doing business on "national security".</p>
]]></description><pubDate>Fri, 02 Jan 2026 21:15:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46469448</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46469448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46469448</guid></item><item><title><![CDATA[New comment by mkleczek in "BYD Sells 4.6M Vehicles in 2025, Meets Revised Sales Goal"]]></title><description><![CDATA[
<p>The question is: how do you define "national security" and "other strategic value"? At the end of the day both really mean economic interest. Especially in case of US.<p>So if someone says "national security" is above economic interest of US, I would say these people mean _their_ economic interest is above economic interest of US and use both terms as a cover.</p>
]]></description><pubDate>Fri, 02 Jan 2026 20:31:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46469023</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46469023</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46469023</guid></item><item><title><![CDATA[New comment by mkleczek in "BYD Sells 4.6M Vehicles in 2025, Meets Revised Sales Goal"]]></title><description><![CDATA[
<p>With current military technology it is not really possible, is it? <a href="https://www.youtube.com/watch?v=NdppYYfQJgg" rel="nofollow">https://www.youtube.com/watch?v=NdppYYfQJgg</a> describes it really well.<p>So the question is more about what part of means of defense you outsource. And what parts of means of defense are outsourced by your enemies.<p>You don't want to base your defense on inferior shipbuilding capabilities, do you?</p>
]]></description><pubDate>Fri, 02 Jan 2026 18:58:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=46468099</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46468099</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46468099</guid></item><item><title><![CDATA[New comment by mkleczek in "BYD Sells 4.6M Vehicles in 2025, Meets Revised Sales Goal"]]></title><description><![CDATA[
<p>The theory is that in both cases (ie. with and without tariffs) shipyards are going to die sooner or later. It is better for the society to let them die as soon as possible and direct efforts to things we are better at while taking advantage of cheaper ships produced elsewhere.</p>
]]></description><pubDate>Fri, 02 Jan 2026 17:33:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46467173</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46467173</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46467173</guid></item><item><title><![CDATA[New comment by mkleczek in "The compiler is your best friend"]]></title><description><![CDATA[
<p>This.<p>In-RDBMS computation specified in declarative language with generic, protocol/technology specific adapters handling communication with external systems.<p>Treating RDBMS as a computing platform (and not merely as dumb data storage) makes systems simple and robust.
Model your input as base relations (normalized to 5NF) and output as views.<p>Incremental computing engines such as <a href="https://github.com/feldera/feldera" rel="nofollow">https://github.com/feldera/feldera</a> go even further with base relations not being persistent/stored.</p>
]]></description><pubDate>Thu, 01 Jan 2026 08:16:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46452242</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46452242</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46452242</guid></item><item><title><![CDATA[New comment by mkleczek in "Nicolas Guillou, French ICC judge sanctioned by the US and “debanked”"]]></title><description><![CDATA[
<p><a href="https://news.ycombinator.com/item?id=46432107">https://news.ycombinator.com/item?id=46432107</a><p>I wonder if (when?) elites are going to use and support Bitcoin. Oppressive governments will force citizens - even such powerful as judges - to search for escapes.</p>
]]></description><pubDate>Tue, 30 Dec 2025 11:24:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46432159</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46432159</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46432159</guid></item><item><title><![CDATA[New comment by mkleczek in "HSBC blocks its app due to F-Droid-installed Bitwarden"]]></title><description><![CDATA[
<p>Here on HN I will be downvoted to oblivion but well... let's be it:<p>There is no other way for us mortals than to go back to cash... Or start using Bitcoin. Be your own bank. Vote with your money.</p>
]]></description><pubDate>Tue, 30 Dec 2025 11:19:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46432107</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46432107</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46432107</guid></item><item><title><![CDATA[New comment by mkleczek in "Avoid UUID Version 4 Primary Keys in Postgres"]]></title><description><![CDATA[
<p>> I don’t see how this is true.<p>There is a Bitcoin seller B, a thieve T and a victim V.<p>T proposes to buy Bitcoin from B.
T offers a new iPhone for a very low price to unsuspecting V. V agrees to buy it.
B gives T account details and transaction reference so that T can transfer money to B's account.
T gives these details to V. V transfers the money. B transfers Bitcoin to T. T disappears.<p>If only transaction reference contained information that the transfer is about buying Bitcoin, V would have never paid the money.<p>The scheme was quite common in UK because banks did not like Bitcoin so Bitcoin sellers and buyers avoided referencing it in bank transfers.</p>
]]></description><pubDate>Fri, 19 Dec 2025 05:28:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46322514</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46322514</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46322514</guid></item><item><title><![CDATA[New comment by mkleczek in "Avoid UUID Version 4 Primary Keys in Postgres"]]></title><description><![CDATA[
<p>> * Based on the data they identify<p>> * easy to remember<p>(which means human readable and related to the actual information which makes them easier to remember)<p>These actually are the most important features.<p>Example: transaction references not related to the actual subject of the transaction (ie. what is being paid for) is enabler for MITM scam schemes.<p>> Short is convenient<p>Nah. Short is crucial for identifiers to be effective for computers to handle (memory and CPU efficiency). Otherwise we wouldn't need any identifiers and would just pass raw data around.<p>> * versioned - Versioning is only interesting because you’re trying to derive from real data.<p>Nah. Even UUID formats contain version information.<p>> * easy to index - Sure.<p>> * sortable - Nice to have at best.<p>These are directly related (and in the context of UUIDv4 vs UUIDv7 discussion sortable is not enough - we also want them to be "close" to each other when generating so that they can be indexed efficiently)</p>
]]></description><pubDate>Thu, 18 Dec 2025 21:01:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=46318663</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46318663</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46318663</guid></item><item><title><![CDATA[New comment by mkleczek in "Avoid UUID Version 4 Primary Keys in Postgres"]]></title><description><![CDATA[
<p>> This hacker news article was given a surrogate key, 46272487. From that, you can determine what it links to, the name/date/author of the submission, comments, etc.<p>> Do not encode identifying information in unique identifiers! The entire world of software is built on surrogate keys and they work wonderfully.<p>The amount of manual work required to manage duplicates is in no small part the result of not thinking enough about the identifiers and simply slapping surrogate keys on the data.</p>
]]></description><pubDate>Thu, 18 Dec 2025 09:42:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46310666</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46310666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46310666</guid></item><item><title><![CDATA[New comment by mkleczek in "Avoid UUID Version 4 Primary Keys in Postgres"]]></title><description><![CDATA[
<p>> Your notion that you can avoid sharing internal ids is technically true, but that didn’t mean it’s a good idea. You’re trying force a philosophical viewpoint and disregarding practical concerns, many of which people have already pointed out.<p>What some call "philosophical viewpoint" I call "essential complexity" :)<p>> But to answer your question, yes, your customer will probably have some notion of a transaction id. This is why everyone gives you invoice numbers or order numbers.<p>We are in agreement here: externally visible identifiers are needed for many reasons (mostly technical). The discussion is not about that though but about what information should be included in these identifiers.<p>> This is why everyone gives you invoice numbers or order numbers.<p>And there are good reasons why invoice or order numbers are not randomly generated strings but contain information about the invoices and orders they identify.<p>My claim is that externally visible identifiers should possess a few characteristics:<p>* should be based on the data they identify (not detached from it)<p>* should be easy to remember (and that means they should be as short as possible, they should be easy to construct by a human from the data itself - so they cannot be hashes of data)<p>* should be versioned (ie. they should contain information somehow identifying the actual algorithm used to construct them)<p>* should be easy to index by database engines (that is highly db implementation dependent unfortunately)<p>* can be meaningfully sortable (that is not strictly a requirement but nice to have)<p>Coming up with an identifier having these characteristics is not trivial but is going to pay off in the long run (ie. is essential complexity).</p>
]]></description><pubDate>Thu, 18 Dec 2025 09:22:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46310538</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46310538</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46310538</guid></item><item><title><![CDATA[New comment by mkleczek in "Avoid UUID Version 4 Primary Keys in Postgres"]]></title><description><![CDATA[
<p>I am not sure you are arguing against my claims or not :)<p>I am not arguing against surrogate keys <i>in general</i>. They are obviously very useful _internally_ to introduce a level of indirection. But if they are used _internally_ then it doesn't really matter if they are UUIDs or sequence numbers or whatever - it is just an implementation detail.<p>What I claim is that surrogate keys are problematic as _externally visible_ identifiers.<p>> Okay, then lets do an exercise here. A user gives you a transaction ID, and you have to tell them the date they signed up and the date you first billed them. I think yours is going to be way more complicated.<p>> Mine is just something like:<p>> SELECT user_id FROM transactions WHERE transaction_id=X; SELECT transaction_date FROM transactions WHERE user_id=Y ORDER BY transaction_date ASC LIMIT 1; SELECT signup_date FROM users WHERE user_id=Y;<p>I think you are missing the actual problem I am talking about: where does the user take the transaction ID from? Do you expect the users to remember all transaction IDs your system ever generated for them? How would they know which transaction ID to ask about? Are they expected to keep some metadata that would allow them to identify transaction IDs? But if there is metadata that enables identification of transaction IDs then why not use it instead of transaction ID in the first place?</p>
]]></description><pubDate>Wed, 17 Dec 2025 07:47:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46299293</link><dc:creator>mkleczek</dc:creator><comments>https://news.ycombinator.com/item?id=46299293</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46299293</guid></item></channel></rss>