I am doing a lot of low level programming this quarter... a lot. Firstly, for a networking class in which the coding component is completely in C and although it's a complete pain to be coding in C and constantly trying to do things that C doesn't permit, it gives me a very wonderful feeling of savage success when I get something cool working in C. C code is the lonely-hiker-in-the-mountains equivalent of the computer world – lacking all the "bare" necessities (like, classes or a sense of responsibility) and extremely unclean. Pretty much everything in C is like using twigs together to make fire. Possibly one of the better examples of this is the standard C library that ships with some BSD systems such as Mac OS X. Do a man queue in the Terminal on Mac OS X to get exactly what I mean. The freaking thing is simply a shitload of #defines 而已.
Also, if I haven't mentioned at some point before, I am the biggest fan of my computer security class and its professors. "Computer Security" basically involves finding out how systems are broken and how to fix them, so it involves learning both aspects (just like the dark side of the force, or alchemy). Our first assignment basically involved seven programs that had vulnerabilities in them due to stupid or careless programming and we had to identify said vulnerabilities and exploit them so as to gain root access on the machine. It was extremely painful work but I came out of it having achieved: (a) extreme at-home-ness with using gdb in the command line, (b) the ability to work with hex numbers directly (and a great deal of respect for the Programmer mode in the Mac OS X Calculator) and (c) more actual experience in writing and exploiting assembly code than I actually got in my compilers class. This class is basically the equivalent of getting mentally laid – I feel that this class elevates me from being a CS major on paper to a person who actually feels that he is a real CS major.
Also, in more developer-related news, I found out yesterday that I've been awarded the WWDC student scholarship that I applied for a few week ago for. Excitement more profound than I can express using my limited vocabulary. I've always wanted to go to WWDC because it's the more serious of the two Apple conferences and being so freaking technical in nature, it weeds out all the Apple fanboys and leaves only those people who either have a lot of money (because it takes upwards of $1300 to attend the event), or those who are responsible for the existence of the Mac universe in the first place, i.e., the hardcore developers. I don't know how many or how few people Apple grants the student scholarship to or whether my hoping for a seat in the keynote presentation is just wishful thinking, but I can't wait for June! Unfortunately, June also brings final exams, and WWDC is incidentally smack in the middle of them. I don't have a plan at this point as to what I will do if there is an exam scheduled during the keynote speech (beg the professor?), but something will get figured out I'm sure.
Also, if I haven't mentioned at some point before, I am the biggest fan of my computer security class and its professors. "Computer Security" basically involves finding out how systems are broken and how to fix them, so it involves learning both aspects (just like the dark side of the force, or alchemy). Our first assignment basically involved seven programs that had vulnerabilities in them due to stupid or careless programming and we had to identify said vulnerabilities and exploit them so as to gain root access on the machine. It was extremely painful work but I came out of it having achieved: (a) extreme at-home-ness with using gdb in the command line, (b) the ability to work with hex numbers directly (and a great deal of respect for the Programmer mode in the Mac OS X Calculator) and (c) more actual experience in writing and exploiting assembly code than I actually got in my compilers class. This class is basically the equivalent of getting mentally laid – I feel that this class elevates me from being a CS major on paper to a person who actually feels that he is a real CS major.
Also, in more developer-related news, I found out yesterday that I've been awarded the WWDC student scholarship that I applied for a few week ago for. Excitement more profound than I can express using my limited vocabulary. I've always wanted to go to WWDC because it's the more serious of the two Apple conferences and being so freaking technical in nature, it weeds out all the Apple fanboys and leaves only those people who either have a lot of money (because it takes upwards of $1300 to attend the event), or those who are responsible for the existence of the Mac universe in the first place, i.e., the hardcore developers. I don't know how many or how few people Apple grants the student scholarship to or whether my hoping for a seat in the keynote presentation is just wishful thinking, but I can't wait for June! Unfortunately, June also brings final exams, and WWDC is incidentally smack in the middle of them. I don't have a plan at this point as to what I will do if there is an exam scheduled during the keynote speech (beg the professor?), but something will get figured out I'm sure.
Labels: English
3 comments

