<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: jack_squat</title><link>https://news.ycombinator.com/user?id=jack_squat</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 28 Jul 2026 18:20:23 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jack_squat" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jack_squat in "CDC: Unpublished manuscripts mentioning certain topics must be pulled or revised"]]></title><description><![CDATA[
<p>Like most online forums, HN discussions are dominated by people who like to spend all their time online arguing with people. It's the 80:20 principle, or the 90-9-1 principle. Largely these are early-20s, politically ignorant men, with a long tail of socially stunted "greybeards" who have not managed to find greater fulfillment in life than what online discussion forums provide. The technical topics here are frequently recycled and the quality of discussion is not that notable. I'm embarrassed it took me over a decade to reach this conclusion.<p>I don't think the readership of HN leans RW, but the commentary and moderation does, largely due to the fact that RW commentators are quick to flag views they disagree with, in contravention of the stated moderation standards, while "normal people" can't be bothered to engage with this kind of platform, and the moderation team is content to let this dynamic persist. Witness the flagging on this very article as an example.</p>
]]></description><pubDate>Sun, 02 Feb 2025 05:43:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=42906258</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=42906258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42906258</guid></item><item><title><![CDATA[New comment by jack_squat in "California suspends Cruise's autonomous vehicle deployment"]]></title><description><![CDATA[
<p>My prediction is it'll be Cruise in red states and Waymo in blue states. I think they are done in SF but this will endear them in TX.</p>
]]></description><pubDate>Wed, 25 Oct 2023 01:31:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=38008053</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=38008053</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38008053</guid></item><item><title><![CDATA[New comment by jack_squat in "Choose Postgres queue technology"]]></title><description><![CDATA[
<p>I've done the Postgres skip locked thing at least three times and I'm currently doing it, but IMO it is actually more maintenance and overhead, not less -- at least when compared with the queues made available by the major cloud providers. Compared with Pubsub or SQS you need to handle,<p>* Metrics, monitoring, alarming on depth, message age<p>* Autoscaling on your custom metrics<p>* Managing retries, dead lettering, backoff<p>* Managing the DB workload: it's update-heavy and may easily be more intensive than the rest of your app. You may need to repeatedly scale your tiny, startup-scale DB, causing customer disruptions, because of your homemade queue.<p>The arguments for it are either avoidance of lock-in, or the hand-wavy one in this article/many comments: "we're a small startup, we need to minimize complexity, and make things as simple as possible, maintenance will kill us!".<p>Lock-in makes sense (though other queue alternatives should still be considered), but the latter argument gets used to justify all kinds of harebrained, superficially-simple but actually-complicated engineering schemes. I generally put the PG skip locked approach in that bucket, particularly when the alternative on hand is Pubsub or SQS. If it's between a Postgres table and ActiveMQ I might feel more conflicted.</p>
]]></description><pubDate>Mon, 25 Sep 2023 14:05:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=37643993</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=37643993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37643993</guid></item><item><title><![CDATA[New comment by jack_squat in "When should you use the IN instead of the OR operator in Postgres?"]]></title><description><![CDATA[
<p>Typically you try and avoid closing a connection on each request, you hand it back to a connection pool. The underlying session stays open and associated with the connection (if you have your pooler set up right), so subsequent requests still use the cache.<p>I agree with the original commenter about ANY as well: using IN for dynamic lists of parameters makes viewing useful information in e.g pg_stat_statements impossible, though it's possible there's been some recent work around normalizing these.</p>
]]></description><pubDate>Thu, 31 Aug 2023 14:47:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=37337999</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=37337999</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37337999</guid></item><item><title><![CDATA[New comment by jack_squat in "Russian empire aerospace refugees (2021)"]]></title><description><![CDATA[
<p>The author's site is primarily poorly-researched and hyperbolic BS, mostly to provide cover for his political hot takes.<p>Example: <a href="https://scottlocklin.wordpress.com/2021/11/20/us-public-health-problems-which-are-more-serious-than-corona-chan/" rel="nofollow noreferrer">https://scottlocklin.wordpress.com/2021/11/20/us-public-heal...</a></p>
]]></description><pubDate>Wed, 16 Aug 2023 08:30:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=37144258</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=37144258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37144258</guid></item><item><title><![CDATA[New comment by jack_squat in "Bram Moolenaar has died"]]></title><description><![CDATA[
<p>No piece of software has influenced my career and my thinking on design, user interfaces, and software quality as much as VIM. VIM made learning to code as fun as playing a game. Thank you Bram, you changed my life.</p>
]]></description><pubDate>Sat, 05 Aug 2023 22:13:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=37016770</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=37016770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37016770</guid></item><item><title><![CDATA[New comment by jack_squat in "Unnatural Keys – Nature doesn’t come with identifiers"]]></title><description><![CDATA[
<p>When you use a surrogate key, you should still put a unique constraint on an alternate key. Multiple records for the same thing is a fundamental problem in a database.</p>
]]></description><pubDate>Sun, 28 May 2023 15:57:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=36105189</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=36105189</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36105189</guid></item><item><title><![CDATA[New comment by jack_squat in "Unnatural Keys – Nature doesn’t come with identifiers"]]></title><description><![CDATA[
<p>I also tend toward surrogate keys, and would also point out that the overhead concerns frequently weigh in favor of them as well (though not always).<p>If your natural key is bigger than the appropriately sized surrogate key, and it will be referenced across the database in other tables, the overhead of referencing it everywhere (and indexing it in those places -- potentially in much larger tables) can easily outweigh the overhead of the extra bytes on the original table.<p>Additionally, surrogate keys can realize much better performance WRT cache locality.</p>
]]></description><pubDate>Sun, 28 May 2023 15:52:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=36105139</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=36105139</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36105139</guid></item><item><title><![CDATA[New comment by jack_squat in "The many faces of DISTINCT in Postgres (2017)"]]></title><description><![CDATA[
<p>Atomicity doesn't mean "doesn't fail", it means "either fails or succeeds, but does not succeed halfway".<p>There is nothing about what you are describing that is different from the behavior you'd get from a regular insert or update. If two transactions conflict, a rollback will occur. That isn't violating atomicity. In fact, it is the way by which atomicity is guaranteed.<p>The behavior of sequence values getting incremented and not committed, resulting in gaps in the sequence, is a separate matter, not specific to Postgres or to upsert.</p>
]]></description><pubDate>Mon, 22 May 2023 20:05:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=36036035</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=36036035</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36036035</guid></item><item><title><![CDATA[New comment by jack_squat in "The many faces of DISTINCT in Postgres (2017)"]]></title><description><![CDATA[
<p>1NF bans relation-valued attributes, not repetition of attribute value across tuples in a relation. Mainstream SQL databases don't support relation-valued attributes, so any table you make in a relational database is 1NF.<p>You can push back on this a little - for instance maybe you consider an array-valued attribute to be enough like a relation to argue array-valued attributes violate 1NF. But if you do that you must also explain what makes arrays different from strings, since strings are pretty similar to arrays of characters and can be treated the same way in most respects (for instance characters in a string can be addressed by index or split into substrings).</p>
]]></description><pubDate>Mon, 22 May 2023 19:56:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=36035918</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=36035918</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36035918</guid></item><item><title><![CDATA[New comment by jack_squat in "The many faces of DISTINCT in Postgres (2017)"]]></title><description><![CDATA[
<p>From the Postgres docs,<p>ON CONFLICT DO UPDATE guarantees an atomic INSERT or UPDATE outcome; provided there is no independent error, one of those two outcomes is guaranteed, even under high concurrency. This is also known as UPSERT — “UPDATE or INSERT”.<p><a href="https://www.postgresql.org/docs/current/sql-insert.html" rel="nofollow">https://www.postgresql.org/docs/current/sql-insert.html</a><p>What are you referring to?</p>
]]></description><pubDate>Mon, 22 May 2023 15:09:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=36032448</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=36032448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36032448</guid></item><item><title><![CDATA[New comment by jack_squat in "The Prime Video microservices to monolith story"]]></title><description><![CDATA[
<p>Am I alone in feeling there is nothing left to be said on this topic? Correct application design, and balancing that against the constraints of getting a product out the door, the requirements of a particular application, and the resources on hand (skill-sets, developers, infrastructure) does not in my opinion boil down to "microservices vs monolith".<p>Both strategies have tradeoffs, both have produced successes and failures, and choice of approach seems (obviously) too specific to a given context and application for general advice to apply.</p>
]]></description><pubDate>Sun, 07 May 2023 17:29:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=35853632</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=35853632</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35853632</guid></item><item><title><![CDATA[New comment by jack_squat in "Atuin replaces your existing shell history with a SQLite database"]]></title><description><![CDATA[
<p>FTS is not the same as regex.</p>
]]></description><pubDate>Sat, 06 May 2023 16:40:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=35842986</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=35842986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35842986</guid></item><item><title><![CDATA[New comment by jack_squat in "U.S. regulator set to take over First Republic"]]></title><description><![CDATA[
<p>RI has the same approximate population as AK. What people mean when they say land votes, is AK compared to NY. AK has a population of < 1M while NY has a population of > 8 million. Proportionally, Alaskans have > 8x the representation in the senate that New Yorkers have.</p>
]]></description><pubDate>Sat, 29 Apr 2023 08:29:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=35751155</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=35751155</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35751155</guid></item><item><title><![CDATA[New comment by jack_squat in "Ask HN: How did you stop drinking?"]]></title><description><![CDATA[
<p>what the comment describes is actually a central point of the "Easy Way" book mentioned many other places in this thread.</p>
]]></description><pubDate>Tue, 11 Oct 2022 12:17:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=33162437</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=33162437</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33162437</guid></item><item><title><![CDATA[New comment by jack_squat in "Yes, the U.S. economy is likely in recession"]]></title><description><![CDATA[
<p>If something is "likely", I would assume it's more likely than not.</p>
]]></description><pubDate>Wed, 03 Aug 2022 14:20:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=32332043</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=32332043</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32332043</guid></item><item><title><![CDATA[New comment by jack_squat in "Driverless robotaxi fleet paralyzed for hours in San Francisco"]]></title><description><![CDATA[
<p>Regarding trains anyway, a) there have been autonomous trains for decades and the numbers are increasing. b) there are 100x as many professional drivers as train conductors in the US - so it's easy to see why the focus on driving. That's where the money is.</p>
]]></description><pubDate>Fri, 01 Jul 2022 04:24:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=31942344</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=31942344</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31942344</guid></item><item><title><![CDATA[New comment by jack_squat in "Paginating Requests in APIs (2020)"]]></title><description><![CDATA[
<p>IMO if a solution requires users to address data by page, it's a sign that the search functionality is not good enough.<p>In general a user doesn't want to find "page 3", they are looking for a record that has certain characteristics. They shouldn't need to think about pages, just search terms.</p>
]]></description><pubDate>Sat, 28 May 2022 21:34:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=31544079</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=31544079</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31544079</guid></item><item><title><![CDATA[New comment by jack_squat in "Ask HN: If you cut caffeine, how long would you last at your job?"]]></title><description><![CDATA[
<p>I would suggest quitting coffee if you are curious about that. Do it on a Thursday and you will probably be fine by Monday. Try it for a couple weeks and evaluate, most likely your productivity will be unaffected. Your boss won't notice.<p>On the more general question of whether stimulants are necessary for work... my experience is this idea is bizarre and out of line with professional programmers more than a few years out of university (where desperate students take adderall to cram for exams, and thus come into the workforce with that somewhat normalized).<p>Once a few years out you will have so many employment options that the idea of risking your heart health for a programming job will seem asinine... like biking to school without a helmet.</p>
]]></description><pubDate>Mon, 02 May 2022 04:04:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=31231330</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=31231330</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31231330</guid></item><item><title><![CDATA[New comment by jack_squat in "Elon Musk to join Twitter’s board of directors"]]></title><description><![CDATA[
<p>Do you think that's how it works? I have no idea, what's your evidence?<p>California's actions seems pretty consistent with this to me: <a href="https://storage.courtlistener.com/recap/gov.uscourts.cand.319709/gov.uscourts.cand.319709.57.0_1.pdf" rel="nofollow">https://storage.courtlistener.com/recap/gov.uscourts.cand.31...</a></p>
]]></description><pubDate>Tue, 05 Apr 2022 17:03:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=30921642</link><dc:creator>jack_squat</dc:creator><comments>https://news.ycombinator.com/item?id=30921642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30921642</guid></item></channel></rss>