Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Colin is wildly competent, but I was always uncomfortable with how much he was willing to do his own work without review. He is probably one of the best people in the world to do this work, but even the best person in the world will occasionally make mistakes, as happened here.

Generalist devs shouldn't build crypto. Expert devs shouldn't build crypto without review.

As for academics... a lot of us aren't as hopeless as some of the trash that appears in conferences and journals might appear. :)



> Expert devs shouldn't build crypto without review.

I was surprised that Colin's solution is to personally re-review his code. Good writers know--don't rely on yourself for proofreading. Usually the mental lapse that caused the problem will manifest itself during your review as well.

Disclaimer: I am not a tarsnap user.


In my experience, I'm very good at proofreading my own writing/code, as long as I wait long enough that I've forgotten it. In this case, I was looking at code which I wrote over a year ago.

But please, go ahead and give the code another read. :-)


I sense a great justification for an alcohol budget.

Edit: Totally willing to continue burning karma on this comment if the HN community continues to decide vote it down. I've tried reviewing my own code in a different state of intoxication than when I wrote it and I'm not joking that it can help. I'm still trying to pull resources together for a study on the benefit of different mindframes for peer review. We haven't tried alcohol yet, but frankly it wouldn't be a half bad idea if we could get anyone not to laugh too loudly at the proposal.


Herodotus:

"they are wont to deliberate when drinking hard about the most important of their affairs, and whatsoever conclusion has pleased them in their deliberation, this on the next day, when they are sober, the master of the house in which they happen to be when they deliberate lays before them for discussion: and if it pleases them when they are sober also, they adopt it, but if it does not please them, they let it go: and that on which they have had the first deliberation when they are sober, they consider again when they are drinking."

http://www.gutenberg.org/cache/epub/2707/pg2707.txt

I also agree with you in general, that checking things in different mental states is a good practice. With alcohol, I suspect the benefit is outweighed by the difficulty of spotting bugs when drunk -- but who knows?


Well, I am actually a bit more curious about the difference between coding drunk and checking sober vs. coding sober, checking sober... But I suppose checking drunk would be amusing too.


Not only code review, but also useful for UI design. Drink 12 beers and then try to use the app you just designed :)


Cute idea, but I don't drink (for medical reasons).

I suppose I could try reviewing code in both caffeinated and decaffeinated states, but being decaffeinated gives me enough of a headache that I don't think I'd be much use that way.


There's some sort of analogy in here about how alcohol 'loosens you up' could be related to getting in the proper state of mind to 'code fearlessly,' but I can't seem to find it.


It was referenced in http://xkcd.com/323/ but I can't find a proper reference either.


How do you assess your effectiveness at proofreading your own code?

I know that I find more mistakes in my code when time reveals the code as it is rather than as it was intended. But I can't say this makes me good enough at proofreading myself. What about the code I've conceived and written in ignorance?


How do you assess your effectiveness at proofreading your own code?

You count how many bugs you find, then you count how many bugs other reviewers find.




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

Search: