What ho! It's been six months since the last installment of my not-so techfile. It seems that I've been spending too much time on #flipcode, and not asmuch in the real world, not that there's any distinction really. I've done quite a lot since I last wrote here. I got a summer job at Canadian Pacific Railway doing diagramming for their Information Systems department. As a consequence, I didn't do much coding over the summer, but I did make enough to upgrade my system to a P!!! 650 with 128-MB of RAM. Going from a Pentium 120 I can assure you Quake III is much more enjoyable now! Now that I'm finally back at school I get to sleep late again (5:45am instead of 5:30am). I'm taking Physics 30, Chemistry 30AP, Math 30AP and Social Studies 30 all in one semester, phew! On top of all that I've decided to take Physics 30AP as independent study, so hopefully I'll be writing that exam around next May.
MP3: Bloodhound Gang - You're pretty when I'm drunk
I've often found that I write programs out of need, rather than some spiritual fulfillment. In fact, that's the whole reason I started programming in the first place. My Commodore-64 didn't come with any games or word-processing capabilities, and because this was 1994, the local software store wasn't of much help either. Enter CBM-BASIC. I wrote a few games that resembled Space Invaders clones (I hope Hasbro and Friends isn't reading this) and after a while I discovered the magic of the printer interface and my first text editor was born. Well, the beast was older than I was, so when I wasn't debugging my code, I was debugging the hardware itself. After coming to my senses, I went out and bought an 8086 with 640 KB of RAM, a CGA monitor and a 20-MB hard drive (this was 1995). I soon discovered the magic of MS-DOS 3.22 and GW-BASIC. As with many isolated programmers starting out in BASIC, I set out to make my first Windows clone. Needless to say GW-BASIC just didn't cut it. Thanks to the kindness of a friend, I was soon bashing away at QBasic on my new installation of MS-DOS 6.22, dissecting Nibbles, among other things. My social life also took a turn for the worst.
MP3: Nerf Herders - Pervert
I soon returned to my cloning of Windows, a program which I didn't own at the time (hey, I've never owned it!) With QBasic's procedurally oriented framework, and it's blistering speed, I was soon running a menu interface in 640x350 in 16 colors on my brand new *cough* EGA adapter. I was happily navigating my collection of 5 menu items with my A, W, S, D keys until my father brought home a copy of Borland's Turbo Pascal 6.0 as well as Turbo C.
From the advice of a friend, who I thought was knowledgeable in these things, I decided it best to master Turbo Pascal before moving onto Turbo-C. I soon upgraded to a 386-DX/40 (which I assembled myself) with 4-MB of RAM and a 120-MB hard disk (this was 1996 after all!). I also managed to acquire a copy of Turbo Pascal 7.0, though not much had changed. Between occasionally running Windows 95 and DooM II, I was still poking and prodding the world of GUI, but now at 640x480 and with a mouse! My father went out and bought a brand new Pentium 120 with 16-MB of RAM; an 1-MB S3-Trio64/V2; as well as the all important 1.7-GB hard drive and Windows 95. Now my Turbo Pascal could do 3D! Albeit, still only in 16 colors. I was hitting brick walls harder than ever! Somewhere between then and now I parted with the world of the old, and moved onto the world of the new. I came to Canada, acquired an Internet connection, new friends, DJ's GPP and discovered Jacco Bikker. I started devouring information about 3D programming from any source I could find, most of which from Mr. Bikker's cool Geocities establishment. Thanks to a bit of shortsightedness on Geocities' behalf during the Geocities-Yahoo merger, Jacco relocated to flipcode.com, and I followed - like the good soldier I was! My life would never be the same again! I got a copy of Visual C++, some Opengl files and a Voodoo 3/2000, and I've been cranking out strange pieces of code ever since :)
MP3: Four Seasons - Walk Like A Man
Through this entire ordeal of becoming a respectable *cough* programmer I learned a great many things. My four-year encounter with BASIC / Pascal robbed me of valuable time I could have spent learning to program smarter, rather than trying to overcome obstacles imposed by the language. Turbo Pascal's multi- tasking capabilities just left much to be desired. I cannot blame others for guiding me away from C++. The learning curve would have been immense for a 13-year old. Though, it would have been a challenge I would have appreciated later on. But as many programmers eventually realize... in the end, there is only C++.
MP3: Zurich Switzerland
I also learned about necessity. I think it's perhaps the most powerful drive behind programmer. Were it not for necessity, I would not be coding today. I would still be a nerd, yes. But in the conventional Trekker sense. I cringe when I think about it today. I think I am much happier being a coder. I can approach real-life problems with more confidence now, since most everyday things are trivial compared to building a one- pass expression parser, or a coding B-tree/Ternary tree storage system.
MP3: Los Lobos - La Bamba
So for those of you who have made it this far, I suppose I should tell you what I've been up to lately. Well, some of my earlier projects have been scrapped in light of this whole 'necessity' concept. While I still dabble in non-essential projects for fun, I attempt to keep my projects related to my current goals and interests as much as possible. I've taken a great interest in magnetism and electromagnetism lately, reading up on linear mass accelerators (Rail-guns, Coil-guns etc) as well as plasma-confinement (Fusion, Ion Propulsion etc.) Not surprisingly is it then that I'm developing a platform on which I can do accurate physics simulations such as magnetic levitation. Freaky, huh?
I've also developed a dying need to do all of my mathematical related work on computer, as I go through quite a few stacks of dead tree every month playing around with formulas. I also do my lab write-ups for chemistry and physics on computer. MS-Word and FrontPage fails miserably for doing things like fractions with Sigma-notation. There is, of course, Mathematica, and MathType, both of which being wonderful products, not to mention wonderfully unaffordable. Well, with a few pieces of scrap-metal, some MFC and a toothbrush I managed to whip together a simple text-editor, which allows me to position objects relative to each other. Objects are all derived from a single object, and can be templates for other objects. This is great for mathematical stuff, as well as other things. Hopefully I can keep the object model clean enough to allow for things like bitmaps and embedded objects. Maybe it'll be the next hypertext standard. Thanks to all the people in #flipcode for helping me out with MFC.
MP3: Weird Al - Wrong Foot Amputated
Well, It's been a long day, and I still have to prepare for my physics exam tomorrow. Recently a friend consulted me about the choice he was about to make: whether to pursue a career in Engineering or Physics, or one in the Computer Sciences. My first response came from a joke I heard in #physics, and it asks what the difference between an id-software programmer and a physicist is... replying with a few hundred grand. After some thinking I realized that between the two disciplines, physicists have a greater impact on others. A good engine doesn't exactly cure cancer. From Magnetic Resonance Imaging to nanomachines, pound for pound, being a Physicist or Engineer seems much more satisfying. I don't know. Perhaps I will eat these words bitterly when I have to start paying credit-card bills.
In Search Of Schrodinger's Cat: Quantum Physics and Reality, John Gribbon. ISBN: 0-553-34253-3
Anyway, with those of you who would like to share my excitement in this new era, why not hop by in #flipcode on Efnet and check out the wonderful adventures of Xaewo. You might just be surprised:
* Sellers_ has visions of the once non-commercialized internet.
* Xaewo has visions of burning headless torsos.
<derailer> I am part of the C++ Ninja Clan
* PeZzA opens up a can of whoopass
* PeZzA eats the whoopass and dies from internal bleeding
<Xaewo> yeah I find that protons decay more quickly than I find women
<Xaewo> and the fact that I just came up with that comparison is probably a reason for that.
Well, thats about as much techfile as I can crank out in one hour. Cheers and good riddance!