Hacker Newsnew | past | comments | ask | show | jobs | submit | regular_trash's commentslogin

Well clearly. But the above comment was about jobs that didn't exist before AI that AI will lead to the creation of.

Tiktok arguably led to more datacenters being created, AI is not unique in this regard and it's silly to imply that datacenter jobs meaningfully contribute to employment on the same scale as the loss of jobs AI could potentially lead to.


Yeah. I didn't mean to imply that. I think it's going accelerate the concentration of wealth.


I think the problem is primarily if you publish a REST api for commercial consumption on some level. If people depend on your REST api, the "RESTfulness" of it affords you some level of inaccuracy when documenting how things work.

But that said, I'm okay with it not following the spec as long as things are clearly documented to end users. We just went through an issue where a prominent CDN provider exposing a REST API we depend on broke REST in a very important way (i.e. NOT stateless). It's extremely annoying to try and construct clients around nonstandard APIs, and the more REST-y, the less annoying.


Well that's a pretty contrived example. There are fair amount of requirements that can be predicted as "possibly coming" in a given problem space, and a good design typically takes them into consideration and plans contingencies such that a design doesn't crumble.


It's extreme to demonstrate the point, but it's not contrived. Realtime deadlines are a completely normal requirement for the systems I work on. I have change reqs on my desk right now that specify a full reboot back to network responsiveness in <=300ms. That definitely changes how the system is designed.


It being extreme is what makes it contrived.

It's also a requirement programmers often overemphasise due to the McNamara fallacy.


Contrived does not mean unrealistic. I have seen many extreme requirements come down on short notice. Over time, the peter priciple guarantees that there will be a middle manager that miscommunicates an agenda they dont fully understand, then push an emergency change down the hierarchy.


No, but programmers fetishize speed. Customers usually value it far, far less than many programmers think.

Ive seen many a programmer gagging to rearchitect to speed up an app 2x or 3x when there are 9 other things a customer genuinely wants first and the programmer refuses to believe it.

Most recently it was on a RAG system where an extra 500ms would surely have been appreciated but the right answer mattered 100x more.


You missed the point of the example. The parent said any design that has to change with a single requirement shift is a bad design. So I gave a requirement that virtually any design would have to change to accommodate. It doesn't preclude the existence of other, more plausible requirements that shift designs. I even provided a real example of one, which you've ignored.


Right, the point is that GP's definition should take the nuance you mention into account (namely, that some types of changes are more likely, and thus more important to handle nicely, than others).


Clearly lol. I think a good-faith interpretation of the question is: "What kinds of things is go's concurrency model suited for where the normal pythonic alternative is cumbersome/less desirable"


It actually is a paradox, a veridical paradox. But I'm splitting hairs lol


This line of thinking necessarily throws out any formal systems of reasoning humans have adopted. E.g. belief in a divine creator gives little reason to believe that Newton's First Law is eternally consistent if an omnipotent being could change the "rules of the physics" at any point.

It's not even a proper argument if you think about it, because you are essentially positing logic/reasoning aren't sufficient to comprehend the reality we live in.


I'm not convinced jobs will be axed in the long-term - All the big tech companies frequently staff teams on projects that basically go nowhere to spread bets on multiple projects in case one has legs. Once LLMs reach the point of commoditization and drop in price, it seems like the natural next step is more teams with smaller structures to spread bets even more. A 5 person team that is LLM-assisted is going to move faster and be more cohesive than an 10 person team that ends up stepping all over each other.


One of the many things that has been strange to me is how often people will label written thoughts as AI slop when the "signs" are just normal phrases. Sure, that's a tired expression, and I 100% agree we should be critical of writing that seems to embolden pointless trite expressions. But people have written in that way for years before LLMs.

I find it very interesting that we only now have more widespread discourse around the quality of prose and rhetoric now that LLMs have become ubiquitous.


Hot take - I hate YAGNI. My personal pet peeve is when someone says YAGNI to a structure in the code they perceive as "more complex than they would have done it".

Sure, don't add hooks for things you don't immediately need. But if you are reasonably sure a feature is going to be required at some point, it doesn't hurt to organize and structure your code in a way that makes those hooks easy to add later on.

Worst case scenario, you are wrong and have to refactor significantly to accommodate some other feature you didn't envision. But odds are you have to do that anyway if you abide by YAGNI as dogma.

The amount of times I've heard YAGNI as reasoning to not modularize code is insane. There needs to be a law that well-intentioned developers will constantly misuse and misunderstand the ideas behind these heuristics in surprising ways.


YAGNI isn't really a law, it's just something you say when you think you ain't gonna need it. You could be wrong, and you actually gonna need it.


It is misused if anything. YAGNI is about functionality. What to add or not. But it has become an excuse for being lazy. Same people that interpreted the line “Working software over comprehensive documentation” as no need for documentation.


YAGNI is usually about modularization, often in response to Java-style OOP obsession. Like you don't need to define some big protocol that's only ever going to have one implementation.


Well this is not the context I had in mind. I'm thinking of the many times I've had to break apart 3kloc react components to reuse some part just because someone decided modularity didn't matter


I mean YAGNI is usually about modularization in general, so yeah a React component would be included in that, it's not limited to just OOP. 3K loc is probably well beyond the point where it should've been split up.


Stuff like this is very common. For example, at the start of Trump's second term, the whitehouse history page was changed to make democrat presidents look bad -

https://www.whitehouse.gov/about-the-white-house/the-white-h...


That link is entirely about the East Wing ballroom expansion. I don't see any criticism of anyone there.


Swipe through the "Major Events Timeline". It would be funny if it wasn't so sad how petty it is.


Good lord, this is so pathetic


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: