As soon as CLN finishes compiling, I’m off to bed. Tomorrows work (oi), and I need to start planning my schedule for what things I need to work on over the weekend…

For some reason, no matter what I feel like, I am virtually working all the time… lol.

I’m tired, very tired. There’s an Italian word that I would use to describe how I feel, but I don’t know how its spelled, and expressing it in English is a little bit tricky. The concept though, extreme exhaustion. Being woken out of a sound sleep didn’t help things very much either!

Spent some of the day playing SWAT 4, but not really in a stable frame of mind.

Ahh crud, “Urgo” in Stargate SG-1 has me creaving pecan pie…. lol. Unfortunantely the only available thing is butter pecan ice cream, alas it’ll have to hit the spot.

Also have been working on updating my laptop, the funky issues with some ports configure scripts failing to locate libltdl were resolved by installing guile and libgphoto2 from packages. Ha, this episode is cracking me up. C++ bindings to the usual GNU libraries are compiling atm. Normally I try to update things every month or so, but lately I haven’t been using my laptop much, so obviously I ain’t been able to update anything.

Used some of the compile time, to play RvS eariler. I expected that I would be pretty rusty, since I haven’t played RvS in maybe 3 or 4 months, if not longer. Yet it seems that all the SWAT 4 action has gotten me even more effective at RvS, hehehe. Maybe I might pop in more often over the coming weeks? Hmm, tempting!

Why am I feeling scatterbrained?

Been searching my journal to try and find when was my ‘last’ vacation, which was a working vacation. Last time I actually got even that much of a vacation, I kept a blog file: http://sas-spidey01.livejournal.com/73102.html as memory serves, it was basically 3 days of antangonistic-hell. It’s been so long, I don’t remember if that was the year I had to unload a packed-to-the-freaking-brime-and-beyond car in around a 110 degree (~43 Celsius) heat or not… but at least I know, soon it’ll be at least 2 years since my last vacation of any kind. I don’t remember what the last time I had a ***real*** vacation was, only that it was a long time before I began journaling.

In searching through my journal for the date, I’ve found numerous links that have brought back memories:

2007-06-09, Ich bin muede (en: I am tired)
2007-06-11, A Troopers Call
2007-07-09, A little BattleTech
2007-07-19, The day that Macy died
2007-07-30, Techno Nightmares (of Screamers)
2007-08-02, How old am I? (an old post about my age in SAS, including a list of people I saw in make Rct; outa update that someday in a new post)
2007-08-12, A ROLF moment
2007-08-12, Right or Wrong? (dark memory)
2007-08-23, Bell Tower Sniper
2007-08-23, A collection of jokes
2007-08-26, Relating songs to life
2007-09-16, Raged Spiders (massive fiasco)
2007-09-26, I like (a new/profane phrase)

I’m just totally wiped out right now. I’ve been going since Friday with few breaks beyond food/chores, and now it’s Tuesday!

The more I try to figure out how to get free of this place, the more spanners people throw in the works. Virtually all calculations with Operation Redeemer are looking at +1 year, with the potentiality to get much worse, courtesy of family.

I’ve done just about everything to get the operating environment I want, short of resigning from the few games I still play – life would rock if I could setup Xen and have full 3D hardware access in a Win32 guest lol. The more time I spend with Windows, the more and more need I feel surrounded by bogus software. On unix machines, I’ve never had such want for _decent_ software!

I’ve also spent most of the day/night working on a small project, which reminds me of why I utterly hate Content Management Systems—they usually get in my way. If it wasn’t for the CMS specific issues chopping up, I’d probably be done by now. Debugging further isn’t something i have strength for right now, it’s been 5 languages and 8 to 10 hours of work today. Most of it’s also been spent editing via a slow SSH session, using a mixture of vi and vim.

With how many years it’s been since I’ve had a decent vacation, I’m starting to wonder what the last time was that I had *any vacation at all*

Hilarious session error with rsync/ssh

For the sake of experimenting, I installed Debian Lenny into VirtualBox on the Winsucks machine, being lazy I used the network installation ISO hehe.

One of the things I dislike about Linux distros, is they don’t seem to take kindly to a leading capitol letter in usernames for some reason. Debian’s installer also (logically) set my uid/gid to 1000. Rather then map between uid/gid, I merely use the same values for my account on all machines. Since BSD could care less, I also use ‘Terry’ instead of ‘terry’ when possible ^_^.

While setting up for the test, I also changed my accounts uid/gid; oh boy is the vipw program talkative. In doing that, and then running the test from a shell w/o logging out and back in again first, resulting in this funny error message:

terry@virtuous:~$ rsync -arz --links --safe-links --no-D -tx -e 'ssh -l Terry' --rsync-path='cd /srv/rsync/conf && /usr/local/bin/rsync' -n  --stats Terry@vectra::home /home/Terry
You don't exist, go away!
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(635) [receiver=3.0.3]
terry@virtuous:~$

Making sure my sessions uid/gid are correct with the system databases however, fixes that lol.

Currently, I’ve setup VirtualBox to boot Debian into console mode and run it ‘headless’ with ssh+x11 forwarding. Should we say, I’m more then comfortable using a unix shell, ;-).

Ugh, crazy dreams! The first round, The first set I guess, could be described as being stuck in a Twisted Metal competition. Followed by being int he shoes of a Bart Simpson that died and ‘went to hell’ kind of like episode of the Simpsons. After that I woke up just a bit after 0830 local, so I went back to bed. Then imagine being trapped in a house with a bunch of whiny losers! Having to climb a chair, stick your head up in the attic, and climb up to search for supplies; convenient as some form of military sirmish outside resulting in everyone getting pumped full of holes over mistaken identity. After calling down “is everyone dead yet?”, as somehow expected it was only a moment until bodies started lifting themselves zombie-like off the floor and trying to climb up. You gotta hate it when the shotgun shells are replaced by bb’s!

Honestly, the only time my dreams worry me is if they make logical sense, instead of being strange and weird.

Writer’s Block: Good Days and Bad Days

What is your least favorite day of the week? And your favorite?

Live Journals Writer’s Block

least favorite: Thursday
Of all the days of the week, Thursdays have consistently been some of the worst days of my life. If I added up all the times at work that my brain has drawn a mental line in the proverbial sand, that if I’ve got to take anymore crap… it’s time to walk home—there would be many Thursdays in the equation.
favorite: Mondays
I often have seasons where I’m off work on a Monday, either every other week or every week ;). As such, I like it: because I can take it easy on Saturday or Sunday, and finish up things on Monday before I’ve got to go back to work lol.

Thoughts on how IM software can be implemented

Pidgin is implemented in the fairly typical way, libpurple provides the support for the network protocols and a ‘chunk’ of plugin crap for everybody. Pidgin and Finch provide graphical and textual user interfaces around it. I don’t think I really want to know more about the relationship plugins have with the purple library and their respective UIs then I already do. Although I’ve never used it, I reckon that InstantBird would be designed like Pidgin, but with a Mozilla Firefoxian XULRunner UI layer in place of the GTK/GNT UIs of Pidgin/Finch.

That kind of implementation for a program like Pidgin is basically Computer Science 101, using XULRunner may be considered CS 102. Pidgins approach to solving the problem is about as standard as putting butter on your toast in the morning. Early today, I was thinking about how I would implement an Instant Messenger program; let’s just say I’ve used many and hate them all :-P.

The first thing that can to mind is splitting the program in half: a multiplexing daemon and a chat client.

The daemon would take care of the per-protocol issues, likely using libpurple (as its so damn popular 8=) or a plugin architecture built around per-protocol libraries (libmsn, libgfire, etc). The client would provide the part of users actually see, and communicate with the daemon over network sockets to perform its task. You would launch the daemon and it would log you into the various networks, then you would launch the chat client and connect to the daemon. About 10 minutes later I figured it would likely be worth trying to implement the server daemon to chat client communication, by making the daemon expose its interface to the client as an XMPP server; instead of rolling my own protocol to do the same type of job. I am personally not partial to XMPPs functioning, but find it exceptionally useful in practice.

What side effects would my decision have?

A.) The daemon (your accounts logged in) could run on a different machine then your chat client (chat windows). This would make it trivial for example, to run the daemon on my file server and connect to it from my other computers – without logging out of AIM, MSN, blah blah. It would also be trivial to allow tunneling the two programs communication over an arbitrary program, like SSH, which would provide local-encryption of traffic between client and daemon 😉

B.) Because of the client / server design, it would be possible to access those IM networks from multiple locations at once, even if the protocol doesn’t support this. This is because the server daemon is logged in, not your chat client, hehe. Meaning that the daemon would have to implement the concept of multiple clients connected, which would be fairly easy (thinking of how this might be done if daemon-client commu was XMPP, really made me smile when I realized that XMPP supports something close enough to this).

C.) Because the client has no concept of a network protocol beyond what it needs to talk with the daemon (that does the real network leg work for various protocols), it has no physical connection with the implementation of code that does.

A and B would create an Instant Messenger program like Pidgin, that is to IM what TMux and GNU Screen are to terminals! Point C would just be awesome in my opinion. It would evade creating something like the UI related fields of PurplePluginInfo’s and make installation and maintenance more independent then any other IM program I’ve seen.

To me, the daemon+client thing it is just the most obvious way of doing the job…. lol. Ahh, I wish I had the time to write it!

It’s getting to be that time, that time frame where I know I need to be getting to sleep… yet, I don’t feel like sleeping. I’m also to tired to do much of anything else :-/. I don’t have to be up early for work tomorrow, unlike today’ish; but I instead have to work most of the day!

What I really need is a vacation. Time away from it all, with not a care in the world…. but then again, I would probably still be miserable lol.

I’m so sick of watching time pass by.

What a day at crockery design, inc.

Nothing like a late night to remind you that you’re alone, nothing like waking up in the morning for work; to remind you that your more of an asset then a person in your families bottom line.

I managed to survive work without to much damage, even got to be out in the rain for a bit after getting home (which I relish). Most of the afternoon was spent, well honestly I don’t remember much of it.

I did however come up with a possible solution to a small “Problem” I have with getting cwRsync to obey. Basically, I can’t make the S.O.B. contact the server (vectra) from sal1600. The idea is, instead of running rsync on sal1600 (client) over SSH to vectra (server), to do the usual one-shot daemon over encryption trick. Instead, make a script that causes sal1600 to launch a one-shot rsync daemon, and then to “phone home” to the server and cause it to trigger the rsync from server to client. The logic of fixing things under windows, the client doesn’t work, so make the client a server that tells the server to use a client like it was a server… ok, that’s just fucked up. I think however, with a little trickery to make it work that way via SSH; it will probably solve the problem. With much less pain then doing some kind of diff and patch crazyiness in place of rsync.

GCHQ’s also decided to re-elevate the priority on my fixing the mighty page. The basic problem, I’m a WO1 assigned to the “Special Operations Wing”, which belongs between the Commissioned Officers and the Senior Non-Commissioned Officers groups. Instead, I (and now Timbo, since his becoming a fellow WO1) was displaying at the end of the page, under the Vets list. It’s been that way ever since I ‘repaired’ a majority banaided and brain damaged bit of code that is integral to things working smoothly. Since I consider such a matter of ‘personal vanity‘, I’ve never had a problem with it being broken. But I reckon, those on high are right, it doesn’t look good if a high rank is listed below the rankless, lol.

In studying what makes the whole thing tick, I’m not sure whether or not it is just a huge crock of shit or a clever attempt at trying to produce faster code. Either way, if I ever meet the original author, I’ll punch the fuckers lights out. Then I’ll give each of my fellow admins a chance ^_^. While the initial problem was painfully obvious, finding ‘why’ it happens was not quite so simple. When I found the next clue, I got curious and began to concentrate further until the light bulb turned on.

When the light bulb turned on, I decided either the original programmer must’ve tried to tune every ounce of speed out of the algorithm—working under the assumption that every instruction is equal to the sum of their quantity, rather then their cost times their quantity… or it was put together by some asshat who expected it to result in a “Write once, run always, read never” body of code with no concept of software engineering.

Either way, if I ever meet the person, they will loose teeth if we discuses software-stuff.

On the upside, out of all of todays stuff, I did finally get some SWAT action in… with all the work I’ve been doing lately, it was probably 3 days since I got a decent game. Or should we say, around 15GB of encrypted network traffic to shuffle to and frow, ain’t fast and don’t mix well with games.

Right now though, most everything is done; whew.