06 April, 2008

Vietnam Hippies Revisted

As I drove home from work today I passed a sign in some meatheads yard reading "Support Our Troops - End The War". As a true supporter of our troops I am disappointed and enraged at such displays. I have yet to meet a person who genuinely likes war, probably because I don't spend time with psychos. The fact of the matter is...we are in, and we need to finish the job. Vietnam was a prime example of the moral of our country and our troops when we don't give our troops the support to complete the job.

I'm sure idiots like our yard sign poster would have fit in quite nicely with the hordes of draft-dodgers, drug doping hippies, and the protesters that spit on our troops on their return. I wonder if such meatheads admire the hippies and protesters of yesteryears, or if they believe that they are any different.

These proud soldiers have put their American dreams on hold, and lives on the line to defend those of us that have stayed behind. The absolute least we can do is not embarrass them or stand in the way of allowing them to complete the task at hand and return proud of their accomplishments.

A final note to our yard-poster, Canada is just a quick trip north...I'll help you pack.

31 March, 2008

Off-topic MNDOT Rant

As I found my way to the office this morning while listening to the radio, the radio announcer hinted of a snow forecast for later in the morning. At the time, not a speck of snow, nor rain, was present in brisk morning air.

As I came upon a large vehicle with warning lights....a tow truck? Perhaps an ambulance, or fire engine. What else could it be???

Well, let me tell you. MNDOT in their infinite wisdom decided to salt the road PRIOR to snowfall. What kind of genius salts the road without snow or ice? Surely they are attempting vegetation control of the ditches. That is the only reasonable explanation since applying salt unnecessarily to a road results in cars driving over said salt, crushing said salt, and having the wind blow it off the road into the ditches. Simple as that.

MNDOT isn't underfunded. They have plenty of money to waste, they do it daily. What they don't lack however is incompetence; they surely have a surplus in that area.

24 March, 2008

Same Kid, New Block

Today was the first day at our new office location.

Prior to the move, we found time to scope out our new cube locations.
My immediate neighbor went by the name Andrea. My co-worker taunted
"I'll bet she'll be a smokin' hottie". I laughed, given the hit ratio in
the engineering profession.

Turns out, that he was right. My neighbor is quite fetching. You'd
think that this would be a blessing, given that day-to-day face-to-face
encounters are with people with 5-o'clock shadow....men and women.
Turns out that there is a dark side to having an attractive
neighbor....every man with a pulse finds a reason to visit with her on a daily basis.
This results in an endless stream of distractions so far. While I'm
sure that this is an inconvenience for her, I wouldn't have guessed it
to be such an inconvenience to me (sigh).

15 March, 2008

Burning an Avi/Mpg to Playable Dvd

It took some work, but I finally found out how to burn an Avi or Mpeg file onto a playable dvd.

Step 1: Convert the Avi/Mpeg to proper format
ffmpeg -i InputFile.mpg -aspect 16:9 -target ntsc-dvd foo.mpg

Step 2: Create dvd file structure
dvdauthor -o dvd/ -t foo.mpg
dvdauthor -o dvd/ -T

Step 3: Create ISO Image
mkisofs -dvd-video -v -o DVD.iso dvd/

Step 4: Burn to Disc
growisofs -dvd-compat -Z /dev/scd0=DVD.iso

This will burn an input video file to a playable dvd. This example doesn't include a dvd menu, nor multiple files on one disc. DvdAuthor suffers from the same symptom as many open-source products, little-to-no documentation nor examples. As a result, I wasted about a dozen DVD+R's trying to decrypt it's usage and finally gave up.

Bon Scott Statue Unveiled


I am by all accounts a HUGE AC/DC fan. Have been since the first time my older brother exposed me to "Dirty Deeds Done Dirt Cheap" while racing a Monte Carlo in his 75 Trans Am on the interstate near my home town. Little did I know what an impact that moment would have for the rest of my life.

I became a dedicated fan on that faithful day...and continue to be to-date. That's why it's important to note that 24 February 2008 holds a special day in history. This marks the day that a bronze statue tributing AC/DC first lead man (Dave Evans doesn't count) was unveiled at, his childhood haunt, Fisherman's Warf in Fremantle Australia. It was unveiled as part of the Aussie Rock Concert at Claremont Showgrounds. A proud day for all AC/DC fans.

14 March, 2008

Jeez, We Are Seriously Overpaid

As my current program is coming to a close I've been evaluating alternative programs that my current employer has to offer. In terms of interest, it's pretty slim pickings.

As a result, I've took part in my first phone interview in 3+ years. Things went quite well, the closing question from the HR rep was concerning compensation. Now I'm not currently hitting 6 figures, but I'm charging hard toward the hoop.

Growing up blue collar I know what hard work is; I've shoveled grain, tossed bales, and picked my share of rock for less than $2 / hour. I've spent my share of days working in 90+ degree heat with a gallon of water for the day and little more than a warm bologna and cheese sandwich (oftentimes with mayo.....warmed in the afternoon sun). I've busted hump 'til my back ached, shoulders gave out, and feet grew a crop of blisters from heel to toe. I know what it feels to suffer serious dehydration, and my share of hangovers cured by the recommended dosage of sweating it out with outdoor manual labor. I know what hard work is, and I know what salary you can expect for this type of labor.

I try to keep this in mind time-n-time-again, took keep things in check. I approached an initial salary that competed with my fathers maximum salary he'd been working toward his entire life. Less than 10 years have passed since, and my salary has more than doubled. Rates of change will slow from here on, but still....we are incredibly fortunate in the field that we are in. If you are even moderately competent, you'll demand a salary that will surpass most dual family incomes. Chances are that you'll go home to your well furnished apartment, or quite likely single family home where you'll relax in your easy chair quietly decompressing to the drone of central air. Your reminder of a hard day....a migraine, or perhaps an armful of paperwork/techwork you need to complete before morning. The only joint or muscle issues you'll likely face is a mild case of carpal tunnel.

Just try to remember how easy we have it the next time you find yourself complaining about work. Better yet, keep this in mind on a good day; remembering how well you're paid to do something you truly love.

Cheers.

12 March, 2008

C Storage Classes

In investigating the proper means to declare a global variable, I found myself reviewing some C documentation that I had long forgotten, concerning the Storage Class.

To briefly review, each variable declaration consists of 3 elements: the storage class, the type, and the variable name. For example:


auto int x;
static int y;


The storage class can take the form of auto, extern, static, or register. If not specified, the implicit storage class is that of auto.

The auto storage class is the most frequently used of the classes, primarily because it is the implicit default. Local variables take this form, where the storage is not allocated until the block in which the variable is defined is entered.

The extern storage class specified simply a reference to a variable that is defined elsewhere. Space is therefore not allocated upon encountering this reference, since the storage is allocated elsewhere. This as you may recall is the means to declare a global variable.

The static storage class specifies that the variable cannot be access by functions outside the translation unit in which it was defined. A common error is declaration of a static variable in a header file, which is imported by more than one translation unit not understand that each translation unit essentially created independent copies of the variable. A common practice of declaring a static constant in a header, used by multiple translation units results in multiple copies of the constant, in each translation unit. However, if the static variable simply defines a constant....generally, no-harm-no-foul. It is however worth understanding that it is not a shared reference.

The last storage class is that of register, which notifies the compiler to make the variable as efficient as possible. Ideally, the variable will retain it's location in a cpu register for optimal performance.