I love the implication that thousands of people, from a broad spectrum, who all had the same negative experiences with what was obviously a serious endemic problem with the site, all just needed to understand the policy better. That was clearly the issue.
As much as I hate the veneration of Steve Jobs, this is one thing he was good at. Does anyone seriously think the iPod and iPhone would have ended up the way they were if he was putting half-assed music players with bare wires in the hands of users and going "do you like it? Is it OK? Would you buy this? What do you think? Is it too much? It's too much, isn't it? Should it be white? Is white OK? Do you like white? I noticed you didn't push the button. Do you like buttons?". Hell no. He took the prototype and said "Too clunky. Too big. I need to be able to lick it. It needs to feel better in my hand. Try again"
Yet not only do software developers do the timid design-by-focus-group all the time, they confidently tell you you're doing it wrong if you don't do it this way.
You just magically found this out when the Mental Health Diagnosis Fairy visited you one night? You spent thousands of dollars for a neuropsych evaluation where the result was 40% reality, 40% chance, and 20% how the evaluator was feeling that day? You self-diagnosed by reading Reddit threads? You somehow magically found the one psychiatrist who is willing to talk about ADHD without immediately assuming you're just trying to score some Ritalin to sell on the street? You got diagnosed by Dr. ChatGPT? What the actual fuck are you talking about? Everybody has ADHD, nobody has ADHD, who fucking knows? It's not possible that you actually know this.
I'm 100% convinced everyone who is like "get help, talk to an expert" has never actually fucking tried, because it's not possible.
Our discipline has swung way too far in this direction. The useful insight of "watch your users use your product -- you will always be surprised about something" has turned into "you cannot possibly have any vision or produce a useful product without constantly probing your users".
A/B testing, design by committee -- it reeks of cowardice and produces garbage. It reminds me of an SNL skit where politicians in a debate were able to see real-time social media responses to their talking points, and they immediately started playing a sort of "hotter/colder" game, changing their politics to try to get the graph to go up.
I promise you it's possible to just have an actual vision yourself. Yes, talking to users will surprise you, and it's important. But the idea that you cannot possibly iterate without shipping code is way, way too extreme.
> you don't like to read? I assumed that people who enjoy software would be into intellectual stimulation but I've learned that this is wrong.
So HN is OK with being extremely condescending toward others as long as it's a general group of others, not a specific HN user? Just imagine this sentence with almost any other activity:
"You don't like to run? I would have assumed that people who enjoy physical activity would be into real exercise, but I guess they're all actually lazy."
"You don't play an instrument? I would have assumed people who like music would be into creativity, but I guess I was wrong and they're all boring and uncreative."
It is the height of arrogance to assume that people who don't enjoy the same things you like are obviously stupid, lazy losers. And yes, that's absolutely what you are doing in your comment. You seriously cannot imagine any other form of intellectual stimulation that they might be into instead?
I am criticizing a common pattern of thought that I observe, including in the post I responded to. "I'm against X in general, but in this case X is warranted" is a very dangerous thought process, and I believe a good way to try to dispel it is to ask "are all the special cases just ones that you understand and affect you personally, and all the 'in general' ones that you don't?". It doesn't need to be 100% accurate to be a good challenge of the thought pattern.
Yes, there are really bad regulations out there. Some of them are well-intended but poorly thought out, but even more are regulatory capture that is enabled by the same "they're all bad anyway" attitude. Let's work on improving regulations. In my experience, the people who are "against regulation in general" are not the ones who are interested in improving the regulatory body as a whole, and in fact work directly against it.
> The entirely unfounded allegation of cronyism ("and the ones where you have friends that work there") is especially absurd
I was not accusing anyone of cronyism. I was saying that people who have friends who work at, say, USGS, probably talk about what they do and understand that they actually serve a useful function. I am challenging those people to consider the fact that perhaps agencies they've barely heard of also serve a useful function, and they would also support the existence of that agency if they had had conversations with people who work there. Cronyism has nothing to do with it, only familiarity, understanding, and a personal connection.
> there are plenty of software developers who offer lifetime purchases. In fact there was a time that subscriptions for software were virtually unheard of.
There's a big difference between software you buy, run on your computer, and don't expect to be constantly updated, vs. an online service that you expect to stay up and serve you new content forever. In the latter case, if a customer drops off after 24 months, that lowers your costs. You can't reasonably charge a user for the number of months they could potentially remain subscribed.
I've taken the stance that garbage is garbage, whether written by a human or an AI. It's not like the internet wasn't chock full of insipid philosophy and astroturfing before LLMs were around. It seems like people are starting to read everything on the internet with a much more critical eye because of LLMs, and I think that might be a good thing. As someone who's always been cynical, I say: welcome everyone! It sucks over here, but it sucked over there too, you just didn't know it.
But yes, this was almost certainly LLM. In real humans, the quality of thought has a stronger correlation with the quality of writing.
You're not in favor of adding regulation, except when it comes to issues you understand and care about. All the oversight and regulation about everything you don't care and/or know about is big bad government overreach. Every government agency is a useless waste of your tax dollars, except the ones you rely on and the ones where you have friends that work there. Do I have that right?
> the best way to get cars off the road is to replace many if not most of their occupants with AI.
I'm so confused by this. Instead of one person driving a car to the store and parking, now the car is driving itself to the store with one person in it, dropping them off, and then either parking, or driving itself around more, back to the house or to a distant parking facility. In crowded cities, the car is just going to drive around the block empty for an hour instead of paying $12 for parking. Single-occupancy vehicles are a big problem now; I don't understand how introducing a bunch of zero-occupancy vehicles are an improvement on that? It seems very obvious to me self-driving cars are going to significantly increase the total number of miles driven every day in the world.
What a hellscape we've created for ourselves. My job is to get out of the way of an AI agent? People were writing bad code before, but at least they were looking at it. It is very difficult to judge whether the code AI spits out is correct or not. My job is to write correct code, and I'm not at all convinced that's easier with an AI. It's a lot easier to write correct code myself than to catch every subtle bug introduced by an AI. I cannot even imagine how awful it's going to be to try to maintain systems that are written like this in the future. And no, Claude is not going to be able to do it for you.
> They want it their way, despite there being multiple ways to Rome, and will cut off the conversation with orders, not arguments
I don't know about your experiences, but insisting on this point can be a death sentence. I've spent most of my career as "technical lead", carefully building an approach that works for what my team does based on an underlying theory that is very difficult to verbalize. I've found through experience that when I feel like the project is aligned with this theory, the project goes very well, and when it's not, it doesn't. I've considered thousands of small tradeoffs over 15+ years of developing these ideas.
At this point in my career, I've found that trying to explain the rationale behind my decisions is a losing game. It's a careful balance of a thousand factors that I'm constantly weighing and adjusting. If people share my goals and are interested in learning, great! I'll make some time to talk through parts of the theory with them. But it's not always during project time -- sometimes you just have to trust me.
Yes, you thought of six different ways to do it -- I probably also thought of those ways. I'd love to live in a world where we can have a quick conversation about them and then all agree on the path forward, but that's not how it works. In reality, whoever I'm talking to goes into "argument mode", focuses on irrelevant details, argues about the names of things instead of their substance, takes things personally, feels ownership of whichever idea they came up with first, etc. They say they just want to learn, then they expect me to transmit 15+ years of thinking into their brains in a short conversation, while they argue with me on every little point.
There are a thousand ways to do anything, which means it's critically important to reject most ideas immediately. That often means hurt feelings. It's just better to have the person with the vision making the decision. If you don't want to go with my vision, my theory, that's fine: go with someone else's. One other person's vision, and then don't argue with that person either.
Of course there is room for discussion, feedback, learning, and debate, but this may be better done "off cycle".
A good abstraction? As in one? I'd go so far as to say the process of discovering and refining abstractions is the most important part of software engineering. A large project has dozens of abstractions, and some of them are "wrong" at any time, as you discover over time. None are ever perfect. If you wait to stop duplicating code until you have the "right" abstraction, you are just putting off the hard part of developing software and taking on tech debt.
Half of your abstractions are wrong. The hard part is knowing which half.