Windows Media Center RSS 2.0
 Wednesday, February 28, 2007

'XP Sucks.'

That's how it ended -- at least for me.

And that's what I was disappointed about yesterday. Thomas made some good points in his post and then proceeded to render them moot with this final, childish hubris. I didn't make that clear in my previous post -- I shouldn't have used the word 'disappointed' twice. While I was sad to see Thomas move to Mac, I've long since gotten over that (and he and others would be interested to know how I dealt with my feelings, but that's a story for another day). My post wasn't about Mac vs. Windows -- that's been done to death (note to folks: the horse is dead).

Why was I disappointed?

Because Thomas is a great guy, and a great spokesman for Zooomr -- and I hate to see his passion get the better of him. In order for Zooomr to be successful on a large scale it has to appeal to the broad market, which includes Windows users. Having the CEO of your company say 'your choice of operating system was stupid' stands a good chance of alienating customers with those operating systems.

Take the high road Thomas -- don't become a fanboy for anyone -- even if for the briefest moment.

Categories: Be Smart | Comments [9] | # | Posted on Wednesday, February 28, 2007 6:41:52 PM (GMT Standard Time, UTC+00:00)   

I've remained silent about Thomas moving most of his computing to the Mac simply because I was so very disappointed to lose him as a resource to make Windows Media Center a better experience. I was pretty amazed to see him so quickly jump on the 'Get a Mac' bandwagon with Chris' latest post given (1) a majority of his problems with Windows at the time he 'switched' seemed to stem from his chosen OEM and (2) as far as I know he doesn't have a ton of experience with Windows Vista to objectively compare it to MacOS. In his defense, he might have a ton of experience with Windows Vista but hasn't posted about it (yet).

For the record, Thomas commands my respect with regards to his computing experiences.

But today, he lost some of his shine with me -- I was very disappointed by the way he ended this post today.

Categories: Apple | Windows Vista | Mac | Comments [4] | # | Posted on Wednesday, February 28, 2007 5:09:11 AM (GMT Standard Time, UTC+00:00)   

Agitprop or not, we should help Chris figure out numbers 2, 4, 5, 7 (at least the WebDav issue), 9 and 10 (if he can get specifics). (Ed and Chris are about the most immiscible characters I've ever met -- but I find each equally refreshing.) I'll be glad to drop by and help you figure these things out, Chris. Can't promise I know the answer on every one, but have a good knack for troubleshooting and finding the answers. Question for you, Chris: Did you run the Windows Vista Upgrade Advisor before moving the machine from Windows XP to Windows Vista? <-- That's not a dig, just an honest question.

Categories: Windows Vista | Comments [2] | # | Posted on Wednesday, February 28, 2007 4:22:46 AM (GMT Standard Time, UTC+00:00)   
 Friday, February 16, 2007

[This is probably the first of a series of posts...]

I've been falling in love with Windows all over again recently with Windows Vista.

While creating the Diamond SDK we had to edit the file redistribution list heavily because we added a ton of new resources. See C:\Program Files\Microsoft SDKs\Windows Media Center\v5.0\License\redist.txt for this -- it tells you what files we give you permission as a developer to redistribute in some form or fashion with your apps.

To generate this list, I installed a release candidate of the SDK and pulled out one of my rarely used, but favorite tools to enumerate the files and folders exactly as they appear in the file system post-install: FileGrab. When you drop files from Explorer onto the FileGrab window, you get a list of filenames, instead of the files' contents. You can save the list to disk, print it, or copy it to the Clipboard for pasting into another application. View options let you choose which file characteristics (such as date, size, or attributes) to include with the filenames.

FileGrab was created by Michael Mefford at PC Magazine...

...for Windows 95.

I have run it on every version Microsoft has shipped since -- including Windows Vista.

This is one of the hallmark features for which I consistently rank Windows above all other operating systems I've used over the years with each subsequent release (which would include MacOS, Linux, Solaris and BeOS among others): Its ability to run the software I like to use even if it was written light years ago in computing time.

FileGrab has worked great for me the last 10 years. As with any software though, eventually, at some point, it can be improved. While FileGrab has always met the need, each time I leveraged there were always a few improvements I would have made for my personal use. For example...

  1. It has more features than I personally need -- extended file attributes, the ability to print the enumerated list as a couple of examples.
  2. A feature missing which I always yearned for -- the ability to enumerate files or folders or both during a drag and drop operation and denote folders with a trailing slash ('\').
  3. A mildly annoying feature I would call a 'bug' today that, at the time it was created, could certainly have been a limitation of the underlying platform -- a fixed length (number of characters) for the file name which resulted in unecessary white space in the text.

So, while on a recent vacation I finalized a new tool inspired by FileGrab called FileAndPath to address these issues. When you drop files from Windows Explorer onto the FileAndPath window, you get the following at the time of the operation...

  1. A list of file names or folder names or both.
  2. Full path or file / folder name only.
  3. An optional trailing slash ('\') added to folder names.

The options for the generated list are limited to saving to disk or copying to the clipboard.

So, take your pick -- both tools (though written ten years apart) run just fine on Windows Vista.

FileGrab: http://www.pcmag.com/article2/0,1895,550871,00.asp

FileAndPath: http://blog.retrosight.com/content/binary/FileAndPath.zip

Categories: Tools | Windows Vista | Comments [5] | # | Posted on Friday, February 16, 2007 7:39:54 AM (GMT Standard Time, UTC+00:00)   

Seeing Omar post how he converts his digital video camera files reminded me of a tool I developed which ships with the Windows Media 9 Series Encoder Software Development Kit and used with the Windows Media 9 Series Encoder. Folks less accustomed to command line approaches and more familiar with GUI tools should like this resource. As I recall, the Windows Media Encoder Script will cover more of the options available in the Encoder compared to this graphical tool -- but for most consumers (and even some professional shops) the GUI approach will be more than enough. Here is a quick feature list...

  • Input formats. Accepted formats for input files are .avi, .wav, .mp3, .mpg, .wma, and .wmv. Input files can include extended content (such as script), but this content is not included in the output.
  • Output formats. Accepted formats for output files are .wma and .wmv.
  • Profiles. This sample supports saved .prx files. Windows Media Encoder includes several of these, but you can also create your own using Windows Media Profile Editor.
  • Video preprocessing. Video preprocessing modes such as deinterlacing, inverse telecine, and process interlacing are supported.
  • DRM profiles. Content can be protected using a DRM profile that you have created or imported using Windows Media Encoder.
  • Cropping. You can specify the number of pixels to crop from video.
  • Two-pass encoding. If the selected profile allows it, two-pass encoding can be used to improve the quality of the encoded content.
  • Display properties. Title, description, author, rating, and copyright information can be specified per file or per group.
  • Postview. The encoding progress is displayed in a postview window. This postview can be disabled to allow the encoding process to use more resources. The postview does not appear in certain situations, such as when encoding only audio or during the first pass of two-pass encoding.
  • Progress and status. This sample provides feedback for the current source file, such as the percentage completed and the encoding status.
  • Saved encoding sessions. Encoding sessions can be saved and reused, including all settings, the input source list, and the output file list with their settings.
  • Default settings. Current settings can be saved for use each time this sample application is started. A Default.xml file is created in the folder where the sample executable file is located.
  • Error logging. Error logging can be helpful for identifying issues with files that did not get encoded during the batch encoding process, or to troubleshoot problems in the source code if you want to modify this sample or use it as the basis for your own solution. An ErrorLog.xml file is created in the folder where the sample executable file is located.
  • XML. All saved sessions, default settings, and error logs are in XML format and can be viewed with the XML editor or parser of your choice.

I just installed on Windows Vista and tested it out -- everything seems to be working just fine (another post on that coming soon). With a default installation path for the SDK, look for the compiled tool and readme in C:\WMSDK\WMEncSDK9\samples\vb\batcher\. Full source code for Visual Basic .NET (2002) is included in the same folder if you want to add features. Note I haven't investigated what the upgrade path for this source code looks like for Visual Basic 2005 -- your mileage may vary. And for those of you who read this blog for the Windows Media Center goodness -- yes, this could be adapted to transcode DVR-MS files ***IF*** the Windows Media Encoder supported DVR-MS -- which it doesn't. Not to despair, though. Stephen Toub has a tool I use regularly to make those conversions -- grab it from Fun with DVR-MS.

Categories: Windows Media | Windows Media Encoder | Comments [3] | # | Posted on Friday, February 16, 2007 5:06:10 AM (GMT Standard Time, UTC+00:00)   
 Wednesday, January 10, 2007

Normally, what Michael says most of the time is spot on -- I'm a big fan, and pay close attention to what he writes. I'll admit his coverage of MacWorld has me a little bit baffled, as he seems to be caught in the echo chamber that is created by Apple for the Jobs keynote -- something I don't usually find him doing. Some examples...

In Macworld - Apple Says It's Time to Phone Home Michael states "Both Apple TV and the iPhone are important devices as they cement Apple's role within different places of the digital home." Apple has not yet shipped either of these products yet, and they hold exactly 0% market share for their respective categories (digital media receivers and mobile phones). How can you cement a position you don't hold at all? I'll admit I'm interested to see how AppleTV does over the long haul, and whether or not it's couple-of-tricks-pony approach will resound with consumers on the scale iPods have to date. The iPhone has *much* stiffer competition than the iPod really ever did (to his credit, Michael does allude to this towards the end of this post -- kinda).

Michael has this to say in Is Apple Late to the Phone Game: "Yes, I know other devices can do a lot of what the iPhone can do but that's like saying there's a lot of other music players out there as well." Well, actually, no. There are many devices shipping today that can do everything the iPhone will be able to do when it ships (and more). And, based on prices given today, those devices do more things a whole heckuva lot cheaper now than iPhone will when it ships. The market conditions that existed when the iPod rose to its popularity aren't really in play today in the mobile phone market. Specifically: Sony resting on its Walkman, Discman and (most importantly) proprietary NetMD laurels, the rise of the MP3 as a universal standard, lack of understanding by the then current crop of MP3 players to realize it's all about the hardware form factor, lack of attention to marketing to get out a message. Apple showing up at the right time, with the right device and the right service coupled with the lack of a timely and competitive response from other established players in that market allowed the iPod to take its favorable market position. While Apple will probably be successful by its own definition ("1% market share in 2008" -- obviously and intentionally lowballed) it's doubtful the competition will take the same laissez faire attitude. While you compare the success of the iPhone to the iPod we could just as esily compare it to the Mac (as Jobs did during his keynote today). I think there are few people who doubt the historical and perhaps groundbreaking importance of the machine when it was introduced in 1984. The ancestors of the original Mac now account for 3-5% market share (depending on who you reference) for all personal computers worldwide. Which trajectory will the iPhone follow...?

What's Missing From the iPhone outlines 4 significant blockers to the iPhone success (go read 'em). Even so, Michael says "Even with these issues, I still believe Apple is going to be force to reckoned with in this space." Michael seems to ignore the fact cell phones (and in particular SmartPhones, which iPhones are suppose to squash) are much more enterpise oriented than consumer oriented, and the first three of the items he outlines represent some fundamental gaps in the story. Once iPhone reaches feature parity with current offering, then it becomes a market changer. Sound familiar? Yep. Zune.

"...the XBox is the challenger against Apple TV (and the Slingcatcher as well). There's a battle going on for your living room. There's still a lot of network issues that Microsoft needs to work out. Where's the support for N in Media Center?" is what we get in Will Apple TV have issues as it's 'only' 720p. Where to begin. First, the Xbox has shipped over 10 million units. Windows Media Center enabled SKUs of Windows has sold over 30 million units. Window XP (to which any XBox 360 can connect to and stream content from) has sold in the 100s of millions. How many AppleTVs have shipped. Zero to date. If anything, AppleTV is the challenger here. The network issues will also tend to be a problem for Apple if and when they ever implement true high definition TV (think about the live events scenarios here, like sports). As it is, they covered most of the hurdles with the addition of a 40GB hard drive in the AppleTV (kudos to them, but that has to bite into the profit margin due to the BOM) and limiting it largely to content available from iTunes. Speaking of the content available from iTunes -- most of that doesn't even need the bandwidth offered by 802.11n which Michael seemingly calls a gap for Microsoft (certainly not music which can bounce around on 802.11b just fine, and their standard definition videos which would be quite happy with 802.11g). An admirable first attempt by Apple to enter this market segment and it remains to be seen if they have all the wrinkles ironed out

I'll be interested in what Michael has to say over the next couple of days when he moves over to CES in Las Vegas, and notices Apple might not have a lock on everything they present in their keynotes.

Update: I thought Omar had some pretty good thoughts on this subject over at Thoughts on the macworld keynote.

Categories: Apple | AppleTV | iPhone | iPod | Comments [6] | # | Posted on Wednesday, January 10, 2007 5:51:30 AM (GMT Standard Time, UTC+00:00)   
 Sunday, December 10, 2006

Pete and others in the comments bring up some good questions over on the Why Our Look & Feel Isn't Available To Applications post. My response warrants a broader distribution than a comment in reply.

At Windows Vista launch (actually, probably at CES 07) you will see at least one example of 'what people want' which could not be accomplished solely with our look and feel. Again, those partners would not have wanted to adopt our brand, and I would have personally HATED to see them do so. I'll try to remember to post 'why' when those are made public. It's fairly easy to envision the kinds and types of apps which could be built with our look and feel in mind, and then build the platform to just accomplish those. But thats very limiting and, frankly, not very much of a challenge. It also doesn't 'push the envelope' which, in some respects, a platform needs to allow people to do. Also, one of the guiding principles for our platform is to not lock the entire world into our assumptions about what types of apps are wanted. We want to enable people to build things we can't envision. Just FWIW.

And, as many of you have noted, you can reference Microsoft DLLs and use resources straight out of them. Luckily most of you also note this is not supported, might violate some EULA along the way and (most importantly) may very well not work in later versions, etc.

Feel free to use those. Seriously. Party on. Go crazy. Knock yourself out.

But do understand we never tested, planned, scoped or have any plans to test app compatibility for this approach. It simply will not happen. Also note these resources are intended for internal Microsoft consumption only and we are free to change them at any time, without letting you know. Development work using this approach isn't valuable to us, so we will tend to ignore your feedback as it doesn't help further the platform. Also, I feel compelled to tell you there are things on the horizon for vNext which would make me personally shy away from using them. Yeah, I know, it sounds like I'm trying to use scare tactics. I'm not trying to do so -- I'm merely hoping to avoid having to come back later and say 'I told you so...' because someone is screaming 'Microsoft broke my app!' when they should have known better. Of course, now that I've posted this, I've told you so. :-)

Long story short: If you don't see it documented (editorial or code sample) in the SDK but you think it's still a valid, long term approach: Post a question to http://discuss.mediacentersandbox.com or (IF you have already posted to the discussion group) drop me an email.

Categories: Media Center Application Design | Windows Vista | Comments [3] | # | Posted on Sunday, December 10, 2006 5:41:56 PM (GMT Standard Time, UTC+00:00)   
 Thursday, December 07, 2006

Go check out comment number 80 at http://blog.retrosight.com/CommentView,guid,d792aa21-7b6e-4f0f-acab-76cae5e3bbe5.aspx#commentstart. My favorite quote...

"Everything to everybody will end up being no good to everybody instead."

Enjoy...!

Categories: Humor | Comments [4] | # | Posted on Thursday, December 07, 2006 7:50:34 AM (GMT Standard Time, UTC+00:00)   

I've been meaning to do a 'brain dump' of why we don't make the Windows Media Center look and feel available to third party developers. Here goes...

Application Compatability Risk
We know exactly who uses our buttons, galleries, templates, etc. -- us. If we change these we break exactly one application -- Windows Media Center. Making them available to third parties imparts a certain amount of risk in that we can break applications without knowing we have done so. For example, we have tweaked media galleries in every version of Windows Media Center to date. Compare the music gallery in Emerald to the one in Diamond, for example of one of the more dramatic changes. What happens if your app is based on our gallery because it assumes certain things about that gallery which are incompatible with our new gallery. Trouble for us -- and you.

Variety Is The Spice Of Life
It would be a very boring world if every application looked like Windows Media Center. We do not have the market cornered in great experiences designed for use with remote control. Now that we have a platform (Windows Media Center Presentation Layer) which allows you to do the same class of animations (including full fidelity remoting to XBox 360 Media Center Extender) as Windows Media Center itself we no longer have this 'thunking down' into a low fidelity HTML experience. I'm excited to see what folks are able to do with this power at their fingertips, and certainly expect developer enthusiasts to start shipping features which surpass our own (have you seen this http://mobilewares.spaces.live.com/blog/cns!78533A1A2E078194!177.entry -- my wife was asking how she could keep track of Law & Order episodes the other night, and this app holds the promise of just that feature --pretty darn cool).

Public vs. Private Platform
Because we are both a product and a platform we only have so much time to create the public platform, and the public platform will always be a subset of the private platform (stuff we use to create our product) due to this time constraint. The Windows Media Center user experience relies in some cases on private platform features not present in the public platform. Let me give you an example: The lens effect seen on the Windows Media Center Start Menu when you navigate items in the horizontal strips. Our design team wanted a very specific (and quite subtle) look and feel in this lens effect which could not be created to their satisfaction without a *huge* investment in MCML authoring (and even then, we still really couldn't give them exactly what they desired). So we wrote new rendering code (which is in itself non-trivial) to accomplish the effect -- but it came in too late to be considered part of what we could expose publicly. At some point in any software you have to make a decision about what you will vs. won't ship (even if you use an Agile method or 'ship daily' as can be done with web apps). All of that to say this: It's not possible to give you the controls unless they can be accomplished with the public platform. Classic chicken or egg first problem.

Focus On The Fundamentals
We are still focused on making sure the platform fundamentals are in place -- for example, expanding on what you can do with web application approach (see http://blog.mediacentersandbox.com/PermaLink,guid,cb622812-d80f-45d2-82d6-a54099e62e21.aspx). For example, you can't use session cookies in web apps today -- it's way more important to get this in than trying to recreate Windows Media Center look and feel for the public platform (see previous point).

Maintaining Brands
I'm sure some folks will zero in on this particular point and say 'I knew it -- it's all about the money!' So, up front I'll admit this could also be titled 'who pays our bills' -- which is why I put it at the bottom of this list -- so you would read the prior items first and hopefully see it's a wholistic decision process. We are, after all, out to make a profit for ourselves and shareholders. With but a few exceptions, everyone who has a day job does it to make a living. This puts food on our table and a roof over our heads. But I digress... We make the platform for multiple audiences -- big, brand name partners and individual developer enthusiasts, and many, many medium and small entities in between (think in terms of Large, Medium, Small and Individual audiences). Unfortunately, the needs of these groups will inevitably conflict in some ways -- and this is one of those areas. The big companies who have well established brands will never use a Microsoft brand for their experiences -- it diminishes their brand if they do (and they spend GOBS of money and resources into maintaining their brand -- sometimes too much, and at the expense of great experiences, but that's a topic for another day). We could do a bunch of work to expose our look and feel, but the large and medium shops will never use them. Never. And increasingly, neither do the small shops. Honestly, it's never come up in the list of feature requests from large or medium shops and only very rarely from the small shops. That means we can realize a zero return on investment in this area in terms of dollars. At the end of the day, those partners are what makes or breaks our platform from a 'budget' perspective. It would be great if we could make a platform solely for the individual (aka developer enthusiast) audience, but at this point in the Windows Media Center platform life we can't build a business on this alone. As we grow, and developer enthusiasts grow, we hope to do more things specifically for this audience. The Z sample application is a great example of where I specifically added 'features' to our SDK which would target and assist the individual developer enthusiast -- and hopefully it's a great start.

Maximum Flexibility
Our platform provides for maximum design flexibility at the cost of reuse. We propose 'one size fits all' is not a true statement -- therefore the platform is one which can be tailored at the extreme for any purpose. We understand this precludes many development folks who are used to other types of platforms which provide controls. We've been pretty honest and straightforward the platform may be difficult to grasp for the mass market developer or weekend coder.

Resource Constraints
As with any software product or platform there is a finite amount of resources to put into the project. We've evaluated the idea of including the Windows Media Center controls in our platform resources with each release. And with each release it's been deemed as less valuable than improving the features of the existing platform of visual primitives. Of course, we are still very early in the lifetime of this platform -- at the time of this writing, just over a year since it's been commercially available to consumers. Stick with the platform for 10-15 more years and let's see what happens to this request over time.

[3/26/2008 Edited To Add the Maximum Flexibility and Resource Constraints sections.]

Categories: Media Center Application Design | Windows Media Center | Comments [11] | # | Posted on Thursday, December 07, 2006 7:32:37 AM (GMT Standard Time, UTC+00:00)   
 Wednesday, November 15, 2006

With Windows Vista barely one week past RTM the Windows Media Center team started our first milestone for the next version this week. One of the guiding principles we will use to determine features for vNext is identifying and removing roadblocks which keep people from using Windows Media Center.

One example of this is the new Express Setup you find in 'Diamond'. 'Emerald' and previous versions (version history and codenames) forced the user into a rather lengthy first run setup wizard about 10-14 pages at minimum for most users. By contrast, the new Express Setup in 'Diamond' requires but a single action the first time you launch Windows Media Center before you are instantly able to start using the features.

We would love to hear your thoughts about blocking issues which keep you from fully enjoying Windows Media Center more. Leave comments for the team to read.

Categories: Windows Media Center | Comments [114] | # | Posted on Wednesday, November 15, 2006 3:54:35 AM (GMT Standard Time, UTC+00:00)   
 Thursday, November 09, 2006

Our current hosting provider has us on a shared server which has an IP address blacklisted by several of the anti-spam folks. Yuck. Therefore none of the email sent by this server is getting through to most people. That's not good. It's also gone offline more than I would prefer. But I guess we've gotten enough bang for our buck at $19.95 per month -- but sense those dollars should be able to give us a bit more.

So, I'm on the lookout for a great hosting provider who can provide a solution which supports at least the following in addition to the regular web site hosting...

DASBlog 1.9

Community Server (Personal or Standard Edition)

SQL Server (for Community Server and other stuff)

The sites which would be hosted include...

http://www.retrosight.com, http://blog.retrosight.com, http://www.mediacentersandbox.com, http://blog.mediacentersandbox.com, http://discuss.mediacentersandbox.com and http://play.mediacentersandbox.com.

Please leave your recommendations in the comments, or drop me a line at charlieo@microsoft.com if you are a hosting provider and have a great solution.

Categories: Web Hosting | Comments [8] | # | Posted on Thursday, November 09, 2006 4:14:07 PM (GMT Standard Time, UTC+00:00)   
 Friday, October 13, 2006

(How many of you have parents who believe email exists solely as a big ol' chain letter distribution system? Every once in a while a gem slips through just barely worthy of broader distribution. I got one from my mother this morning which fit the bill. Being from the south, I made a few 'enhancements' to be more relative to today. Enjoy! -- but please do not forward <-- wasted breath.)

It has come to our attention that a few beta copies of Windows Vista Southern Edition RC2 may have accidentally been shipped outside of the south.

If you have one of these, you may need help understanding the commands. Windows Vista Southern Edition may be recognized by the unique opening screen. It reads: Winders Vista, with a background picture of Waylon and Willie superimposed on a bottle of Jack Daniels.

Please also note:

 The Recycle Bin is labeled "Outhouse"
 My Computer is called "This Dern Contraption"
 Dial Up Networking is called "Good Ol' Boys"
 Control Panel is known as "The Dashboard"
 Hard Drive is referred to as "4-Wheel Drive"
 CD and DVDs are "Them little ol' plastic frisbee thangs"
 Instead of an error message, "Duct Tape" pops up.

Changes in Terminology in Windows Vista Southern Edition:

 Cancel............stopdat
 Reset..............try'er agin
 Yes...............yep
 No................nope
 Find..............hunt fer it
 Go to............over yonder
 Back...............back yonder
 Help..............hep me out here
 Stop...............kwitit (WHOA!)
 Start............crank'er up
 Settings..........settins
 Programs.........stuff at duz stuff
 Documents........stuff ah done did

Also note that Windows Vista Southern Edition does not recognize capital letters or punctuation marks.

Some programs that are exclusive to Winders Vista:

 Tiperiter.........a word processing program
 Colerin' Book.................a graphics program
 Cyferin' Mersheen...........calculator
 Outhouse Paper................notepad
 Inner-net....................Internet Explorer 7.0
 Pitchers .......................a graphics viewer
 Bubba Tube....................Windows Media Center

We regret any inconvenience it may have caused. If you received a copy of Windows Vista Southern Edition, you may return it to Microsoft for a replacement version: Windows Vista Home Premium Ultimate Redneck Edition (codenamed 'Hee Haw').

I hope this helps all y'all!

Billy Bob

Get er done!

Categories: Windows Vista | Comments [5] | # | Posted on Friday, October 13, 2006 3:08:34 PM (GMT Standard Time, UTC+00:00)   
ZuneCard
GamerTag
About

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2008 Charlie Owen

Sign In
All Content © 2008, Charlie Owen