# Friday, March 09, 2007
Best Assembly Instructions Ever

I can't believe that they actually put the word doodad in the instuctions! That's fun...

* Sent from a Windows Mobile 5 Device

BestAssemblyInstructions.jpg


Tangent
Friday, March 09, 2007 2:04:40 AM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Monday, January 15, 2007
What's the Default Answer?

Darrell Hawley said something very intrusting in a conference call one day that sparked a lot of thought on my end. We were trying to hash out a decision on a conference call and as a lot of group decisions go it was taking time. Darrell said, "Well let's pick the default answer and then if we have time to come back to the decision, we can maybe move off that default." I started thinking about "default answers" and it came to me how brilliant this is. Almost every question in life has a default answer. We just have to identify the default answer and see if it's palatable. If it is, then we can leave that question alone and focus on those where the default answer is not palatable. Once we answer those questions in a satisfactory way, then we can circle back to the default answers that were just palatable and improve the decisions there. That part alone is worth buying into because it does two things. 1) It frees us up to focus on the questions that we need to focus on rather than spending a ton of time fighting with decisions that we don't have to make anyway. 2) Just as importantly, it accelerates the decision making process.

You probably already employ this method to a degree. Think about your favorite restaurant. You probably have a favorite meal. Well - that's your default answer. When I'm in a hurry, I will just go with the default answer whenever I'm ordering food. When I've got lots of time, I'll read the menu and think through the possible answers and possibly choose something else.

Something that's very important to understand - the default doesn't have to be very good. You can review it and improve it. Continuing the dinner theme - the default answer for me at most restaurants is a burger with fries. Often, there are much better choices on the menu. However, I default to the burger a lot of times because of time or lack of focus on the menu or something.

Then I started thinking about those repeatable decisions and how we have to make them over and over and over and it burns a lot of cycles. The easy example is paying the mortgage. Is that a question - yes. Every month you have the decision to pay the mortgage and the default answer, if you don't decide one way or the other, is that the mortgage goes unpaid. Is that default answer acceptable? No but we are forced to make that decision over and over again. Among all of the other questions in our lives, it's another thing that we have keep on our mind and struggle with. The result of all of this thought is that I'm starting to look for ways that I can apply technology or process to start changing the default answers. This is different from the first part because moving off of the default takes action every time we answer the question whereas changing the default answer to something at least palatable means that you don't have to take action after that. Applied to the mortgage example changing the default involves setting up online bill pay or something in that vein. Once that's in place the default answer is that the mortgage gets paid and you have to take action to stop it. At that point it's a decision that make itself and you don't have to do anything which frees you up to focus on other things.

After I shared my thought process with Darrell, he posted the "Philosophy of If". He wants to break it down to code and write things in If statements. I don't think that it's that simple.

However, since Darrell is insisting on me codifying the solution - it would be in the form of database lookups. There's a table of questions and a table of possible answers with a link table between to put them together. Each question has a link to its default answer. Replacing the default requires identifying better answers, injecting them into the database and replacing the link. Writing the code in Ifs assumes that you have a set number of possible answers and that you have identified all of them.

The question table has the following fields:
ID
Question
AnswerNeedsReview

The link table has the following fields:
QuestionID
PossibleAnswerID
IsDefault
SortOrder

The PossibleAnswer table has the following fields:
ID
Answer
FirstAction -> nod to David Allen and "Getting Things Done" (Great book and process that everyone should read)

Any time that you find a new answer, you insert the answer and alter the AnswerNeedsReview to false. Once you have reviewed, sorted and set the default again, the decisions is just made until the next time that the AnswerNeedsReview somewhere.


Tangent
Monday, January 15, 2007 4:39:33 PM (GMT Standard Time, UTC+00:00)  #  Comments [1] 

# Sunday, January 07, 2007
Sharepoint Web Services For Remote Portlets (WSRP)

In conversation, someone brought up a Java WSRP implementation and I thought it was an interesting idea. Web Services for Remote Portlets (WSRP) is an Oasis standard defines a set of interfaces and behaviors that allow you to embed content from as web service on your page but more importantly, it allow that content to be interactive with the web service so it's more than just pulling the HTML. Clicks and other events funnel back to the origional site so that you don't have to write the backend processing for those controls. This is an interesting idea so I started looking into it.

I was thinking on what would be required to write one, but it turns out that I don't have to since there's already one on GotDotNet for Sharepoint. There you can find the WSRP Consumer Web Part Toolkit and the WSRP Producer Web Service Toolkit.

It's a facinating idea and I can see real possibilities with it. The question that I have is - has anyone used this yet? How well does it work?



Sunday, January 07, 2007 1:58:18 AM (GMT Standard Time, UTC+00:00)  #  Comments [1] 

# Thursday, January 04, 2007
Architect School

As an Architect, I sometimes attend the Architect school. I'm learning so much that I thought I'd share some of the lessions with you.

First lession: the white board is your friend. Until you accept that and embrace it, you will not be a great architect.

Then as time goes on, we work our way up to actually using the white board. Too often someone jumps right to the whiteboard without the proper background or respect for the whiteboard. The end result is often painful to witness.
We start out slow working with simple lines and work our way up. In this lesson, we work with up to 4 lines.

 

The graduate classes take whiteboarding to a whole new level where it can almost speak to the audience on it's own without any words needed.

Someday I'll get to that level - but it's a long road.



Thursday, January 04, 2007 2:48:55 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Thursday, December 28, 2006
I need a new travel alarm clock

So I started looking for one that I could take with me easily. It's amazing the variety that's out there.

ClockyI started looking when I saw Clocky, the rolling alarm clock. This clock, after you hit snooze, starts running and hiding from you so you have to get out of bed to find it and turn it off.

I started thinking about the alarm clock that I saw in college. It was a baseball alarm clock that you could throw against the wall to hit snooze. That was a fun alarm clock.

alarm clock.jpgBeing the gadget junkie that I am, I realized at that point that I really shouldn't just settle for the classic-boring-bargain travel alarm clock. It just wouldn't fit with my persona and image. Having a clock that I have to find, however, in strange hotel room is not a fantastic idea. Not knowing what to do, I hit Gizmodo and started looking at the options. Wow! There are a ton of different types of alarm clocks out there.

 

I really like the size and features of the LifeMax Under Pillow Vibration Alarm Clock. It's small, battery operated, robust and it has a vibration wake feature. buzz_alarm.jpgThat's cool for those mornings that I need catch an early plane and need to get up in the morning without waking up my wonderful wife. The issue there is that I haven't been able to find a distributor this side of the ocean. I can order it from MenKind in the UK but I don't think that they ship international - at least their checkout form didn't let me pick another country.

So the seach didn't end there. There are alarm clocks that fly and more alarm clocks that can fly, sensory alarm clocks that wake you up with smells (see the Bacon Alarm Clock and Hakugen Odor Alarm) and cool audio clocks (see the Space Invaders Clock, Police Scanner Alarm Clock or any of the many MP3 alarm clocks), clocks that make you think to turn them off (see the Pattern Clock that plays Simon says with you before you can turn it off or the Puzzle Alarm Clock that makes you put together the puzzle before it turns off). I'm also interested in the Progressive Wake Alarm Clock and others like it because they don't jolt you awake. Among the many other issues with all of the clocks in the this paragraph - very few of them will fit in the suitcase well.

So, I started looking for clocks that will travel better. Obviously the best for that would be the Online Clock but I'm not on the internet all the time. I know that Martin Shoemaker has written an alarm clock that works well when his machine is not in the shop or gets rebooted because of auto-updates. I could write/buy a software clock, but I really want a hardware solution to this because I never know how my laptop will be in use so I'm leary of that.

slim_clock.jpgI'm now looking at the Credit Card Case Clock and others like it. They are small, light and ultra portable.

So, what travel clock works for you?

 

 

 

 

 


Utilities
Thursday, December 28, 2006 3:59:31 PM (GMT Standard Time, UTC+00:00)  #  Comments [6] 

# Friday, December 22, 2006
Windows Developer Power Tools! Another Must Read

I'm seen parts of this book in pre-production and it's a must read!

Jim with the Book

Windows Developer Power Tools on Amazon

 

Want your copy signed??? Come to CodeMash! :)


CodeMash | Development | Utilities
Friday, December 22, 2006 6:45:00 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Tuesday, December 19, 2006
More on the Command Pattern from Dave Redding

Because he was on tape - Dave Redding decided to write more about the Command Pattern - it's worth a read.

 


Arc on the Street | Patterns and Practices
Tuesday, December 19, 2006 4:13:39 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Friday, December 15, 2006
Arc on the Street: Dave Redding - Command Pattern

Announcing Arc on the Street. This is going to be an opportunistic podcast. I've got a podcast recording rig that I've been playing with (many posts to come later about the rig). The best part about it is that it's very portable and all battery powered.

So I was having a drink with my friend Dave Redding who was asking about patterns. I pointed him to Christian Gross's Foundations of Object-Oriented Programming using .NET 2.0 Patterns book. Turns out that he already knew some about patterns and had used the Command Pattern in the past. Well - in our first "Arc on the Street" Dave is going to tell us about that implementation and a little bit about patterns in general. At the time of the recording, I was thinking that I would do two series "Dev on the Street" and "Arc on the Street" but I've decided that it make more sense to just have one and for me to concentrate on the architect level topics.


Arc on the Street | Podcasts
Friday, December 15, 2006 2:02:59 PM (GMT Standard Time, UTC+00:00)  #  Comments [1] 

12092006DaveReddingInterview.mp3 (7.48 MB)