cheatdeath | 9 years ago | on: Uber faces criminal probe over software used to evade authorities
cheatdeath's comments
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
cheatdeath | 9 years ago | on: China’s tyranny of characters
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
cheatdeath | 9 years ago | on: China’s tyranny of characters
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
Actually organising the write up forced me to tidy up the code much more than I otherwise would have. I definitely find C# to be one of the more readable languages although I have had to debug and untangle some C# messes before.
Yeah I remember changing it to a SortedDictionary but I changed it back. I can't remember exactly why, possibly because it's supposed to be sorted by raw UTF8 bytes rather than a nice neat C# string and I didn't want to start using byte arrays for dictionary keys. I guess it only needs to be sorted when in the BEncoding format and it felt better to keep the internal structure as simple as possible. The tradeoff is it doesn't support incorrectly encoded torrent files – I'm really not sure how much of an issue that is.
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
The executable project has some minor references to Mono.Posix just so it can catch kill signals while running in the Terminal and die gracefully.
Both dependencies can be removed quite easily from the project.
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
edit: I'm the author, let me know if you have any questions.
cheatdeath | 9 years ago | on: Building a BitTorrent client from scratch in C#
cheatdeath | 9 years ago | on: How to Write a BitTorrent Client, Part 1
I wrote up my adventure too: http://seanjoflynn.com/research/bittorrent.html
cheatdeath | 9 years ago | on: The “Cobra Effect” that is disabling paste on password fields
cheatdeath | 10 years ago | on: Employers: don’t blame millennials if you can’t hang on to them
cheatdeath | 10 years ago | on: The radical plan to destroy time zones