Why are you writing your own 2s complement and Huffman coding? Better people than you or me have already written that stuff. The larger question is why did you get into computing in the first place? Focus on that.. everybody is a moron until 10 years later you realize people are getting answers from you.. and asking "how did you know that?", To which I usually reply.. "10 years of being a fucking moron with no social life. You're welcome."