Power Window Repair

I recently rolled down the driver-side window of my truck… and it would not come back up.  After trying repeatedly to get it to work again (failing each time), I started thinking “What is the bill going to be for this nuisance?”

I asked some of my friends in the Phoenix area if they ever had this type of problem with the power window no longer working.  Those who replied also shared the sticker shock of the repair price – anywhere from $300 to $700.

Determined not to spend that much, I binged ‘power window repair’ and started researching.  I was intrigued by the following:


Only $99 for the repair?  Seemed too good to be true.  I looked up the Power Window Repair on Yelp and read the reviews. Because the reviews were great and recent, I called the company.  I got a voicemail and left my contact information.  Within a couple hours I got a call back from a nice lady who asked me details about my situation.  She quoted me a price on the phone ($129 all taxes included) to repair my window.  We made an appointment for the next day.  The repair would be done at my location.

Paul arrived on time and had my window fixed in under 30 minutes!  With no surprises with the repair bill, I gladly paid the $129!

What is the point of this story?  It demonstrated a true “win-win” for all parties.  From an internet perspective, it reminded me of these things:

  • Research a repair on the internet, even if your friends have a connection for you.  Why not compare and validate?
  • When researching a company, strive to get a 3rd party opinion. When reading reviews, be cognizant of the dates.  Recent reviews weight higher than older reviews.
  • If you offer a service, how would you fare with the above?  Would potential customers find you?  What do your reviews look like?

In closing, I want to thank Power Window Repair for such great service!  If you live in the greater Phoenix area and ever have a problem with your power window, this is the company to contact!

    Copyright © Microsoft Corporation. All rights reserved.
    The code provided in this post is licensed under the Microsoft Public License (Ms-PL).

Time to Get Involved

imagePlease be part of my app experiment.  I recently submitted my first app to the Windows Store, and I want you to be involved.  No, I am not asking for you to pay for it, because it is free.  No, I am not asking for you to give it a high rating, as that would give me a false sense of the app’s real value and an unfair advantage for competing apps.  So what am I asking for?  And how can you benefit from getting involved?

First, let me formally introduce you to the app – Tile of Time.  In order to appreciate your potential involvement, please consider the following excerpt from the app’s description in the store

Tile of Time is an app dedicated to making it very simple to know what time it is.  This app is deliberately simple because it is meant to have more features added only at the request of the community.  In other words, this app will improve and get better based on your feedback!image

If you are a developer, can you appreciate how difficult it was for me to release an app so simplistic in nature, it felt unfinished?  Mind you, the release in the store is complete, and does what is says it does.  However, based on the description above, the intent of the app is to evolve with more features based on feedback from the community.  You see, I truly believe app development is an ongoing process that should yield to a great degree to the consumers. 

So how can you be involved?  Please download the app and provide me feedback.  Consider an example of one of the app’s first reviews from a user in the United Kingdom:


Very simple feedback (thanks Chris), and a feature I look forward to implementing.

Now, how do you benefit from this?  I am documenting this journey and will provide all my lessons learned so that you – an aspiring app developer – can accelerate your development cycle with great efficiency.  The more feedback I receive, the better tips & tricks you get.

I look forward to your feedback!  I would prefer the feedback through the reviews at the Windows Store, as this is part of the experiment.  However, if you have a need to reach me otherwise, please send me your thoughts through this contact page.

    Copyright © Microsoft Corporation. All rights reserved.
    The code provided in this post is licensed under the Microsoft Public License (Ms-PL).

CES Today, CES Tomorrow…

I am heading to CES in Las Vegas, NV today.  This will be my first time going.  I have always wanted to go, especially since it has been considered the Super Bowl of new technology.  The Bing homepage showed CES as a trending term, so I checked it out.  I came across an article entitled “Why We’re Not At The Biggest Tech Show In The World” and was intrigued by the following quote:

Two overlapping trends have chipped away at CES and events like it: First, software and services have become the soul of consumer technology. Hardware (seriously doesn't the word "electronics" in the conference's dusty title make your eyes instantly droop a bit?) has become increasingly commoditized into blank vessels that do little more than hold Facebook and Twitter and the App Store and Android and iOS. And the best and most interesting vessels, increasingly, are made by the very companies making the software.

So here I am off to my first CES and I find out that it is a slowly diminishing event.  That is the bad news (for me personally, never being there in its days of glory).  The good news is what I noticed in the highlighted quote above (for me personally, because I am a software developer).  Yes, it is a great time to be a software developer!  

In fact, the very reason I am heading to CES is to participate at the CEA MoDev Hackathon sponsored by the Travel Channel.  The hackathon is all about writing apps.  Apps are far more relevant in this technology world than the gadgets that host them.  I know this to be true.  I am aware of so many individuals that refused switching to superior hardware with better features because that gadget did not have a certain app in its store. 

So I am a little discouraged my first CES is not a representation of what it use to be.  But I am not too disappointed.  I mean, I might be finding my next TV there…

AP Photo Julie Jacobson

    Copyright © Microsoft Corporation. All rights reserved.
    The code provided in this post is licensed under the Microsoft Public License (Ms-PL).

AZ MVPs of the Year

Congratulations to all the Microsoft MVPs of the Year!

Two of the MVPs are based right here in Arizona.

Joseph Guadagno was awarded MVP of the Year for C#.  Joe has been an ongoing contributor to the community through is efforts with the Southeast Valley DotNet User Groug (SEVDNUG), Desert Code Camp, AZGiveCamp, and as President of INETA North America (just to name a few).

Joe works full time (like most of us) and still manages to contribute so much to the community.  Congratulations to Joe for being recognized by Microsoft and by his peers a “leader by example” among MVPs.



Scott Cate was awarded MVP of the Year for ASP.NET.  Scott is well known in the Arizona community.  Scott is a long-time user group leader, and is the founder of, a site dedicated to listing all the technical user groups (regardless of platform) in Arizona as a service to developers.  Last year, Scott was awarded the title – Microsoft Regional Director.  Scott has been quite active in the southwest region of the USA promoting the Windows Phone Unleashed events.  He is a regular speaker at many technical events locally, nationally, even internationally.

Despite his busy schedule, Scott is devoted family man – always beaming with pride over his children.  Kudos to Scott for being recognized with such a high honor (though no surprise for those who know him).

If you have benefited from the hard work of either of these gentlemen, please enter your comment below!

    Copyright © Microsoft Corporation. All rights reserved.
    The code provided in this post is licensed under the Microsoft Public License (Ms-PL).

A .NET Love Story

Originally posted in 2005

I have a managed heap of memories regarding you - none of which are IDisposable. Therefore I am compiling my references, and persisting them to you in this file, which is ISerializable and will last for generations (at most 3).

I remember how I met you... heartbroken over java (how slow that old relationship was). When I first heard of you, I heard you were COOL. Then I found out how diverse you were in so many languages. You marshalled right over to my world. How easy it was for you to communicate over so many platforms! You understood my profile, and now I could see sharp-ly into your IIdentity.

You took me to your visual studio - it was RAD. So many views and hidden regions! You were so organized with your task list. I love how everything was color coded. It was in that environment when I broke down and stated: "You auto-complete me..."

We had our bugs to work out - we were not the exception. One time you thought we had a break-point. But we would continue to try. Nothing went unhanlded. We caught everything, and finally we come to this moment.

How do you do it? You stay true to so many standards, yet manifest so much. You have such class! There is no other type like you. As I reflect about you, I see that you have many methods - some very internal, some private, and some very protected. Some of your ways are too abstract to know. But what is public about you, anyone can see why you encapsulate so much inside. From what I derive, we can override anything (unless we sealed it).

Let's not box ourselves into the typical cast. We should look to the future - is it generic? I don't know - I may be partial. I will have to iterate over this until I yield.

How long will we survive?

while (this!=null) { continue; }

    Copyright © Microsoft Corporation. All rights reserved.
    The code provided in this post is licensed under the Microsoft Public License (Ms-PL).

The Twitter TweetDeck Failure

When I first started using Twitter, I was using it on a phone just via text messaging (I feel like an old guy saying “back in my day…”).  As tweeting became more popular, more options surfaced for how to manage all the tweets.  Phones now had apps that made tweeting via text messaging look like using a DOS console vs. an elegant Windows UI.  The website improved dramatically.  Soon, I was tweeting either via the web or an app.

My first introduction to TweetDeck was on the PC, followed by the app for iPad.  I really liked the layout and how easy it was to keep track of searches, lists, and mentions.  It was the best app to manage tweets in my humble opinion.  So it was no surprise to me when I heard Twitter bought TweetDeck for millions of dollars.

I was excited for the product!  Now under the ownership of the Twitter, what cool features would await us?

And then came reality.

Who would of guessed that the product would go backwards.  I can only imagine how many of us that were using TweetDeck before the acquisition, scratched our heads wondering where the setting was to get to that cool feature we liked.  We didn’t accept that it was gone, we simply didn’t understand where they relocated it.  Because it was not fathomable that the feature would truly be gone!

On the day of writing this post, I had a need to add myself to a Twitter list I created.  I could not see how to do it via the web interface, so I looked to TweetDeck (the most recent release by Twitter) for a way to do it.  Big mistake.  Someone in the Twitter universe suggested I download to version of TweetDeck before Twitter took over.  Feeling dirty for installing an older version alongside the current version, I was able to accomplish my objective.  I had to use an older product.  That is a failure.  It makes no sense to me.

For any of you who have shared a similar story, I would love to hear about it.  Please leave a comment.  Let the search engines find all the woes and complaints.  May the minds behind the current release of TweetDeck reflect on the massive failure of giving their community less.

By the way, if you want that “golden” edition of TweetDeck before Twitter took over, you can download it by clicking the yellow TweetDeck logo above.  The blue logo is a dead end.

    Copyright © Microsoft Corporation. All rights reserved.
    The code provided in this post is licensed under the Microsoft Public License (Ms-PL).

A Few Things You Should Never Know

Despite a sense of self-entitlement, there are a few things that should NEVER be known to you...

    Copyright © Microsoft Corporation. All rights reserved.
    The code provided in this post is licensed under the Microsoft Public License (Ms-PL).

Technical Level of Understanding

How often are you asked something like:

"How good are you at…"
"Have you used…"
"What is your experience with…"

With regard to technical competency in a given area, what should you say? After giving this some thought, I feel there are three major aspects that come into play:

  1. Academics

    Knowledge & Understanding

    This is a two-part aspect. Knowledge refers to the specifics, while understanding relates to conceptual comprehension. For example, in HTML5 new elements have appeared such as <section> and <article>. Knowledge is awareness of these things and the proper syntax to use them. Understanding is knowing why and when we would use one over the other.

  2. Experience


    If all you have is the first aspect, then you only have is academics. You would be "all theory, no practice" as the saying goes. How much time you put into actually using the technology is commensurate with your expertise. And I am sure you will agree that the more time you spend on any technology, the more likely through "trial and error" you learn more too.

  3. Context


    How you apply the technology is also a factor. Using HTML5 to create a friend's personal website will (likely) not give me the same challenges as a Fortune 500 company needing a new internet site. The context of the technologies surrounding a technology also comes into play. For example, loading a web page with static data vs. loading a data from a service in the cloud – both end up the same, but the level of skill to complete one or the other is considerably different.  In this aspect the scale of use is also factored.  Creating something to please 10 people is far different from creating something to please 10,000,000 people.

Any of the above aspects deserve much more explanation.  This is just my rough-draft thinking.  Imagine an algorithm that would put these into numerical measurement.  Something like:
TL = (A+E2)C
Technical level equals context multiplied by the sum of academics and experience weighted twice important

If each aspect were given a scale of 1 to 5, what would your technical level be?

    Copyright © Microsoft Corporation. All rights reserved.
    The code provided in this post is licensed under the Microsoft Public License (Ms-PL).

How Many TakesjQuery15206614361586827385_1312583060242?

Jason Helmick with Interface Technical Training...

    Copyright © Microsoft Corporation. All rights reserved.
    The code provided in this post is licensed under the Microsoft Public License (Ms-PL).

Web Camp (MVC 3 and jQuery) Silicon Valley, February 2011


I had a great time presenting on MVC 3 at the Web Camp in Silicon Valley. We (Doris Chen, Dan Waters, and me) presented to a full house of developers willing to sacrifice a Saturday to learn more about MVC and jQuery.

For those who were in attendance, thanks for all the feedback! The resources for the event can be found at the official Web Camps site.

    Copyright © Microsoft Corporation. All rights reserved.
    The code provided in this post is licensed under the Microsoft Public License (Ms-PL).