Marquee de Sells: Chris's insight outlet for category 'tools' 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.




Rich Salz on WSDL 2.0

According to Rich Salz's reading of the WSDL 2.0 spec (Rich makes a living selling hardware to make XML smoke, so I think he knows), the following is legal WSDL 2.0:

#include "wsdl.h"
extern void hello_world(const char* text);

It's hisjudgmentt that this is not a step forward and I'm having a hard time finding fault with his argument. : )

0 comments




Tons of Fun with Windows Media Encoder

I've been wanting an easy way to capture screen demos and audio for a while and after stumbling across Jon Udell's post on Movies of Software, I thought I'd give Windows Media Encoder a try. Here's what I learned:

So, while I wasn't happy with the results, I'm very jazzed about the medium. Expect to see more.

0 comments




Distributed Shared Always On Message Queue Service

Here. Jeff Barr of Amazon has just informed me that Amazon now provides a distributed, shared, always on message queuing service which allows you to create and delete queues, enqueue, read and dequeue messages that can stay put for as long as 30 days. It's free right now and I don't quite know how it will be used for porn and spam, but I have every confidence that you guys will figure it out. : )

0 comments




Jon Udell Knocks My Socks Off With Dragon Naturally Speaking 8.0

I've never really seen anyone use speech recognition for real and after watching Jon Udell use Dragon Naturally Speaking 8.0, I'm flabbergasted. I had no idea working with it could be so natural. Wow.

0 comments




MaxiVista: Changing My Mind About Tablets

When I first read about MaxiVista, the thing that really got me interested was that it gave me two things that I really want from my Tablet PC. The 1st is to be able to use a slate-only Tablet as a 2nd monitor for my laptop so that I can continue my addiction to keeping my whole life on a laptop, but still be cool like the other kids (I've so far avoided multi-monitor setups because I love my laptop too much and I was afraid of the conflicting addictions).

The 2nd thing I get is a result of the first, i.e. if I'm going to use the Tablet as an adjunct to my laptop, then I shouldn't worry about a generation sometime in the future where Tablet convertibles can replace my laptop, but just get the best slate I can find and enjoy it as a remote viewer/editor of info via file sharing and terminal services.

If you have a device you'd like to turn into a 2nd monitor and you don't yet have MaxiVista, Scott Hanselman's posted a 30% off MaxiVista coupon.

0 comments




I'm With Jim: X1 Rocks

Like everyone else in the blogespher, I installed Google Desktop Search last week. And, after using it a few times, I've uninstalled it. Jim's right; X1 kicks its butt.

0 comments




Channel9: More Monad

I haven't even seen this yet and I want to recommend it. I'm just a big monad and Jeff Snover fan.

0 comments




re: Business Object Design tools question

Today Ralph Loizzo asked me what tool I use to outline my objects, to which I replied:

The tool I use most often to design my systems is a text editor. I write my client code first against the objects I wish I had to obtain the first order of functionality I'm after, then implement those classes and refactor 'til I've reached a state of happiness between the clients and the object model.

In this age of development methodology du jour, I assume my methodology already has a name, but today I dubbed it CDD (Client-Driven Development). Also, I don't distinguish between client UI code and lower-level code, i.e. just as often as I write lower-level code against an imaginary OM, I design my UIs first, then implement an OM to enable the UI.

Over the years, I've become less and less of a fan of the idea of componentizing the functionality you think the higher levels are going to need, as it often results in over-engineering. Instead, I prefer just-in-time engineering, refactoring my design as I need new or different functionality, whether in the client during the initial development stage or during the maintenance stage.

Test Driven Development is very similar to Client-Driven Development:

It may even be that CDD is a degenerate case of TDD where the "test" is "the client seems to work."

0 comments




Mixed Feelings

For the last few months, I've been doing some really cool work with a group of folks whose only task is to build apps that exercise the WinFX technologies so that we can make sure stuff works the way we want it to and give feedback to the product teams when it doesn't. Because we're still in preview technology land, various features that we want to test are in various builds of each part of WinFX, so we're constantly fooling around with new combinations of the bits, which we bring together in VPC HD images and that I then have to download. Since I'm downloading the 7+ GB images from my house over VNC and since the internal VNC connection software isn't quite as robust as the VNC software we ship to the rest of the world, that means that I'm constantly being kicked off of my connection and reconnecting, sometimes 2 or 3 dozen times over the 2 days it takes me to download the image. I just finished downloading another build today.

Unfortunately, when setting the Administrator password, I managed to enter the wrong thing twice, which meant that I had no way to log into my new VPC image after 2 days of hard labor getting it to my house. So, instead of re-downloading it again, I googled for a utility to reset the Administrator password. The first link was a knowledge base article from MS that didn't help me because I hadn't yet logged in to make myself a password reset diskette (which, frankly, I never do anyway). The second link was a list of completely unsupported, possibly illegal, tools to reset the Administrator password. The first one on that list worked like a charm in several orders of magnitude less time than downloading a new VPC image.

So, now I have mixed feelings. On the one hand, I'm happy that I didn't have to go through all that trouble again, but on the other, I doesn't seem very useful to set my Administrator password to anything useful if I anyone with physical access can just reset it so easily. Of course, Keith Brown and other security experts have been saying that physical security is paramount for any other kind of security to be affective, but it was kind of unsettling to have the point driven home so starkly.

0 comments




Very Much Enjoying .NET Rocks Lately

DNR goes up and down like every other media outlet (it's not unlike this very web site in that way), but I've really been enjoying it muchly lately. Not only did I get to hear someone besides my normal brethren talk about CAS in a way that didn't make my flinch (Don Kiely on developing with least privilege), but I also got to listen to Mark Miller talk (at break-neck speeds) about my Dad freaking out when the jelly got into the peanut butter at the same time he was enthusing about CodeRush and telling Rory that he didn't need counseling to deal with his relationship problems, he needed penicillin. Fabulous.

0 comments




Giving a Mapped Drive .NET FullTrust

Lately, I've been running Virtual PC a lot to test various versions of WinFX on various platforms. To save me for locking any valuable code into a VPC HD, I use VPC shares, mapping Z to the D HD on my VPC host PC. That's all well and good 'til I try to load a project from Z which, according to the OS, is a mapped network drive (in spite of the fact that it's just the other partition on the very same PC), and Visual Studio complains that since I don't have FullTrust on that drive, things may not work out the way I'd hoped (and for whoever decided to write the code and put up that message box, thank you!):

The project location is not trusted.
Running the application may result in security exceptions when it
attempts to perform actions which require full trust.

What's happening is that VS is detecting that the project on the network drive is getting Intranet permissions according to the good and true workings of .NET Code Access Security (CAS). However, since I'm just trying to pretend that Z is on my PC (and, in fact, it is), I want it to have FullTrust permissions. To accomplish this, you need to add a new Code Group with an URL membership permission specifying the folder (in URL form) to which you'd like to grant full trust. You can do with the .NET Framework Configuration tool or you can do it from the command line like so:

c:\>caspol -q -machine -addgroup 1 -url file://z:/* FullTrust -name "Z Drive"

Once this new code group is in place, any new .NET processes you start will give any assemblies on the Z drive full trust (make sure to cycle the devenv.exe process if you want these new permissions and that message box to go away).

Since awarding new permissions, full trust or not, to any chunk of code is something that can cause a security hole, be careful. In this case, I'm awarding full trust so that Z acts just like a normal HD which has full trust by default, so I'm OK. Please make sure that you're OK before adding permission via code groups willy nilly.

0 comments




Windows Command Shell Partner Drop 3 Available

For Windows Command Shell (aka MSH aka Monad) users, Partner Drop #3 was just posted today on http://beta.microsoft.com. So far, all I know is that it fixes 45 internally and externally reported bugs, but it's nice to know that things are moving along on the first new shell we've had since NT 3.1.

0 comments




Windows Forms 2.0 Rocks The House

Joe Stegman shows off the ability of Windows Forms 2.0 to build very professional looking UIs, including clones of MSN Messenger, MS Money, IE and Outlook, all using out of the box controls. In particular, IE was implemented with 10 lines of non-Designer code. Whoa. I can only assume that the Windows Forms team will ship these code samples on windowsforms.net ASAP. Recommended.

0 comments




Dealing with Programmer's Block

A friend of mine IM'd me just a few moments ago and asked, "When you're sitting in front of a code editor and you have no motivation, what do you do?"

I hereby dub this "programmer's block" and since I've never had it (which I'm just now realizing is pretty weird), I wondering if you can offer my friend some advice. Thanks!

0 comments




Good Idea: Builders in Visual Studio Code View

I really love Mitch's idea for a "Builder" in the Visual Studio Code View:

There are tons of hidden strings in code that would benefit from such a thing, e.g. data provider-specific connection and query strings, and I'd gladly rebuild my FormatDesigner as a Builder. I wonder if the VSIP SDK is powerful enough to implement it...

0 comments




130 older posts       90 newer posts