Monday, May 26, 2008

Sneak attacked!

This weekend, my friends completely surprised me with a bachelor party (yeah, I'm marrying in two weeks).

It was a great evening, filled with the sweet nostalgia of staying up all night playing games and having fun. We went out for dinner (japanese) and spent the night at a friend's apartment in Leuven, where we played boardgames and console games (Wii and PS2) until sunrise.

Oh yeah, and they got me a stripper. It's weird, but you really get to know yourself a little better at a moment like that. The thoughts going through my mind when she was 'working' on me, were not the thoughts I'd have expected. Here are two:
  1. "Will she stay afterwards for a chat? I'm really curious why she chose this job," and
  2. "Damn, I hate greasy lotion, especially down my pants!"
But it was a fun experience, and I'm glad to have had it. My soon-to-be-wife had a good laugh when I told her about it the next day :).

The downside to this party was the lack of sleep. I skipped a night's rest, and with a kid to look after, catching up the next day was nigh impossible.

So I'm at work now, tired as hell, but with great memories, and the afterbliss of experiencing an all-nighter again.

Just like old times...

Tuesday, May 20, 2008

A ga-what? Huh-zebo?

Funny story:

At least, funny enough if you're a roleplayer.

Powerful reflection

I'm sorry to disappoint most of you, but this is not a deeply psycho-analytic and philosophical self-reflection post. I'm afraid I'm going to turn most of you away when I tell you it's about one of the strongest features I've ever seen in C#, a programming language.

I knew that C# had something called 'Reflection', which you could use to determine object types and other 'compile-time' information, but then at 'run-time'. I never did use it, though, until now. It's kind of amazing to see what you can do with that stuff!

I'm currently writing a serializer/deserializer (read from and write to xml files) using reflection, and I have managed to keep 95% of the code within one single class, and the remaining 5% in a single function within each 'object manager' (special dictionaries which stores and retrieves top-level components - I currently have 3 of those). None of my objects actually being saved have any serialization code whatsoever, save for a simple [Serialize] attribute which I attach to each property that I would like to see saved and loaded.

And this code can already traverse the managers, writing out each object with public [Serialize]-able properties (in the case of simple types or references to other 'managed' objects), nested objects, and lists of properties/objects.

For reference's sake, the main serialization class is about 150 lines long (pure code, excluding whitespace and comments). Beautiful, isn't it?

Tuesday, May 13, 2008

Gnome Stew!

Good news for all you Game Masters out there: there's a new blog for and by GM's, called Gnome Stew (

They have a number of experienced and well-versed Game Masters writing periodic articles about The One True Art. Go check it out!

Monday, May 5, 2008

Back to square 1

Well, the week off has come to an end. It was a fun and relaxing week, with a couple of trips (Brugge, Gent, and Leuven), and some time spent at home drawing, playing boardgames, and watching Twin Peaks.

Our good intentions to sleep out didn't really succeed, though. Most of the time we stayed up later than we normally do (too much fun), and we got up at almost the same time as always (routine). So I don't feel of having caught up on sleep very much.