Deep internal/external searching… for… stuff


Exercise the Demons

So 6-6-06 just passed.  One guy in our office brought minidonuts.  A fitting celebratory food for satan day I think.
I've started working out again doing yoga and one other somewhat benign core training class.  It's good.  First few times sucked as I'm super out of shape.  Let me tell you, tearing muscles in both arms doing pushups is probably not the best idea in the world.  Also, pushing yourself to the point of being nauseous not good.  I'm doing fine now, but man was I sad.

Saw various movies.  Da Vinci code was ok, Ice Age 2 was kind of blah (although the squirrel was freakin awesome), Over the Hedge was great and X3 was good.  For X3, I think the changes they made if a bit extreme worked, but weren't executed as well as they could have been.  I had some disappointments, but for the most part I was pleasantly surprised.  I won't say anymore.

Inspired by a request with my rpg gaming group, I am writing a simple dungeon planning program.  Using this excuse to also learn more C#.  For now I'm using wxWidgets since windows forms gives me a headache and gtk# is not fully baked to the point where I can use it (wx also has its issues).  Slow going, but easy enough.  I should have a simple setup done by this weekend with the 30 min I will be able to spend on it.


Brain Ketchup

So, I may have failed to mention that I went to the Lua in Games Roundtable at GDC, and it was pretty interesting. Various people are doing some pretty interesting things with it: coroutines, incremental GC, integration and even JIT compilation!. One universal issue was fragmentation, it sounded like people generally just reset lua on level loads. Apparently no one had tried augmenting the Garbage collector to have a compacting mode. Sort of surprising, and made me want to try my hand at GC again (especially now that I've finished reading my GC book). Overall, cool stuff.

Exalted 2nd Ed. looks to be sweet. The only thing I don't like as much, is they're making some of the backstory type stuff way more obvious. I hope I'm not the only one who likes to feel cool when they figured something out. Oh well, still super sweet.

I also had fun playing pool at GDC. I'm thinking of trying to gather some friends from the area and try a few places in Bellevue. We'll see if we can find a cool place that has avoided the general soullessness of the area.

I read the Penny-arcade post today, which had at least mentioned dual booting capability for their macs. That sounds super awesome because there are many reasons why I would prefer to use a mac. However, there's always the problem of gaming. Perhaps if they actually come out with a stable negotiation layer for mac hardware (intel EFI mainly) and drop their prices a few orders of magnitude, I will get one!


Blargh! Books

So, I'm kind of in a rut today for a few different reasons. 1. Slow going at work. 2. Sleeping crappy. And 3. OMGWTF!!!! Why in gods name would someone #define true and false. I won't say who, though it's none of my coworkers, I just ran into it today. Seems like the most obvious thing in the world. Apparently the lower caseness is just too alluring for some. But JFGTDMCWTHWDT, I mean really. I blew at least 2 hrs on that today, and the fix turned out to be a 2 line check. How's 1 line per hour for productivity?.

In mostly more positive news in the book realm, I finished Da Vinci code. I'm sad to say that this one was also predictable, but no where near as much as the first one (where I predicted something in the prologue). It's really sad, because otherwise both books were pretty neat. I like the whole historical religious thing, I just don't like cliche mistery plot devices or super obvious forshadowing devices. It makes me frustrated when I end up feeling like the characters are dumb for not figuring things out as fast as I can.

ADDITIONALLY, however, I purchased 2nd Ed. of Exalted (I played the 1st for a while). It's pretty cool, and they seem like they've actually made some decent improvements. It's so cool in fact, that I think I might try to run a game at some point in the potentially distant future (after my groups' current D&D one, and potentially after the next). I'll definitely need time, because it takes me forever and a day to create characters. That's not accounting for the time it takes to come up with the backstory. I've got cool ideas, they just trickle out and usually confuse the crap out of me. So hooray for cool RPG, and BOO for stupid programmers.


GDC -> Fun + Motivation

So after another trip to San Jose, I must say that the sessions were hit and miss.  There were a few that really sucked (which I won't name to protect the guilty).  I got to shmooze a bit with some old friends and some cool people. Although I didn't get to see them all that much, it was good to see my peeps that now work around the area (Mike, Nate, Samo, etc.).  I got to talk a bit with some guys from Double Fine (made Psychonauts) and the Lead Designer at Bungie. I saw some other people from Digipen which was cool, even though the Alumni meeting was a bit blah.

I saw V for Vendetta for a 2nd time.  I don't know what it is, but its combination of symbolism and cheesy drama just kick me in the face. Certainly not for some.  That's ok, because there's more for me :).

One big help, there were a few talks that really motivated me to actually dig in and do some personal programming work (sad I know :P). I haven't actually done any in a long time, since I wrote a simple LispParser with Antlr (which sounds like it's nearing sweet 3.0 release, hopefully soon). So far, TDD (e.g. has turned out to be pretty sweet. I'm still not quite focused on the super simple cycle yet. I still find myself writing a methods during implementation of a larger piece, which then end up without tests. Perhaps mentally breaking down bigger tasks would help. We'll see.


Byte order, Garbage, Nudity oh my!

And we're back with another episode of byte you in the ass programming.  So in networking you have to worry about byte ordering.  Of course, however, all example code out there is as compact as possible and often leaves out crucial details.  Though obvious now, it turns out the byte order of the port passed into the sockaddr_in structure is very important.  Just another easy implicit stumbling block for C based routines. *sigh*

On a more positive note, I'm reading a "graduate" book on garbage collection.  So far, there have been some amazingly intricate reference counting algorithms.  Overall, once I actually start implementing a VM, it looks like it'll be a lot of fun :).

I saw Mrs. Henderson Presents last night.  Super great movie.  I'm not sure why, but it really struck a few chords with me.

Filed under: Programming No Comments


Geek alert. That's Programming Book that is. You can figure out what the first two letters mean. Today I got: "Types and Programming Languages". Mmmm, 600 pages of pure goodness. Oh yeah, I also got the Wonder Fall's discs, which should be the bizam.

Exploring around the web has found me the websites of people that I haven't seen in a while. Not to mention I get to go see Underworld 2 in about 3.5 hrs.

In more geeky news, I think I may have run across another instance of type-based alias analysis wreaking havoc on optimized code. Grrrrrr.


Aggrivating Oops’

Say function f() has side effect. Then change a call like:
r1 = f(); r2 = f(); r3 = f(); g(r1,r2,r3)
to this:
g(f(), f(), f())

And then wonder for hours why the results are all screwed up. It's because the evaluation order of function arguments is not guaranteed! Aaaaargh! At least I found it (and 3 other versions of the same mistake).... *sigh*

Sorry for the boring post. So... I hear Uwe Boll's latest movie died (BloodRayne). However, I also hear that Underworld 2 is coming out on the 20th (OMGROFLBBQ Awesome!). I love that acronym :).