Saturday, July 21, 2007

simpsonizer

Bahahahahaa!

This site is an great buzz generator for the upcoming Simpson's film. It built by the charming folks who took over the online advertising for Burger King.

http://www.simpsonizeme.com/

This Flash app takes a photo you submit and turns you into a Simpson character.

fun | movies
Saturday, July 21, 2007 9:37:38 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Wednesday, July 18, 2007

I went to the Vet the other day; we got card in the mail informing us that it was vaccination time for poochie. The Wife made an appointment and I ended up taking poochie in — go figure.

So poochie and I zip over to the Vet and wait in the busy waiting room for 20 minutes. Not too bad, they had a lot going on. The worse part was Poochie isn't a friendly dog. Poochie acts friendly to other dogs, and then goes bat-shit crazy - all 80 pounds at once. The Wife and I believe Poochie wasn't socialized very well as a pup, before we adopted Poochie from the pound.

Finally, they call us into see the Doc. The Doc comes into the little room quick enough and starts the standard evaluation procedure. About a minute later, the door opens and a tech requests the Doc's presence elsewhere. Doc makes a graceful exit and leaves me in the room with Poochie. About two minutes later, another tech comes in and explains the Doc had to attend to an emergency and asks if I would like to wait about 10 minutes or just drop off Poochie and come back later. I don't mind waiting so I flip out my Treo 700w and start listening to a podcast in the little examination room with Poochie.

About 10 minutes later, the Doc comes in, a little shaken. She explains that a kitty was really sick and had to be euthanized. That's a tough thing, no matter how objective of a Doc you try to be.

So the Doc restarts the evaluation and goes on and on about Poochie's dry skin and booger-ee eyes. Small potatoes in my book, but whatever. After a litany of product prescriptions and instructions, Doc asks if I have any final questions. It looks like Doc is getting ready to leave.

So, I ask about the vaccination shots.

Doc looks taken a-back.

After some paper shuffling in the file on the table between us, Doc exclaims that yes, Poochie does need shots and somehow that information didn't get passed along. Understandable, Doc just took out a kitty afterall.

So another tech comes in to help hold Poochie in place as two needles full of modern medicine are injected. Poochie doesn't mind too much since Daddy is there. If Daddy is cool, Poochie is cool; unless someone's at the door. Poochie's my dawg, in the literal and figurative sense of the word.

So my advice to you: when your receiving services from someone; no matter what; make casual declarations of your business there or you'll walk home with an armful of dry skin shampoo, fish oil and eye booger medicine.

Wednesday, July 18, 2007 9:21:54 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 

I've been using Google Reader for a while now and I love it. Its very quick to launch with my SlickRun shortcut of "gr" and it manages my current list of 96 RSS subscriptions very well.

In fact, I recently figured out that this application is perhaps one of the worst web applications to use with the mouse. The mouse is such an impediment to reading several posts efficiently. I launch Google Reader several times a day and its common for me to have nearly 50 unread posts from over 30 RSS subscriptions at any given perusal session.

Here are the Google Reader keyboard shortcuts I use on a regular basis.

  1. Click the "Show Updated" hyperlink in the left column to show only the RSS subscriptions with unread posts
  2. Click the first RSS subscription link of the list in the left column (getting in the mood)
  3. Click the first unread post of the list if the right column (tee it up)
  4. Press space bar to traverse multi-page posts and advance to the next unread post for a given RSS subscription
  5. When all the posts are read for a given RSS subscription, press Shift+N to advance the highlight to the next RSS subscription of the list in the left column
  6. Press Shift+O (this is my Oh face) to open the list of the new highlighted RSS subscription
  7. Press the space bar to traverse this new feed like the previous RSS subscription

 

 googlereader

To Summarize:

Space Bar Scroll through a long post, then skip to next post when the last line of current post is visible
Shift + N Highlight the next RSS subscription in the left column
Shift + O Open the list of posts for the highlighted RSS subscription

 There are a bunch of other keyboard shortcuts for Google Reader. These are the ones I use the most.

Wednesday, July 18, 2007 8:57:20 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Thursday, July 12, 2007

The man has cleaned up, packed up and gone. Now, I have a brand spanking new 60 amp sub-panel in my basement. My basement was woefully lacking in power outlets. It's a 1925 house and the current panel has a sticker from 1962. I don't know if that's the date the panel was installed or when some dude came out in April of '62 to service it. Since I know precious little about things like amps, watts, hertz, ohms, and kelvins, I apologize for not being able to elaborate. So, enter photo montage!

I needed some power to run a few toys for "a few days":

workstation

Workstation, obviously

powerhog2

The wall mounted media center

powerhog4 

Subwoofer - the point one of a 5.1 surround sound system

powerhog3

InFocus ceiling mounted projector

powerhog6

And dual tower speakers with a magnets big enough to make your tooth fillings ache - occupying slots #2 and #3 of a 5.1 surround sound system.

How could this be powered, you ask? Well, for a very short term...

walloutlet

The source of all pleasure...

firsthop

leads to a ceiling mounted power strip,

nexthop

which traverses to the next hop,

randomuseofceilinghook

and makes an indiscriminate use of a rogue ceiling hook that finally leads up to the media center on the other side of the basement.

I'm really happy with the new power outlets that were ran every couple of feet with sturdy conduit. The guys from Coho Electric did a great job again on my humble abode. It was about $1,500 to drop in a new sub-panel and run the outlets to all corners of the basement. We pinched some pennies and made room in the budget to do this project. A worthwhile investment indeed!

Time to get back to work!

Thursday, July 12, 2007 9:51:54 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Thursday, July 05, 2007
Snippet Compiler

Like many of the three of you who subscribe my blog, I download a bunch of tools & utilities that I read about online and seldom have an opportunity to use on a real project.

Today was my first bona fide use of the Snippet Compiler and it just plain rocked. Its a small client application that can take the place of many throw-away command line programs written just to test out a concept. The application launches fast and I can start writing and executing my code immediately. I don't need to select a project template, name it, or any other of the standard housekeeping items. It even has statement completion!

I was working on an existing ASP.Net v1.1 code base for a quick maintenance project. I gleaned a test order number from the system and quickly realized my specific test required an obfuscated order number from the following "simple" and "natural" function:

//=====================================================================
/// <summary>
///    This method performs exactly the opposite action as
///    EncodeOrderId(), and is meant as the natual companion to that
///    method.  Performs a very simple wrapping bit shift (4 bits wide,
///    towards the most significant bit) on the input value (unsigned
///    32 bit integer) and returns it as a signed 32 bit integer.
/// </summary>
/// <param name="orderId">Value to decode.</param>
/// <returns>Decoded value.</returns>
//=====================================================================
public static int DecodeOrderId( uint orderId )
{
   int newOrderId = (int) (( orderId << 4 ) | ( orderId >> 28 ));

   if ( newOrderId < 1 )
   {
      throw( new ArgumentException( "Invalid orderId: '" +
         orderId.ToString() + "'.", "orderId" ));
   }

   return( newOrderId );
}

I was doing integration testing and further more, I was nearly done. I didn't feel like firing up VS.Net to figure out how to get my test order number obfuscated, so I thought about it and decided to have a spontaneous moment.

I (1) fired up the Snippet Compiler, (2) added a reference to the assembly and (3) wrote a single line of code that called the static method DecodeOrderId() which wrote the result to the console output. Booya!

Thursday, July 05, 2007 9:20:48 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [1]  | 
 Thursday, June 14, 2007

There was a knock at the door the other night which set off the dog. When I put her in a side room and returned to the door, The Wife had already opened the door and was conversing with the gentleman who probably made the knocking gesture on previously said door.

He was dressed in a windbreaker jacket with a security type of logo branded on one side where you might expect it. He was wearing normal slacks but I paused for a moment on his shoes. Then, I remembered this was Portland, so its OK to wear sandals. These were leather, near full-shoe type, with several vertical slits in the material to let the foot breathe.

When I arrived at the door, the nice gentleman was already working up his speech and I sensed he was working steadily at discounting The Wife's attempt to bring the conversation to a close. I placed one foot on the threshold and poked my head out. In a friendly, yet 114% of my normal speaking volume, I said, "Oh, hi! Sorry, I missed the first part. What's this about?"

The pleasant Johnny Come Knocky man was a little startled at my dismissal of his current statement and looked to The Wife for some assertion of his purpose. I can only imagine how looking up at two 6+ foot people in a waif-like windbreaker with a loud dog barking in the background could put you off the speech you've undoubtedly practiced in the mirror several times.

It turns out the dude was curious about our security system. My Spidey Sense™ went from mere annoyance to high alert. If he were a genuine party to my security system, why is he asking questions. If he wanted to convert me to an alternative security system, he could have been a little more up front about it. I let him hem and haw about his response to my question regarding my absence from the first part and upon my evaluation I rated his response "insufficient".

This is what I gleaned from his statement and his visible artifacts:

  • There is some type of survey in progress.
  • He was not really selling me anything.
  • His binder was really ratty looking.
  • He really was well groomed; washed face, trimmed fingernails.

I couldn't understand why he asked if we engaged our alarm often during his rambling statements. Perhaps its because I have security very much on my mind these days. I am an avid listener to www.RunAsRadio.com with Richard Campbell and Greg Hughes. The frequency of my alarm engagement is just not a question you ask someone in a casual front door conversation. He might as well ask me which framed artwork has the wall safe behind it. I was keen to his exploits.

I sent him on his way with an abrupt "We're not interested" statement. The Wife thought I was a little less than polite in the retrospective we held immediately afterwards. Upon further reflection, I can only believe that only one of the following two scenarios apply to that situation:

  1. Knocky McWindbreaker dude has really ineffective salesmanship abilities.
  2. Thievey Stinkershien was using his social engineering skills to identify an attack vector.

That really gets my goat. I don't like seeing folks do a face-plant on their job and I hate getting ripped off. If you're going to knock on my door and sell me something, then you better have some good chops and know how to deal with people like me. I hope my TV is still in my house when I get home tonight.

Thursday, June 14, 2007 8:20:00 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, June 11, 2007

...is about Safari running on Windows.

I thought I'd just increment the search index counter by one and include it on my blog too. Geesh, I hope tomorrow is more diverse.

Ok, so its just seven out of 69 blogs I read, but I swear I got one an hour when I was reading them today! :)

Monday, June 11, 2007 8:07:49 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Sunday, June 10, 2007

After reading Rich Claussen's post, I submitted my responses to the online personality profiler and got the following results. Its a little like reading the Sunday morning horoscopes — easy to apply to wide variety of situations. This so good, it might even be a vertoscope!

My programmer personality type is: PLTB

I am a Planner.

I may be slow, but I'll usually find the best solution. If something's worth doing, it's worth doing right.

I like coding at a Low level.

I'm from the old school of programming and believe that I should have an intimate relationship with the computer. I don't mind juggling registers around and spending hours getting a 5% performance increase in an algorithm.

I work best in a Team.

A good group is better than the sum of it's parts. The only thing better than a genius programmer is a cohesive group of genius programmers.

I am a liBeral programmer.

Programming is a complex task and I should use white space and comments as freely as possible to help simplify the task. We're not writing on paper anymore so we can take up as much room as we need.

fun
Sunday, June 10, 2007 9:38:28 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [1]  | 
 Sunday, May 27, 2007

So, my flight got delayed yesterday.

I finished my WCF Master class in New London, CT on Friday night, had drinks with some people from class and went back to my hotel room. My flight left PVD on Saturday; I was due home to The Wife by 9:45pm.

I had a connection in Chicago with a 90 minute layover. No problem, right? Pbbbfffftttt.....

My flight out of PVD was delayed twice which put it over the limit for catching the last flight to PDX out of Chicago. So, I rebook for a flight out of PVD on Sunday, patted myself on the back for getting a 24 hour T-Mobile internet access for $10 and found a nearby hotel (that wasn't full) using my laptop, wi-fi and my Treo. How was this done back in the day?

So here I sit. 6:42am on Sunday. At my gate; waiting for the boarding call in 60 minutes. The flight before mine just boarded for Orlando. They called for the preboard and I swear nearly half the plane was full before Group A ever got to walk down the tunnel - lots of families with small children. Ha! I guess that's Orlando for you.

Sunday, May 27, 2007 2:49:15 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  |