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

While I totally agree with you, I don't think that: "1000 -Use a packet sniffer to learn about the network requests your computer does to your favorite game server." Is an easy thing to do. The first time I learned networking, packet encapsulation, protocols and so on, it took me a while to get the concepts. It's only after a few years of CS studying that I got fluent in wireshark (if that's even possible).

This is a list of hard things to do from a beginner, freshman, perspective. But they are also highly necessary if you want to work on fun stuff later on.

A sysadmin who doesn't understand pools of threads will go nowhere, same goes for a developpers who doesn't know what database replication implies.




Wireshark should be a required tool for any developer writing netcode. If you don't understand the OSI model, or how a 3-way handshake works, how can you possibly debug your code?

I've had to work with customers before who were writing code to send data over XML to a web server before who had no idea how to use tcpdump and Wireshark - it was unbelievable, but I was able to show them bugs in their code because I could see where the TCP conversation broke down.


tcpdump is also great, and I prefer it to wireshark.

I've learned how to read the packets coming through in real time, at an office environment. I can tell people "I don't even see the code anymore, all I see is blonde, brunette, redhead."


I don't know. I'm a sophomore and I've done most of these, and I don't consider myself to be very smart or a good programmer. I would say these are good tasks for people that are familiar with programming basics -- how to write a console application, what a for loop is, etc. -- and want to make the jump into making something actually useful. I wish I would have had this list a year ago.




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

Search: