HN user

HolyHaddock

74 karma
Posts1
Comments46
View on HN

Is it just pedantry? Even in the strongliest of practical strongly typed languages, two functions with the same signatures might fail to return on some inputs in the new version that it didn't in the old.

That's a practical distinction I care about that can't be computed.

Earnestly: Yes. But there may well be programming tasks or jobs that they are suited to, for which no understanding of boolean logic will make no difference on a day to day basis.

Do you have a citation for that first claim? It fits my prejudices so neatly that I'd like to see the proof. I've tried to google a little for it with no success, so my apologies for any imposition.

And frankly, if you can't point to bugs or performance issues, it's likely you don't need to be refactoring in the first place!

I feel this is a lack of clarity around the word refactoring. Improving the code in a way that fixes bugs is "bug fixing", in a way that makes it do its job faster is "optimisation" and in a way that improves the design is "refactoring".

Of course one can do several of them at the same time. And add features, at least in the small.

Refactoring can be a valuable activity for bits of a code base where the cost of change could be usefully reduced. It's useful to have a word that can be used to describe that activity that isn't commonly conflated with bug-fixing or optimisation.

language is designed for communication between humans.

Unlike machines, humans do not always just want to exchange factual information about the world, and often use communication for additional purposes - jockeying for status, claiming membership in groups, and yes, playing games. This can even be quite enjoyable for the humans in question, for example, mutual flirtation.

In this example, one of the bits of information that can conveyed by being a bit more thoughtful about the use of pronouns is where the human in question might fall on a scale between "I am aware that there is pervasive and systematic discrimination against one class of human, and do not wish to take even small part in it." and "I believe all relevant systematic discrimination is in the past."

Not Your Problem 10 years ago

I'm afraid I'm missing the point too. Would you mind finding another way to make it?

If the core point of the essay is to cut the YAGNI and just get something shipped, aren't gamejames like Ludum Dare a great way to do that?

So what is the distinction? I mean that as a genuine question - Vidarh's position seems to be that the death penalty is intentionally taking a life, and shouldn't have a different moral standing to murder.

The response seems to be that that's a bad argument, they don't really believe that there's no distinction, and it would be stupid to believe that.

If I don't see a distinction of moral significance between the death penalty and, say, the CEO of a company deciding to painlessly execute one of their reports that they discover has gotten away with serious embezzling for multiple years, scorn doesn't help me understand the distinction someone else does see.

Yes, code review is an invaluable part of the git history. It explains why you made the decisions you made.

This is interesting - even places I've worked that have cared about commit messages have been pretty happy with the entirely content-free "Fixes from code review."

Do you summarise code review discussions in the commit messages?

That's fine in theory, but it's not a universal heuristic, and even then, different smart well-intentioned people independently applying it won't necessarily come to the same result.

Having conversations about what the system being architected/designed/planned is going to do can be very useful.

There are definitely better techniques than waiting until someone quibbles a field in a lines-and-boxes design session to pull that kind of insight out though. Just sitting around and telling stories about what the user will be able to do, and how they will be able to do it can work wonders.

It's no longer correct that it uses MySQL - it's still not using BigTable, and in fact an RDBMS seems to have been implemented instead. That would appear to still support his rant?

This is a reasonable, common quibble when starting property based testing.

A failing test should be straightforward to turn into a simple checked example - most good libraries have extensive simplification steps that try and boil failing examples down to the minimal example that still causes the test to fail.

But this is only necessary if repeated runs of the property based tests don't reproduce a failure*. For me, they have.

Be Kind 11 years ago

A reasonable question. Perhaps it's not and there's no reason for anyone to take any time to say anything when someone's wrong.

But if they do take that time and say something, then it's not unreasonable to consider the goal. Is it to demonstrate superiority and massage ego? Unkindness works well. If it's to help someone correct a mistake, do better next time or bring their conversational partners thinking closer to theirs on a subject, then kindness is likely to work better.

Personally, I prefer to work with someone who's right and delivers the message in a way they think I and my other colleagues will respond well to, than someone who's right and delivers the message thoughtlessly, or in a way designed to maximise their own pleasure.