Thursday July 22, 2010

Holiday Break

During the 4 weeks, aside from lots of rest I attempted to learn C and then somehow managed to spent time learning x86 Assembly. I gave up on Assembly relatively quickly because it meant getting to know hexadecimal for every example given and I really just wanted to soak up as much information as quickly as possible. Hexadecimal is used extensively in assembly because it is easy to convert to and from binary and easy to see which bits are on and which are off just by looking at hex notation. ... But I have too many things I want to learn so I tend to flit from one thing to the next and understanding hex to the level where it is intuitive as decimal takes more time that I want to spend. However, I learn't some interesting things that I can apply to higher level programming. For example, if a high level programmer wanted to convert uppercase to lower case they might at worst make a loop that tests what character it is and change it. Slow. Or they might subtract 32(or whatever it is) from the ascii value of the number. Faster... But because of the way ASCII codes are arranged, there is one bit in particular that controls case. Change that bit and the case is changed. Fast.

I read a few other things but mostly just had a proper break away from techy stuff.