Marquee de Sells: Chris's insight outlet for category 'spout' via ATOM 1.0 csells on twitter

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.




"Down-to-Earth Marketing"

In a recent post, Brendan Tompkins describes one of my recent Channel9 videos as "down-to-earth marketing." On the one hand, I find that ironic, as that particular video is me talking about the chaos that is MS culture and wondering how we get anything done at all, so if that makes you want to come then you belong here, Brendan. : )

On the other hand, at MSDN we realize that we're all in marketing. In fact, any individial or organization whose job it is to talk with customers is in marketing. The particular brand of marketing we use at MSDN is "not marketing," i.e. we package up the most technical, straight-forward information we can and get it into the hands of developers so that they can be successful using our platforms. Of course, the desired result is that more developers build most stuff on our platforms that causes more folks to purchase our platforms, which is why it's a marketing function.

Thinking of it as marketing is helpful, as it focuses me on what I've determined as job #1 in marketing: never say anything bad about your products that doesn't have a solution. For example, recently I was giving a talk at Corillian (Scott Hanselman's day job) and I was very free with the problems in Windows XP (which is really just a keep trick to get the audience to like me), but only because I was pitching Longhorn as the solution to all of those problems (and, of course, the cause of no new problems : ). On the other hand, if I had focused on the problems of Windows XP without being right there with a proposed solution to this problems, not only would my talk have tanked (who likes to hear problems w/ no solutions?), but it would have been counter to the purpose of my job: driving customers to our products.

So, am I a technologist? I like to think so. Am I engaged in the down-to-earth marketing that Brendan prefers? Absolutely. And good eye, Brandan!

0 comments




"The Great Windows 95 Trade-In Program"

Oh man, Richard Childress nailed it.

We should let people walk into their nearest Comp-U-Buy with their copy of any flavor of Win9x and give them a copy of Windows XP SP2 for free. And, if they happen to need a beefier computer to run XP, and they trade in a copy of Win9x at the time, we should take the cost of the OS off the price of the computer.

Not only do we get rid of a significant portion of Win9x in the world, reducing our support costs, but we get XPSP2 into more hands, stimulate PC purchasing and reduce the number of versions of Windows that ISVs have to support. Of course, we eat it on the price of XP itself, but I bet the savings in support would make up for it.

Who else thinks that Richard Childress is absolutely right?!? Let's hear it!

0 comments




Safe, Even Simpler Multithreading in Windows Forms

Mike Weinhardt adds a 4th installment to my series on threading in Windows Forms by illustrating the BackgroundWorker component from Windows Forms 2.0. I have to admit that after I saw this component, I felt very silly for not wrapping my own code up in this form. Thank goodness for .the Windows Forms 2.0 team. : )

0 comments




You Clever IM People Are Driving Me Nuts!

What is the deal with people like Iristyle, josefiend, Mongo, Moribund the Burgermeister and the cheers component? These are the IM names of my "friends" that are currently online in IM. I mean, come on! How the hell am I supposed to find Ethan, Joesephine, Scott, Shawn and Betsy if they hide behind these names?!?

At least Iristyle and josefiend stay the same so that I can learn them, but Mongo, Moribund and cheers are merely temporary based on the quickly changing whims of the people on the other end of the line. I mean, I'm as much in favor of personal expression as the next guy, but not if it stops me from the chief component of the app they're using, e.g. finding them and actually talking to them!

And what's with the guy that has nothing but characters that don't even show up but render as the dreaded square! Can everyone please at least start their cleverness with their first names so that I can find you on the list? That's what Brian Randell [Working at home], Carl Frankline [.NET Rocks!], Fritz [easp.net@torrance], Jeff - [Redmond] and even, LJ, just ducky, thanks, do and they seem like happy, fulfilled people. Thank you!

Plus, while we're on the subject, what is it with MSN Messenger's invitation dialog? How the hell do I know who keith at pluralsight.com is? I know tons of Keiths and I've never heard of www.PluralSight.com (and even now that I know what it is, I haven't a clue what www.PluralSite.com *means*). Can't MSN Messenger give me a name along with the email? I get lots of request to be added to folks IM friend list and I'd like to be able to figure out who I'd like tracking my online life and who I'd prefer to hear from only via email.

Thus endith today's rant. : )

0 comments




Marc Clifton is a Prolific SOB

I first heard about Marc Clifton on his work with MyXaml, a declarative UI language that shares a name and some principles with the XAML declarative language in Longhorn, but that works on .NET now. Until today, I had missed his earlier work on this subject: The Application Automation Layer: Introduction And Design, along with the rest of his 51 articles on CodeProject.com (wow).

I've never met Marc, but I'd sure like to. He seems like an interesting guy, both because of his work and because of this statement in his CodeProject bio: "Having no formal education in software development, he feels exceptionally qualified to inflict his opinions on the community at large regarding how programming should be done." Now that's the kind of attitude I like!

Marc, if you're going to be in the Pacific Northwest anytime soon, look me up!

0 comments




Chris Sells on Organized Chaos

The one where I express my surprise that we ever manage to ship anything at all, let alone the best stuff there is.

0 comments




Post/Reply Alphabet Soup

The one where the arbitrary differences between newsgroups, mailing lists, web forums and blogs w/ comments drive me to madness.

0 comments




Freeing My Mind

Here. The one with my private meditation lesson.

0 comments




Freeing My Mind

Saturday, April 24, 2004

I'm a sucker for new experiences. It's not that I believe that "you only go around once," because I don't believe that. I believe that our job on this plane of existence is to raise our level of consciousness to the next level and that our souls are recycled from life to life on this plane 'til we're ready for the next. So, I figure that anything I don't get to do in this life, I can do in the next.

And yet, I'm still a sucker for new experiences. In any given 10 years, most folks get 1 year of experience 10 times, but I think I've done pretty well at squeezing quite a bit out of my last 10 years. And I hope to continue to do that. For example, this year my wife and I will be attending Burning Man. We'd never been, but a couple of my friends from MSDN are helping us find our footing at what promises to be a very unique experience indeed.

MSDN is, in fact, a haven for unique folks willing and able to help me try new things. As another example, last week I had a private meditation lesson from Henry Borys, MSDN editor, book author and meditation teacher for the last 30 years (he's been teaching meditation since I was 4!). He runs weekend seminars and even a yearly trek to the Himalayas and while both sound attractive, my Redmond travel schedule almost never brings me there over a weekend (let alone to the Himalayas : ), so he invited me up to his place for a private lesson. It was beautiful. It was 30 minutes north of the hustle and bustle of the MS campus and right on the shores of the Puget Sound. We sat on his back porch, watching the sun set over the water and talking about his experiences in meditation (mostly in variations of transcendental meditation [TM in meditation speak]) and my experiences applying what I'd picked up on my own reading Meditation for Dummies (I have come to love the Dummies books).

We spent almost two hours meditation and discussing meditation. Here's what I learned:

  1. Meditation should be effortless. If you're working at it, you're not getting it.

  2. Don't fight the thoughts to "clear your mind." That's a sure way to keep them bubbling in your head. Instead, think of thoughts as the by-product of the purification of the mind that happens when you meditate and let them happen w/o paying them any attention.

  3. When you find yourself dwelling on your thoughts, go back to your mental mantra. Henry, as is traditional in the meditation teacher-student relationship, assigned me a mantra. Mine is a general-purpose and commonly shared amongst TM parishioners, but is still darn exotic to me, being in Sanskrit. The mere sound of it helps me and, since I don't really know what it means (although I'm hoping it's not "send Henry money" in some subliminal form : ), it doesn't distract me from the meditation (unlike my previous, self-chosen mantra "free your mind," which, while very meaningful to me, did tend to hinder).

  4. You're not meditating for the act of meditation itself, but the benefits it adds to your life when you're not meditating. While I've grown to like the act itself, I have also been enjoying a more peaceful, less stressed perception of life since I started (although it's still too early to tell if this is merely the placebo effect).

  5. Don't judge your meditation. Let it happen how it happens.

  6. Your meditation may uncover some deep-seated sleep that's necessary for your body to experience, so if you feel yourself falling asleep while you meditate, that's OK.

  7. Take 3+ minutes to come out of your meditation to "avoid the bends." Otherwise, you could easily come out of it too quickly, giving yourself headaches and/or making yourself irritable. I find that 60 seconds is enough for me, but I'm sure I don't get anywhere near as deep as an expert, so I always take this process as slowly as I can.

And one of the most fun techniques that Henry introduced was to realize that thoughts are merely interactions with your consciousness. This realization can make your thoughts abstract, which can actually push you deeper into the meditation itself. In other words, when you think of thoughts this way, the more you have of them, the better, which was non-intuitive to my previous understanding of meditation. Hearing this was a very "there is no spoon" kind of moment to me.

I was actually looking for some kind of introduction to meditation for months before I learned that Henry was a teacher, even though I've known him for more than a year, showing that once again, when the student is ready, the teacher will appear. I look at this experience as help along the way to a higher plane of existence, which I believe is defined within. And while I'm not a practitioner of any religion (I'm ex-Catholic), I do see this as a spiritual pursuit, blending the beliefs I've picked up with my brief brushes with Gnosticism and Buddhism and as popularized in The Matrix (although lost again in those stupid sequels). Free your mind, indeed.

Discuss

0 comments




What's New in Windows Forms 2.0

Mike and I write our first cut and what's new and cool in Windows Forms 2.0 in this month's MSDN Magazine.

0 comments




The X in XP Stands for "Wow"

I had coffee with Arlo Belshee today. He's done years of successful XP programming and when I say "successful," I mean increased and predicable output. In fact, the techniques he described for XP programming, he also applied to sales/marketing and got the same level of improvements. He's got an idea for the culture of a product team, including all levels of management, that makes me drool. If you get a chance to hear Arlo speak on this topic, you should do it. He's downright inspiring.

0 comments




More On The Quest To Kill Code

Here.

The one where I find a half-way point between where we are in our development environments today and self-writing, self-maintaining, self-fixing super programs.

P.S. Just to set your expectations, this style of description for Spout entries isn't going to stop after the last episode of Friends. : )

0 comments




More On The Quest To Kill Code

Wednesday, April 14, 2004

You're remember the last installment in my continued quest to find the next big leap in program producing productivity (the last two were OO and managed environments), where I thought I had it all figured out with generic algorithms. All we need is a sophisticated enough environment and wham self-writing, self-maintaining, self-debugging algorithms baby. However, after this evening's Portland Nerd Dinner (you didn't pass up a chance to meet Ward Cunningham, did you?), I'm thinking there's one step in the middle (at least : ).

So, picture the scene. After hearing about a guy that has a "fob" on which he has to enter a password to get a 6-digit number that changes every 60 seconds to that he could log into his company's VPN, declaring that that's what happens when you let Keith Brown run the world (I love you, man : ), and describing the CSSM (the Chris Sells Security Model -- which I can not only implement under .NET, but actually apply to code [maybe I'll start a workspace...]), I turned to Ward and asked him the same question that I had asked the group from the last PND, i.e. "What's the next big leap away in development?", being careful not to give him my thinking from last time.

Ward went a whole other way.

And he got me thinking it's a good idea.

So, Ward starts describing how to use loose typing (as in computer science "types" and what you do with your 101-Key Text Wizard) and TDD-style tests to infer types for your loose typing and I'm shaking my head, 'cuz I still gotta write the code.

Then a long-haired guy to my left who's name I never lernt (I meant to!), starts talking about how each leap in the past came from handling one detail that you don't care about, e.g. register allocation, memory management, etc, and I think that has the possibility of helping me, 'cept the thing I want to get rid of is the code (I mean, if I can't make a business on generating the stuff, then let's kill it altogether : ).

Then Jim Blizzard starts asking an interesting line of questions about whether a leap is really a leap 'til we're passed it and we can look back and decide it was a leap. While I think a leap is a leap because you can feel it (I can still remember the joy of my first program [leap 1], hear the ping in my head when I understood OO [leap 2] and feel the rush in my veins when I got managed programming [leap 3]), I was very interested in Jim's point because I think he was leading me somewhere [leap 4?].

Then, Ward jumped in again with another scenario where you start from nothing and have a programmer at your elbow to translate the next thing you want as you desire it (the first such scenario was Ward's Adventure Diet where you start with nothing, then add one kind of food/day 'til you pass the unit tests I guess [Ward actually put himself on this diet for a while -- man, we are nerds]) and that's when I nearly leap across the table so that I can get my own words in edgewise, literally telling Warm that he had to stop talking now so that I could.

Because that's when it all hit me.

What I want is X1 for programs. I've fallen in love with X1 because it gives me immediate gratification. It still finds the same things that Outlook search and Explorer Search finds for me, but X1 does it in such real time that I can narrow in several fields at once based on what I know about what I'm looking for, e.g. some of the body content and/or who it's from and/or what folder it's filed in and/or when I got it, etc, until I see a small number of choices from which to pick and I can click on one and say "aha! that's the one!"

I want X1 for programs. I want to start with nothing and keep refining it with commands like, "I want an app," "I want a grid" and "the data should come from here" and have my computer say, "Would you like an app like this, this or this" and "would you like the grid to look like this, this or this." And I want my computer to know about every feature that ever been built into 3 or more programs, e.g. from remembering the spot my window was the app last ran to dropping in pivot tables, from reading/writing to/from databases to providing theming. Anything that doesn't work in 3-6 choices, e.g. color themes do but individual colors don't, I want a Property Browser/Windows Forms Designer-like experience and only when I get to implementing something that hasn't already been implemented 3 times do I even want to think about writing a line of code.

'cuz here's the thing. I don't want to give up writing code. I love writing code. I just hate writing code that's already been written. What I want is for a customer to go through all of the stuff in the Codeless, Human-enabled, Realtime, Interactive System (or CHRIS*, if you will : ) as described in the previous paragraph, get to an actual working system except that it doesn't do some cool, unique thing that no one's ever thought of before and then send it to me in an email along with a PO for how much they're willing to pay for me to do the last bit.

When the last bit's been written 2 more times, it goes into the CHRIS and around we go again.

And I was all happy with that answer and I presented it the PND crowd just before the Sells Brothers (who had come along and been absolute angels for more than 2 hours while I geeked out with my friends), lost it and started throwing their shoes at each other in the Washington Square Mall food court, at which point I had to leave, before hearing what Jim's point was or what Ward was going to say after he said, "OK, wait, what about this..." which is usually what he says just before he tells you that he's already built what he's been warming up to for the last 30 minutes and you find that it rocks.

So, you guys damn well better tell me what happened after I left, especially if it's better then the CHRIS!

BTW, why isn't anyone filming these PNDs? They're the best techie conversations I have all month...

Discuss

* I swear that 90% of that acronym (abbreviation?) came out naturally and was only tweaked slightly at the end for marketing appeal. : )

0 comments




I'm Loving the .NET Fx ARM

Here.

The one where I learn a bunch of interesting stuff reading all of the annotations from The .NET Framework Standard Library Annotated Reference in one sitting.

0 comments




I'm Loving the .NET Fx ARM

Saturday, April 10, 2004

I enjoyed the annotations in The .NET Framework Standard Library Annotated Reference so much that I read them all in one sitting (in the bathtub, if you must know...). The annotations are where the authors put in their 2 cents about a particular class, method or property and it was very interesting. Here's what I learned just from that part of the book:

If I can get that much out of just the annotations, imagine what I could learn if I read the whole thing. : )

Discuss

0 comments




180 older posts       330 newer posts