The war is on

Well so far all is working semi-well…

The K-Menu key does not always work on every boot.

I’ve managed to piss off my router and vice versa trying to convice it that two machines asking for the same IP is not smart.

After a period of time the laptop totally locks up and has to be powered off by force (button). Can’t restart X or switch to a virtual tty ! Not sure what does this… System ran 6.1-Release under the hood no problem. So I doubt 6.2-Stable is any problem (I hope), the only *major* change other then that is Xorg 7.2 instead of 6.9…

I’ve been dicking with the xorg.conf file merging some changes from my old file from xorg 6.9… Hopefully it’ll fix it. I’ve aslo disabled the Beryl thingy on boot up, if it happens again (lock up) I’ll probably try killing HAL. After that test turning ACPI off, after that… boot safe mode and scream.

Fetching ports now, so hopefully I’ll be able to get some stuff setup. Most of my home directory is ready to go, I should probably dump /home and move it to my server just in case.

Enough, it’s time!

Ok… I’m tired of waiting. I could have a FreeBSD 6.2-Release + KDE3 setup working before PC-BSD v1.4 is released.

Phase I

I’ve unpacked my backups and reorganized/cleaned my home directory. It really needed it. CRAP, I forgot to backup my codecs…. Oh well just a quick trip to mplayers website. I zipped up the ‘new’ home directory into about 1.6-1.8gb of archive.

Phase IIA

I removed all my storage partitions and replaced it with a 5GB FAT32 slice using Knoppix + QTParted. Booted back into PC-BSD v1.3.4 and downloaded the backups via SMB to the FAT32 partition

Phase IIB

Booted Knoppix and used QTParted to erase the PC-BSD partitoin and create a huge ext2 slice. I left about 23mb free and have an active ext2 slice for PC-BSD to reformat.

Phase III

Installed the system… Found a possible bug in the installer and sent a msg out to Testing. My webmails still a reck…

Phase VI

Now to boot her, reinstall my backups and get my baby back in action.

The GOOD thing, is if any thing happens to my data. All of the important stuff is backed up in 6 places, the OS Config in 3-4 places too.

more later.

Whats a good way to get ones mind off painful thoughts?

Keep busy….

Code and Gems

On a whim, I started work on anew toy.

A ruby script to process in an M3U play list and output a track list in HTML (with some nice options and stuff too).

While I could probably find a script for amarok or google some thing to do it. I’ve been itching for some thing to sink my teeth in, thats not going to take years to do. To be honest, I’ve been going crazy…. Can’t stand not to have some program to work on, ether writing, debugging, configuring, or testing.

I’ve never really been the sort of guy, that could just sit down and say “Ok, we need to get result foo… So we’ve got to do bar to get it”. When I have most of what I’m doing formed in my minds eye, I can write it out. And kick it about till I make it work (usually). But if I just knock my head on the wall, I usually fail to figure out how to do the things in the middle. Unless my brain kicks into gear and figures out a nice overview $_$

Needless to say, I doubt I’d ever be happy playing with searching and sorting algorithms.. lol. To night, I’ve had a lot of fun. The program might not be one I’ll use much but the important thing is

  1. I’ve had fun working on it and
  2. It lets me learn more about the Language
  3. Enjoying working on a little some thing every now and then is my favorite way to learn the features, standard library/e.t.c, and memorize the syntax of the language

It’s been one of the rare times where I got a simple idea, a ruby script to take M3U files and spit out HTML track listings (simple and fancy/detailed). Sat down and started munching on the problem… step by step, without any real overview of how to do it.

When I worked on rf.c, a little program I made… Because using cat(1) to print an entire file to stdout instead of concatenating files annoys me 0.o

I had a lot of fun learning, it helped me get used to using GDB and writing C instead of reading for a change. but when I did rf.c, I had a pretty complete mental picture of the program before I ever started, I knew I’d want it to do x.y.z. And I knew how I would have to implement it more or less, before I started line one. With this toy, I had no idea what the heck I would be doing in Ruby other then I’d be dealing with strings and file paths.

So, it’s been a wonderful time just sitting and working as I go along… Hell when I do some thing. I test sections of it before I use it, make a prototype, fix the errors I can find, adopt it into a semi-finalized version. And work on it till it’s the best quality program I can make of it. So, whats the harm in playing with a toy? xD

Instead of having to sit down and create the blue print before hand !

0442 local, nearly 1000 Hours Zulu time… So I’m glad that I’ve only got a short run to work tomorrow and little need of waking up EARLY besides walking the dogs.. Ok, bed time !

Crazy Monkey style

Found this song and it’s been suck in my head since…

Code Monkey
Jonathan coulton

Code Monkey get up get coffee
Code Monkey go to job
Code Monkey have boring meeting
With boring manager Rob
Rob say Code Monkey very dilligent
But his output stink
His code not “functional” or “elegant”
What do Code Monkey think?
Code Monkey think maybe manager want to write god damned login page himself
Code Monkey not say it out loud
Code Monkey not crazy, just proud

Code Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
With big warm fuzzy secret heart:
Code Monkey like you

Code Monkey hang around at front desk
Tell you sweater look nice
Code Monkey offer buy you soda
Bring you cup, bring you ice
You say no thank you for the soda cause
Soda make you fat
Anyway you busy with the telephone
No time for chat
Code Monkey have long walk back to cubicle he sit down pretend to work
Code Monkey not thinking so straight
Code Monkey not feeling so great

Code Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
With big warm fuzzy secret heart:
Code Monkey like you
Code Monkey like you a lot

Code Monkey have every reason
To get out this place
Code Monkey just keep on working
See your soft pretty face
Much rather wake up, eat a coffee cake
Take bath, take nap
This job “fulfilling in creative way”
Such a load of crap
Code Monkey think someday he have everything even pretty girl like you
Code Monkey just waiting for now
Code Monkey say someday, somehow

Code Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
With big warm fuzzy secret heart:
Code Monkey like you

A ROFL moment

Many a time I’ve seen a Pack of Root beer come with a broken can or sticky where one had broken in another package. Rough handling from truck to stocking shelves I’ve always figured.

I was carrying a plate into the kitchen when some thing fell. I heard a clatter and saw a spray of some thing cross the cabinets. When I flicked on the lights and saw what must have happened, I nearly keeled over laughing.

The falling knife sliced open a can of root beer, through the packaging and it’s a knife that would barely cut butter!!!!!!!!

On closer inspection I found that the position of the knife on the deck indicated it’s most probable trajectories would’ve had the tip-area of the blade strike the root beer carton. The piece of box was cut through and when I removed the can it spewed root beer all over and I found that the can had been cut through! It’s only a milimetre or so thick at the most I’d say. But most Soda cans are made of Aluminum in the USA, while most canned food cans are Steel and some Tin. The knife hit it with enough force for total penetration.

Now if it was a good knife I could understand, no problem but come on. These knifes are probably older then I am. So, I’m 19 and we’ve had them as far back as I can remember. So they’ve got to be at least 15 years old, minimal. They cut food fine, if you work at it enough and it’s not to thick. These are the kind of knife, you like to have for safety. :/ My moms had numerous accidents over the decade where a *good* knife would’ve taken most of her finger, maybe even cut down to the bone. But because she was using *these* dinner knifes, she always managed to get away without even a CUT ! Even me, I’ve dropped them and had them land on my toes -> Not even a scratch!!

Yet with a little bit of Gravity and what not, it packed enough force to CUT through the box (1.5~2mmm thick), through the can, totally gashing open a slit in one side of the can. And the Root Beer had enough force to spray out of the can, box, and a foot (~0.4m?) across the room till it finally hit some thing solid.

You’d probably have to have been there to find it funny, but I was having a real Rolling On The Floor Laughing My Freaking Butt Off (ROFLMFBO) moment!!! I’ve been around these knifes most of my life and have had canned soft drinks like forever. I was laughing so hard my mom was even cracking up at the site of it.

Hmmm, I new problem to deal with.

I’ve finnally gotten my favorite radio station in this burg to play on my laptop (PC-BSD). The ketch is to do it I’ve got to use an URL in konqueror to launch the window, basically what I do in IE7 and it works the same way. Other then it’s a kaffine plugin rather then Windows Media Player.

The problem is I have to toy with kmix and adjust the sound systems volume to tune it. With the WMP Plugin it’s as easy as sliding the volume switch.

Bloody heck, trying to post this has taken hours….. Trying to get any thing done in this house is very VERY hard unless every one else is sound asleep… which means no sleep fo rme.

Thursdays are always a pain

Well, even now that I’m not working usual hours on Thursdays… they are still nightmares. Most of the days been a collection of minor disasters of one sort or another.

I’ve managed to actually get two things done today… Just two worth noting.

Working on controlled pairs w/ the G3A3 in RvS, dealing with multiple targets, and my favorite. A quick double tap followed by a follow up to the head/neck to make sure they go down for good. The over riding rule I have in ammunition usage, is I keep firing till I can confirm the targets out of the picture. The first 2 rounds might get him, but I have no problem with firing a 3rd or 4th before they hit the ground. It might be a waste of ammo but if I’m not sure they are neutralised after my normal 2-3rnd burst. I’m shooting the target again! Just the same with multiple targets, Find the most threatening target, hit it, find the next, hit it. Rinse and repeat and keep firing till all targets are down or I’m wishing the game allowed me to throw the rifle at the tango ! I think having to deal with 2 or 3 tangos at once is important. You don’t really have time to make sure you kill any one on the first solvo…. I remember in F.E.A.R. I was pissed at always getting shot at by a bunch of Replicas trying to set up an Ambush. So when I started taking fire, I had enough of that crap. Grabbed my scattergun and came blitz’ing around the corner in Slow-Mo mode. Plugged one Replica with a shell, cycled over to the next and missed. Put a nice hole in the wall :/, no time to argue so I cycled back to the first with another shell as he dropped to the ground (kia) Cycled back to the second Replica again, took him down with a shot to stagger him as I dropped out of ‘Slow-mo’ mode. Then leaped into a nice Round-House that smashed the Replica’s skull on a near ledge in a very awkward way for a Video Game. A crazy and foolish assault but the game made for an interesting chance to engage multiple targets.

Also,

def edit_file( editor=nil, file=nil )

unless editor
if Platform::OS == :win32
#We need to dig in to the registry later
system( "notepad #{file}" )
elsif Platform::OS == :unix
if ENV['EDITOR']
system( "#{ENV['EDITOR']} #{file}" )
else
system( "vi #{file}" )
end
end
else
system( "#{editor} #{file}" )
end

end

I got to finish solving a little problem. How to figure out what OS the program is running on in order to adopt, e.g. notepad or vi as an editor of last resort. The Platform module from rubyforge gives us a decent way of finding out if it’s a Windows or Unix based system. I don’t have any access to a Mac… so oh well. :S

Later when I’ve got time, I want to see about pulling the systems default editor for .txt files from the registry, since $EDITOR is not useful on Windows NT. The snippet also shows some thing I really like about Ruby, the unless statement.

# For example, Ruby
unless 5 < 4
puts '5 is more then 4'
end


/* and in C which has no unless statement */
if ( !5 < 4 ) {
printf( "5 is more then 4" )
}

while I’ve never cared much for the if ( !expr ) bit in C, I learned to read it fine. In what reminds me of Perl, you can also do a bit of < code > unless expr on one line if you want in Ruby. What I like about the idea of an unless and until statement, is unlike if (!expr) and while (!expr), after a shit load of reading. It’s a little harder to miss the difference when it’s not dependent on seeing the ‘!’. One reason why I use parentheses the way I do, is I’ve found it much easier on the eyes. When I do have enough time. I find my self reading a lot, so when I’m half asleep and I’m trying to remember what I read 2,000 lines ago. It’s pretty dang easy to foul up and have to wait on the compiler to scream. I’m not lucky enough to be able to have both time to read code and to sleep… lol. I remember I once spent like a half hour trying to fix a program that wouldn’t build. The whole dang problem? Was just a comma instead of a period, some_struct,member instead of some_struct.member and after 3 or 4 hours of non stop working… I couldn’t tell the difference between the , and . with my font and tied eyes.

So needless to say, I like to keep in mind that I may not be functioning in a stable frame of mind when I do things. The less I can leave for my self to fuck up, the less I have to smack my self upside the head for not seeing in the first place.

While I’ve never claimed to be decent at it, C is my strongest language. There’s just some thing about C that gets me, like the ultimate balance to my tastes. With Ruby, I’ve found that the pace it allows me to maintain is to good to pass up. Just being able to open a new tab with irb in it; for testing short bits of code. Is so much faster then opening a new tab, writing a scratch file, compiling it, and screwing with it till it works. Before finally adopting it to make use of it in what ever I’m working on. I think theres actually an interceptor for C but I’ve never tried any thing but a compiler.

I’m used to C style syntax, I started learning with C++, not really a good choice but it worked. Java and Perl are pretty similar in the basics. When I found C, I fell in love :/ so I’m pretty used to the idea of having to deal with things when I have to. I know crap about PHP but it’s close enough to the languages I do know that I can get along ok. In Ruby the syntax is very different but it’s kind of nice. You even have the choice of { … } or do … end, I usually use do and end because I feel they fit in well with the syntactic style (imho).

When ever I write some thing, if it’s not short or a quickie I’ll never need again. I try to keep a few things in mind.

  1. That I know what the hell I did, when I haven’t worked on it closely in weeks or months
  2. That it’s fairly easy to understand whats happening
  3. That after you read it, you’ll probably get the jist of how it works. And hopefully what it does by reading the comments

I really hate when I start reading a function and it’s so deep. by the time I get to the functions ending ‘}’ I can’t even remember what the hell it was named — I’ve never written a routine that fat!! lol. When I can, I like things to fit on a screen/screen and a half’ish for what I need to see. If I can’t keep the routine down to a manageable size. I’ll usually write other functions in the module just to help it do it’s job. I’d rather follow the line of execution to another function to make a change, then have like another 40 lines to scroll past in search of it. Most of the personal conventions I have, are ether to make my self clear yet efficient without making it easy for me to screw up. I believe source code is meant to be read by humans and run by machines, in that order. If I think it makes it easier on the reader without much cost, I’ll do it. Thats probably why when I work on some thing, I do it in stages. I make a prototype and some test pieces, I learn from that. Then I adopt and apply it to the main section. Once it’s done and doing what I want it to do. I try to go back over it and see if I can improve its quality.

I’ve got such a monster live op planned, the only problem is finding the right day or weekend to do it. We’ve got three maps, a Hostage Rescue, Mission, and Mission.

I had origenally begun planning this op last year. I was thinking, wouldn’t it be interesting if the we had to respond to a local attack. So I found a nice MOUT map, we could use the scenario very well. It’s a large urban complex where you really have to watch your back, using bangs, frags, smoke, gas, and claymores are good ideas. The hostages are not to hard but staying alive is. The little subway station is pretty crappy… but well enough for the live op.

Then I tried to think about how I could create a string of related live operations from it. While still trying to figure out where my first map would take place I cooked up a plan. The [SAS] would travel to Russia in search of intelligence. Which would in turn lead them to find proof of the terrorist actions, and end in a show down.

I found a nice snowbase map with a mission that supported what I needed. A military/terrorist base like map, with a laptop computer to bug. The mission also had lots of crates and hostages hidden around. So Live Operation Arctic Recon was born. Random lead the covert op, laptop was bugged but the owner was no where to be found. The team placed a tracking device in a weapons crate and extracted… When Wiz heard voices in a locker room, the Element came in for a dynamic assault. All went well, one hostage safe, two tangos down, and Wiz killed a second hostage %_%.

As a stop gap, I cooked up an hostage rescue mission using another old Rainbow Six map. Where the [SAS] had to deal with some really pissed off IRA guys that just bungled a bank robbery for funds. They took so freaking long to get ready, I added a condition that the Terrorists would execute a hostage every 5 minutes starting ‘now’, came and gone, several hostages down. But after the rest of his Element was cut down, Miles of the Blue Team stormed the complex and saved the day.

I had found a nice map with a mission with a huge fortress of a map. The Live Op? Prince Charles was kidnapped and the [SAS] gets first crack at the rescue. I hope the op gets done sooon. Should the [SAS] team fail, well an Element of the Royal Protection Squad made up of old school [SAS] Members will suddenly appear out of no where and save the day. Valroe has furnished me with after-action report attachments for both cases, hope we complete this op hehe ^_^

I came up with a nice recon mission, I think the real SAS did some similar ops during the unpleasantness with the IRA. The team was ordered to recon a warehouse, mark weapon caches with GPS Bombs (tracking devices included) and leave un detected. The bombs would be blown via remote once the destinations were known. They also had to bring back any intel they could find, I think they nabbed 5/6 docs.

After playing the map with (C)The_Baroness, (C)Destro, and Grishenko one night I hashed out a live op. The Team would go to Bavaria to knock out an Arms dealer. The guys found so many docs on the last map, it was just too good to pass up. Besides I know the [SAS] Members love to C4 things xD

The final live op, is a monster. Three missions where the [SAS] has been called upon to launch a counter attack and push the terrorists off the map.

Operation Vengeance (RvS) Mission Objectives:

Map #1 — Vipers Edge
1. Neutralise all terrorists
2. Secure the subway station
3. Prevent bomb detonations
4. Prevent civilian casualties.

Map #2 — Leviathans
1. Secure the area
2. Laser designate enemy stronghold
3. Reach the extraction point

Map #3 — Dragons fury
1. Prevent bomb detonations
2. Eliminate the Terrorist Leader
3. Reach the LZ and signal for extraction
4. Neutralise all threats (Optional)

The first map I think will be pretty easy as long as they don’t get killed. The second has a little trick to it. The Element will have a good chance to go above and beyond the call of duty. There will be an optional objective and a secret objective *muhauahuaha*. The last operation is not to hard if you can avoid getting killed getting across the map but I expect the ‘secret’ objective and harsh time limit will cause the Element to fail the op, at least if they take the Optional objective.

Only one of these maps has enough that I intend to allow them to do some pre-planning, a short 10-15 minutes. There won’t be time to sit back and have a beer over the briefing. The guys playing this live op will have to dog it through 3 tough maps, destroy the enemy which is estimated to be company size in strength, well armed, on alert and ready to shoot at the drop of a pin. And they have to do it QUICKLY, regular forces get stuck with a mopping up action at best hehe #_#

Not to mention several secret objectives and optional objectives that will effect the mission outcome. This is a huge live op, 3 maps in one op… One day to do it.

I don’t know why…. but some how every time I start looking at web browsers. Lynx just keeps coming up as #1.

Lynx seems to be able to give me every thing I could possibly want out of my browser. Except for Tabbed Browsing, the options of Images, and most importantly… being able to lay out a page decently !

Links does a much better job on laying pages but I’m more comfortable with Lynx, dang I wish I had time to see what trying to create a new browser based on the Links and Lynx code bases would result in :/

Netscape navigator 9 I like a lot but it’s just too bloody slow.

Firefox 2 I can’t stand, it’s crap as far as I’m concerned… Hopefully 3.x will rock.

I like Seamonkey but since I use only webmail now, theres no need for it when theres Firefox and Navigator.

Opera I like a lot, it’s got a few rough edges but it’s one of the best browsers I’ve ever used. I’ve got to reinstall it on my desktop, keeps crashing…. never had that problem before. It’s nice enough to ask to restore my session on the next run tho.

Konqueror and Safari I like a lot but nether are portable enough for my needs, *yet*

I need to find a decent web browser, some thing I can use consistantly on Windows NT, Linux i386/AMD64, *BSD i386/AMD64, and Mac OS X. While I don’t have a Mac and rarly use Linux Distros. I like to have the SAME program as much as possible between OSes. Like Vim, works on every OS I’m likely to use and nearly any OS I’ll probably bump into. The major difference is I tend to preffer GVim (Vim’s GUI) only when I don’t have a decent terminal emulator, like on Windows XP. CMD.EXE is a poor one compared to Konsole.