You've reached the internet home of Chris Sells, who has a long history as a contributing member of the Windows developer community. He enjoys long walks on the beach and various computer technologies.
Tuesday, Mar 27, 2007, 8:37 AM in The Spout
The Microsoft "Sells" Department
So, I'm sitting in my office pair programming with Geoff Kizer when my phone rings. It says "Microsoft" on the display, so I figure it's one of my brethren.
"Hello?"
An angry voice replies, "I'm calling you because your technical support sucks and I'm tired of being put on hold!"
"I'm sorry? Are you a Microsoft employee?"
"No! I'm a *customer*! I'm trying to use Windows Vista Ultimate 64-bit and it doesn't work!"
"Oh." Now I'm reaching way, way back into my distant technical phone support past. First, defuse the anger by empathizing with the customer. "Well, on behalf of the 70,000 Microsoft employees, I'd like to apologize." That was a little over the top -- have to dial it down a bit next time...
Second, try to take things back a step and establish a rapport with the customer. "My name is Chris. What's yours?"
Calming down a bit, "John."
"OK, John. I can't claim to know everything there is to know about Vista, but I'll answer your questions if I can."
"How do I get the icons to be smaller on the desktop? No matter what the resolution is, they're always huge! I want them to be small like on XP!"
"Are you at your computer now?"
"Yes."
"OK. I know you can change the icon size on the desktop. Let you look around a little." At this point, I'm opening up the Personalize control panel, finding nothing about desktop icon size. I used the cool narrow-as-you-type Help. Nothing about icon size (although I can change the icons themselves). Now I'm cursing Vista myself. "I don't see it here," I admit to John.
At this point, I look up and notice I've gathered a crowd outside my office, including my boss and his boss, all laughing because a) dealing with angry customers is not the most fun job in the world and b) they're glad it isn't them.
At this point, Mr. Kizer reaches over to my computer, right-clicks on my desktop and shows me the context menu option that actually changes the icon size, which I share with John, making sure he's happy with this solution before moving on.
And move on we did. John has one more problem, which I repeat back to him to make sure I've gotten it right, emphasize with him and try to help him reproduce it. When we can't, I send him an email, asking for some additional data when he is able to reproduce the problem so that I can follow up with a fix, apologizing again for the trouble he's had today, both with Vista and with tech support.
After about 15 minutes, John thanked me and asked me if I was in Sales or Support.
"No. I'm a developer," which was close enough to true for your average person.
He then told me how he got to my phone in the first place. Apparently, he had called the main number and was tired of being put on hold by our support, so he told our voice-recognition system that he wanted to speak to "Sales," I'm guessing to give them a piece of his mind. That day, "Sells" was enough of a match to "Sales" and suddenly, I'm the one talking to John.
At no point during this call did I consider sending John somewhere else for help. He'd already been through our support and didn't like it. I can't make people purchase Microsoft products. I can't make people like Microsoft products. However, that one day with that one customer, I was going to do my best to help one customer to not hate Microsoft. Sometimes that's all you can do and I was proud to do it.
Saturday, Mar 10, 2007, 7:45 AM in The Spout
Programming WPF: Rough Cuts
If you can't wait for Programming WPF to be on the shelves (I know I'm having trouble), then you can read the chapters as we write them. These chapters have not gone through the technical reviewing stage or the copy editing stage, but they've been through the baptism of fire that is co-author review and both Ian and I are nuts for grammar, so they should be pretty readable. Enjoy.
Saturday, Mar 3, 2007, 10:21 AM in The Spout
Using my XBox 360 for Corp. Video Conferencing
I've been having another adventure in social video conferencing, this time with my team in Redmond. It all started with Doug brought his 360 into our new conference room, which is just an office with a coupla white boards, some comfy chairs and a 37" LCD panel for projecting.
Once we got the 360, I purchased a year Live Gold subscription and a live camera for $30, turning it into a video conferencing solution. Now, every morning at scrum, I'm sitting in my living room, telling folks in building 42 what I did yesterday, what I'm doing today and whether I'm blocked or not and they can see as well as hear me. When we go around the room, somebody turns the camera for me and it's my turn when we get to the LCD panel.
You might ask why we don't just use Live Messenger's video support and the answer is -- configuration and hardware. Live Messenger's video just never seems to work out of the box w/ people's s/w and h/w firewalls and even if it did, nobody's got a camera on their laptop. Now, the only thing my team mates need to do to see me is turn on the LCD panel and accept my request for video.
That's not to say that the experience is perfect. I'd love it if the xbox video conferencing:
- Allowed each side to run video at full screen. I just don't need to look at myself and when we go picture-in-picture (the LCD is also used for projection), the video's not very useful.
- Allowed me to remotely, instead of locally, select zoom regions.
- Allowed me to control a camera that supported pan, tilt and zoom in hardware.
- Supported noise cancellation. As it is, I still have to place a phone call to get onto the speaker phone in the room. If we try using the headset as a roaming mike, the feedback makes it unusable.
However, for the $30 incremental cost of the camera + year of live, it's a solution good enough that we're using it more and more. Have I mentioned how much I love my xbox 360?
Sunday, Jan 21, 2007, 4:19 PM in The Spout
Boogers and My Writing Process
I'm supposed to be writing today, but John (my eldest son) is also doing some writing as part of his homework. However, after watching him struggle with just the topic (the phrase "Always aim for the moon. Even if you miss, you'll end up among the stars" [which isn't even the correct quote]) to try to write the fully-formed essay, I give him a little lesson about how I write. Plus, since I'm supposed to be writing, this blog post is an excellent avoidance technique.
When I write, I told my son, I have to write giant books starting from empty pages. I can't just have a topic and start writing, I have to have something to break up the whitespace first. So, as a demonstration of this technique, I asked the fruit of my loins, an apple from my tree, for a topic. He said, without so much as a second of hesitation, "boogers."
So, we started by brainstorming booger-related topics:
- can be dry and crunchy
- can be wet and chewy
- flick 'em
- eat 'em
- wipe 'em
- come from noses
- wipe 'em on somebody
- wipe 'em on tissue
- wipe 'em under something
The brainstorming is just a list of facts in whatever order I think of them that I know about the topic that I may or may not decide to share with my readers. While brainstorming, I don't judge -- I just type whatever comes up. After brainstorming, I spend some time rearranging my facts into some kind of outline to lay out my order and my main topics into which the facts fall:
- intro:
- what they are
- formed from dust and other irritants in the air
- can be dry and crunchy
- can be wet and chewy
- come from noses
- how do I get 'em out of my nose:
- Kleenex
- finger
- friend's Kleenex
- friend's finger
- what do I do with 'em now that I've got 'em out of my nose:
- flick 'em
- eat 'em
- wipe 'em
- wipe 'em on somebody
- wipe 'em on tissue
- wipe 'em under something
- straight blow in the shower
- summary
- overrun (although I've decided I don't want in my finished piece)
During the outlining phase, it's often the case that more facts come up and sometimes even whole categories of facts. As you're forming the story, that's when the gaps make themselves clear. At this point, I generally jump into the first fact, turning it into the first sentence, adding supporting sentences, transitions to the second fact and so on. Sometimes, though, especially with shorter pieces, I'll write the summary to make sure I've got it in mind as the write the entire piece. This idea of the story that I want to tell is what Don Box calls "the spine," and it's the most important part. Once you've got the spine, everything else falls into place.
summary
Boogers happen to everyone and they're good for you. However, when there are too many, you gotta get 'em out. I recommend that you use a combination of Kleenex and your finger (for those hard to reach spots). You should make sure to throw the Kleenex away and wash your hands, although the shower straight blow is a good alternative. You should never, ever flick or wipe your boogers on something besides Kleenex, because who wants to find them?
At this point, I've gone from a blank sheet of (virtual) paper to a place where I know the spine, the details and the ordering; most of the hard work is done.
Obviously, brainstorming + outlining + summary + details = completed essay isn't exactly a unique perspective on the writing process. Still, how often does one get the change to turn boogers into a positive learning experience for one's progeny? : )
Thursday, Jan 4, 2007, 10:03 PM in The Spout
Five Things You Don’t Know About Me
I've been tagged a coupla times, so it's time I fessed up with Five Things You Don't Know About Me:
- In college, I was in a fraternity and not just a geek fraternity, but an actual, national, recognized social fraternity (Phi Delta Theta). I figured I was geeky enough in high school, so needed a place to learn to at least hide my dorkiness. Obviously, I failed, but it was a very fun four years. : )
- In college, I coded in Unix using VT100 emulation software via a modem to my school's DECs from my Mac IIcx running System 7 (I worked two jobs all summer to earn half of the $6000 it cost me to purchase the thing in 1988). It was the combination of the best programming and best UI experience at the time (although on two separate OSes). After graduation and working a job for a coupla years where I programmed Unix all day, I needed to look at Windows 3.1 for the first time because I had an interview at Intel. I could only stand to use it for about 10 minutes. They hired me anyway as a Windows programmer and, thank goodness, it's much gotten better. Windows is now my favorite programming and UI experience (and I've used both Unix and Mac OS X several times since then to make sure).
- I am a fetishist; my fetishes are domain names and phone numbers. I can't think of a cool domain name without a) checking to see if it's available and b) purchasing it if it is (the one that sticks in my mind is clownporn.com, but that one was long gone). If I ever have a cool idea for an app, I must first purchase the domain name (I own appsettings.com and I just purchased 16 domain names the other day for another thing I want to do). Likewise, if I see a 7-digit phone number without a 0 or a 1 in it, I am physically compelled to surf to phonespell.org to see what the possible 7 and 8-letter words are (my old home phone number was 642-JOHN, the name of my eldest son). Of course, I've written my own program to do the permutations of numbers to letters, but phonespell does that cool dictionary lookup and grouping thing. I also added the phonespell support to Dave's Quick Search Taskbar Toolbar Deskbar.
- I have jumped out of a perfectly good airplane (not Alan Cooper's plane).It was just before I got married and I took my best man. We both used parachutes. The fall was surprisingly quiet, but the stop at the sudden bottom was unpleasant.
- The equal-rights-for-humans theme that sometimes pops up on this site isn't because I've seen friends discriminated against and now I have to change the world (I don't actually know very many people that are homosexual), but rather because I think it's the right thing to do.
I tag Don Box, Chris Anderson, Michael Weinhardt, Tim Ewald and Ian Griffiths.
P.S. What's the deal with the shape of the Pentagon and the Seal of the US on money (the eye at the top of the pyramid)? Damn you Doug Purdy for getting me The Illuminatus Trilogy when I'm supposed to be writing a book!
Friday, Nov 24, 2006, 5:23 PM in The Spout
Xbox Video Marketplace Worked Great For Me
I tried the Xbox Video Marketplace on my 360 today. For 160 points ($2), I was able to purchase the season 2 premiere of Venture Bros (which is hilarious, btw) and 17% into the download, I was able to start watching it commercial free. Quality was high and I'm downloading Star Trek: The Enemy Within (a transporter accident creates an evil Kirk) for another $2 as I write this. The next experiment is a movie, but I'll wait for the wife to come home before we decide which one to pick.
The experience was seamless. Recommended.
P.S. I think gays and lesbians have just as much right to get married and to be parents as heterosexuals.
Thursday, Nov 23, 2006, 11:25 AM in The Spout
I'm Thankful for Windows Vista
Of course I have no credibility here (I'm part of the evil empire, after all), but I have to say, I'm really loving the Windows Vista Ultimate RTM. I know the Vista team takes a lot of crap for being late and for not being revolutionary enough, so I thought I'd let the Vista team know that I have yet to find something that isn't just better in Vista than in XP. Here are a few things I really like:
- I no longer have to do Ctrl+Esc, R before I can type something to run (I'm a huge keyboard guy); I just have to type Ctrl+Esc and start typing. This savings alone has ruined me for XP. (And before you point out that I can just use Win+R, I don't like the Windows key: it's not on all keyboards and it's not always in the same place.)
- If I want to search for a program in my voluminous start menu, I just do Ctrl+Esc and start typing. When the list of results contains my target, I press the down arrow to pick the one I want and press Enter when I get there.
- If I want to search for content on my computer, I just do Ctrl+Esc and start typing (once search is set to index my entire computer -- I wish that were the default). If I want to be specific that I just want to search content or file name, I can use the "content:" and "name:" designators, e.g. "content:foo name:foo.cs".
- If I want to find a setting in a particular control panel app, I open the control panel and start typing -- the results point me at the specific control panel applet and page with that setting.
- If I want to find something on the internet, I press Ctrl+Esc and start typing, then press the up arrow (to get to the "Search the Internet" option) and press Enter, which brings up the results in my IE7 favorite search engine.
- If I want to find something in my large list of installed programs, I open the Programs and Features control panel and start typing (I found the renamed "Add and Remove Programs" control panel by searching for "uninstall").
- Before you narrow my list of likes about Vista to "pervasive search" (which, obviously, I love), I also really like the sidebar. It's amazing how often I glance over there to get some quick piece of info that's always being updated for me rather than start some app, interrupting what I'm doing (e.g. lately I've been waiting with bated breath for MSFT to hit 30). I'm anxious for lots more sidebar gadgets.
- I love that the desktop is in the Alt+Tab list.
- I love the 3D Win+Tab list.
- The games, both new and old, are uniformly gorgeous.
- I really love the new look 'n' feel, including the animations and the new start menu, both of which I turned off in XP.
- I love that it just works on my 2-year old Dell laptop w/o any muss or fuss. I only have a Windows Experience Index of 2.0 because of my graphics card, but using Vista is still a very pleasant experience (and I have Aero glass around the edges of my windows and everything).
- I really love Windows Meeting Space. I'm a big user of Live Meeting because of my remote employee status and Windows MS is a simpler, cleaner, peer-to-peer version of the only parts of LiveMeeting I every actually used, i.e. sharing apps and sharing files. To have it included for free is huge.
- I love having Media Center included, too.
- I love that I can do picture slide shows from zip files as well as from folders.
- I like the new Sync Center, one-stop shopping for my offline folders (which I love) as well as managing my smartphone's files.
- I really like the real-time thumbnail of apps when I hang the mouse over icons in the taskbar and in the Alt+Tab/Win+Tab list.
- I love that .NET 3.0 is included out of the box.
- I love that every app I've tried, including an app I originally wrote for Windows 95, just works.
- I love that I find new features all the time.
- As I've mentioned, I like the clearification.com site. In fact, I liked it so much, Mel and I want to see Demetri Martin live in Portland. Very funny.
Seriously, given the experience with recent pre-release versions of Vista, I thought I was going to just stick with XP. I'm so glad I didn't. Vista rocks.
P.S. I'll continue to desensitize/scare away readers with political/religious/social messages in future posts. Until then, Happy Thanksgiving!
Wednesday, Nov 22, 2006, 3:41 PM in The Spout
Dammit!
There are a very few games I could call "great." Doom (of course). Half-Life 2. Burnout Revenge. Mario Kart. And last week, I added another game: Gears of War. Wow. I'm almost exclusively a first-person-shooter person (although I never liked the Halo series), but GoW has converted me to 3rd person. It rocks.
The one flaw in GoW is that it's too damn short! I've already finished the entire game on "casual," so now it's time to start over again on "hardcore" and begin the n-year wait for GoW 2. <sigh>
P.S. I believe in God, but am not a member of any religion. I was confirmed Catholic, but am no longer one.
Monday, Nov 13, 2006, 5:37 PM in The Spout
Costco + Busted Xbox 360 = Happiness
After a scant 6 months of service, my Xbox 360 yielded up the dreaded "to play this disc, put it in an Xbox 360 console" error (where do you think I was putting it?!?), which indicated a problem w/ the DVD drive. Ironically, this only became an issue after playing Gears of War for an hour or so (OMG is that a great game), even though it was happening consistently across my entire game library.
Calling 360 technical support yielded an offer of a repair, if I was willing to pay $140 (+ shipping) and wait 10 days for transit time. Having invested more than $1000 into my 360 and taken it into my home as a family member (ranking just below the kids but well above the dogs in the pecking order), I couldn't abandon it. This part of my experience yielded a very important lesson:
Lesson #1: Modern-day consoles should be treated like PCs, not VCRs, and warranteed appropriately.
I'm so used to refusing the warranty when I purchase a piece of consumer electronics (and normally it is just a scam), that I didn't even think to get the warranty on this one. On the other hand, I warranty ever Dell laptop I buy w/o a thought (and it has paid off many times). The XBox 360 (and I imagine the Play Station 3) are useful enough, that it's worth the warranty fee when things go wrong and complicated enough that things are much more likely to do so, like your average laptop.
Luckily, my clever wife remembered that she'd purchased the 360 at Costco (she's the one that brought it home -- how cool a wife do I have?!?), which has a very liberal return policy. So, Costco took back my broken 360 and in return gave me:
- a brand new XBox 360 (which plays Gears of War consistently wonderfully)
- one extra controller
- one extra game (Xbox Live Arcade Unplugged Volume 1)
- my old HD w/ our saved games (instead of the new one)
- a $15 credit
You read that right -- not only did they give me a new Xbox with more stuff in the bundle, but because the bundle was now cheaper, they refunded me the difference. I'm now hoping my 360 breaks every 6 months 'til they're paying me to take the new one home w/ me... All of this leads us to lesson #2:
Lesson #2: Costco rocks.
In fact, Costco is such a great store, that I can ignore lesson #1, because I know that they'll replace my Xbox again in 6-12 months if it breaks again.
P.S. I'm in favor of legalizing marijuana (although I've never smoked any myself)
P.S.S. I put in that postscript because I don't want readers to think that I was scared off (or wised up, depending on your POV) from the response to my last post. : )
Wednesday, Nov 8, 2006, 7:24 PM in The Spout
Our Long National Nightmare is Over
Since at least 2001 we've been stuck in a quagmire of missteps, indecision, corruption and the eroding of our freedoms. Some of us feared it would never end.
But the US House and Senate are now officially out of the hands of the Republicans, and that's cause for much rejoicing. Let the balloons drop and the dancing begin! It's a new age.
P.S. apologies to Mr. Petzold for ripping off his blog post, but when I saw it in my RSS reader, I thought that the above would be the subject of his latest essay and that we would finally have something on which to agree. It'll be my luck that he's a staunch Republican and I'll hear about my misguideness tomorrow... : )
Saturday, Nov 4, 2006, 12:50 PM in The Spout
Pay As You Go Phones For the Boys
Back in writer avoidance mode, I did some research into PAYG phones for the boys based on some recommendations from friends, colleagues and Wikipedia. This is what I found:
Company | Entry-Level Phone Cost |
Initial Airtime | Additional Airtime |
Coverage In My Area |
Virgin Mobile | $20 | $20 (100 minutes) | $11/hour | uncertain |
T-Mobile ToGo | $30 | $10 (30 minutes) | $20/hour | good |
Firefly Mobile | $80 (no keypad) |
$7.50 (30 minutes) | $15/hour | reported |
Tracfone | $20 (shows time left) |
$40 (120 minutes) | $20/hour | reported |
Boost Mobile | unknown (bad website) |
unknown (bad website) |
$12/hour | reported |
Cingular GoPhone | unknown (bad website) |
$10 (40 minutes) | $15/hour + $1/day for usage |
crappy |
Verizon INpulse | $70 | $10 (100 minutes) | $6/hour + $1/day |
reported |
Net10 Wireless | $40 (shows time left) |
$30 (300 minutes) | $6/hour | reported |
Assuming I trust my kids to call whoever they want (so long as they pay), it seems clear that Net10 is the way to go. It's effectively $10 for the entry-level phone (because it comes w/ $30 of free airtime) and $6/hour for more time after the first 300 minutes are gone. Plus, the Net10 phones show the amount of time left on the account, so the boys can monitor it themselves easily. Neither AT&T Wireless or Cingular has good reception in my area, so who knows what the reception would be, but for $40, it wouldn't be expensive to find out and they sell them at my local Safeway...
Wednesday, Oct 18, 2006, 10:56 AM in The Spout
Isaiah Okorie Asks "How do you do what you do?"
From: Isaiah Okorie
Sent: Friday, October 13, 2006 08:06 AM
To: csells@sellsbrothers.com; csells@microsoft.com
Subject: XSellent!!!
Hi Chris,
I am a .Net developer working in
[csells] I’m happy to hear that. Thanks.
If you don't mind, I would like to know how you are able to organise you work. How are you able to prepare for your conferences and still be a prolific author?
[csells] I think I’d sum it up as: Commitment + Fear. First, I commit to something, then I let the fear of bad consequences, i.e. giving a bad talk, missing my deadline, writing something inaccurate, etc, motivate me to do a good job. Unfortunately, this means I spend more time working then I’d like, but generally the results turn out pretty good.
What discussion groups, conferences, blogs (if any) are a must for you?
[csells] Since becoming an MS employee, I lurk on a few internal aliases based on the technologies I’m interested in. Externally, I hang out on slashdot.org, joelonsoftware.com and computerzen.com and that’s probably about it. It used to be lots, lots, lots more, but I just don’t have the kind of time I used to. As far as conferences go, I generally only do the PDC and my own DevCons.
How are you able to keep up with the changes? What books do you read?
[csells] I keep up with changes by a) a broad familiarity with as much technology as possible and then b) committing to using it because it feels like it’ll be the right thing and c) using fear to motivate me (recognize a pattern? : ). I read books on demand given the topic I’m into, and then it’s 3-5 books in a week for immersion. Frankly, after writing a few books, I’m a bit of a snob, so I don’t read a lot of technical books for fun the way I used to.
Now you work at
[csells] Honestly, it’s hard to keep up with the personal mail; I don’t do as good a job as I’d like. The web site stuff, e.g. blog, tools, spout, Genghis, etc, is catch as catch can. As soon as this last book is done (WPF Programming: The RTM Edition), I plan on trying to get some balance back into my life.
Many thanks for your inspiring hard work.
[csells] My pleasure.
Wednesday, Sep 27, 2006, 4:42 PM in The Spout
Horning in on Hanselminutes
It took a while, but I was finally able to horn in on an episode of Hanselminutes. Thanks for having me, Scott!
Friday, Sep 8, 2006, 11:31 AM in The Spout
Amazon Unbox -- what about my TV?
I don't want to download movies via Vongo or Amazon Unbox to my PC; I want to download them to my TV and smart phone! YouTube works because the videos are short, so watching them on my PV happens right now or not at all. Any movie or TV show service that doesn't let me play the result on my media center or take it with me on my phone, I just don't care. Does anyone want to watch 30+ minutes of video sitting at their desk or staring at their lap? I don't get it...
Tuesday, Sep 5, 2006, 11:34 AM in The Spout
Congrats To Mr. Petzold on this WPF Review
In the world of Windows technical writing which has so much competition, there's rarely any money involved, one dreams for reviews like these from KarstenJ:
"Tim Sneath walked into my office the other day and laid Charles Petzold's Applications = Code + Markup on my desk. I'm only to Chapter 7 of 31 chapters and I am riveted. I already have that feeling when reading a great novel when you don't want it to end. It actually does read like a novel to me, with a narrative arch as it negotiates its methodical way through the WPF jungle of APIs."
Congrats, Charles.