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

I’ve never posted information anywhere off a machine that I control unless I’m comfortable with it being sold or made public.

Reduces anxiety.


That's great if you live like it's still the 90s.

I live like I’m in the 2090s.

Banking is anxiety inducing, but other than that I’m probably better off. I don’t really send anything sensitive.


So the answer is to go back to the 80s and not have social software at all?

I guess I have no sympathy for the addicts, let the social media hyper capitalists consume your FOMO lives, I'll find value elsewhere. It is sad to see how pathetic we are and yet have so much potential.

One issue is other people might still upload information about you, so you'd have to limit your irl interactions as well

It’s really just accepting that data privacy stinks than being a hermit.

Comments are great for developers. I like having as much design in the repo directly. If not in the code, then in a markdown in the repo.

Meanwhile, some colleagues: "Code should have as little comments as possible, the code should explain itself." (conceptually not wholly wrong, but it can only explain HOW not WHY and even then often insufficiently) all while having barebones/empty README.md files more often than not. Fun times.

Comments are great until they diverge from the code. The "no comments, just self-explanatory code" reaction comes from the trauma of having to read hundreds of lines of comments only to discover they have nothing to do with how the code actually works, because over time the code has received updates but the comments haven't. In that case it's better to just have no comments or documentation of any kind--less cognitive overhead. This is a symptom of broken culture, but the breakage is the same kind that has managers salivating over LLM vibeslop. So I totally get where your colleagues might be coming from. Working within the confines of how things actually are it could be totally reasonable.

So don’t do that.

I’m not saying comments are magic or anything. It takes work to keep them in sync with the code.

It’s a useful goal. Not a rule that gets you out in jail if yo fail.

It doesn’t mean you can blindly trust comments. I treat all code, and comments, with skepticism until I can understand and run it.


This is honestly such a bad argument against comments.

I'm gonna note down my reasons for doing things and other information I deem useful, and if some other dipshit 5 years from now when I've moved on comes along and starts changing everything up without keeping the comments up to date that's their problem not mine. There was never anything wrong with my comments, the only thing that's wrong is the dipshit messing things up.

Doesn't matter what I do, the dipshit is going to mess everything up anyway. Those outdated comments will be the least of their worries.


> that's their problem not mine

IME unfortunately that's not actually the case. It very much is your problem, as the architect of the original system, unless you can get yourself transferred to a department far, far away. I've never managed that except by leaving the company.

To be clear, I don't believe it should be this way, but sadly unless you work in an uncommonly well run company it usually is.


I really can't imagine this ever becoming a real problem. Not once have I ever worked in a place where any kind of leadership would ever give a shit about comments nor anything else in the code itself. The lowest level leadership has ever gone is click a button to see if it works.

And if anyone has a problem with comments existing it's trivial to find/replace them out of existence. Literally a one minute job, if you actually think the codebase would be better without them.

This is such a humongous non-issue it's crazy man.


Leadership doesn't need to give a shit about the code to cause the cultural defect that leads to comments not being maintained. All they need to do is set the conditions which prevent code owners from having the agency to reject shoddy work. In my experience this always happens. It can manifest as either:

(1) "flat" organization where everyone owns everything and therefore nobody has the authority to reject a PR

or (2) "rubber stamp" culture where people who reject shoddy work are "not a team player" and therefore performance defective.

So far every company I've worked at has one or both of these symptoms. Working in the confines of those systems, it's not an irrational choice to decide that comments and other forms of documentation aren't worth trying to maintain, and are therefore detrimental.


You may be a bit overconfident about how clear you will be with your comments.

The “dipshit” doesn’t mess everything up for fun. They don’t understand the comments written by the previous “dipshit” and thus are unable to update the comments.


Oh really? I'm overconfident in my ability to write and read simple clear text notes?

Here's what I think. I think you guys heard the "self-documenting code" BS and ate it up, and now you're grasping at straws to defend your cargo cult position, inventing these "problems" to justify it.

If you're looking at some code and there's a comment saying something that doesn't make sense to you, maybe that's a clue that you're missing a puzzle piece and should take a step back maybe talk to some people to make sure you're not messing things up? Maybe, for a non-dipshit, that comment they don't understand could actually be helpful if they put some effort into it?

Also just to be clear I don't think this is a likely occurrence unless someone doesn't know squat about the codebase at all - my comments generally assume very little knowledge. That's their whole purpose - to inform someone (possibly me) coming there without the necessary background knowledge.

It just isn't feasible to include the why of everything in the code itself. And it sure as hell is better to include some info as comments than none at all. Otherwise a bug will often be indistinguishable from a feature.

And I don't think dipshits mess things up for fun. I think they just suck. They're lazy and stupid, as most developers are. If I'm there I can use reviews etc to help them suck less, if I'm not they're free to wreck my codebase with reckless abandon and nothing I do will make any difference. I cannot safeguard my codebase against that so there's no point in trying and the fact that this is your argument should make you stop and reconsider your position because it's far fetched as fuck.


I agree with and appreciate your comment.

I’ll also note that I’ve worked with developers who didn't like git blame because someone might misinterpret the results. I think some people want excuses for poor work, rather than just working as correctly as possible.


And then you find out the dipshit that didn't keep the comments up to date was you all along

It wasn't.

> the code should explain itself.

This is a good goal. You should strive to make the code explain itself. To write code that does not need comments.

You will fail to reach that goal most of the time.

And when you fail to reach that goal, write the dang comments explaining why the code is the way that it is.


But you will also fail to keep the comments and code synchronized, and the comment will at some point no longer describe why the code is doing whatever it does

Which is why you're reviewing changes. I haven't memorized what every line of code does, if it was worth commenting then it was confusing-enough that it needed the comment and so I'll read the comment to make sense of the code being changed. If I don't read the comment that means the comment was too far from the confusing code.

Alternately, you can say the same about informative variable names or informative function names. "If I change the function then the name is no longer accurate". You don't say that because function names and variable names are short and clear and are close to the problem at hand. Do the same with comments.

Which is why the copilot hyper-verbosity is harmful. Comments need to be terse so your eyes don't filter them out as noise.


Yeah, my point has basically nothing to do with AI and is the argument against comment blocks in general. It's bad to store information in two places.

But copilot code review agent is pretty good at catching when code and comments diverge (even in unrelated documentation files).

Actually good naming does plenty to explain the why. And because it’s part of the code it might actually be updated when it stops being true.

How would you use good naming to explain this https://en.wikipedia.org/wiki/Fast_inverse_square_root#Overv...

Or how would you name methods and variables to explain why some payment reconciliation process skips matching for transactions under 0.50 EUR and just auto-approves them, because the external payment processor rounds differently than the internal ledger at sub-euro amounts, creating mismatches that were flooding the finance team's exception queue in 2013, explained more under Jira issue ZXSV-12456 and more details are known by j.doe@myorg.com. The threshold was chosen after analyzing six months of false positives, when it's any higher someone being undercharged doesn't get caught. I don't think autoApproveThreshold = 0.50 or anything like that would get the full context across, even if the rules themselves are all code.

I think surely you can have both! Code should explain itself as often as possible, but when you hit a wall due to some counter-intuitive workarounds being needed, or some business rules or external considerations that you need to keep track of, then comments also make sense. Better than just putting everything in a Jira issue somewhere, given that it often won't be read by you or others and almost certainly will not be read by any AI agents (unless you have an MCP or something, but probably uncommon), or spending hours trying to get the code to explain something it will never explain well. I've had people ask me about things that are covered in the README.md instead of reading it.


You’ve correctly identified that naming isn’t sufficient for all communication. Name the things that stay constant in the code and explain the things that vary with a particular implementation in version control messages. Version control as a medium communicates what context the message was written for, which is far more appropriate than comments.

> Name the things that stay constant in the code and explain the things that vary with a particular implementation in version control messages.

Then the question becomes how often we look in the version control history for the files that we want to touch.

Which of these is more likely:

A) someone digging into the full history of autoApproveThreshold and finding out that they need to contact j.doe@myorg.com or reference ZXSV-12456

B) or them just messing the implementation with changes due to not reviewing the history of every file they touch

If someone is doing a refactor of 20 files, they probably won't review the histories of all of those, especially if the implementation is spread around a bunch of years, doubly so if there are a bunch of "fixes" commit messages in the middle, merge commits and so on. I've seen people missing out on details that are in the commit log many, many times, to the point where I pretty much always reach for comments. Same goes for various AI tools and agents.

Furthermore, if you want to publish a bit of code somewhere (e.g. Teams/Slack channel, or a blog), you'd need to go out of your way to pull in the relevant history as well and then awkwardly copy it in as well, since you won't always be giving other people a Git repo to play around with.

It's not that I don't see your point, it's just that from where I stand with those assumptions a lot of people are using version control as a tool wrong and this approach neither works now, nor will work well for them in the future.

It's more or less the same issue as with docs in some Wiki site or even a separate Markdown file (which is better than nothing, definitely closer than a Wiki, especially if the audience is someone who wants an overview of a particular part of the codebase, or some instructions for processes that don't just concern a few files; but it's still far removed from where any actual code changes would be made, also a downside of ADRs sometimes).


Comments are mostly useful when they explain the why, not the what.

HOW vs WHY is a great destination between design and documentation.

Gonna try and use that throughout my life. Thanks!


This is also a great way to ensure the documentation is up to date. It’s easier to fix the comment while you’re in the code just below it than to remember “ah yes I have to update docs/something.md because I modified src/foo/bar.ts”.

People moving docs out of code are absolutely foolish because no one is going to remember to update it consistently but the agent always updates comments in the line of sight consistently.

Agent is not going to know to look for a file to update unless instructed. Now your file is out of sync. Code comments keeping everything line of sight makes it easy and foolproof.


Useful for letting us know that GP has a limited network and situational awareness.

I always find these “relative to me” claims not very informative on the internet. But it fun when every once in a while you notice the claimer is Bill Joy or Linus Torvalds or someone where the relativeness holds weight.


TOAD was fantastic for Oracle, though. I liked it better than SQL’s stuff.

I can't really speak to 3rd party utilities, I think Management Studio was sufficient to keep most competition from ever starting.

I disagree as I was running clustered sql server 6.5 and 7 in 1998 for hundreds of concurrent users doing millions of reads per hour on NT basically commodity boxes. Replaced it with Oracle for 100x cost and lost performance.

I think even back then you were usually better off with distributed databases running mysql or postgres over Oracle. Although people liked to think a giant Oracle db was better.


For others like me who might be skeptical to hear throughput in any metric other than seconds (and is used to large numbers in hours/days being used to inflate), I think millions per hour is actually quite high for 1998.

Assume that means 5_000_000/hour. 5M/hr => 83k/min => 1400/s. That is impressive for late 90s. I was generous on what "millions per hour" meant, but even if its 2.5M/hr that would be 700/s, which is still quite good.


Those are big numbers especially for non-enterprise DBs in the 90s.

MySQL's big breakthrough(not specifically talking about perf) was innodb in 2010.

Just 15+ years ago Postgres had major issues with concurrency as we think about it today.

And just 10+ years ago a LOT of DB drivers weren't thread safe and had their own issues dealing with concurrency.

So nearly 30 years ago? Fuhgeddaboudit.


What do you mean a distributed database running mysql or postgres? Even today you can't have a distribute db running (real) Postgres, it doesn't do multi-master clustering.

Their video about “one day we’ll do something cool, totally, trust us” was so weird. Just in the philosophy if hype over substance in that it puts them in the group of bullshit companies vs the just do stuff and tell you about it when it’s ready.

Well, maybe.

The challenge is interpreting what is toxic, correctly.

Also, if everyone I know is “toxic” then that’s a good sign that the problem is me and not everyone else.


> The challenge is interpreting what is toxic, correctly.

Correct. It is always case by case review.

> Also, if everyone I know is “toxic” then that’s a good sign that the problem is me and not everyone else.

Why “everyone”? Generalizations like these are the same mistake that Reddit, that you’re calling out, makes.

Also, toxic is relative to your perspective – it’s not a universal merit.


Havent all electronics dropped in price?

Computers are cheaper. Phones are sort of cheaper. Headphones are cheaper.

Game systems cost more.


>Havent all electronics dropped in price?

that does not reflect my reality, for the things i have bought (or considered buying), no.

but i dont have hard data to back that up, so maybe i am wrong about the general case and the price increases are more local or specific to some other variable.


2041: a $30k neural interface that forces a user to watch a 15s ad every 30 minutes replaces previous version.

Every year after: interval decreases by a minute between ads


I bought a 60 inch Spectre tv from walmart and it works great as over the air and receiving video from my appletv.

I just googled “dumb tv” and that brand showed up.


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

Search: