Sunday, July 06, 2008 #

How to do away with the Delete/Resume/Restart Page...

I don't know about you but I just hate the Delete/Resume/Start page in Media Center; I would prefer that when the video is done that it just take you back to the page that invoked the play operation in the first place.

This isn't so hard to do, all you need to do is wait for MediaTransport.PropertyChanged to file and when PlayState goes into the "Stopped" state navigate back to whatever page you feel is appropriate.

A generic way to get this page out of Media Center would be to call HistoryOrientedPageSession.BackPage every time the playback goes from Playing to Stopped.

While I have not tried this myself, this appears fairly straight forward and is probably safe to do at any time (given the nature of this state transition).

posted @ Sunday, July 06, 2008 5:57 PM | Feedback (0)

How to determine what content a MCE Extender supports...

So your a Media Center add-in and you want to determine if a file is a supported format for the playback device that is being used at any given time, here is what you do:

First things first you should detect if your on a Extender or not you should make sure the Capabilities.IsConsole is false.

At this point you know your on a extender, the next thing need to do is check to see that the file you are about to play is supported by the the Extender, to do that you can use DeviceInfo.ProtocolInfo (), this will either return null which means you can assume a base set of capabilities (documented on here) or return a string which can be parsed to find out what "Content Types" the Extender supports.

What is a "Content Type" you ask? its a string that gives you a basic idea of what sort of content your looking at (obvious eh?) for a mpeg file it will be "video/mpeg".

You can determine the "Content Type" for a given file extension by looking in the registry under "HKEY_CLASSES_ROOT\.{FileExtension}" where {FileExtension} is the extension of the file in question, the value of "Content Type" will have what you need.

Another useful thing to know is the "PercievedType" for a given file, its very similar to "Content Type" in purpose but the king thing to understand is that the Videos Library in MCE uses this to determine if a given file is a "Video" or not, as such if you were to build a Video library of sorts what you would likely want to do is:

  1. Find all content that has a PercievedType of Video
  2. Identity which of those files are supported by the device being used at the time by checking the ProtocolInfo method.
  3. Either filter out or disable content that is not supported by the current playback device.

As I said this approach isn't perfect, it has a couple short comings:

  1. You are not guaranteed that a device will return you a ProtocolInfo string so you have to special case that with the default content types called out in the ProtocolInfo documentation.
  2. Content Type, while useful isn't enough to tell you for sure the content will play, for example bit rate and other encoding options can make content not playable.

With that being said this is a fairly reliably means for you to filter out the cruft that will cause users of your add-ins problems, and you should consider implementing it if you create a library view in your application.

posted @ Sunday, July 06, 2008 3:12 PM | Feedback (0)

Sunday, June 29, 2008 #

Finally done with the LemonLaw claim and mostly done with Chrysler.

Back in the 90's I worked for a Information Security company that had a number of contracts with Chrysler and ultimately DaimlerChrysler; I actually re-located to the Detroit Michigan area to build out a team to support these contracts.

Overall my time working with DaimlerChrysler was a good one, there was a lot of excitement about what the merger was going to bring, I also remember growing up and hearing my father tell me stories of how Lee Iacocaa was saving Chrysler from it self in the 80's.

To a great extent its the culmination of these events that lead to me considering Chrysler when my wife's Audi A6 AWD wagon started having more problems than it was worth, but the cincher for me was the discount I get as a Microsoft employee with Chrysler, at the time it was 0% APR, 1% below invoice, and several thousand cash back.

2005 Chrysler Pacifica

The product offering that Chrysler had at the time that met most of our criteria was the Chrysler Pacifica, a 4x4 cross-over vehicle that supposedly had the strongest Mercedes influence of all of the cars since the merger, best of all was before my discount it was still over $10,000 cheaper than the next vehicle in its class that met our criteria.

I ultimately bit the bullet, Mothers Day 2005 I purchased Heather a Chrysler Pacifica (these have since been discontinued), it was in the shop just less than a month after that, just a few weeks after that again it was in the shop, unfortunately this trend continued, we had all kinds of problems, the car would just stop conveniently in the middle of intersections, there were transmission issues, suspension issues, engine issues; this car was a lemon.

We tried for about a year and a half, FAR too long to get these issues resolved, frankly I did not want to believe I had a lemon, so when the dealership told me they fixed a issue I left optimistically believing them, unfortunately with rare exceptions they were wrong.

We ultimately reached a point where the dealer refused to try to service the vehicle issues they had previously looked at, despite the problems still existing, even though the car was under warranty; we asked to have them re-purchase the car and give us another one and they refused.

At this point we decided to file a Lemon Law claim with the state, everything we read on line made it sound like this would go quick, we would know one way or another in just a few weeks, and if they decided in our favor we would have a new car just a few weeks after that.

After about 3 months of waiting we heard from Chrysler, apparently the state was about to make a decision and Chrysler decided to offer to replace the vehicle on their own accord instead of having the state decide for them; I agreed.

I was told at this point to go pick out the car we wanted, that the process would just take a few more weeks but the car we wanted would be held, well we went right down to the local dealer and picked out a new car, it was the Diesel Jeep Grand Cherokee Overlander, it essentially has the same engine and transmission Mercedes ML320 SUV.

Well a few weeks passed, and the Chrysler contact we were working with was not returning our calls and the Dealership we had selected sold the car we had picked out, I tried working with the dealer to source another car but the guys were incompetent I was able to find results in their system they could not; in the end the dealership told me they would have to order a car for me because they were not willing to do a inventory transfer from another dealer.

At this point I finally heard back from the Chrysler representative, he was apologetic, he said next time the paperwork would not take so long so I went and found another car, this time at another dealership, I gave the Chrysler representative the details for the car and the paperwork process began again, two weeks in the dealership sold that car too.

At this point there are no more Diesel Jeep Grand Cherokees with the trim package we had wanted in the state they wont transfer from a out of state dealer so we had to resign ourselves to placing a order for a car, we were warned this could take a long time, it did.

We have now taken possession of the car, from the time we filed the Lemon Law claim it was over a year before we had the car, it took 8 months once Chrysler engaged before they managed to get us a replacement.

I have signed a NDA and can not talk about the exact details of the transaction, but the way they do this is they calculate the transaction based on the MSRP of the original vehicle and the MSRP of the new one, calculating a depreciation on the original vehicle by giving some usage credit in miles then calculating a per mile charge against the total number of miles driven.

What I can say is that during my time working on this issue with Chrysler I have come to accept Chrysler is inept, absolutely incompetent, time after time they made commitments to me and never followed through or worse backed out entirely.

Often times I hear about how due to labor costs the American automotive industry can't compete in this global market, and while I agree this is a problem that is just the surface of a much larger problem.

The quality of these vehicles are not competitive with their foreign counterparts, the customer service experience during both the sales and service cycle is not even comparable, and worse the processes designed the "retain" customers like the replacement process I just went through are so inefficient and broken that it accomplishes the exact opposite.

It's in my nature to look for the root of problems, when I look at my experiences with Chrysler I believe the problem can be summed up into a single word, "accountability". All of the problems I experienced, really do boil down to just that and unfortunately that's a culture problem, which we all know are some of the hardest problems to solve in a business.

All I can say is that as an American this all makes me very sad.

posted @ Sunday, June 29, 2008 6:35 PM | Feedback (1)

Well DUH! Top Gear compares Toyota Prius and BMW M3

Well its a lazy Sunday afternoon and I have been catching up on my blogs, I just ran across a YouTube video of a Top Gear episode where they talk to what could be considered by some misconceptions about the Toyota Prius's environmental impact as well as its economy.

On environmental impact they talk primarily about the batteries focusing on the lifecycle of the nickel used in the batteries, it from mines in Canada, then goes to Europe for refinement, from there it goes to China for processing into a foam which then finds its way to Japan to be turned into batteries which in turn ultimately finds its way into the cards, they indicate that one report found that in the long term it does more environmental damage than the Land Rover Discovery.

I have heard reference to this report before, though I was unable to find it with just a couple of minutes of searching, I do know many environmentalists dispute the validity of the report.

They also do a short, non-scientific, mileage comparison (10 laps around a track) between a Prius and a BMW M3, the Prius only got around 17.2mpg while the M3 got 19.4mpg; to be fair they admit the conclusion from this test is not that the BMW is more fuel efficient, after all EPA says real world drivers on average get 36-56mpg in the Prius while the BMW shows only about 17.8mpg.

The conclusion they encourage folks to come to is that the biggest change when it comes to mileage is to be found from changing the way you drive.

I know many folks who have the Prius, most tell me they get closer to 30mpg for the kind of driving they are doing; for us I have been on a Diesel push, the new diesels are kinder to the environment than their gasoline counterparts, get pretty good mileage, for example the 2009 BMW 335d gets about 35mpg, the new 2009 Jeta TDI is looking at 29mpg to 40mpg and the 2009 Audi A4 TDI is shooting for 59mpg.

Going diesel has a number of up-sides, there is of course the torque but you now also have fully domestic and potentially self sufficient sources of diesel that can today be produced with both virgin oil as well as waste oil and in the future from many other sources.

posted @ Sunday, June 29, 2008 3:11 PM | Feedback (3)

Google vs. Microsoft, what's right for you?

I just ran across a interesting blog post today that talks about a bit about some of the differences between Google and Microsoft.

Having been around the block a few times I too know many folks who have found their way to Google, back when I lived in the bay I knew a few folks who were early Googlers, these folks loved their jobs, had a ton of influence and are now, well filthy stinking rich (and I am happy for them, if not also a bit jealous!)

With that being said that can probably be said for most anyone who is earlier enough at successful startup, that being said Google is so far away from being a start-up now that this is not how you should measure the company from a career standpoint.

Of the folks I know who have ended up at Google, on average I find the more junior people love it there, its unstructured, and all of their needs are taken care of, much like they are still in school. The more senior folks typically have an allergic reaction to the environment, this blog post and the quotes in it are fairly consistent with the sort of message I hear from these sorts of folks who end up at Google.

That's not to say Microsoft is perfect, or that there are not examples of senior folks acclimating to the Google environment (from Microsoft or other companies) its just that through my unscientific observations it seems that this is a trend, one that I would love to hear your opinion on.

posted @ Sunday, June 29, 2008 2:24 PM | Feedback (0)

Wednesday, June 25, 2008 #

Which is worse being insincere or foolish?

I love my team, it’s one of the most diverse teams I have worked with in my professional career we have Indian, Italian, French, Chinese, South African, Mexican, American, Canadian, Russian, Sweedish, and more.

The I just read a paper at Debunking the Myth of a Desperate Software Labor Shortage by a Dr. Norman Matloff, the paper is a bit dated as its from 2002 but it touches on a important topic.

I won’t go into a ton of detail but this paper has a number of fundamental flaws in the assumptions it makes, the ones that I recall of the top of my head include:

· All computer programmers are equal – I guess this was a common theme, while it was not stated explicitly throughout the paper it calls out example after example that basically says any programmer can do any job, any programmer can learn any language; any programmer can be proficient in any technology, anyone who has worked on professional software projects knows that’s simply not true.

Its akin to saying a History Professor is the right guy to teach Physics, both positions require a teacher, and well the Phsyics Professor is just that so in just a few weeks he could learn what he needs to be productive; sillyness I tell you.

· Employers can’t be hurting for skilled staff because they don’t interview people who don’t have the right experience – Do you want a web developer or line of business developer writing your TCP/IP stack, how about your cryptography libraries, your driver model, maybe your firewall? These are not “language” problems and that is what the author tries to reduce the problem to, these are skills problems, expertise problems and you cannot take just any developer and give him a few weeks and they will “learn” what they need to become productive.

· Employers are not willing to hire a veteran programmer who has just taken a course in some skill – This one I agree with, no class, I repeat no class can teach the same thing experience can, I can’t count how many people I know who have taken classes on computer languages who don’t know how to compile a program without help, who have passed certification programs like the CISSP who can barley spell Information Security; there is NO SUBSTITUTE for experience, any manager will tell you that.

That experience doesn’t have to be professional, it can be personal as well, I hired one guy who did a BitTorent like protocol for fun, he had a number of other similar experiences to that one as well as a solid foundation in computer science principals while this was a college hire, from a very good school this was not why he got hired I reject people from many good schools; It was this individuals experience and personal drive that proved that he had “what it takes”.

That’s not to say this paper is all wrong, it does have some very valid points however it’s so far from balanced these valid points get lost in the muck; what I can say is that good programmers and engineers seldom have problem finding work, those that fall into that category are few and far between, more over as the best and brightest often do they have their pick of their jobs and are seldom available.

I personally was looking to fill a job in my team recently, it’s now been filled by a great guy who needed a H1B, but I literally went through thousands of resumes, most of which may have been fine “programmers” but either had insufficient skills and experiences or did not present them in such a way that I could discover them so they never were contacted.

While it is true I tend to work in niche or low level areas of computing (kernel, driver, crypto, networking/api stacks, authentication systems, etc.) I know many who have worked in other areas where they experience similar problems.

Back to my truly international team, they are great, nearly all of them had to get VISAs to be here at one point or another, the majority of them on the green card path; but one thing in common they have is that they have skills that are not readily available here in the U.S. and we turn people like them away because of this stupid VISA problem.

What do I think the problem is? To a great extent it’s our education system; its increasingly producing lemmings or worse, video game testers, not the top shelf talent we need to be competitive in this international market, but a close second is certainly this silliness around VISAs, our economy improves as an artifact of this top-shelf talent coming into the nation, these people get good paying jobs, pay taxes, buy houses, they contribute to our economy and make this nation their own.

That’s what we were founded on, turning them away does us no good.

posted @ Wednesday, June 25, 2008 11:21 PM | Feedback (0)

Beef, it’s what’s for dinner

After our Europe trip last year we really noticed the food quality difference between what we were eating back home and what we were eating while on vacation, that’s not to say the food was always better in Europe but we did, on average eat at better places that we might normally so to a certain degree it should be expected.

 

That being said in some cases, like with vegetables (Tomatoes in particular) they were definitely better all around in Europe, this is why we put up a greenhouse.

 

We have yet to get our first crop of vegetables (but it should come soon), in the mean time our friend Chris arranged for us to buy a 1/2 organic, grass fed Angus, which we split 3 ways (one part going to a nice lady named Linda).

 

Chris did most of the work, he ordered the steer (from a family friend), arranged for the butcher (recommended by the family friend), picked up the beef, and of course paid all the afore mentioned actors; for this I am thankful!

 

With that out of the way I would share how this worked out with my faithful readers, bellow is the excerpt from the spreadsheet we used to figure out who got what and how much each person paid.

 

For those that do not want to read the nitty gritty details, the net of all this is that we each got 126 lbs of good quality grass fed Angus beef for $2.53 a pound.

 

 

 

Total Pounds
378

Base Price Per Pound

$2.00

Butcher Fee

$200.00

Total Price Per Pound (incl. butcher)

$2.53

Total Price

$956.00

Participants

3

Price Per Participant

$318.67

 
 
 
5
chuck
 
4
chuck
 
5
chuck
 
1
cross rib
 
1
cross rib
 
1
cross rib
 
1
arm roast
 
1
arm roast
 
1
arm roast
 
2
rib steak
 
2
rib steak
 
2
rib steak
 
1
rump roast
 
1
rump roast
 
1
rump roast
 
2
tenderloin
 
2
tenderloin
 
3
tenderloin
 
2
ny
 
3
ny
 
2
ny
 
1
top round
 
1
top round
 
1
top round
 
3
top sirloin
 
2
top sirloin
 
2
top sirloin
 
1
short rib
 
2
short rib
 
1
short rib
 
2
soup bone
 
2
soup bone
 
2
soup bone
 
3
stew meats
 
2
stew meats
 
2
stew meats
 
1
sirloin tip
 
1
sirloin tip
 
1