Hacker News new | past | comments | ask | show | jobs | submit login

That is a nice writeup. One of the interesting things for me was to see which topics you decided to cover and which to omit. For instance, I noted `clone --reference --recurse-submodules` as a potential topic of interest, but I am afraid to point anybody to the `--reference` option due to its hidden dangers.

I'm also curious how you came up with 19,290 for a birthday paradox on a 7-hex hash. I think it's 16,384, but probability can sometimes be tricky. :)




Thanks Peff, congrats on the great release!

I came up with 19,290 using the generalized birthday formula[0] (actually after double-checking it's slightly closer to 19,291).

16,384 is the value you get using the square approximation method[1] which I believe is a bit less accurate in terms of probability, but faster to calculate. I think Git's using square approximation under the hood -- which is probably a good thing since I think it'll always yield a more conservative result.

[0]: https://en.wikipedia.org/wiki/Birthday_problem#Cast_as_a_col...

[1]: https://en.wikipedia.org/wiki/Birthday_problem#Square_approx...


Right, I am so used to the square approximation being used for hash collisions that I forgot it was an approximation. Thanks for setting me straight.




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

Search: