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]  | 
 Thursday, May 24, 2007

I've never been, but I'm told that famous people line the streets in Hollywood. You can go to lunch, look over at a corner booth and see big actor chowing down on a roast beef sandwich.

On Tuesday, I got to hang out with Carl Franklin at Hanafin's Irish Pub. He had just finished a recording a DotNetRocks session with some super stars and sat down with my WCF classmate and me for a beer. I've been listening to his shows for years so it was a real treat to chat it up in person.

Then, today (Thursday), I'm eating my roast beef sandwich at Steve & Cheri's Brooklyn Style Deli when I look over and see none other than Geoff Maciolek chowing down on a delicious deli treat about 3 feet from our table. I wasn't quite sure at first, but then we started murmuring about code and databases at our table and Geoff couldn't resist chiming in with a comment; then I was absolutely sure. It went something like this:

Geoff: Ah, spaghetti code

Me: Hey, you're Geoff Maciolek!

Geoff: Thats me! (ok, he didn't really say that, but that's what I think in my head because he's says it at the end of so many DNR shows... he just kind of stares and looks incredulous because a total stranger said his name)

Me: I know you from DNR and Mondays!

Geoff: Yeah, I'm over there with Carl...

We exchange a few more pleasentries and chat for a minute, then Geoff leaves the deli and I go back to the afternoon session of the WCF Master class - happier than a pup with two peters.

I leave this town Saturday. What are the chances that I'll be filling up my rental car at the gas station and see Karen drive by with Richard in the passenger seat and Mark running after them down the street, screaming profanities with a stream of toilet paper trailing out of his pants?

Thursday, May 24, 2007 7:35:32 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, May 21, 2007
fun
Monday, May 21, 2007 6:08:57 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  |