Sep 2008

Please read instructions carefully!

While working on my research project/thesis, I decided that I really need to start incorporating threads into my apps to make anything of myself as a competent programmer. This involved two significant revelations: first, that pthreads do not inherently play nice with C++ OOP (duh! they're a native C library!); and second, threading OpenGL programs in an entirely different ball game.

Getting a thread up (which, for the record, I have done before for classroom projects), was no big deal. Then realizing that C++ classes don't play nice with pthreads was a bit tricky. Once I figured that out (I welcomed static member functions with open arms, I just don't feel the need to code proxy thread classes! That's crap), I couldn't understand why my app kept crashing inside a thread using OpenGL calls. I thought it had to do with something I wasn't getting right when trying to recast a void*; however; some sleuthing made it clear that only OpenGL calls made the main process choke. All this eventually taught me a very valuable lesson...

READ THE INSTRUCTIONS FIRST!

The Apple documentation, conveniently titled "Multithreading and OpenGL," made it more than obvious that pitfalls run rampant across the OpenGL/Multithreading paradigm. Only a few sentences in gave me the clairvoyance I needed to see why my thread kept crashing.

I'll keep OpenGL calls within the main thread for now, but I look forward to working in Cocoa/Obj-C soon. At least there, OpenGL seems cared for delicately with plenty of out-of-the-box routines that are multithreading specific.

Fire on Ice!

Well, tonight is the first pre-season game for the Detroit Red Wings. After last year, in addition to getting in on a fantasy hockey league this season, I'm more stoked than ever! Hopefully my new AT&T U-verse service won't hamper on my viewing pleasure. Let's hope.

Hockey is here! Eeeeeeeeeeee!

HOCKEY IS HERE!!!1

SEE ME DOMINATE! Buy NHL 09 for the Xbox360; request to join "The Walmart Greeters" club!


ℑ=http://ll-999.ea.com/sonet-easw/2.4.2.01/images/sw/videos/preview.jpg&skin=http://ll-999.ea.com/sonet-easw/2.4.2.01/flash/sw/videos/skin.swf" />

ℑ=http://ll-999.ea.com/sonet-easw/2.4.2.01/images/sw/videos/preview.jpg&skin=http://ll-999.ea.com/sonet-easw/2.4.2.01/flash/sw/videos/skin.swf">


svn checkout svn://192.168.1.114

I setup an old beige tower with Xubuntu (733 MHz, 384 MiB) and put up Apache (of course), as well as *drum roll* SVN! I'm using it on my research project cause I'm trying to experiment with a bunch of new programming designs for this project. I branched a"stable" version and started a bunch of other changes, and to know that I won't screw up the original is just awesome! I should've done this a long time ago.

w00t!