# Thursday, June 14, 2007

Social Engineering

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.

#    Comments [0] |
# Monday, June 11, 2007

Nearly every blog post today...

...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! :)

#    Comments [0] |
# Sunday, June 10, 2007

typeof(MyProgrammerPersonality)

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.

#    Comments [1] |
# Sunday, May 27, 2007

Preboarding To Orlando

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.

#    Comments [0] |
# Thursday, May 24, 2007

My Own Little Hollywood

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?

#    Comments [0] |
# Monday, May 21, 2007

2007 PDX Code Camp

Here's the link to my slide deck and code that I presented at the Portland Code Camp. Organizing this content and presenting it was a ton of fun and great way to dive into WCF and CardSpace. My laptop had some problems chatting with the projector (guess it wasn't using WS-* protocols) so my backup plan of toting my own projector around all day proved worthwhile. I did have to run a bit and scraped a message level encryption demo and all of the OpenID demo due to time constraints. :(

Jason Mauer recorded the session though, so I'm curious to see how well it looks from the tripod.

Now I'm on the east coast and 8:30am comes a little earlier in the morning here than it does on the west coast. Its the first break in the Master WCF class with Brian Noyes and we've already had one Carl Franklin siting. Booya!! I'm hoping I can get a tour of Pwop Studios sometime this week while I'm in New London.

#    Comments [0] |
# Tuesday, May 15, 2007

Attaching JavaScript to the window.onload Event

I had a need attach a JavaScript function to the window.onload event today; I was fairly constrained in what I could do. This was an existing system and I couldn't go mucking around in anything I pleased.

Simon Willison came to the rescue with an excellent blog post on just what I needed - a way to register functions for window.onload that wouldn't trample those who came before me. Simon's code is brilliant!

function addLoadEvent(func) 
{ 
   var oldonload = window.onload;

   if (typeof window.onload != 'function') 
   { 
      window.onload = func; 
   } 
   else 
   {
      window.onload = 
         function() 
         { 
            if (oldonload) 
            { 
               oldonload();
            }

            func();
         } 
   } 
} 

addLoadEvent(nameOfSomeFunctionToRunOnPageLoad); 
addLoadEvent( function(){ /* more code */ } );
#    Comments [0] |
# Sunday, May 13, 2007

Portland Code Camp

The PDX Code Camp is next weekend, May 19th and 20th. I've been preparing a talk on how to create and use X.509 certificates. Developers need this technology for local testing of plain old ASP.Net sites, Web Services Enhancements (WSE) or Windows Communication Foundation (WCF) code.

The Windows SDK and Visual Studio.Net have some good tools for helping developers use certificates. I'll show some certificate basics, common examples of certs in action and tools that help us along the way. My goal is to get the session attendees comfortable with creating & installing certificates on their local machine in a variety of code scenarios - that seems like a reasonable task for a 60 minute presentation and 15 minutes of Q & A.

Just for fun, I worked on a local checkout of DotNetOpenID and implemented SSL for the authentication steps. A lot of the other code in the presentation is based on the excellent examples from Michele Leroux Bustamante. She does a great job of providing info on these topics for the developer community.

I have to leave for New London, CT on Sunday so I can only attend one day of this developer event. Normally, that would suck big time, but I'm also gearing up for a week long IDesign WCF Master Class at Carl Franklins house. When it rains, it pours!

#    Comments [0] |