I’ve been in a fairly bad mood most of the day :. Was dreaming that I was applying for a job at the company my brother works (a large supermarket chain) and he was driving me out of my freaking skull – until I walked out, got on a plane, and parachuted into the lake; lol. After waking up and falling back asleep, I was dreaming about testing the game project I’ve been coding on the past 2 weeks or so.

Kind of strange in a way, since I’ve always maintained if I ended up in the same line of business I would seek employment at a competing company (:P), was recently mentioning skydiving with a friend, and apparently…. have been unable to get any work done on my game all day!!!!!

Haha, believe it or not but I just upgraded my file server from OpenBSD 4.4 Release to OpenBSD 4.5 Release, lol. Usually I’m pretty good about keeping my systems up to date, but lately life has just been to troublesome to care about it :-/.

In a change, I’ve also elected this time to install the various X related dist sets in the upgrade; I have no need to run GUI tools to manage my file server, but I have been thinking of using the machine to supplement my laptop, by way of running an X-Server on the desktop machine, and employing SSH for an extra layer of encryption.

Although I have never had need of (nor desire to try) the OpenBSD ports system, it does require X if memory serves, so probably good to have it available. Since the box isn’t setup for running an X server it is only filling free diskspace, and that box is well partitioned hehe.

Whiskey Lullaby




She put him out like the burnin’ end of a midnight cigarette
She broke his heart he spent his whole life tryin’ to forget
We watched him drink his pain away a little at a time
But he never could get drunk enough to get her off his mind
Until the night

He put that bottle to his head and pulled the trigger
And finally drank away her memory
Life is short but this time it was bigger
Than the strength he had to get up off his knees
We found him with his face down in the pillow
With a note that said I’ll love her till I die
And when we buried him beneath the willow
The angels sang a whiskey lullaby

(la la la la la la, la la la la la, la la la la, la la la la la la)

The rumors flew but nobody know how much she blamed herself
For years and years she tried to hide the whiskey on her breath
She finally drank her pain away a little at a time
But she never could get drunk enough to get him off her mind
Until the night

She put that bottle to her head and pulled the trigger
And finally drank away his memory
Life is short but this time it was bigger
Than the strength she had to get up off her knees
We found her with her face down in the pillow
Clinging to his picture for dear life
We laid her next to him beneath the willow
While the angels sang a whiskey lullaby

(la la la la la la, la la la la la, la la la la, la la la la la la)

Whiskey Lullaby, Brad Paisley / Alison Krauss

A couple of years back, I come across a great and wasted friend of mine in the hallway of a recording studio; and while he was reciting some poetry to me that he’d written, I saw that he was about a step away from dyin’ and I couldn’t help but wonder why. And the lines of this song occurred to me. I’m happy to say he’s no longer wasted and he’s got him a good woman. And I’d like to dedicate this to John and June, who helped show me how to beat the devil.

It was winter time in Nashville, down on music city row.
And I was lookin’ for a place to get myself out of the cold.
To warm the frozen feelin’ that was eatin’ at my soul.
Keep the chilly wind off my guitar.

My thirsty wanted whisky; my hungry needed beans,
But it’d been of month of paydays since I’d heard that eagle scream.
So with a stomach full of empty and a pocket full of dreams,
I left my pride and stepped inside a bar.

Actually, I guess you’d could call it a Tavern:
Cigarette smoke to the ceiling and sawdust on the floor;
Friendly shadows.

I saw that there was just one old man sittin’ at the bar.
And in the mirror I could see him checkin’ me and my guitar.
An’ he turned and said: “Come up here boy, and show us what you are.”
I said: “I’m dry.” He bought me a beer.

He nodded at my guitar and said: “It’s a tough life, ain’t it?”
I just looked at him. He said: “You ain’t makin’ any money, are you?”
I said: “You’ve been readin’ my mail.”
He just smiled and said: “Let me see that guitar.
“I’ve got something you oughta hear.”
Then he laid it on me:

“If you waste your time a-talkin’ to the people who don’t listen,
“To the things that you are sayin’, who do you think’s gonna hear.
“And if you should die explainin’ how the things that they complain about,
“Are things they could be changin’, who do you think’s gonna care?”

There were other lonely singers in a world turned deaf and blind,
Who were crucified for what they tried to show.
And their voices have been scattered by the swirling winds of time.
‘Cos the truth remains that no-one wants to know.

Well, the old man was a stranger, but I’d heard his song before,
Back when failure had me locked out on the wrong side of the door.
When no-one stood behind me but my shadow on the floor,
And lonesome was more than a state of mind.

You see, the devil haunts a hungry man,
If you don’t wanna join him, you got to beat him.
I ain’t sayin’ I beat the devil, but I drank his beer for nothing.
Then I stole his song.

And you still can hear me singin’ to the people who don’t listen,
To the things that I am sayin’, prayin’ someone’s gonna hear.
And I guess I’ll die explaining how the things that they complain about,
Are things they could be changin’, hopin’ someone’s gonna care.

I was born a lonely singer, and I’m bound to die the same,
But I’ve got to feed the hunger in my soul.
And if I never have a nickle, I won’t ever die ashamed.
‘Cos I don’t believe that no-one wants to know.

To beat the devil, Johnny Cash

This time I wonder what it feels like
To find the one in this life
The one we all dream of
But dreams just aren’t enough
So I’ll be waiting for the real thing.
I’ll know it by the feeling.
The moment when we’re meeting
will play out like a scene straight off the silver screen
So I’ll be holdin’ my own breath
Right up to the end
Until that moment when
I find the one that I’ll spend forever with

‘Cause nobody wants to be the last one there.
‘Cause everyone wants to feel like someone cares.
Someone to love with my life in their hands.
There’s gotta be somebody for me like that.

‘Cause nobody wants to do it on their own
And everyone wants to know they’re not alone.
There’s somebody else that feels the same somewhere.
There’s gotta be somebody for me out there.

Tonight, out on the street out in the moonlight
And dammit this feels too right
It’s just like Deja Vu
Me standin’ here with you
So I’ll be holdin’ my own breath
Could this be the end?
Is it that moment when
I find the one that I’ll spend forever with?

‘Cause nobody wants to be the last one there
‘Cause everyone wants to feel like someone cares.
Someone to love with my life in their hands.
There’s gotta be somebody for me like that.

‘Cause nobody wants to do it on their own
And everyone wants to know they´re not alone.
There’s somebody else that feels the same somewhere
There’s gotta be somebody for me out there.

You can’t give up!
Lookin’ for that diamond in the rough
You never know but when it shows up
Make sure you´re holdin’ on
‘Cause it could be the one, the one you´re waiting on

‘Cause nobody wants to be the last one there.
And everyone wants to feel like someone cares.
Someone to love with my life in their hands.
There has gotta be somebody for me
Ohhhhhh.

Nobody wants to do it on their own
And everyone wants to know they’re not alone.
Is there somebody else that feels the same somewhere?
There’s gotta be somebody for me out there.

Nobody wants to be the last one there
‘Cause everyone wants to feel like someone cares.
Is there somebody else that feels the same somewhere?
There has gotta be somebody for me out there.

Gotta be somebody, Nickleback.

Oh what fun it would be: a compiler with useful error messages

the code:

#include "common.hpp"


template<typename ACHAR>
class GameException
: public std::exception
{
public:
GameException() throw();
GameException(const ACHAR*) throw();
GameException(const basic_string<ACHAR>&) throw();
virtual ~GameException() throw();
virtual const ACHAR* what() const throw();
protected:
const ACHAR *why;
};

the error:

s:visual studio 2008projectstacfpsgameprojectnamesourceincludegameexceptions.hpp(17) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

the solution:

fully qualify basic_string<> as std::basic_string<ACHAR>, or add ‘using std::basic_string’ to common.hpp along side std::string and std::wstring, like I thought I did last week !!!

simple fact: compiler errors usually suck, and C++ templates don’t help any.

Ahh I feel refreshed!

One of our clients was out of town for a few days, so we had to watch their dog over here; he just went home tonight. After ~6 hours of C++ this afternoon, I was kind of glad to be shifting out to a lit’ work.

Came home to a long hot shower and a close shave; threw everything in the wash and plopped down back in front of the computer lol. One nice thing about a C++ compiler, it doesn’t care if your favourite t-shirt probably has more holes in it then a slice of swiss cheese :-P.

I’ve been working on a file system library and a command console for my present project; comparing the Windows and POSIX APIs for file system operations, I’m in the mood to paste a comparison later… haha. Present prioriteres are mapping data into both the source and release trees, hooking up the game console, and maturing the file system interface. Really the prototype will have a few quake like qualities in that regard, but that is only because ID Tech engines kick ass hehe. What I really would like is to load data out of ZIP archives and use a mixture of XML and Python script to extend things. We’ll see where the future goes.

Maybe I’m just tired, or now I’m ready for a nap

compiler is pissed off:

1>pathsourcegameconsole.cpp(53) : error C2039: 'setPostiion' : is not a member of 'Ogre::OverlayElement'
1> pathsourceogreogremainincludeogreoverlayelement.h(104) : see declaration of 'Ogre::OverlayElement'

ogreoverlayelement.h

class _OgreExport OverlayElement : public StringInterface, public Renderable, public OverlayAlloc
{
// ...
public:
/** Sets the position of the top-left corner of the element, relative to the screen size (1.0 = screen width / height) */
void setPosition(Real left, Real top);


// ...
};

The header file and the API documentation both agree, the Ogre::OverlayElement class has a public member named setPosition. The compiler however seems to assert, that the header is wrong?

No, the compiler, the header, and the API docs are all right: I’ve just been sitting here for about 5 1/2 hours without break…. and can no longer tell the difference between ‘void setPosition(Real, Real);’ and ‘void setPostiion(Real, Real);’

!!! TIME TO TAKE A WALK !!!