Tuesday, September 29, 2009

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.

Monday, September 28, 2009

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.

Sunday, September 27, 2009

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 :-D

Saturday, September 26, 2009

Dancing over the Windows, Night I / Day III / Day II-C / oh fsck it

I setup RvS in between bites of dinner, luckily most of the procedure is just waiting on files to extract/copy, so I was free to sit and eat xD. I already have a collection of patches in various languages, so it was a simple matter of fishing out the v1.0-1.60 US patch.

Play testing and a quick spin around dxdiag showed that everything was good to go. All that I will need to do is setup my settings again (hoorah for archived ini files ;) and install maps. I have a CD-ROM here which is so full of map files, that I barely fit them all on it back in the day lol. I've also got access to the SAS map packs and such, so shouldn't be to much hassle.


Next up was setting up SWAT 4 with The Stetchkov Syndicate expansion pack; a quick job. Since I'm aware that SWAT 4 disks may be beyond a simple dd operation to clone, I chose to take 'steps' to archiving my copy of SWAT 4—I paid $80 in two installments with much waiting for a still unfinished and already abandoned product, so I have no interest in buying another copy if something happens to my disks! Before running the installer, I did a quick dump of the entire registry; after setting up SWAT4+TSS+Gez, I then took another dump of the registry. In theory, doing a simple diff of those registry dumps should allow me to create an import file, that can be used to recreate them (with needed local adjustments), then mate it with No-CD fixed EXE files, plus a lovely archive of all the latest game files; that means I should be able to backup/restore SWAT 4 at will, without having to dance through installers and patches, muahuahauha! At least, that is the _theory_ but it should work.


I'm sorry I didn't think to do the same registry trick with RvS lol.



Since the games are poorly designed, there is probably little use in installing the game without administrative prives. Running them under a regular user isn't to hard, in SWAT 4 all that needs to be editable at run time, is basically INI files, and that is easily adjusted with Access Control Lists. I haven't tested RvS yet as my normal user, but it should work as well as SWAT does. I backed up the important things, but sadly I forgot to backup my in-progress SWAT 4 map files... so only Chester has a working copy of SAS Killhouse Redux, and I've lost all my work on the SAS Dept. of Agriculture :-(. Small loss though, since the former wouldn't be tooo hard to recreate.



Since Windows XP by default only exposes a useless level of DOS-style permissions, I doubt most users have any concept of access controls or file permissions. I always kick Winsucks into showing my the "Security" tab in a files properties dialog. Although it is occasionally a whacky inconsistent mumbo jumbo to work with Microsofts various tools, Windows XP does actually have a very nice ACL and Policy implementation. Most Free Open-Source Unix like systems (e.g. GNU/Linux, FreeBSD, OpenBSD, etc) have support for Access Control Lists, and I believe the POSIX standards mandate them but don't quote me. Most systems however, rely on the simple unix permission model; which is basically the most simple ACL system you could invent like 40 years ago lol. Until you get into the Policy related stuff in the MMC, there's no serious differences. My one complaint is that working with the cacls command in XP, means putting up with DOS invocation style :-/.


I have used Microsoft operating systems since MS-DOS, and have used Windows since cica 2000, when we got our first Pentium PC with Windows 98 pre-installed on it. Since then, there are only 3 things that I have ever found, and actually like about Microsofts premier product: 0.) the start menu is a very nice file-system driven implementation, well the parts that are adjustable anyway (think All Programs); 1.) Windows NT has nice support for ACLs, and 3.) NTFS is a heck of a lot better then FAT12, FAT16, and FAT32 ever were. Beyond that, it all can go suck an egg :-P.



All that is left for me to do, is complete a few minor tweaks, like giving the File open/save dialogs a makeover and organizing files. Oh yeah, I still need to go and install KDE4 so I can get a decent Solitaire program running again ^_^_^_^_^.

Dancing over the Windows, Day II-B

After getting the backups taken care of, I took a few moments to clean up after the more intrusive installations. That involved turning off the MSSQL related services, telling Javas jusched updater to take a hike—instead making a scheduled task for it, which is what the installer should have done! After that, I sanitized the %Path% environment variable back to the default, and used my documented list of where I installed everything, to write out the desired environment variables.


In order to keep the systems path clean, yet make it easy to make regular changes as part of batch scripts (like compiler specific ones) or per-user profile variables. Here is a list of my creations:

%DEF_PATHEXT% and %Def_Path%
These are just references to the systems default values for %PATHEXT% and %Path%, so they can be referenced later without concern for the actual system values.
Userprofile overrides for %PATHEXT% and %Path%
I've set PATHEXT to %DEF_PATHEXT%;%Extra_PathExt% and Path to %Def_Path%;%GoogleChrome_Path%;%RemoteUtils_Path%;%Utilities_Path%;%WWW_Path%;%MediaPlayers_Path%;%Graphics_Path%;%OfficeApps_Path%;%Games_Path%;%JavaRuntime_Path%;%Gtk2Runtime_Path%;%Perl5_Path%;%PHP5_Path%;%Python2_Path%. Which provides my user with virtually everything I could want, short of access to compilers and what not.
%Extra_PathExt%
Extra extensions that I would like to *not* have to type, namely making Perl/Python/Ruby use and coexistence much easier.
%RemoteUtils_Path%
Various remote utilities that I use often, things like PuTTY.
%Utilities_Path%
Slips several frequently used programs into my path: like SysInternals and Archivers. Yes, I do use a command prompt to unzip crap often enough to warrant this :-P.
%WWW_Path%
The paths to world-wide-web related programs, that are only meaningful with an internet connection. Instant messengers, VoIP, web browsers, blah blah. This also means I can have a lot of fun without reaching for the mouse ^_^.
%MediaPlayers_Path%
Quick access to MPlayer / MEncoder and anything else that comes in handy.
%Graphics_Path%
Software for manipulating images, GIMP, Dia, Wings 3D, Blender, et alii.
%OfficeApps_Path%
Paths to the kind of software often found in office suites, most importantly a snappy PDF reader. There's not much else that I use regularly, since word processors are often brain damaged from a productivity standpoint.
%Games_Path%
Various games, of the kind that can actually be run without changing directories; that is no unreal engine garbage.
%JavaRuntime_Path%
The systems standard Java Runtime Environment, suitable for responding to Java applications that need to make me wait an hour for them to startup ^_^
%Gtk2Runtime_Path%
The systems
%Perl5_Path%
Reference to all that Perlicous goodness, can't have a box put to work without a copy of perl setup, now can we?
%PHP5_Path%
In case I need to test some code, I always keep an interpretor within arms reach; for things that require a server, I just SCP it over to another box, that happens to be running Apache.
%Python2_Path%
I decided that this time I would run both versions of Python, this chooses the 2.x branch. For better or worse, not all valuable libraries have made the transition Python 3.x yet :-/
%Python3_Path%
Same as the above, for for Python 3. It should be most useful to me, for testing scripts for compatibility with 3.x
%Ruby_Path%
A language that I rarely use these days, but always keep available for a rainy day ;)
%Devel_Path%
Pointer to various development tools that are not very implementation specific and should be optionally available to all user accounts. It's made up of other environment variables, just like the %Path% override.
%Devel_Utils%
Assorted utilities like tags generators and build tools
%ScmTools_Path%
Qucik access to source code management: Subversion, CVS, blah blah. The only thing I actually give a flying flub about, is Git.
%JavaDevel_Path%
One huge Java development kit with more bells and whistles then I could care to look at. This variable basically exists to provide access to javac and relations
%Qt4Devel_Path%
Paths to the Qt SDK, the best toolkit for doing graphical software that I've ever found. API wise, I reckon WxWidgets would be more natural to Windows developers fingers (wxNames::LikeThis instead of QNames::likeThis) but I'm perfectly happy with Qt.
%Gtk2Devel_Path%
Basically a software development kit for GTK+ apps in C/C++, kept independent of the systems Runtime—so build time will never break Pidgin, Gimp, & friends
%MinGW_Path%
For setting up quick access to the GNU Compiler Collection.



I'll likely write a set of development environment scripts, that will handle tailoring my cmd environment to a specific task. Exempli gratia: MinGW, Watcom, MSVC, JDK, Py2, and Py3.


Because I know from first-hand experience, many games built around Unreal Engine 2 among others, still treat the Operating System like MS-DOS, I've also taken the liberty of setting up a "Gamers" group. That should make playing RvS/SWAT without elevated privileges as possible as it ever is going to get... lol. Considering how crappy they are on the inside, and being UE2, I don't expect it to actually be possible without further abuse. Really, I wonder how some companies get this crap on the market...


Anyways, time to setup the games :-)


To be continued...

Dancing over the Windows, Day II

Installed XFire, and very interestingly only the administrator can change where it downloads files to, which should be in %AppData%\Xfire along with the users chat logs. I suspect the intention behind this "Odd" design choice was to force all downloads to occur in a shared folder, which can be automated for a routine virus scan - or because many games are so crapply made that they need to run under Administrators lol.


Xming, TeamSpeak2 were quickly smashed. The most important utilities to get installed were 7-Zip and InfoZip, for dealing with the archive files involved. After that I setup Python 2.6 and 3.1, Ruby, and Perl 5.10.0. The file associations can wait until later, but quite seriously I ain't going anywhere without Perl installed ;-).

Because I have both Python 2.6 and 3.1 installed, and the MSI installers override one anothers file associations, I had to manually setup the mappings that I want; which includes mapping .py2 and .py3 to their respective interpreters.

C:\2install>ftype | findstr /r /i "Python"
Python.CompiledFile="C:\DevFiles\Languages\Python\31\python.exe" "%1" %*
Python.File="C:\DevFiles\Languages\Python\31\python.exe" "%1" %*
Python.NoConFile="C:\DevFiles\Languages\Python\31\pythonw.exe" "%1" %*

C:\2install> assoc .py2=Python2.File
C:\2install> assoc .py3=Python3.File

C:\2install> ftype Python2.File="C:\DevFiles\Languages\Python\26\python.exe" "%1" %*
C:\2install> ftype Python3.File="C:\DevFiles\Languages\Python\31\python.exe" "%1" %*
C:\2install> ftype Python.File="C:\DevFiles\Languages\Python\26\python.exe" "%1" %*

C:\2install> ftype Python.File="C:\DevFiles\Languages\Python\26\python.exe" "%1" %*
C:\2install> ftype Python.CompiledFile="C:\DevFiles\Languages\Python\26\python.exe" "%1" %*
C:\2install> ftype Python.NoConFile="C:\DevFiles\Languages\Python\26\pythonw.exe" "%1" %*


C:\2install>assoc | findstr /r ".py"
.py=Python.File
.py2=Python2.File
.py3=Python3.File
.pyc=Python.CompiledFile
.pyo=Python.CompiledFile
.pyw=Python.NoConFile


C:\2install>ftype | findstr /r /i "Python"
Python.CompiledFile="C:\DevFiles\Languages\Python\26\python.exe" "%1" %*
Python.File="C:\DevFiles\Languages\Python\26\python.exe" "%1" %*
Python.NoConFile="C:\DevFiles\Languages\Python\26\pythonw.exe" "%1" %*
Python2.File="C:\DevFiles\Languages\Python\26\python.exe" "%1" %*
Python3.File="C:\DevFiles\Languages\Python\31\python.exe" "%1" %*


I wonder how many people never knew you could change file associations from the Command Prompt? It is oh so much faster then screwing with Windows Explorer!!! Later on I'll add .pl;.py;.py2;.py;.rb to an environment variable that users can append to their %PATHEXT% at will.



Tools for getting work taken care of next: GIMP, Dia, and Pidgin+GFire plugin. Vim is the only one that I actually care about, but since getting the newest version with all the right features that I want, means compiling my own from a CVS/SVN checkout: it might help if I installed MSVC and CVS first; will get to that later.

Misc office/unproductivity apps: GnuCash, Abiword, Gnumeric, OpenOffice.org, and AutoHotKey. Then remaining non-dev utilities: WinMD5Sum, Qlipboard, Unlocker, GNU PG.

A couple small games: prboom, OpenArena, Battle for Wesnoth, and Chromium BSU; I'll get UrbanTerror, Raven Shield, and SWAT 4 setup later.


And now time for the huge hulking development stuff.... since it'll take at least 15 minutes to download the remaining Microsoft development packages, I started on MinGW, MSYS /w DTK and WATCOM. I usually use Visual C++ for compiling under Win32 whenever possible, but out of respect and potentional handy'ness, I usually keep a copy of Open Watcom around; it also has one of the most polite installers ever created on Windows! Setting up the MSys kits is painless, upgrading them is not always so. MinGW, well just boring to setup 8=). After that came making sure that there is a full Java development kit and Ant available. PHP, PhpDoc, GDB, and Exuberant CTags followed.

Time for the build and scm tools: Ant, CMake, SVN, Git, and CVS.

Next up a few game development related tools: q3map2, QuArk, Wings3D, and Blender.


Wrapping up with an installation of MPlayer & Mencoder binaries (the Git ones) with codecs. Most of the development-related libraries, I don't want installed until Visual C++ is installed, so time to get that done now. Rather then bugger with Daemon Tools Lite, I chose to try out ImDisk, something that appears less intrusive on ones computer experience ;-). After mounting the Visual Studio Express editions DVD ISO, it was a fairly quick bombing run to get C:\DevFiles\Visual Studio\ setup and running; it's still ashame that it forcefully crams a few things into %ProgramFiles%, but I reckon that is the price of an automagic installer 8=).


Ok, time to get the rest of the development stuff setup. First off, Debugging Tools for Windows, followed by the DirectX SDK. The Qt SDK & PyQt4 bindings fell into place, GTK was a simple unzip followed by installing the appropriate Py* packages. WxWidgets is a quick installer, but still needs to be compiled later (per compiler); that can wait until I have need of compiling anything against WxWidgets, which is pretty rare.


As much as I love XML and hate XML parsers, LibXML2 / LibXSLT are just to valuable not to have installed. OpenSSL and ZLib are also kind of useful ^_^. Xerces-C++ and SDL will take a while to compile, so I will save those for later.

I would like to take a few minutes break to get some of the backups restored, while Cygwin goes and fetches a couple things (e.g. rsync).


To be continued...

Dancing over the Windows, Day I

Reinstalled Windows NT 5.1.2600 / XP Media Center Edition.

After rebooting, the machine gave a message that it was prepairing windows for start up; it was obviously trying to establish a network connection, assumably in order to phone hone registration data. That didn't work, so the computer restarted itself and tried again, when that failed, it finally put up, shup up, and let me go through the boring setup screen.


As usual, I set the machine up for a U.S. environment but with GMT time zone and no DST adjustments, this gives me accurate enough GMT/UTC settings :-).


Was forced to create a "Regular user account" which also happened to be created as a passwordless adminisrator account: oh what a wonderful defualt! Named it "appeasement" and moved on. On the first 'usable' boot up, I used the double ccntl+alt+del trick to login as the pseudo-hidden Administrator, and get to work on setting up the machine. I created my limited user account, locked it with a password --- then locked the forced-admin account with a ~90char password and locked it, generated manually useding my usual algorithim for creating pseduo-random passwords. Then I did like wise to the guest account, setting a random ~150char password. Both appeasement and guest were doubly checked to ensure they were properly locked down. I've elected to make use of Adminisrator directly for setting things up, since I've always used a separate admin account in the past and really see much value in hiding Adminisrator; however I do admit a temptation to rename it "Bill" as a joke between friends.


I also took the liberty of forcing Windows XP to use the classic login dialog, rather then the XP welcome screen; it's a shame that it remembers the last used user name though, which kind of defaults the point of not listing user names (which was mentioned in the CPL). My reason for switching to the classic login screen however, is because I find it more convientant for quickly logging into the system, then having to play with the icons on the welcome screen.


Disabled Windows Firewall and installed my wifi adapters drivers, but had no luck in getting a connection to my home network :-(. After a bit of abuse, I killed the poorly written network management utility that came with the driver, along with all the programs and service it created. After that, I was able to get a clean connection to my AP :-). Personally, I think any time a network device driver tries to override the systems network configuration software by default, means either they were assholes or the system has terrible network support. Over the years, I've found that Windows does have terrible network support (compared to FOSS unix systems) but configuring network settings, especially wireless: is very painless under XP.


To avoid nagging, I turned off Windows auto update crap, and fired up IE6; hitting update.microsoft.com I jumped through the hoops to download/install Service Pack 3. After the rebooting dance that followed, I then returned to update.microsoft.com in order to update things. That resulting in installing _60_ updates for my computer and another reboot, after that was taken care of, I turned on Windows updates. Guess what it told me after that? There are more updatse for your computer ^_^. It has been nagging me to reboot every couple minutes since then. Two cool comments: nVidia and Creative drivers were listed, speeding up my installation of the latest nVidia drivers xD.


Kicked off cmd, explorer, control, regedit, and mmc (Micro$oft Management Console) so I could start work on making Some changes:

 Set IE8 to a higher security level for Internet use
 Set IE8 to reject third party cookies
 Prevent Winsucks Explorer from hiding file extensions - come one, seriously?
 Automatically search[ing] for network folders and printers turned off in Explorer
 *.js? *.reg, *.sh?, *.vb?, *.ws? file associations remapped to Notepad
 Error Reporting set to MS/Win crap onnly
 Tell Security Center not to whine about FW/AV.
 Killed sticky keys & compatriates; made this default for new users
 Data Execution Prevention (DEP) on for all programs
 Remote Assistence / Remote Desktop / NetMeeting RDS / Remote Desktop Help Session Manager turned off
 UPnP & SSDP services disabled
 Remote Registry service disabled
 Net Logon service disabled
 Media Centre services disabled
 Aleter service disabled
 Computer Browser service disabled - I don't want it
 Distributed Link Tracking Client disabled
 Help & Support set to manual - FWIW
 Network Location Awareness (NLA) set to automatic
 Network Provisioning Service disabed
 Print Spooler service set to manual - I rarely print stuff
 Security Center service disabled
 Server service disalbed
 Shell Hardware Detection (autoplay) service disabled
 TCP/IP NetBIOS Helper service disabled - just piss off lou
 changed Windows Time server from MS to NIST
 Cleared the "Register this connection's addresses in DNS" thing Disabled LMHOSTS lookup on my wifi connection
 Disabled NetBIOS over TCP/IP on my wifi connection
 Don't auto-restart after crash
 Don't dump core on crash 
 Disabled hibernation support
 Configured Windows to clear the pagefile on shutdown
 Set power mangemenet policy to minimal (just kill monitor)
 Set the system to use the Metric system by default.
 Set the system to use ISO standard date/time format by default.
 Turned off the advanced language/text stuff; I don't need to input Hanzi/Cyrillic

At this point, I rebooted the system:

 shutdown -t 2 -r
 

and logged in with my limited user account. Ahh, the passionate joys of bending computer software to your evil bidding!!! The first thing I did was double check IE8 settings, and go install Google Chrome ;-). The second thing was open a Command Prompt -- I never go without having one available.


I could configure Internet Explorer 8 more diliengly for secure operation, but I don't use the bloody thing, except when programs (like XFire) require embedding IE or when visiting update.micro$oft.com. My life is spread across Chrome, Firefox, lynx, and links; but Chrome is my preferred beast of surfing burden.


From here on in, it was time to get cracking! C:\2install was setup for storing downloaded files. After taking a few moments to get Chrome hooked up, my next stop was downloading PuTTY, making it a painless process to gain access to my OpenBSD server down the hall. Namely, the cute girl holding all of my backup data lol. When I took backups of SAL1600 today, I made saved a file named software.list with a table of every thing I need to fetch & install, written as: program\t\t-\turl and sorted in sequence.


Although my PuTTY settings are unreachable without PuTTY, since the exported registry keys for all my sessions are on Vectra, I have sufficant memory to reach her manually.


Oh yeah, now I could finally hit 949thebull.


Because of my insane nack for planning these things better then NASA can launch a space shuttle, it was a rapid file breeze downloading most of the software I need to install, and the last 9 hours have been pretty interesting. All that is left to fetch, is basically Microsoft compiler/ide/runtime stuff and my mouse drivers. Most of tomorrow will likely be spent installing/configuring everything while waiting for the backups to SCP back over. Right now only the most minimal kit is setup and as soon as this virus scan completes, I'm hitting the hay, it's already after 0830 in the morning....


There is also one more thing that I need to do, start checking more in depth the default access control and system policies. Despite often presenting pure idoicy as a matter of standard operating procedure, Windows NT does have some very nice security features; they're just hidden so far from the average desktop user, that most will likely never discover them :-/. One of these days, I really need to setup some custom templates in order to speed all this crap up!




To be continued...

Thursday, September 24, 2009

Chuckle of the day, 2009-09-24

Because most of the Win32 subsystem operations have been moved to kernel mode drivers, in Windows NT 4 and later CSRSS is mainly responsible for Win32 console windows, GUI shutdown, and threading. It is critical to system operation, therefore terminating this process will result in a Blue Screen of Death.
-- Wikipedia:Client/Server Runtime Subsystem


_Rolling_On_The_Floor_Laughing_My_Freaking_Hindend_Off_.


Well, I always figured that Microshaft(tm) didn't share my belief that no user-visible program should be able to take down the Operating System, other wise it wouldn't be so easy :-D.

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?

Tuesday, September 22, 2009

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...

Sunday, September 20, 2009

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 Build\target\ 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.

Dreams of haunted Hexadecimals

I dreamt there was two of us exloring a large house, of the dark and scary kind, like a brother / sister pair; much younger. The house was rather dark but vaguely reminds me of a real one somewhere; perhaps a strange composite of several places I've been. At one point I caught a roach, and she ordered me to put it out side, so I opened the door and let it scurry away - never mind that it was probably on the 2nd floor, but oh well lol. I noted that the clouds were rolling away into the distance, looked like a storm would be done passing by soon. We again returned to the search of the house, the girl being drawn to one of the doors and wanting us to split up; let's just say, even without any lucidity, I've seen to many horror films over the years to fall for that ^_^. So, we headed in, it looked somewhat like a childs room, but not quite the nursery feeling that came to mind; for some reason it makes me think of an old movie about a haunted house, but I can't remember the name of it. There was a strange picture and the girl appeared to be memorized with this room :/.

My "Spider sense" if you wish to call it so, started busing - ducking my head out the door, I saw Hexadecimal creeping about downstairs, and urged us to flee. No luck, the girl was to hypnotized by the room, another look out the door, showed Hex was creeping up the stair case; I flung open an inner door and rushed into a side room, calling for her to follow. No such luck, so I slammed it behind myself and bugged out FAST, catching sight of Hexadecimal going into the room... In a last ditch (insane?) effort, I shouted until I got Hexes attention, then flipped myself over the stairs railing; making a set of "Drops" until reaching the ground floor. Ok, guess I've played to many Tomb Raider games in my life on that account lol. On hanging from the last railing, I excerted some kind of influnce, taking control of the house and demanding that all return to normal; resulting in Hex being deleted lol.


The next thing I can remember, is the two of us looking around again, and going through a hallway on the ground floor, with large windows overlooking the grounds, but it was dark as night out; where as before it had merely been a stormy evening. Someone warned us about our parents being due home soon, and I suddenly got a notion of what happens to movie Vampires when the sun comes up! In further exploring we found a wall that 'rolled up', revealing an old man with a work shop. I remember the visuals more then how to describe it, but it involved Python, dots, and a stuffed rabit. The last thing I remember, is chasing a leaping frog around, trying to catch it with a shoe box and get it into the bug catch. When suddenly it became a giant roach, like one of those rain forest critters the size of your hand. When it got lose and tried crawling over my foot, I woke up around 1015Q with my leg kicking at the covers! I haven't had a wake-up like that in a looong time. Maybe it is a good thing that in the morning, Willow switches from my bed, to the couch in the living room.




My dreams are usually non sense, even at their finest moments.
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....

Saturday, September 19, 2009

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 :-)

A few Thoughts turn to PC-BSD

Considering recent threads in the PC-BSD forums, largely centred around the projects deficiencies I've made a decision.


I have the DVD version of PC-BSD 7.1.1 x86 down loading, when it is complete, I'll load it into a virtual machine for testing. Once that is done, I will conduct a 'deep' inspection of the systems current state—including the source code. The aim of it is to analyze the distributions weak spots, noting the areas where it does need improvement. After that is completed, I intend to publish my catalogue of the projects deficiencies along with suggested paths for improvement. It'll probably be posted here on my LiveJournal, with links shared in the appropriate forums and mailing lists.


Why do I feel like doing this? Well, PC-BSD while it has some good qualities, generally fails (in my honest opinion) because of how it is handled. As I have often said and people can feel free to quote me on it, PC-BSD feels like a project born in Kris Moore's garage: that never left. And like wise, as I have often expressed, PC-BSD development practices do *NOT* reflect those of a real BSD project.


In my experience getting anything done there, that is also worth doing: has usually been caused by the community screaming the developers ears off... perhaps consistently so. So writing an open letter might poke the project into cleaning up their ship, or at least demonstrate to the rest of us what "Not to do", lol.
No luck what so ever in trying to get to sleep, I logged off with about 9 minutes of battery power left on my laptop, and spent the rest of the night pondering as usual. It might've been 0400-0500Q by the time I finally crashed.


Woke up around 0830Q, having dreamed of Buzz Lightyear leading the Predacons against Optimus Primal and the Maximals, in an attempt to renew the Beast Wars. I know everything is well, when my dreams are total non sense lol.

Friday, September 18, 2009

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...

I'm sorry, but do I look like a moron?

I spent some time getting stuff sorted on SourceForge, until I was interrupted by [SAS]_Rct_ESCRT, who was being plagued by a trio of Dummköpfe terrorizing our SAS Proving Grounds server. After resolving trouble via remote, I chose to enter the server and deal with things "Personally" and give the vagrant offender one last chance. In the end, these trouble makers with many names were sorted when the worst was banned. The screen shot below sums up him and his friends efforts:





One thing I failed to tell them in that moment, is I was also the Web Admin from before, who Feldjäger tried to convince me his buddy was talking to 8=). On top of that, I also forgot to mention that I had kicked him previously, but I didn't want them to feel tooo stupid.



Maybe I am not terribly bright at times, but hey, I am not a fool!

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 :'(

Wednesday, September 16, 2009

I made it off to work with a bleeding toe again, not as bad as yesterday though, I really miss having 10 healthy toes... but at least nothing landed on my foot today, for a change. Getting through today was an exercise in exhaustion, my stomach wasn't very happy. I blame it on having 4 helpings of food last night but nothing to eat this morning :/. After getting home, I had a quick cookie to tide it over until dinner time.

Nearly twisted my left hand and fingers off getting the car loaded, had a bad slam into the car frame. I was able to send my arm into the motion to minimize the strain on the joints, but two of my fingers are still sore from it. They're not going to get any rest either, because while much of the illiterate-majority of computer users are largely mouse bound, I'll hang someone by their rats tail if I can't go keyboarding! I type with ten fingers at mental speed, so if I couldn't type, it would be like a normal person losing their voice lol. The trobbs are starting to subside somewhat, hopefully it won't be swollen by work tomorrow. Maybe I'll grab some server time tonight as a stress test.


Last night I took about an hours break from existing projects, to work on a rough prototype for part of an "SAS Realism" skin that I'm interested in making for SWAT 4. There are two different directions I can see it going in, so I started work on a mock up of one. In working on Cara's armour vest, I had to do a little removal operation on the textures in order to get the text just right; doing that is pretty trivial but left it rather unsightly. In order to make it look good, I had to learn something new, which created a very nice looking end result for the vest textures. To solve the problem, I just looked at it like a sketch and tried to adapt what I would have done to paper, to the laptop in front of me. I chose to take an hours break and work on the mockup so I could refine the technique a bit more, might come in very handy with the next phase in doing Caras skins.


When I was at work, I was thinking a bit more about starting to draw again. The more I learn about the computer side of things, the more it looks like the same concepts are used with a different set of tools. At every opportunity to prove other wise, my mother constantly manages to prove that I can say *nothing* around her without paying a price for anything she finds disagreeable 8=). So, I'm probably not going to return to using paper anytime soon; especially when computers are better creators of privacy around here. Doing graphics on computers has never been my strong point, but it consistently gets easier the more I have to work on images. Someday maybe I'll be able to do whatever I want through software like GIMP and Photoshop; and it is always nice to have something time consuming to work on, it can be very good therapy. I think I'm going to give it a go in the near future.

With my brain in a deeper level of thought from all of that, I also came up with some ideas needed for moving a program I would like to write into implementation phase. I'm always happier when I'm working on some code then when I'm not. The down side of course, is it usually means much less sleep! Since it was working on her custom skins that started this logic chain, I'll probably have to thank or curse at Cara later on lol.
Only had like 2 or 3 hours sleep last night at the most, and should we say, mornings here just reinforce, feeling like nothing but an asset in the equation :-(.



Been experimenting some in GIMP on a few things related to SWAT 4 skins; also to my joy, the DDS plugin compiles and builds fine on FreeBSD. I kind of like working on images in GIMP, doing something decent can really be time consuming, and since I'm rather inexperienced at putting such software through it's paces, it incorporates a measure of exploration as well. Because the display on my desktop, basically makes anything involving blacks impossible to work with, I've been using my laptop more and more for image stuffs. Really, I prefer the touch pad; for everything I've thrown at it, except for gaming. (My laptop isn't capable of running many FPS games.).

There is a lot of stuff I wish I could learn about software like GIMP and Photoshop, but all in all, I just can't see myself doing that much work. There are just some things that I can see most effectively done in software, and other things that I just can't quiet put into words... but could likely take a wild crack at with the right (artists) tools.


When I was younger, I used to spend a lot of time drawing, I loved to sketch and to doodle. It's been more then just many moons, since I last drew anything by hand. Heck, the last time I even held a pen in hand, was probably at the doctors office... lol. Really, I'm not sure exactly why or when I stopped drawing, but it was probably between 2002-2003 or so.

Technically, I'm not to old to start again, and with the right level of applied effort, I could learn much more then I did. But, I think such would be more trouble then it's worth, and worse, likely break down further what privacy I have offline. My mother studied as a cartoonist, so obviously she would likely want to butt her noise into things; and shall we say, things that I do to relax, I generally do not wish to be "Disturbed" over. That being said, the best things I ever drew while growing up, were probably drawn in the dark, by nothing more then TV light! Digging out more then a No.2 pencil would also be pushing the limits at my stealth skills considerably, and I'm very good at most things clandestine...


All of my life, I have looked for forms of expression...Things that let me put what I'm feeling into motion, let it take some shape and be free. Although arguably such things could be considered a form of communication, I've never cared to much about using it as such, so much as for its own sake. Personally, I consider myself somewhat self-centered—which is an attribute I utterly hate. But, for me it has mostly been a way of 'surviving' without being erased by the world around me. You could say that in my world and in my family, it is very easy to become trampled over here.


Sigh, sometimes I really don't like my life.

Tuesday, September 15, 2009

It's just a few more days left to go.... Tues, Weds, Thurs, Fri; then I have 3 days off work. THe miserable thing, I haven't a damn thing to do, that doesn't come from popping from the todo list!

Right now it's just as if everything is passing, but nothing is moving. Damn it, this is unnerving. I feel like I could be awake for another couple hours... probably will be tossing and turning for at least an hour. I wonder tentatively if I'll ever find peace. Whenever I lay down to sleep, there's nothing to occupy my mind as it drifts to sleep; as such it gains an unhindered measure of exploration. The thoughts never end, never. Ironically during the day, if I have nothing to occupy my mind with, I end up getting drowsy: at night I end up wide fsckin' awake!!!


Peace ceased to be apart of my life a very long time ago. That which remains, is black and empty, maybe it will always be so.
This lack of sleep is driving me crazy... is it really to much to ask for, a simple bit of peace? Why is it so hard to come by such a trifle, it's just sleep. Going nuts.

So far I've managed to write a quick script, that should take care of updating my laptop tomorrow afternoon; took to long getting the files downloaded to worry about running them tonight lol. That however, just passes the time, it doesn't fill it. To easy, there's no challenge in it and not very much distraction either :'(. At least, it'll save me the trouble of another week-long update cycle, if I keep pace with things (like normal).


Tried reading some of the Count of Monte Cristo, but not even that calms my mind. Sometimes the past can be a path riddled with glass, if you have a long memory; and I have a very long memory. Sigh, 0430 local has passed... time to be heading to bed, if I'm ever going to get up on time tomorrow.


I'm so tired of all this shit,what does rest even feel like? Does it even have a sensation to it? I haven't known it in such a long time. As darkness comes, the light retreats; as sun rises, so does the flames.

Monday, September 14, 2009

Fresnal Melee, SAS style

It was the last round planned for most of us, and I got elected as Element Leader... so I called for something totally insane!

I ordered everyone to sling their weapons and skip the tac aids - none would be used. We then inserted into Fresnal station and made it half way through one of the largest maps before taking any causalities. Cara died by enemy shotgun shell, after weaving into my line-of-melee, then COT died by the same suspects 12g, when the guy fired while being beaten to death by two SWAT officers lol.

Walker and I then moved on and continued to clear the map.... the suspects never knew what hit them. I made it until being killed in a lag spike, sigh. In RvS at least when you lag out, you're hard to kill, in SWAT you just become bullet-bait.


If it wasn't for Walker firing one LTL Bean Bag round into a suspect about to flee the map, we would've completed the entire map with NO weapons or tactical aids what so ever. And if it wasn't for extenuating sircumstances, no one on our team would have died most likely!



Perhaps we are crazy as lunes, or just enjoy a challenge. With no weapons, one has to move fast, and SWAT 4 doesn't lend itself to unarmed combat as readily as real life does; slow punching but 2m distance is not a good trade off. The real key to it, is mastering the angles involved in the confortation—and beating the enemy senseless. It's even possible to take 2-3 suspects at once given the right stuff. Until Cara stopped exploiting the angles, it was an interesting 5-vs-1 pistols to fists fight for a moment on the next map lol.
*sigh* it's around 0400 local, I've been to tired to do much of anything tonight yet to awake to sleep. I'm still essentially wide awake, just exhausted. Tomorrows and early morning, only it really is today, in more ways then just the clock across the room.

I just wish that I could get some decent sleep for a change.... it would sure beat concluding the work week in zombie-fashion. My next day off is Saturday, hopefully there won't be any interrupts. Lol, even the dog is stairing at me, as if to say wtf are you still doing awake!

Without a doubt, I seriously need some serious R&R
There was nothing on TV, that I haven't seen a gazillion-times, so I ended up catching the last hour and a half of Shakespeare's Romeo + Juliet while waiting for AVPR to come on. While Romeo and Juliet is one of my favourite articles of Shakespeare, I've avoided watching R+J for years: the attempt at mixing a modern setting with the classic dialog, just makes me scratch my head and wonder what on earth they were thinking lol.

While much of the setting (but not the poetry) is fairly easy to translate to the 1990s, not everything quiet an fit so well; not to mention being condensed!

I feel that Lord Capulet's commandment for Juliet to marry Paris, would simply be lost on a modern audience; at least in the States. Not only is arranged marriage simply not done, Capulet's order would nether hold in court of law nor communal practice here; in a modern setting, it would also have effectively solved all but the family feud!

CAPULET 

Hang thee, young baggage! disobedient wretch!

I tell thee what: get thee to church o' Thursday,

Or never after look me in the face:

Speak not, reply not, do not answer me;

My fingers itch. Wife, we scarce thought us blest

That God had lent us but this only child;

But now I see this one is one too much,

And that we have a curse in having her:

Out on her, hilding!

-- Act III, Scene V of the play; as rendered in my archived copy.


Friar Laurences use of a postal service was a nice touch, but the ending was somewhat "Lacking", perhaps I'm just spoiled? The only good thing I can say, is they were so kind as to censor Juliets death—should we say that an ACP round to the temple is likely to be a lot messier then a dagger! I really don't care uch for the film, just not my cup of tea. Since the goal was to pass time until Aliens versus Predator Requiem came on (which is closer to my style), I suppose that was a success :/. Alternatives would have been Tremors or the Last Action Hero; all of which I have seen much of over the past couple years.


I still remember the first time I read Shakespeare's play, a good friend had recommended it as a potential source for inspiration. While it yielded none, it was however a good read; Romeo & Juliet and Hamlet are two of my favourites. I have however, never cared for any of the film renditions of Hamlet. And quite purposefully, I'm not familiar with any of the formal adoptions of R&J to the big screen.



BENVOLIO 

Why, Romeo, art thou mad?



ROMEO 

Not mad, but bound more than a mad-man is;

Shut up in prison, kept without my food,

Whipp'd and tormented and--God-den, good fellow.



-- Act I, Scene II

Sunday, September 13, 2009

Chuckle of the day, 2009-09-13

Lucas entered into a wager with long-time friend Steven Spielberg during the production of Close Encounters of the Third Kind. Lucas was sure Close Encounters would outperform the yet-to-be-released Star Wars at the box office and bet 2.5% of the proceeds of each film against each other. Lucas lost the bet and to this day Spielberg is still receiving proceeds from the first of the Star Wars movies.

-- source: http://en.wikipedia.org/wiki/Star_Wars_Episode_IV:_A_New_Hope
Nearly time to sleep, irregardless... sigh. Really, I think I've only had one decent nights sleep in the past 3 weeks or os, it sucks!!!

I'm just so tired of all of this crap +S.

Saturday, September 12, 2009

I've edited my init.sh script so that rs-mgr should be called during startup and whenever I close FVWM. So far things are looking pretty good, hehehehe. Also, I set MPlayer to playing El Dorado.

Spent about an hour and a half or so working on ma's computer, Norton 360 continues to driver her nuts—by doing exactly what it is paid to do lol. For many years I had to deal with Norton Anti Virus and related products, I've always found them more trouble then they are worth; in 360s case, I would say that annoyance is the price of incompetence. Perhaps I am just old fashioned ^_^. Most of the serious security issues I've ever encountered are either the result of incompetence or fragrant disregard for sanity. Heh, finding a typical XP machine in use is always good for a barrel of laughs!

Friday, September 11, 2009

rs-system

It took me about 5 minutes to write a little "rs-mgr" script, having already came up with an interesting solution for a routine problem.


I think I'll start checking stuff into a little git repo, for safe keeping. Basically it is a simple system built around rsync and ssh, designed to meet *my* needs for getting work done.

At first, I experimented to find the desired rsync setup, then I wrote scripts to do the job; rsync has a batch mode of sorts, but not one I'm prepared to go to bed with. The first incarnation of the system, relied upon the rs-push and rs-pull scripts. Which respectively drive `rsync home remote` and `rsync remote home` operations with the desired tweaks.

They are simple and easy to adjust, but only know how to do exactly ONE thing well: rsync my home directory in a given direction.

Since there are some kinds of file that do little good if shared between different OSes, like object files. I wrote a central file (rs-exclude) to use for weeding out unwanted files from the transfer. That was a quick adjustment to rs-push and rs-pull. Currently my rs-exclude file causes rsync to ignore any GCC or MSVC object files, as well as useless Intellisense databases.

The remaining problem of course, is how to get my machine to automagically do the right thing. I would rahter like it to do the magic at login and logout time, but how to do it? Simple: write another program. The new "rs-mgr" leverages its companions to solve the pushmi-pullyu problem. By invoking rs-mgr, I can make sure the most up to date version is used rather then having to decide which, by way of doing a manual rs-push or rs-pull command.


I've taken a few moments to setup a git repo and adjust things for more portability, namely the defaults are no longer hard coded. Going to setup a level 0 dump of the good mirror, then configure my laptop with the updated versions, and set it up to run rs-mgr at the start and close of my X Windows session.




I am just hopelessly geeky.... ain't I?

.

Let's see, what's on the agenda for today...

Currently my set up uses manually invoked rs-push and rs-pull scripts, that run rsync for the obvious purposes. There is also an rs-exclude file for marking such nifty things, as skipping platform dependent object files and worthless InteliSense databases.

What I'm thinking is adding more scripts and a simple timestamp file, acline to /etc/dumpdates. The scripts would then be modified to manage the rs-dates file in order to decide whether they should rs-push or rs-pull from the server. My X session stuff just runs my ~/init.sh script, so it would be easy to setup a startup/shutdown sequence to events, but I could also use FreeBSDs rc system if needed, hehe. I'll probably wrap it around my X session, in order to keep it more independent of what operating system I am working from.


Likewise I want to write a program for sucking up the logfiles on my windows machine, and translating them for ship off to the server. Making a program for browsing the logs should be fairly easy. That however, isn't a major concern right now lol.
A surprise of being off work until tonight, means I'm not stuck on a back to back, it also means I got to sleep decently for a change, but oy what cooky dreams. Involving being hit on my a qay man, and me walking off with the thoughts, "This is the craziest dream ever, and I think I'm going to barf". To a conspiracy involving people from the Roman Catholic church and being shanghaied into the hands of a hidden Go'auld system lord. Yeah, crazy as a lune ain't it all? Before I woke up, I dreamed that I was working at a large company where the PHB pushed the final button, and before you knew it, we had unanimously declared mutiny! And brought the entire place to a technological halt ;)


The only time I worry, is if my dreams are sane instead of being mad as a hatter at a tea party lol
It's getting late, I'm not really all that sleepy yet but it is almost to the point that I need to sleep now, or the morning will be even more painful :-(. I had such a great nap earlier, for about an hour and a half after dinner tine. I twas awesome, dreaming of hacking code and working on a game, then a few OpenGL folk showed up to talk shop lol.

For as lon gas I've been working, I guess since 16 or 15; Thursday has statistically been the worst day of my work week.There's also something about the Thursday workload, that just seems to re-enforce the feeling that I'm just an asset here, nothing more then that. *sigh*.


Wednesday I was thinking at work, about making a list of all the obstacles in my life (old topic) and then tagging them, based on the problem. Well, obviously that is a rather depression idea, even if I wouldn't run out of disk space before finishing it 8=). Then I realised that it could be great fun to design and write a program to help me manage such a taggable database, that picked up my mood considerably lol. What can I say, I'm just hopelessly a geek of technology!

Tonight, I searched through old forum threads, and compiled the dates of my promotions in SAS, so I could compile a gauge of how much time I've spent in various positions. Ahh, it has indeed been an interesting journey. I like WO1 more then the last post, I've mostly a deskjob but since I'm no longer in the doing 3 members worth of stuff kind of business, I get time to kick back and enjoy things much more often.

Tomorrow is going to be an early morning, and a lengthly time at work, a sort of double duty plus errands afterwards. I'm so tired of this crap. At least, I ought to be off work for the 19th and the 20th, so I can catch up on projects. Current open-loops being some skinning in SWAT, continuing work on tpsh, and further shoe horning CMake into my little C++ project.


I've been thinking somewhat, that perhaps I do too much thinking; then again, that is an understatement to be thinking about, lol. What can I say, I'm just a thinker... it's been a life surrounded by fairly short-sighed people, and my intellectual side is perhaps the least repressed aspect of my existence here. I pour in a lot more thought to things, then most others seem to, I can't help it lol. Probably would make life easier if I could, maybe my brain wouldn't find trying to sleep, to be an exercise in computation.

Right now I just need some rest, I'm looking forward to the end of work tomorrow, because that means I can take a load off and play SWAT for a little bit - then it's time to work again lol. I'm stuck working straight on through until *next* Saturday, but at least this weekend is only light detail. Fuck, I can still remember how it feels to work like 30 days straight and be pulling multiple jobs. I really don't want to be doing that again, for a very long time!


Quarter after oh seven zulu, best try getting to sleep. Sometimes I wish I could just knock myself out....

Wednesday, September 9, 2009

Got woken up a little bit ago, bah humbug! Not only is the time for leaving for work closing in, it is also a bloated work cycle: Weds, Thurs, Fri (2ce), Sat, Sun | Tues, Weds, Thurs, Fri.

This time I was having good dreams, involving computers... lol. Much better then the last cycle of dreasm by a long shot, indeed. Now if I wasn't woken up early, and likely to be continuously annoyed until working hours start... where I am just regularly driven crazy instead. Poor trade off, isn't it?

I really wish I could take a long vacation from all this crap... maybe lose the return plane ticket in the process.

nights log

So far it has been a fairly uneventful night. I've been contemplating taking up another language, I'm interested in both Latin and Spanish, but have started studying neither yet. Mathematically, I would have to favour Spanish... because shall we say, while exposure to Spanish is fairly easy for me, Latin is a bit of a dead language! Really the only languages of value out here, is what *passes* for English, and of course Mexican / Puerto Rican dialects of Spanish. Considering the simpler grammar, studying Spanish in the long run: might also help to improve my German, which is useless at the compositional level, but occasionally handy at the reading level. I think the entire world would agree though, that I should work on improving my English skills, or at least stop the mixture of US/UK elements.


For time passing, I setup sudo on my laptop; had done it some years back, when I was running PC-BSD, but haven't used it since an updated overwrote my sudoers file, as I had forgotten to backup /usr/local/etc. I knew that PC-BSD was taking ownership of /etc/rc.local and making overwriting changes to sudoers, but didn't use sudo enough to care lol. That's one thing that has always pissed me off about PC-BSD, yet I have always respected about the *real* BSD projects: a concept of user edited files. You can play with /etc/rc.local and /etc/rc.conf on FreeBSD without getting biten, on PC-BSD you should use an rc.conf.local file: OpenBSD style. I'm always running the latest FreeBSD STABLE branch on the laptop, in this case RELENG_7, and anxious to see RELENG_8 become a practical reality. Heh, even on the OpenBSD box (which as sudo preinstalled) I don't bother using sudo that much. What I like about sudo however, is the ability to skip 'su - root', and limit access in a more general way—to specific commands. It's probably one of the best programs of its kind written, since su.

In getting playful, I split up my word lists (:help spellfile) in vim, into smaller organized chunks, and added a few more entries from FreeBSDs system dictionaries. As time goes on, I might expand things further, based on the kinds of texts I end up editing. All of my text editing is basically done in vim, so it also does most of my spell checkin' by virtue of that. Of course, Vi IMproved has an excellent spell checker, and perhaps the only one I've met that could be considered superior to MS Words. While I utterly hate word processors, and find them to be useless paper weights; I generally consider Microsoft Word the best known example of spell checking lol. I'm happy to say though, that I've evolved somewhat in the past eleven or twelve years ;). Now if only I could do something about the having-to-type-as-fast-as-i-can-freaking-think-problem, maybe my writing might actually be worth something, someday lol.

The 'Burbs was on TV, and coming on in a little bit is a good film that I really haven't seen in a long time. It's called Throw Momma from the Train, best described as a comedic remake of Strangers on a Train. I plan to log off, lay down, and try to relax for a bit.... hopefully relax. Probably will try to dig up another quick snack, something light but useful.


The internet connection has been offline for the last couple hours, first found out it was up when an instant message popped up on me mid-sentence! Hmm, got about 10 minutes until the movie starts, so it's time tos tart winding down. I'll probably be awake early tomorrow, assuming I get any sleep before work..... sigh.

Tuesday, September 8, 2009

Just got up, I've been awake about 3 times, dreams have been zany but tolerable. First time I woke up was around 0800 or 0830, was concious even before my eyes fluttered open :-/. Right now, I feel a bit like falling over, so I'm sitting down.


I'm still tired.
Just got up for a bit, feeling a trifle dizzy. Thunk about a snack but there's not much to choose from right now. Current times 07:17Z, that means I've been up most of the night... but hey, I've only seen the Scandinavian and Italian early birds log in lol.

I'm really not thinking very clearly right now, brains had it I guess. Checked in a few odds an ends to various git repo's, but have probably written more notes then code tonight :-(. I'm in no shape to do any coding tonight, dang gum it! I'm fricken exhausted but I'm still wide awake. Probably will put something on, set the TV's sleep mode, and try to lay down for a bit; maybe I'll pass out before the movie ends.

Think I'll go stagger into the kitchen and find a quick nosh first, an empty stomach doesn't help. Hmm, that reminds me, there was a few pommes frites leftover from dinner.. hmm, sounds like a plan!!!

Sigh, it is another sleepless night...

There is absolutely nothing on TV, period and end of quote 8=). As such, I have an episode of Stargate SG-1 open via hulu.com - I've also had my first firefox crash with flash10 since its installation. One thing that I dislike about my laptops display, is I can't keep my terminal at the usual size, then place the video along side of it; in a way that is worth while. Kind of shameful for a "Wide screen", isn't it?.

I'm just to tired to get anything done right now of practical value, maybe I might work on tpsh a little or pick up on something else for a bit. Either way, I'm likely to be awake for a good long while... ugh! Well, at least the dog is comfortable and sound asleep, and I've gotten my blanket back xD.

Monday, September 7, 2009

I've spent the last few hours playing SWAT, ended it with a bit of Barricaded Suspects (VIP servers virtually empty :'(). I don't really care much for SWAT 4s player versus player modes, since *at its best*, it basically boils down to forming a 2-3 man team: one with a big gun and the rest with 40mm baton cannon and cobras, arresting everyone in sight lol. I twas however a nice refreshing change - switch off the brain, run around, blow stuff up. Quake would have been a better choice.

Woke up around 0930Q, having dreamed something acline to the The Blackhole. I remember specifically a swirling blue-style blackhole, with balls of fire (like the asteroids in the film) flying form it, trying to escape but in the end, being sucked back into the event horrizion. Not to mention a lovely army of robots and an evil dictator, lol. The second dream, I don't remember anything of at this point, it faded away a few minutes after I awoke - to tasks to tend to :-(.


Haven't been in much of a good mood most of the day, this lack of sleep is driving me crackers. Still the same problems, sigh.
Oooh, I've just had a little brain fart of interest.

For lack of anything more interlectually interesting to do with my sleep deprived mind, I've been thinking a bit about some coding I could do on tpsh; then this hit me. The shell expands ', ", and ` quotes using a simple table to map the symbols to appropriate transformations, why not use the same code for () and {} grouping?

Internally the look up table for quote expansions is hard coded into the principle tokenization subroutine, because that is the codes only designated purpose in the program; it didn't need to be more general, then being easily converted to something more generic. After getting a working implementation that I could drool over, I thought about posting a modified version on a forum, as a demonstration of how to do quote handling in config files and such.

Now I'm thinking of more places I can use that little blighter with a few minor changes lol.
I wish I could get a decent nights sleep!!!!

Saturday, September 5, 2009

A few songs of recent encounter

A fugitive from unreality
No sign of my god damned serenity
Lost in these barren lands
That have nothing I demand
Had to look for something new
And that day I found you
I found you
I found you

Living in a house of cards
Waiting for it all to fall
Hope for the best plan for the worst
That's what my life is all about

Living in a house of cards
Waiting for it all to fall
Hope for the best plan for the worst
That's what my life is all about

A quasar from reality
With damaged mentality
I'll start editing your life
Replace the captain of your brain ship
Before we set sail for the fail

Living in a house of cards
Waiting for it all to fall
Hope for the best plan for the worst
That's what my life is all about

Living in a house of cards
Waiting for it all to fall
Hope for the best plan for the worst
That's what my life is all about

My destiny outruns me
And I can't find that key
To lock up everything that's bad inside of me
Don't you disagree
That your life would be so much better
Without me, that isn't hard to see
Hard to see

Living in a house of cards
Waiting for it all to fall
Hope for the best plan for the worst
That's what my life is all about

Living in a house of cards
Waiting for it all to fall
Hope for the best plan for the worst
That's what my life is all about

Living in a house of cards
Waiting for it all to fall
Hope for the best plan for the worst
That's what my life is all about

Living in a house of cards
Waiting for it all to fall
Hope for the best plan for the worst
That's what my life is all about
-- Jack of Diamonds, Sonic Syndicate

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 Déjà 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

Poco a poco, se fue metiendo dentro de mis pensamientos
y sin sentirlo se fue adueñando de todos mis sentimientos.

Poco a poco se me acabó la voluntad y la fui queriendo
poco a poco, se convirtió en la compañera de mis sueños.

Sin darme cuenta se adueñó de mi alma y de mi corazón
y me subió hasta lo más alto de este mundo
No he vuelto a ser el mismo de antes desde que llegó su amor
hoy soy feliz, soy feliz.

Por ella, sólo por ella que en un instante alejó a mi soledad
se fue mi nube gris y apareció mi estrella
sólo por ella, por ella.

Por ella, sólo por ella que me cambió la vida
desde que conmigo está
me veo en sus ojos y no tengo más respuesta
que si hoy soy feliz
sólo es por ella.

-- Por ella (Poco a Poco) {for her (little by little)}, Intocable

Getadelt wird wer Schmerzen kennt
vom Feuer das die Haut verbrennt
Ich werf ein Licht
in mein Gesicht
Ein heisser Schrei
Feuer frei!

Bang bang

Geadelt ist wer Schmerzen kennt
vom Feuer das in Lust verbrennt
ein Funkenstoss
in ihren Schoss
ein heisser Schrei
Feuer frei!

Bang bang
Feuer frei!

Gefahrlich ist wer Schmerzen kennt
vom Feuer das den Geist verbrennt
bang bang
gefahrlich das gebrannte Kind
mit Feuer das vom Leben trennt
ein heisser Schrei
bang bang
Feuer frei!

Dein Gluck
ist nicht mein Gluck
ist mein Ungluck

Bang bang
Feuer frei!
--Feuer frei (fire at will), Rammstein

Thoughts of Dystopia

The other night, I had an interesting idea for a short-story, which continued to expand as my thoughts drifted at work. In what I would describe as family "Digging the knife deeper", I was thinking about what it would be like to no longer feel any emotion; that provoked an old memory. While the weeks sermon is beyond recollection, I remember there was a scene from one of the mist acts put on by the drama team at church. Even more so I remember it, because I heard most of rehearsals on Saturdays, since the station for preparing communion was just outside the sanctuary, where they rehearsed on stage lol.

The jist of the drama was a man thrown-out camping by his wife, with orders to journal his feelings over the weekend. Being very frustrated at it (You especially have got to give him credit, for starting "In the year of our LORD, ..." before finally busting), the guy eventually shouts something like, "I have no feelings, I'M A CYBORG!!!".

So after that stuck in my train of thought for a moment, an idea developed in my head for a short story; that is in conceptually, somewhat reminiscent of Equilibrium, Logan's Run and The Island. (Yes, I like science fiction, both on screen and in literature lol.)



A place in the not so distant future, where most of civilization was deverstated by the fourth world war - the rich have retreated into their crystalline towers of golden splendor, while the working classes have become their enslaved automatons. Living in a world where every element of their very existence has been crafted to create a life of soulless service: numbers have replaced names in John 7345s world, a place where workers awake to the same cold, empty metallic building every day of their life: devoid of colour, creativity, friendship, or recreation. One day, a computer malfunction causes the main characters to draw the same work station assignments several days in a row, leading our protagonist to develop a forbidden connection with Marie 3890, who is assigned to a neighboring desk. Life brightens temporarily as the two skirt on dangerous ground, however it is not long, until they are reminded that in a place where interpersonal relationships of any kind are legal taboo among the work forces, failure to comply is met with brutal punishment and torture. When Marie is discovered to be pregnant, she is scheduled for extermination. The star-crossed lovers must break free, and flee from their dystopian existence, trying to escape into the wilderness that lay beyond the remnants of modern civilization—pursued by "The overseers".

It would explore what life might be like in a world where everything that makes us who we are, has become illegal. Where everyone is the same may-as-well-be-faceless cog in the wheels, a life of subsistence without substance. Cool grey uniforms and work environments devoid of personality, a place where even idle conversation between people is met with fierce consequences—by the vicious overseers. A class below the apathic wealthy that they serve, and above the worker-drones that they manage. Slaves like John 7345 and Marie 3890 might of an umpteenth generation of test tube babies raised in a steril nursery environment: ran by heartless robots, or perhaps grown in clone vats for the purpose of serving the rich: which would more readily explain the harsh controls on their humanity. At least such a dark future, would have to cut down on the cow-orker problem lol.

While it might be considered unmanly of me to say, it is a simple fact that most good adventure stories involve a love-interest; whether it serves to make you puke or just create the motives.


I often come up with interesting ideas during dull moments; this would probably be the 7th idea I have had for a short story (or small book, if you prefer). However, like so many interesting trains of thought to pass through my head, it is one that I will likely never have the time, nor energy to commit to writing :'(

Thursday, September 3, 2009

In the sunlight of your smile
In the summer of our life
In the magic of love
Storms above scattered away

Lovers dreaming in the night
Reaching for paradise
But as the dark shadows fade
Love slips away

On an empty stretch of beach
In the pattern of the waves
Drawing pictures with my hand
In the sand, I see your face

Skipping pebbles on the sea
Wishing for paradise
Sand castles crumble below
The restless tides ebb and flow

Listening to a shell
Hoping for your voice
Beautiful Maria of my soul

Though we'll always be apart
Locked forever in a dream
If I ever love again
Even then, nothing will change

And the taste of you remains
Clinging to paradise
But as the distance from you grows
All that my heart ever knows
Hunger for your kiss
Longing for your touch
Beautiful Maria of my soul

Filling all my nights
Haunting all my days
Beautiful Maria of my soul


Doesn't it just suck, to have a song stuck in your head?

Wednesday, September 2, 2009

Just a quick'ish update before I pass out

Over the past two days, I've basically setup OGRE 3D from the trunk in SVN. Things are basically set for building under FreeBSD and Win32, I've just the FreeBSD Debug build to do; that can be done later. Tonight, I spent a few hours playing with CMake; inhaling practical documentation, and converting my ogre project from Visual Studio files to using CMake for the build system, including only /moderate/ streams of cursing in the process. Tomorrow I need to test it under FreeBSD but that should go according to plan, hehehehehe.

I want to spend some time restructuring the project files and checking things into git, now that the prototype is ready for progression *and* I have the energy to continue the experiments: it is time to get version control working.


Before heading off to bed, I figured I'd make a quick rounds of things, since I'm not going to have much time before work in the morning. Then again, I won't have much time during the day either lol. Ugh, how I would enjoy a decent nights sleep... it's been at least 4 days, although arguably it's been years; that is a however, a different matter.

On the upside, I got to watch abut 4 episodes of Stargate SG-1 over on Hulu.com tonight. Among them was one called Window of Opportunity, which just cracked me up something fierce. To me, sense of humour is everything :-P. The premise of it all, is O'Neill and Teal'c being stuck in a time loop, repeating the same events ad infinitum until they can find a way to solve it. By the time Teal'C started juggling during the Latin study/translation scenes, I think I was about ready to fall out of my chair! The golfing bit through the Stargate was also a rather nice touch.


Sigh, 0800Z cometh....