8,250 karma · joined November 11, 2012
The OP is arguing that something should work by default without any configuration needed, and you're talking about building a bespoke tool.
This is a a very good and succinct summarization.
What I'm also observing recently also is that pretty much every product tries to expand to do things that completely different products used to do, and become a mega-product-for-everything. It's like a Zawinski's Law on steroids.
What kind of functions it has that can't be replaced by:
- walking a few meters and pushing a physical button
- waiting a whopping minute for coffee to brew, instead of triggering it remotely
https://github.com/martinwoodward
before starting heavy artillery with lawyers.
(Martin also often posts on HN).
- in Poland (from private medical companies used by doctors) with estimated 20M affected people (half of population)
- in France (from tax office), 678k people affected
With AI getting more capable, and with Russia escalating things, I unfortunately expect more to come.
"We're doing things at such a scale that we can't monitor it anymore" became a universal get-out-of-jail card.
All those problems just go away when branches are no longer files on disk.
I enabled it in setup script of one large repo I maintain; the main issue is the incompatibility with some people's personal tooling based on libgit2 (some git status tooling in oh-my-zsh), but people do find workarounds.
If you're not into cloud-based password/2FA syncing, Google Authenticator supports local export/import across devices via a QR code. For passwords, I use KeePass Portable / Keepass2Android + syncing between devices from time to time through a USB-C pendrive (The source of truth KP DB is on pendrive, and both phones work off a local on-device cache).
You don't need to have your phone stolen for things to get messed up. If your screen breaks, you can't type in a PIN anymore, can't unblock with a fingerprint, and you effectively can't access anything on the phone. ADB won't connect because screen is off, and you can't unlock / accept a new external connection etc.
Sometimes people abuse .map as well to do things that are not obvious (i.e. instead of mapping elements of an array to another array, they modify global variables in a for-loop fashion, and discard the result).
But reduce is abused more often and you always need to think really hard if e.g. the initial accumulator is passed or not (it's optional in some languages!), if a correct one is passed (when a compound type is used) and so on.
Also the vendors do not commercialize ADSL anymore since a decade ago or so if fiber is installed in the district.
When you join a new team, don't try to change team tools, processes etc. starting in the very first week.
Most things are the way they are for a reason. Your "obviously better" idea may lack the full context. Start with observing the situation, talking to people to build understanding and historical context, and don't jump to conclusions too early.
Sometimes you'll be right, and things are suboptimal and based on long-outdated assumptions. Then, it's great to change them and improve! Freshman eyes are great for spotting such inefficiencies, and "new blood" is critical to make the team well-functioning and to improve the legacy stuff.
But improving and rewriting everything all the time has a cost. If you do too much of it too quickly, the team loses the understanding of long-stable processes and things. You may become a bottleneck as the "last person who touched this" in too many areas. People also have limited bandwidth to support your "rewrite everything" ideas every day, while trying to move on with their tasks.
Don't hesitate to suggest improvements, but please be mindful about the volume - especially in times of AI where everything can be vibecoded in an hour.
Finally, some "objectively better" things have no business justification. Improving performance of a piece of code than runs once a month? There's probably 10 more important things to do in your backlog.
(From what I was told, the thing in favor of a credit card is that the rental agency can put a hold on the security deposit for much longer than on a debit card: a few weeks vs a few days).
- everyone assumes their program / website is the only thing running at the machine at a given time, and dev machines are always more powerful than user machines
- it's not really lack of advanced data structures and algorithms that result in the bloat most of the time but the fact that programs and websites are delivered by large teams, there are dozens of submodules that are often loaded even when not needed, and doing it properly is hard to architect to without getting into big complexity and gnarly bugs waiting to happen when someone from other team modifies something and does not know full picture. So it's cheaper to just keep things the way they are to reduce complexity of architecture and fragility.
Back in 2000s, there were some popular cheap external keyboards with three extra buttons between the delete/end/pgdown row, and the arrows.
The first of those buttons was "power off" sitting just below "Delete".
Example: https://www.flickr.com/photos/hendry/330827330
It was pure madness because it was guaranteed to push this button by accident on a daily basis.
I can't imagine someone using computers for more than 5 minutes could have designed this.
Fun story: the city of Nowy Sącz (80,000 habitants) has a very high percentage of millionaires compared to other cities. One of the reasons was that as the city is in a mountainous region hence not well communicated, the communist authorities were less strict there and allowed for private businesses to grow. As the communism ended, the region basically had a head-start compared to the rest of the country.
https://www.reddit.com/r/unitedkingdom/comments/ha0rz/britis...
e.g. "very interesting" -> "clearly nonsense"
This usually happens in my non-native languages (but not only), and especially for speakers with accents I'm not used to.
> A small group of officers at HUR, Ukraine’s military intelligence agency, did begin quiet contingency planning in January, prompted by the US warnings and the agency’s own information, one HUR general recalled. Under the guise of a month-long training exercise, they rented several safe houses around Kyiv and took out large supplies of cash. After a month, in mid-February, the war had not yet started, so the “training” was prolonged for another month.
> The army commander-in-chief, Valerii Zaluzhnyi, was frustrated that Zelenskyy did not want to introduce martial law, which would have allowed him to reposition troops and prepare battle plans. “You’re about to fight Mike Tyson and the only fight you’ve had before is a pillow fight with your little brother. It’s a one-in-a-million chance and you need to be prepared,” he said.
> Without official sanction, Zaluzhnyi did what little planning he could. In mid-January, he and his wife moved from their ground-floor apartment into his official quarters inside the general staff compound, for security reasons and so he could work longer hours. In February, another general recalled, table-top exercises were held among the army’s top commanders to plan for various invasion scenarios. These included an attack on Kyiv and even one situation that was worse than what eventually transpired, in which the Russians seized a corridor along Ukraine’s western border to stop supplies coming in from allies. But without sanction from the top, these plans remained on paper only; any big movement of troops would be illegal and hard to disguise.
[0] https://www.theguardian.com/world/ng-interactive/2026/feb/20...
Any time a refactoring comes up which moves code around, AI (or my coworkers) remove those comments without thinking twice, and I need to tell them "hey this is still valid".
In some cases this makes rotation a big event to be avoided because costs are higher than gains.