A new begining

After much internal debate, I’ve made a string of decisions that may effect the rest of my life. Something private now lays at the foot of the cross, let it be done as HE has had it written. When the time comes, I will leave this world as I came into it, free.

I’m beginning work on the next phase of cracking the problems that stand in my way, as one legendary hacker once put it, “When in doubt, use brute force”. There are only two problems integral to moving forward, and I must advance or be this place will destroy me. I have no hate or love to drive me anymore, only an iron will. If I have to hack code until my brains fall out, I am moving ahead with this: it really is as simple as that. Life has left me no stranger to running at a 150% of normal, I’ve already spent, what? The last 5 or 6 years of my existence like this? Last night proved a point, this morning charted a path.

Today is the first day, in the next chapter of my life.

Tired…

Making like a crazy person, has got my desktop up and running again in 2 days and a night; and I’ve managed to get some game time today. Tonight, I’ve basically spent time with my routine updating procedure on FreeBSD. I update the ports tree, use the portversion script to grep what needs updating, then feed it into a little shell script to take care of business lol.

Ah, the simple beauty of automating UNIX—such a treasure to return to, after so much time with Windows NT.

There’s more then 10 ways to skin a bit

Well, I’m about ready to declare the operation a success ;). Just took off for a few minutes to inhale some kartoffelchips, and I feel ready to take a break. Aside from work, interrupts, food, sleep, and chores, I have not been away from the computer much for the last 2-3 days -> time for a night off.

Honestly, the more I do this stuff, the faster I get, I owe it to PLANNING 😀

1 less job of the week…..

I spent most of the morning scrubbing globs of dog hair off baseboards at work… not fun, but I’ve had much worse tasks over there. The great thing was only having to work half a normal day!

It looks like I might be looking at having Thursday’s off work. The financial situation of todays client, is stiffening up, and as usual with my mothers choice of business: we’re the among the first to be let go. For all the countless times my mother has driven me out of my freaking skull over there, I’m not going to miss having to suffer through that job every cycle, nor am I going to miss spending a few _hours_ of the day just lugging crap up and down staircases!!! Although, I do have to admit it was always good exercise… lol. Consistently Thursday has always been the hell-job, usually the one out of the week, that most closely equates to torture. I’m too used to having to work Thursdays to ever have peace… whatever the future holds, I don’t expect it to become a restful day.

The problem is that it means H.R.P. is going to be digging into me even about her own finances then before; its already started. As far as I am concerned, any attempt to reinterpret_cast<CashCow_t>(Me) from a Slave_t is not valid code… she forfeited that right years ago. Ma is looking at a $100/month loss in her bottom line, and the bottom line is the overruling factor in every thought and action for most people in my family. I’m perhaps the only only one who rejected mercenary behaviour, as a way of life.

Now I need to put up with her jabs about having to pay off a loan, the one she took out to cover my glasses. Somehow I don’t think I will ever hear the end of that one, even though she only had to do it, because she already had to “Borrow” every damn sent I had in order to fix the car, lol. Other wise I would’ve paid for them myself, and it’s not like I was the one who pissed away the rest of the loan money on stock piling stuff.

Combined with everything else that’s going on, it just slams Operation Redeemer and my freedom further back; this damn equation is never going to get solved at this rate. In order to get my license *and* be able to make use of it, I need to solve the petrol problem, the problem to that, is how the bloody hell to solve that one, without her royal pain trying to dig hooks into it. The rest of operation redeemer is also dependent upon solving that in order to proceed with the next factor. Why do I even bother any more? There may as well be a big bulls eye on the back of my head.

I’m nether bank nor animal, but when is it remembered that I’m a person?

Much of the weeks coding has been focused around exploratory coding with OGRE and related libraries. My star fighter game was originally planned to be built around SDL, but if this goes well I might actually use OGRE, and replace GIMP/.png with Blender/meshes for the entities of interest in it lol. Being the thing I am most familiar with, the prototype work is focused around a First Person Shooter type environment for right now.

My current thing to muck around with has been input; I’d rather like to set things up to use runtime choice of OIS/SDL for handling input and OpenAL/SDL for audio; right now I’m using just OIS for the prototype (and no audio).

This type of program is quiet a different beast then I am used to working on, most programs that I write usually can care less about individual keystrokes and mouse movements lol. So I’ve laid out some thought in how to deal with things. I’ve decided settings will be saved in XML format and will employ a key = command style mapping(; whatever is considered normal, I’ve been around quake/unreal games enough that my brain thinks that way about mapping controls lol). Each command will be an instance of a subclass of a more general command class, in charge of figuring out what the heck /should/ happen when the command is given. The games input manager is to register a std::map of key sequence = command object pairings (hard coded for now, since I’ve to busy to muck with an XML parser right now). Whenever input occurs that an interested command object has registered itself for, the command listener has a method called with the details about the input it wanted to know about.

One of my reasons for doing this, is I would rather like to implement a Quake style console for communication with the game; which is a style of program more up my avenue of expertise… lol. And it seems that it would make it easier to use the same interface for both the input manager and the console, in order to dispatch commands.

The thing I have not figured out just yet, is how these command objects will relate to actually getting their work done; but hey, I have got to get some sleep eventually and life sucks anyway; the code ain’t going to go any faster then life is!

Time for me to crash to a pillow, work cometh on swift wings…

A shocking first… even for Windows!

In checking the documentation for some method, I ended up wondering what ‘_StringBase’ is (as I already knew Ogre::string was a std::string). Taking a look at OgrePrerequisites.h I found an interesting define and typedef:

00148     typedef unsigned char uchar;
00149 typedef unsigned short ushort;
00150 typedef unsigned int uint;
00151 typedef unsigned long ulong;
00152
00153 #if OGRE_WCHAR_T_STRINGS
00154 typedef std::wstring _StringBase;
00155 #else
00156 typedef std::string _StringBase;
00157 #endif
00158
00159 typedef _StringBase String;

Since my project is set to use the unicode character set, it would be more convenient if Ogre::String objects were basic_string instead of basic_string at heart. Because Ogre is being used, I have a Source/Ogre folder so I can compile whatever I want without effecting “my base set” and SDK files else wheres; then just move the libraries over to my Buildtarget area afterwards.

Generally MSVC++ is a pretty fricken fast C++ compiler on Windows compared to MinGW, but Ogre is not a midgit. I setup a batch build for release/debug dll/static of all the required libraries and plugins in VCExpress, then I launched SWAT 4. The game takes a little while to startup so I went about my usual stuff; when I returned I found that Windows XP had crashed!

A blue screen of death complaining about a page fault in a non paged area, and noting an nv4_disp.dll (nvidia) file.

Sometime when I can afford the downtime, I’ll likely conduct tests of the machines memory (…), graphics card, and do a reformat of Windows XP. Before any of it, I will also likely compile a custom FreeBSD kernel on the machine as a pre-test of her integrity.

I have never, ever, under any circumstances had a system crash while compiling code., no matter what I throw at it (although I admit, 90% of the time I compile code on a FreeBSD box lol). Run out of disk space yes, shout barely intelligible linkage errors yes, muckle buckle about crappy dependencies yes… but never, has any of these *****s crashed during a compile! So this is starting to worry me a bit… oi, it’s always more trouble when a computer has been both obsolete and off warrentee for a few years.

So far, no luck in trying to sleep, even have tried burning more energy then normal, alas it appears to be hopeless. On the upside, tonight I’ve managed to overhaul my shell profile.

I spend most of my time behind a zsh, but also have regular contact with bash and various ksh; generally I avoid csh/tcsh on the grounds of muscle memory [sic]. The various Bourne style shells are a lot a like, but also a lot of differences once you grow past the /bin/sh of 30 years ago. I don’t care much for maintaining a profile/rc file for each shell I use, so approximately last year: I just wrote one central ~/.Terry_shrc file. The intention was for that file to be able to handle any OS/sh pair I’m likely to bump into, keeping to a portable subset of the scripting language & general unix. It only makes dialectual assumptions that functions (name() { list }) and aliases (alias name=’repl’) are supported; lesser portable constructs such as the $() and $(()) notations are totally ignored. My profile is so portable, that the bloody thing has even been easily adapted to Interix/SFU and Cygwin environments. The more OSes I encounter, the more portable the thing tends to get… lol. SFU/Cygwin basically required nothing, I just extended the platform detection stuff for the sake of creating workable aliases.

From the get go, the various shell specific rc/profile files were set to source my central profile, which in term was set to source a ~/.site_shrc file for site local changes; which of course is a symlink to ~/.site_shrc.hostname ;). Tonight I’ve extended it to source a .sh_funcs and .sh_funcs.osname for additional stuffs, as well some real improvements on how it goes about doing its magic.

Occasional SAS related stuffs, fiddling with my profile, and hashing out the various rs-* scripts for my rsync system aide, it’s been about 2 weeks since I’ve done any coding, and probably two or three months since I’ve done any hard core coding :-/. I’m always happier when I’m coding more….

Relax or ignore….

The desktop is still powered on, left her downloading the ISO image for later; right now I’m in front of the laptop. My status message on pidgin, is set to indicate that anything not related to relaxing, is gonna get >/dev/null‘d!
]

I plan to take the rest of the afternoon off to myself, if I can’t get a decent nights sleep, I may as well get a decent day off work, lol. Let’s see, what’s the plan…. Hmm, I need to get a few things typeset, tend to odds and ends—like catching up with a razor blade and a hot shower. Dixie is powered on, so that I can leave her unattended with the music streaming, while I get stuff done. There isn’t much on TV, but that is fairly normal 8=).

The dogs have been chasing me down, they’re angry that they can’t go out for a walk because of the rain :'(. In all fairness, I could use a walk myself; and the rain would help. The only problem is the idea of a 6 kg dog dragging a 73kg man through the mud >_>. Hopefully the rainy weather will subside a bit, so they can get their walks in for this weekend, and the internet connection will stay stable again 🙂

So much for a nights sleep…

Well I tried, I really did try! Woke up from a nap and was so tired, I decided to skip the shower, shave, and computer for tonight, and just go to bed and try to get some sleep for a change. Just took care of odds and ends, threw on The Simpsons Movie for something to watch, and made ready to pass out.

Then her royal pain woke up and needed her back scratched, then she woke up Willow who decided to tackle me; *sigh* it is just impossible to win some times!!!!

Upon sleep proving to be a hopeless affair, I gave up and dug up some strawberry ice cream for a quick snack. Largely gave up junk food a long time ago, but sometimes I’m in the mood for something sweet. Finished the movie a lit’ bit ago, then decided to boot the laptop off batter power, and try and pass some time.

Si much for a nights sleep…

Pissin’ thunder!

Today we’ve barely had any rain down here, just thunder; yet every darn time we get plenty of either in just the right spots, it’s virtually impossible to keep a steady internet connection!

I managed to survive work, just one more day and I’m free for a couple days… free to be stuck at home anyway, lol. I got home maybe around 1900Z, but I honestly have no idea where the day has gone +S. The most i can remember is making the web’rounds, discussing software over GTalk, and letting a friend dig me into reading X86 Assembly code for a few hours!

Right now, I’m just to freaking tired to get anything done, but to wide awake to just pass out and sleep. So far it seems to be fairly consistent, that once I logoff and lay down, that my brain goes bonkers :-(. On the upside, my dreams have been taking a much more positive light lately, then they have been for the past month or two.

What I really need is an exceptionally long vacation, just get away from it all…. where the most pressing worry, is where to have dinner! Ugh, but that ain’t likely to happen in my life time :'(