Anti Social

I'm not, generally speaking, a social person. A fact my wife, who is a social person, chides me about a lot.

The thing is, I don't hate people. Well, some people I do...but not all of them. I don't even particularly hate crowds. I used to do plays and things when I was younger and I was alright on stage...it didn't really bug me.

What I hate is being in a room where multiple conversations are going on at once. My brain, fickle beast that it is, tries to follow every conversation that happens. All of them. At once. The more conversations that are going on, the more information overload I get. I start to get headaches. This is why many times at family gatherings or parties with friends you will find me sitting in the corner on some couch trying my best to not to listen to anybody while Shana wanders around being all friendly-like and the kids go play.

It isn't that I don't like the people, I just don't care for the setting.

Some people (Shana) call me anti-social for this, and I can't really blame them, though I think it is a misnomer. "Anti-social" implies that I'm unable or unwilling to associate with people in a friendly manner. I don't think that is the case at all. In another environment, I think I'm pretty friendly (well okay, "friendly" might be overstating it a bit...).

For example, I do not have an issue at a card table. I have a game to focus on, and I can start excluding things that don't pertain to the game or the people I'm playing with. No more headaches. This is why when somebody mentions cards at a family gathering I'm the first one to the table (when I'm down in California, I'm usually the guy trying to get everyone playing a game. :P).

I also don't have a problem while playing video games with people, watching a movie, watching sports, or even while eating. If there is an activity involved that I can concentrate on, I'm totally cool. But sitting around a living room with more than 2-3 people doing nothing but small talk...even the thought gives me a headache.

Also, as an aside, I can never really get into "small talk". I do fumble around and try it sometimes just to be polite, but I freely admit I'm a fish out of water. I think the "small talk deficiency" is the reason I've rarely had a phone conversation last more than 10 minutes.

I come by it honestly though. I'll call my mom, who I haven't seen in 6 months, and we will only have maybe a 10 minute conversation, max. It's not that I don't love her or care or vice versa. We just get to the point. Greetings, noteworthy events in the life of me and the family, noteworthy events in her life, Travel plans, dates/times if necessary, and BAM... done.

I inherited this trait directly from her though I think. We are on the same page about the phone thing.

On the flip side, Shana can do small talk really well. 10 minutes on the phone with her mom would be a record (for shortest conversation), and she probably talks with her at least once a week (probably more). I have no idea how she does that.

Of course, I've trained her well, so she doesn't generally try to do small talk with me, especially over the phone. Our phone conversations usually go for under a minute because after 11 years of marriage, she knows that she better get to the damn point already.

It's not to say we don't talk to each other. We do blather on quite a bit actually. It is just that when we talk, the conversations generally are more substantive, though they are mostly about boobs. (At least the conversations I don't tune out. :P)

Dragon Slaying

I wrote this story this weekend, and it is unfortunately, a fanfic. I don't particularly like writing fan fiction. It feels weird writing in somebody else's universe, which is based around a game where the "story" is centered around gameplay elements and can get very forced, at best.

However...I'm happy to write anything without ninja babies in it at this point, so I'm going with it.

The "Real life" story behind the story is that I finally took Onyxia down solo this weekend on my Paladin, and this is a celebration of that feat, of sorts. Since Blizzard is re-releasing Onyxia as a new 10/25 man raid instance in the next patch, this is very likely the last time I will be able to pull it off solo like that, so I'm actually quite proud I was able to get it done.


The young Paladin wiped the blood of the dragonkin he had just slain off his sword and walked around the corner of the cave. He was deep below the surface now. He could feel the heat of Azeroth's core surrounding him. The stench of sulfur assaulted his nostrils. As he walked down the small cave he saw it open up ahead into a gigantic cavern. And in the center of that cavern was Onyxia herself. He had found her at last. She hasn't noticed his presence yet. Good.

Gaston eyed the dragon critically. For a time, she had infiltrated the highest courts in Stormwind. In her human guise as the Lady Prestor, she had gained the confidence of the young Anduin Wrynn, erstwhile King of Stormwind. Her "advice" had nearly brought down a kingdom. At last the Paladin would test his strength against Onyxia the treacherous, daughter of the cursed Deathwing, sister of Nefarian, broodmother of the Black Dragonflight.

Gaston smiled wryly. Aiding the great Marshall Windsor, they had uncovered her masquerade and driven her from Stormwind Keep forever. After the events of that day, he had but one quest...kill the Dragon. It had taken him years to track her down this far and find her lair, deep beneath the swamps of Duskwallow Marsh. Now it was up to him to deal the justice of the Light to this conniving dragon at last, and avenge the death of Windsor.

Quickly and quietly, he checked over his gear. The plate he wore still shone brightly from the polish he had given it at the camp this morning, with the exception of the blotchy stains of dragon blood drained from the watchers Onyxia had left to guard the mouth of her cave. Dragon blood is a stain that would not polish out easily. Gaston grimaced at the thought. All his armor would be colored red by this night's end. The only question was would it be his blood or the dragon's? Time to find out.

He checked the sharpness of his sword and the strength of his shield. He prayed they would hold through the battle. "Nothing more to do but kill the bitch" he muttered under his breath. There was no shadow in the cave, nor cover to be had, so it was only a matter of time before she noticed the Paladin. There would be no surprise or easy stealth kill here.

So be it. Gaston raised his sword and charged.

He was halfway to her when the dragon lifted her head slowly and saw him coming. Angrily she arose to face the challenge. When he reached her, she struck out with her giant claw, but Gaston blocked it easily with his shield and cut at the skin on her forearm with his sword. His sword found her skin, but it didn't cut the flesh...her hide was just too thick. Ducking under another blow from her, he cut down her belly, but he still was unable to pierce the the skin. Behind her now, he tried cutting her hind leg, but the hide held together there as well.

Gaston swore. She had to have a weakness.

Suddenly felt a mighty gust of wind as her tail swung at him. Gaston tried to dodge, but it just came in too fast. He barely got his shield up in time, but the impact knocked him back against the far wall. Onyxia turned and charged after him, but Gaston quickly rose to his feet and stood his ground. He blocked several blows from her claws, and attacked her face, looking for a weakness. Any weakness.

Furiously, the dragon attacked him, but Gaston was able to block, dodge or otherwise avoid every blow. Roaring in frustration, she breathed fire at him, but Gaston shrugged off the assault and blocked the fire with his shield. Putting all the power of the light behind every blow, he attacked furiously to a single point above her left nostril. Perhaps if he focused on a single point, it would wear her down and the skin would eventually succumb to his assault and break.

For what seemed like hours, but could just as easily been minutes, Gaston hacked and slashed at the single spot on her head, trying to make the brood mother bleed at last. Suddenly, when he was about to give up on it and try another tactic, his sword broke through the skin, and he could tell he hurt her.

Roaring in pain, the dragon flapped her wings violently and took to the sky. Flying around the enormous cavern, she looked to rain fire down on Gaston and stay out of the reach of his sword. For any other mere warrior, it would have worked too.

Fortunately, Gaston was a Paladin of the Hand of Vargus and had other tools at his disposal. He focused the light of judgment on the spot he had weakened earlier with his sword and let loose with all the power of the Light at his command. Her screams echoed throughout the cavern and he knew he had hurt her again.

Unbeknownst to the Paladin, the screams had served another purpose though and had awakened a small army of dragon whelps and they came streaming out of the hatching caves on both sides of the cavern.

Just in time, Gaston saw them coming, and had to take his focus off of Onyxia to consecrate the ground beneath him, hoping it would keep the whelplings at bay. Apparently the brood mother's hold on her whelps was fierce, since they ignored the pain caused by the Holy ground beneath them and attacked with suicidal abandon.

Gaston blocked and slashed for all he was worth and was able to defeat the whelps, but almost too late he noticed the giant dragon had taken in a deep breath and breathed down fire at him so intense that if he had not surrounded himself with a shield of Light at the last second, it would have burned him to a crisp.

Angry now, Gaston refocused his efforts with the Light and attacked the dragon with renewed force to the weak spot on her face. In frustration, Onyxia abandoned her flying attacks and dropped back down from the sky to attack him with her claws faster than Gaston would have thought possible for such a giant creature. Blocking and parrying her attacks, her blows still struck with such force that he had to continually back up until he was once again with his back to the rear wall of the cavern.

Strangely, the more powerfully the dragon attacked, the more strength the Light gave to him. Gaston could feel the Light flow through his veins like never before and it gave him a surge of strength and speed that he would have thought impossible just a day before.

Instead of weakening, with every blow the dragon struck, Gaston grew even more powerful. Finally his sword was moving so fast and with such force, that it slashed through the thick hide of the dragon's face cleanly. Roaring with pain, the dragon reared up and Gaston saw his opening. Without thinking, he leapt up in the air, slicing his sword across her neck. As he dropped back to his feet he could hear the dragon collapse behind him with two thuds. A big thud for her body that made the earth shake and a smaller one for the head that rolled away from it's former owner.

He grabbed the head of Onyxia, throwing it over his Shoulder and turned to exit the cave. It would make a fine gift for a King.

Baby Ninjas

Well, I intended to post something on Monday, but every time I have sat down to write over the last few days, I've either been interrupted by work or I experience complete blockage.

For the record, I'm not talking about writer's block. I've never actually had that before. What I'm referring to is baby ninja reincarnation.

What is baby ninja reincarnation? It is an idea I had about Ninja's that are killed heroicly sometime in the distant past (probably feudal Japan or something) that wind up reincarnated, but keep all of their old memories.

So they are babies. That are ninjas.

I immediately dismissed the idea as completely dumb. I will not be writing a story about this. It is retarded. I will not sink so low.

BUT I CAN'T GET IT OUT OF MY HEAD. Right now if I sit down to write ANYTHING, I'm mentioning reincarnated baby ninjas!!! The more I try to stop myself from thinking about it, the more I CAN'T STOP.

Even when I'm typing up technical documentation at work. I have inserted an error code in a program that is literally "ERROR: Could not open socket. Please seek help from baby ninjas."

I have a story about these baby ninja's. They find each other in a nursery, train together, escape and plan to write a wrong by stopping an evil scheme to take over the world perpetrated by the ancestors of the feudal lord's that executed them.

For the record, I will not write this story. I refuse.

I can't get it out of my head though!! I have a sickness. Please help.

RAID mumbo jumbo

Ok, this blog post will be filled with technical jargon and is quite engineer friendly, and not particularly reader friendly. Sorry about that. I'll do something campy and silly on Monday to compensate.

I'm sure when I put RAID mumbo jumbo as the title, you prolly thought I was going to talk about raiding in WoW. Ha! fooled you!

I just came out of a meeting with some salespeople from a consulting company that is trying to sell us some storage. Their Sales Engineer made the statement that "The proprietary version of RAID-6 that [company name withheld] is offering is EQUAL to the performance of RAID 1+0".

I am flabbergasted by the statement. So much so that I asked him to repeat it twice.

I need to explain how very wrong this statement is, so to do that I have a quick overview of RAID terminology:

RAID = Redundant Array of Inexpensive Disks. RAID is used because, quite frankly, in any given computer system the Hard Drive is absolutely the item most likely to fail. The reason? It has moving parts that are constantly moving while the system is in use. Any item with moving parts will fail, it is only a matter of time. You can extend that time by days, weeks, even years with good engineering, but it will fail, guaranteed.

So, you have a ticking time bomb on your hands that is guaranteed to blow up eventually, you just don't know when. On a PC, it isn't usually too big a deal when it fails. Unless of course you aren't backing up your data. You are backing up your data, right?

In the world of Enterprise IT applications though, backups aren't really enough because even though you have a backup, you have to repair the hardware and restore that backup, right? This could take hours or even days in some cases. In applications that people are relying on to do their jobs, their jobs can't be put on hold every time a drive fails while they wait for an IT guy to fix the hardware and do a restore.

This is where RAID comes in. You package the disks all together, and you add in the capability to restore the data should you lose a disk (or multiple disks, depending on the RAID method you choose).

Speaking of that, here are the methods you have to choose from (well, many more besides this, but these are probably the most common).

RAID 1+0: Mirrored and striped. Mirroring (also referred to as RAID 1 by itself) means that whatever data you have to store on the disk, you also store on an identical disk. That way if you lose a single disk, you don't lose the data. That part is pretty easy to understand. Striping (RAID 0, referred to by itself) is a breaking out the data into smalle chunks (or stripes) and putting it across all of the disks. This increases the performance of the disk.

Let me illustrate that because it is important. Lets say, I need five non-sequential 8kb chunks of data off a disk. If I go to a single disk for that data, that single disk has a seek time of (for the sake of this example) 10ms. I have to do this 5 times on the single disk, so that means I have a total of 50ms to service that request.

In the case of a striped system, I could make the request, and that data could actually exist 1, 2, 3, 4, or if I was extremely lucky, 5 disks in total. Each disk still has a 10ms seek time, so unless I'm extremely unlucky and all of the data chunks I want all exists on a single disk, then I stand to gain performance. If it exists on 5 disks, then all 5 requests would be serviced in 10ms, not 50ms.

In the RAID 1+0 configuration in fact, because the same data exists on more than one disk, I am always doing concurrent seeks, further increasing the overall performance.

Of course, this great performance comes at a price. Essentially, all of your storage costs double. For 100gb of usable storage, you have to buy 200gb of usable disk.

Enter RAID-4 (or RAID 5...the concepts between the two technologies are similar enough for our purposes).

RAID-4 solves the problem of doubling your storage costs by the use of parity. The easiest way I can explain parity is this: Let us say you have 4 disks in total, each of them are striped.

The chunks of data in this example are going to be expressed by numbers.
Disk 1: 1
Disk 2: 3
Disk 3: 29
Disk 4: 19

Lets say the numbers represent your data. In a standard stripe, if you lose Disk 3, you lose the number 29. Period. The system has no way of knowing what the number was....your data is now corrupt, you are completely screwed.

What RAID-4 does is add another disk into the equation. This disk contains the 'parity information'. What the parity is (basically) is the sum of the stripes on disks 1-4. So, to calculate that out, 1+3+29+19 = 52.

Now you lose Disk 3. You can replace the disk and it can figure out what the data was from parity: 52 - 19 - 3 - 1 = 29....congratulations, you have no data loss.

The PROBLEM with this approach is a performance loss. To calculate the parity, you have to use CPU time every time a piece of data changes on the disk. In the case of my example, the CPU has to calculate the sum...this takes precious time. Lets say that just the write itself takes 10ms. In a mirrored configuration, you are done after that 10ms. But if you have to calculate parity, and that takes 1ms...your total time to service that disk request is now 11ms.

RAID 6 is a little addition to RAID 4 that is a little difficult to explain, but basically it doubles the parity. Where RAID 4 does horizontal parity (pretty much the process I describe above), RAID 6 adds on diagonal parity, which is more difficult to describe without the use of a chart. The point is, that it also has to calculate parity (twice in fact, so whatever CPU overhead there was for RAID 4 is effectively doubled).

My point in all of this is that to say that any implementation that uses parity is at all equivalent (performance wise) to an implementation that does NOT use parity, is ridiculous and I can't believe a storage 'engineer' would repeat such crap. Parity requires overhead, plain and simple. It may be not be COST EFFECTIVE, but RAID 1+0 will always be faster. Always!

I hate Salespeople (and I can pretty much guarantee they hate me at this point. :P)

G.I. Joe Review

Last weekend the family and I went to the Kingston Firehouse theater and saw the new G.I. Joe movie. First, I'd like to talk about the theater experience.

The firehouse is actually just that, it used to be the location of the headquarters of Kitsap Fire and Rescue that served the Kingston Community for many years. Now rebuilt, it is the newest building in Kingston. It has a video store, movie theater, and breakfast cafe all in one. It has two screens, the 'Main Stage', a 140 seat large screen and and the 'Back Stage' a smaller, 48 seat stage. The family and I went to see Transformers 2 on the smaller screen, and honestly, the experience wasn't really worth it. The screen is a little bigger than my big screen. It isn't really the theater that you want to experience a 'popcorn' movie like Transformers on.

That being said, the Main Stage is quite nice, and the moviegoing experience is a quite unlike what you may be used to. Before the show Craig Smith, the operator of the Theater, came out to chat with everybody who came out. He talked about the movie, and the upcoming films coming to the theater. You could tell that this guy was a movie buff from the second he opened his mouth, and his little presentation definitely gave a different 'small town/community' feel to going to the movies. A little different, but I liked it.

I can definitely see going to this theater to see movies that are a little less "mainstream" than something like G.I. Joe. My wife and I are both huge movie buffs ourselves, and we are always out to support community efforts like this. I will definitely be back.

Anyway, enough about the Theater... I'm going to review G.I. Joe now, and it probably won't be the review anybody expected, but let me start with the summary:

It lived up to my expectations.

For better or for worse, the movie is what it is. If you went to go watch this movie, you weren't expecting a genius cinematic masterpiece with a great plot and story. You were expecting a cartoon-y movie designed to sell action figures in which a lot of stuff blows up. And whatever you might think of the genre as a whole, this movie delivers on what it is expected to.

The plot is just about what you'd expect. Some weapon salesman multinational corporate dude who just so happens to be a bad guy (Shocking!) invents a weapon that through "nano-technology" has billions of tiny green robots that eat through anything and will keep going until the world is destroyed or until you push a button and all the tiny little robots stop eating and disappear. Or something.

In reality of course, the little robots could 'eat', but the stuff they eat would have to actually...you know...go somewhere. Not disappear as soon as it is eaten. But this is the movies I guess, so I can only guess that the little robots have inter-dimensional portals as mouths and they are transporting the matter that they eat to another parallel universe.

What if some of these magical "eating" nano-robots were out of range of the signal and didn't get the message to stop eating? Ever drop a call on your cell phone? How about a dropped call that wipes out human existence? What if the antennae on the nano-robot gets accidentally 'eaten' by another nano-robot or otherwise damaged and it has no way to receive the signal from the remote control device? Can you hear me now? NO, BECAUSE YOU ARE DEAD!

But, lets not let a little scientific impossibility stop our good time, plenty of time for that later. Our heroes Duke and some dude (yeah, I don't remember his name, but honestly...does it even matter?) are assigned to transport the little warheads of scientific impossibility to some other location via HumVee convoy or something and they get ambushed by the bad guys. But, surprise! An elite super-force of good guys come to save the day, and our heroes are recruited to join the good guys and due to the fact that they happen to be there, they are recruited to join the good guy super-force.

Campy training montage follows, then the bad guys attack, steal the weapons, the good guys track them down to a major city that hasn't been blown up this year by Hollywood (took some hunting). The bad guys succeed in destroying a major landmark that didn't look at ALL like CGI...not one bit. And then the good guys chase them down to some exotic arctic locale and save the bad guys from blowing up major cities and eventually (spoiler alert!) the good guys win. Odd, in a movie like this I did not see that coming.

Anyway, like I said above...G.I. Joe is everything I expected it to be. And of course, the kiddos loved it.