<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: m104</title><link>https://news.ycombinator.com/user?id=m104</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 26 Apr 2026 10:18:03 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=m104" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by m104 in "Why Japan has such good railways"]]></title><description><![CDATA[
<p>Alright whippersnappers, let's chat about the history of railroads in the US.<p>In the early 20th century, US rail companies were beholding a very favorable situation: high demand to run loads of heavy freight all over the country, high demand to ferry passengers all over the country, and basically no serious competitors to either revenue source.<p>Now freight revenue was never going to be transformative to the industry, but it had the benefits of being reliable, un-fussy, and fairly easy to build a financial business around. Passengers, on the other hand, offered huge revenue potential, but had the downsides of being very fussy about things like safety and comfort and timeliness, along with wanting stations in convenient places and an ever-expanding rail network.<p>Students of US business management history should be unsurprised, then, that while evaluating the market that offered reliable revenue, versus the market that wanted large capital investments, the railroads overwhelmingly chose the freight market. In other words, US the railroad companies spoke and said <i>we do not want passengers</i> loudly and clearly.<p>The thinking was: passengers can do take the wagons and busses and cars and these newfangled airplane thingies, but freight is a guaranteed market for us! So the passengers slowly migrated to other form of transportation. But the kicker was, freight <i>also</i> wanted things like timeliness and access to an expanding transport network and, shockingly for the railroad execs, <i>were willing to pay for it</i>.<p>Add about 80 years, declining rail traffic, and tons of corporate mergers, and we have the sad state of US railways today: many residents have never seen a railway expansion or shiny new rail equipment, much less a real functioning passenger train. It's easy and comfortable to say that zoning or regulations or market forces allowed US rail to languish, but that would be ignoring the part where the industry did not want the customers in the first place.</p>
]]></description><pubDate>Sat, 18 Apr 2026 17:18:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47817618</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=47817618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47817618</guid></item><item><title><![CDATA[New comment by m104 in "After the Bubble"]]></title><description><![CDATA[
<p>To your first point, yes we're moving slowly towards a more general awareness that most employees are paid market (replacement) rate, not their share of value generated. As the replacement rate drops, so will wages, even if the generated value skyrockets. Unsurprisingly, business owners and upper management love this.<p>To the second point, the race to the bottom won't be evenly distributed across all markets or market segments. A lot of AI-economy predictions focus on the idea that nothing else will change or be affected by second and third order dynamics, which is never the case with large disruptions. When something that was rare becomes common, something else that was common becomes rare.</p>
]]></description><pubDate>Tue, 09 Dec 2025 19:15:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46209233</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=46209233</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46209233</guid></item><item><title><![CDATA[New comment by m104 in "A CT scanner reveals surprises inside the 386 processor's ceramic package"]]></title><description><![CDATA[
<p>The anecdote about the 16-pin religion and the reluctance to use more pins is so good. It's often assumed that (later) successful companies were always making fantastic decisions in the earlier days, when in reality there were a few bizarre and harmful assumptions that were holding it back and needed to be forced out in order for rationality to prevail.</p>
]]></description><pubDate>Sun, 10 Aug 2025 16:09:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=44856129</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=44856129</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44856129</guid></item><item><title><![CDATA[New comment by m104 in "How we decreased GitLab repo backup times from 48 hours to 41 minutes"]]></title><description><![CDATA[
<p>It's the "impact" style of technical write-ups: sell the problem and the scale, then present the solution, which is thus presented and understood through the lens of business and customer success.<p>Generously, this writing style is supposed to show the business value of teams and individuals, for promotions or other recognition. But yeah, it can be frustrating to read this style.</p>
]]></description><pubDate>Sat, 07 Jun 2025 19:44:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=44212091</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=44212091</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44212091</guid></item><item><title><![CDATA[New comment by m104 in "The Startup CTO's Handbook"]]></title><description><![CDATA[
<p>Oh lordy, the "two crews" bifurcation fully written down. What a fantastic way to ship until it becomes far too expensive to ship anything good.<p>Look, when we break the feedback loop back to the people who wrote the software in the first place, they get happier for a bit, you make some other people sadder for a bit, and then slowly your feature crew never want to be interrupted or bothered again and your customer crew can't get enough resources to fully fix anything.<p>Worse, your feature crews aren't learning anything beyond how to get those lines out the door, which will somehow get slower and more expensive as time goes on. Why? Because you removed the <i>one fitness function</i> on good software development which is to fully re-incorporate the negative feedback back into the source of development.<p>A real CTO leadership handbook would say clearly "it's your responsibility to help your developers improve, especially while shipping, and they're not always going to be happy about it."</p>
]]></description><pubDate>Wed, 12 Mar 2025 04:32:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=43339972</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=43339972</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43339972</guid></item><item><title><![CDATA[New comment by m104 in "Layoffs Don't Work"]]></title><description><![CDATA[
<p>Because a lot of tech workers today aren't actually job hopping and instead get very cozy in a job and a team and a career trajectory, which feels unfairly ripped away during layoffs for reasons that don't feel connected to their personal performance.</p>
]]></description><pubDate>Sun, 09 Mar 2025 18:42:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43312263</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=43312263</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43312263</guid></item><item><title><![CDATA[New comment by m104 in "Beekeepers halt honey awards over fraud in global supply chain"]]></title><description><![CDATA[
<p>Only solution: sting operation</p>
]]></description><pubDate>Sat, 07 Dec 2024 18:52:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=42351864</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=42351864</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42351864</guid></item><item><title><![CDATA[New comment by m104 in "Visualizing algorithms for rate limiting"]]></title><description><![CDATA[
<p>Answered above!</p>
]]></description><pubDate>Mon, 20 May 2024 11:40:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=40414397</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=40414397</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40414397</guid></item><item><title><![CDATA[New comment by m104 in "Visualizing algorithms for rate limiting"]]></title><description><![CDATA[
<p>I often see rate limits framed as a way to protect system capacity, but not enough follow-through with understanding why, even with appropriate rate limits, systems can fall over and require manual intervention to restore.<p>The easiest way to explain this is with a simple sequence of events: the database has a temporary issue, system capacity drops, clients start timing out or getting errors, load amplification kicks in with retries and request queueing, load is now higher than normal while capacity is lower than normal, devs work hard to get the database back in order, database looks restored but now the system has 3x the load it did before the incident, other heroic efforts are needed to shed load and/or upscale capacity, whew it's all working again! In the post-mortem there are lots of questions about why rate-limiting didn't protect the system. Unfortunately, the rate limit values required to restore the saturated system are far too low for normal usage, and the values needed for normal operation are too high to prevent the system from getting saturated.<p>Fundamentally, there's really no way for a rate limiting (which only understands incoming load) to balance the equation load <= capacity. For that, we need a <i>back-pressure</i> mechanism like circuit breaking, concurrency limiting, or adaptive request queueing. Fortunately, rate limiting and back-pressure work well together and don't have to know about each other.</p>
]]></description><pubDate>Mon, 20 May 2024 11:38:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=40414385</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=40414385</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40414385</guid></item><item><title><![CDATA[New comment by m104 in "Visualizing algorithms for rate limiting"]]></title><description><![CDATA[
<p>A few of extra considerations picked up over many years of hard lessons:<p>1. Rate limits don't really protect against backend capacity issues, especially if they are statically configured. Consider rate limits to be "policy" limits, meaning the policy of usage will be enforced, rather than protection against overuse of limited backend resources.<p>2. If the goal is to protect against bad traffic, consider additional steps besides simple rate limits. It may make sense to perform some sort of traffic prioritization based on authentication status, user/session priority, customer priority, etc. This comes in handy if you have a bad actor!<p>3. Be prepared for what to communicate or what action(s) to perform if and when the rate limits are hit, particularly from valuable customers or internal teams. Rate limits that will be lifted when someone complains might as well be advisory-only and not actually return a 429.<p>4. If you need to protect against concertina effects (all fixed windows, or many sliding windows expiring at the same time), add a deterministic offset to each user/session window so that no large group of rate limits can expire at the same time.<p>Hope that helps someone!</p>
]]></description><pubDate>Fri, 17 May 2024 01:11:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=40385306</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=40385306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40385306</guid></item><item><title><![CDATA[New comment by m104 in "Fine-grained caching strategies of dynamic queries"]]></title><description><![CDATA[
<p>One aspect of this type of problem I missed from the article is whether the data mutations were applied evenly across transaction time. Data sets like these tend to be very active for recent transactions, while the updates fall off quickly as the data ages. If that's the case, applying a single query caching solution may not be a good fit and may always suffer from major tuning/balance issues.<p>If the data is in fact updated with clear hot/warm/cold sets, caching the cold sets should be extremely effective, the warm set moderately effective, and it may not even be worth caching the hot set at all, given the complexity proposed. Additionally, you should be able to offload the cold sets to persistent blob storage, away from your main database, and bulk load them as needed.<p>Finally, it can be faster and simpler to keep track of deltas to cold sets (late mutations that happen to "invalidate" the previously immutable data), by simply storing those updates in a separate table, loading the cold set data, and applying the delta corrections in code as an overlay when queried. Cron jobs can read those deltas, and fold them back into the cold set aggregations, making clean validated cold set data again.<p>Great article, BTW! There are entire database technologies and product dedicated to addressing these use cases, particularly as the data sets grow very large.</p>
]]></description><pubDate>Thu, 21 Sep 2023 08:18:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=37594703</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=37594703</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37594703</guid></item><item><title><![CDATA[New comment by m104 in "Ask HN: How do you organize life with your partner?"]]></title><description><![CDATA[
<p>Notion has been a solid A- for shared to-dos, bookmark lists, recipes, trip planning details, etc, which covers most of our shared lives. The main issue with Notion is that mobile syncing can be very slow when we're out in the world, so using it to distribute a shopping list while we're at a grocery store, for example, has been unreliable.<p>For actual scheduled events, we just share our personal Google calendars with each other and invite each other to mutual events. No issues there.<p>The largest technical issue currently is just organizing personal media in a reasonable way. We're in the in Apple ecosystem so shared albums have generally worked for photos and videos, but it's clunky at best and doesn't cover other media or documents.</p>
]]></description><pubDate>Sun, 20 Feb 2022 18:37:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=30408077</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=30408077</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30408077</guid></item><item><title><![CDATA[New comment by m104 in "Deming's Red Bead Experiment (2002)"]]></title><description><![CDATA[
<p>I recommend Russell Ackoff's writings as somewhat related and more to do with how systems of people and processes work (or don't). Here's a great place to start: <a href="https://thesystemsthinker.com/a-lifetime-of-systems-thinking/" rel="nofollow">https://thesystemsthinker.com/a-lifetime-of-systems-thinking...</a></p>
]]></description><pubDate>Fri, 04 Feb 2022 20:52:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=30213017</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=30213017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30213017</guid></item><item><title><![CDATA[New comment by m104 in "Blue light may not be as disruptive to sleep patterns as thought: mouse study"]]></title><description><![CDATA[
<p>They only tested on mice. Mice are nocturnal.</p>
]]></description><pubDate>Mon, 30 Dec 2019 19:44:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=21916049</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=21916049</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21916049</guid></item><item><title><![CDATA[New comment by m104 in "Why Standing Desks Are Overrated"]]></title><description><![CDATA[
<p>Data helps corporate management avoid personal responsibility, so it's not just "As a leader, I think..." but rather "Look at what the data is telling us to do." Yeah, it sucks.</p>
]]></description><pubDate>Mon, 19 Nov 2018 18:21:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=18488426</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=18488426</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18488426</guid></item><item><title><![CDATA[New comment by m104 in "How to Keep Your Job as Your Company Grows"]]></title><description><![CDATA[
<p>Most valuable and uncomfortable part of this article:<p><pre><code>  What I wish I knew was that if you’re an early company employee, it’s not
  likely that the skills you have on day one are the skills needed as the
  company scales to the next level. This sentence is worth reading multiple
  times as no one – not the person who hired you, the VC’s or your peers -is
  going to tell you when you’re hired that the company will likely outgrow you.

</code></pre>
Pure gold from a career-building perspective.</p>
]]></description><pubDate>Wed, 14 Nov 2018 01:25:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=18446584</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=18446584</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18446584</guid></item><item><title><![CDATA[New comment by m104 in "I know why rejection emails suck – I write them"]]></title><description><![CDATA[
<p>Precisely. Often times a rejection isn't saying that the candidate didn't meet the job requirements or wouldn't do well in the position, it says that the employer found someone who fit the role even better or knew that they could given past hiring experience.</p>
]]></description><pubDate>Mon, 27 Aug 2018 19:44:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=17853867</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=17853867</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17853867</guid></item><item><title><![CDATA[New comment by m104 in "See the full picture before bashing Elon Musk"]]></title><description><![CDATA[
<p><i>Naturally, Musk lost it.</i><p>No, it's not natural for a grown-ass adult to lose it. Many people can face loss, disappointment, or criticism without losing it. Elon doesn't need to lose it and neither Tesla, Space X, The Boring Company, nor the Thai cave rescue effort were aided in any way by Elon's self-centered histrionics.<p>We don't need to pretend that his drive to be a visionary entrepreneur also requires him to lash out when he feels personally wounded, nor should we support attempts to rationalize this behavior.<p>Imagine how much more effective Elon would be in his professional life if he had a bit more self-control.</p>
]]></description><pubDate>Sun, 22 Jul 2018 03:01:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=17585074</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=17585074</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17585074</guid></item><item><title><![CDATA[New comment by m104 in "Are Google employees more productive because of company perks?"]]></title><description><![CDATA[
<p>I'm guessing that, even if it wasn't more productive, the perks help keep Google employees at Google and not, say, at a competitor.</p>
]]></description><pubDate>Mon, 16 Jul 2018 23:15:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=17545984</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=17545984</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17545984</guid></item><item><title><![CDATA[New comment by m104 in "Why programmers are not paid in proportion to their productivity (2009)"]]></title><description><![CDATA[
<p>I'll second that sentiment.<p>The largest source of your tech debt may in fact be that brilliant one writing volumes of code destined to become the collective headache of future dev teams.</p>
]]></description><pubDate>Fri, 20 Apr 2018 23:51:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=16889214</link><dc:creator>m104</dc:creator><comments>https://news.ycombinator.com/item?id=16889214</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16889214</guid></item></channel></rss>