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




What OS is Chris?

Chris took the quiz and was pretty darn happy with the results, because at at least he's not Windows ME...

Which OS are You?
Which OS are You?

0 comments




Shtoo

Stu Halloway, conference speaker, respected author of Component Development for the Java Platform as well as many 5-day short courses and CTO of DevelopMentor, pronounces his name like this (I found it hard to believe myself...)

0 comments




Doonesbury on Blogs

Starts on October 21st and runs for several days. Hits home.

0 comments




Top 10 Reasons You Know Youve Been Hacking Too Many Web Services...

  1. You start using URIs to address real envelopes while paying the bills
  2. You use XPath to refer to family members
  3. You can't understand why nobody thinks that SOAP is "simple" anymore
  4. You try to determine what portTypes your spouse exposes
  5. You don't have any trouble expanding BPL4WS
  6. You prefer to write code to find something on Google
  7. You ask for vanilla instead of doc/lit
  8. You purchase the "Infoset" license plate for your car
  9. You challenge people to say "UDDI's UUIDs" 10 times fast
  10. You no longer see the angle brackets, "just blond, brunette, redhead"

Reasons from Aaron Skonnard, Tim Ewald and Chris Sells
Presented at the Web Services DevCon East
Thu 10/10/2002, 8:55am

0 comments




"Spend A Day With .NET" Winning Entries

Sorry it took so long to judge the entries, but I was overwhelmed. That'll teach me to host an international, pan-galactic, cross-universe coding contest. : )

Grand Prize Winner and Best Developer Tool: Stoyan Damov

Stoyan wins the grand prize of free admission to the Web Services DevCon. His entry is shown here:

KbView allows the user to pick a technology or set of technologies that s/he is interested in and see what's new in that space. Once the articles are fetched, they're listed on the right hand side, where they can be shown directly in the text viewer below or they can be hosted in a separate IE window. Also, once the article has been downloaded, it's cached for quick access for next time. This is an app that I will use. Great work, Stoyan!

Best Rookie: Sorin Jianu

Sorin wins a year subscription to MSDN Universal for his submission:

Sorin's submission is a functional proxy server and represents his first .NET project ever. It's fully asychronous and uses non-blocking I/O. It's quite a testament to what can be done in .NET in a single day.

Most Polished: Jeff Braunstein

Jeff wins a 12-month subscription (5 points) to Safari Tech Books Online for his entry:

Jeff's entry was the most polished I got, both in the UI as shown above, but also in the documentation, which included a market justification. I can see Jeff selling a version of this tool soon. The UI above is a front end to an NT service, also written in .NET, that takes jobs off of an MSMQ queue for batch dispatch. Because of the flexible architecture, these jobs can be spawned on a single machine or across multiple machines.

Best VS.NET Add-In: Igal Ioffe

Igal wins a signed box copy of Visual Studio .NET for his VS.NET add-in:

Igal's submission is simple, but effective. I often mail snippets of code around and now I can do it with the context menu from without VS.NET.

Best Consumption of XML: Dejan Jelovic

Dejan won his pick of a combination of things, but I couldn't talk him into taking anything -- he just wanted to compete. His application is a fully functional RSS reader:

Dejan's RSS reader has two tabs, one for the RSS feed administration itself, persisted between sessions, and one for the combination of the content for all of your feeds in a single web page, cached between sessions.

Best Use of SQL: Simon E.P. Wilson, Markus Burri & Thomas Schwarz

Simon, Markus and Thomas win a 10-user copy of rmTrack for their SQL Stored Procedure code generator:

Once the settings are chosen, the generated code lets the user make calls into the stored procedure from their .NET language of choice almost as if the function was a native .NET method:

class MyApp {
    static void Main(string[] args) {
        // Create Connection
        SqlConnection conn = new SqlConnection(@"...");
        conn.Open();      

        // Invoke the Stored Procedure
        SalesByCategory.Result res = SalesByCategory.Invoke(conn, "Beverages", "");

        // Show Results
        foreach (SalesByCategory.Row row in res.Rows) {
            Console.WriteLine("{0} : {1}", row.ProductName, row.TotalPurchase);
        }
        conn.Close();
    }
}

Honorable Mention

There were so many other great entries that I couldn't narrow it to just the big prize winners. The following were each awarded their pick of a book or a free software package:

0 comments




"Spend A Day With .NET" Winning Entries

Sorry it took so long to judge the entries, but I was overwhelmed. That'll teach me to host an international, pan-galactic, cross-universe coding contest. : )

Grand Prize Winner and Best Developer Tool: Stoyan Damov

Stoyan wins the grand prize of free admission to the Web Services DevCon. His entry is shown here:

KbView allows the user to pick a technology or set of technologies that s/he is interested in and see what's new in that space. Once the articles are fetched, they're listed on the right hand side, where they can be shown directly in the text viewer below or they can be hosted in a separate IE window. Also, once the article has been downloaded, it's cached for quick access for next time. This is an app that I will use. Great work, Stoyan!

Best Rookie: Sorin Jianu

Sorin wins a year subscription to MSDN Universal for his submission:

Sorin's submission is a functional proxy server and represents his first .NET project ever. It's fully asychronous and uses non-blocking I/O. It's quite a testament to what can be done in .NET in a single day.

Most Polished: Jeff Braunstein

Jeff wins a 12-month subscription (5 points) to Safari Tech Books Online for his entry:

Jeff's entry was the most polished I got, both in the UI as shown above, but also in the documentation, which included a market justification. I can see Jeff selling a version of this tool soon. The UI above is a front end to an NT service, also written in .NET, that takes jobs off of an MSMQ queue for batch dispatch. Because of the flexible architecture, these jobs can be spawned on a single machine or across multiple machines.

Best VS.NET Add-In: Igal Ioffe

Igal wins a signed box copy of Visual Studio .NET for his VS.NET add-in:

Igal's submission is simple, but effective. I often mail snippets of code around and now I can do it with the context menu from without VS.NET.

Best Consumption of XML: Dejan Jelovic

Dejan won his pick of a combination of things, but I couldn't talk him into taking anything -- he just wanted to compete. His application is a fully functional RSS reader:

Dejan's RSS reader has two tabs, one for the RSS feed administration itself, persisted between sessions, and one for the combination of the content for all of your feeds in a single web page, cached between sessions.

Best Use of SQL: Simon E.P. Wilson, Markus Burri & Thomas Schwarz

Simon, Markus and Thomas win a 10-user copy of rmTrack for their SQL Stored Procedure code generator:

Once the settings are chosen, the generated code lets the user make calls into the stored procedure from their .NET language of choice almost as if the function was a native .NET method:

class MyApp {
    static void Main(string[] args) {
        // Create Connection
        SqlConnection conn = new SqlConnection(@"...");
        conn.Open();      

        // Invoke the Stored Procedure
        SalesByCategory.Result res = SalesByCategory.Invoke(conn, "Beverages", "");

        // Show Results
        foreach (SalesByCategory.Row row in res.Rows) {
            Console.WriteLine("{0} : {1}", row.ProductName, row.TotalPurchase);
        }
        conn.Close();
    }
}

Honorable Mention

There were so many other great entries that I couldn't narrow it to just the big prize winners. The following were each awarded their pick of a book or a free software package:

0 comments




"Spend A Day With .NET" Coding Contest (with prizes and everything!)

Midnight to Midnight, August 30th, 2002

Brad Abrams, Lead Program Manager on the Microsoft .NET Framework team, said something that inspired me the other day. He was being broadcast along with Chris Andersen (another lead PM) on The .NET Show on the topic of Understanding the Framework. Brad and Scott spent almost the entire show talking about how the various benefits of .NET, e.g. productivity, reliability, security, backwards compatibility with Win32 and COM, being able to recompile your C++ code in managed mode to use and expose .NET components without changing any of the code or losing noticeable efficiency (apparently they didn't ship until they could do this with Word), the consistency and universality of the Framework Class Libraries, and on and on, all without mentioning "web services." He did say that .NET was hands down the best platform for doing web services, but even if you're not doing web services, .NET enhances your programming experience across the board for the existing kinds of applications and components that you're developing now. Normally I'm not into this kind of hyperbole, but in this case, I absolutely agree with Brad and wish that Microsoft would push these features for things you're doing right now as well as web services for the future. Microsoft, in their interminable marketing wisdom, has completely undersold the rest of .NET, at the expense of developers the world over, still stuck in the old unmanaged world.

So, in the spirit of freedom and happiness for developers everywhere, I hereby declare Friday, August 30th to be International, Pan-Galactic, Cross-Universe "Spend A Day with .NET" Day. On that day, I'm calling for all developers everywhere to spend up to 24-hours, midnight to midnight, building a .NET application of some kind or another. I don't care if you have to bootleg a copy of VS.NET from your friend or download the freely available .NET Framework SDK and write your code while you pretend to work, lie to your boss or take a sick day, but I want developers around the globe to spend all day doing nothing but writing something in .NET. It can be absolutely anything, e.g. web site, web service, NT service, component, control, VS.NET add-in, shell extension, game, utility, graphics demo, etc, so long as you build it with .NET. Feel free to spend from now until then researching .NET with any number of books, articles, whitepapers, conferences, mailing lists, bits of online documentation, sample projects, 3rd party components, etc, but all .NET code must written on August 30th. And then when you're done at 11:59pm, I want you to send me what you built and my team of judges will decide who's deserves the prizes.

The Prizes (updated!)

In the spirit of one of the many things that .NET does very well, the Grand Prize is a free pass to the Web Services DevCon. These are the other prizes, in no particular order, based on what I have at my immediate disposal to offer. If anyone would like to contribute a prize, let me know.

The Rules

  1. Thou shall sign this agreement before submission. In a nutshell, it says that you own the code you're submitting, that you wrote it in a 24-hour period on August 30th and that you won't sue me over it.
  2. Thou may use existing unmanaged code via MC++ "IJW" (It Just Works) technology or via Win32 or COM interop, but the lines of unmanaged code may consist of no more than 49% of the total lines of code in the submission.
  3. Thou may use 3rd party libraries.
  4. Thou may work in teams, but prizes may need to be split between submitters.
  5. Thou shall include instructions for building and exercising your submission simple enough that even our judges can follow them. A description of why your code is cool is highly recommended.
  6. Thou shall check these rules again before making your submission in case I think of any more (engineers are tricky).

The Judging Criteria

So long as the rules are met, the judges are looking strictly for the completely subjective "cool" factor. Any time you can make a judge say "wow," or "I didn't know you can do that in .NET," that's good. If you do decide to use existing unmanaged code or 3rd party libraries, the added functionality of your code should outshine the functionality of the code you didn't write, or you will be judged accordingly. If there is some doubt that you actually wrote the code in the single 24-hour period of August 30th, the judges may ask for further confirmation and will need to be convinced, e.g. don't send a managed word processor including hyphenation rules unless you've got a signed affidavit from a notary.

The Submission

If you're planning to send in a submission, please let me know. This helps me to arrange prizes, judges, etc. The community response has been overwhelming, with lots of blog coverage of this event, along with lots of prize donations. So far, I've gotten about a dozen folks promising submissions that represent individuals or teams. Some have even been from within Microsoft, so submissions should be pretty cool (I guess even guys inside of MS don't get enough coding time : ).

At 11:59pm on August 30th, send me an URL to your submission, including full source. If you have a prize preference along with whether you mind me posting your source on my site or not. At the very least, I'd like to host the binaries for the winners on my site so that visitors can see what .NET can really do in just a day.

The Rest

If you've got any questions or comments or you'd like to sponsor this event or send along a prize or whatever, drop me a line.

0 comments




My Chris Sells Is A Centerfold!

sttto Centerfold by J. Geils Band (http://www.80smusiclyrics.com/artists/jgeilsband.htm)

Yes, he walks, yes, he talks!
He'll be your Code Complete!
That ATL instructor
Sure could put 'em in the seats.

He could teach like no one else
No one could ever stain
The memory of that DM guy
Could never cause me pain

Years go by, I'm lookin' through a codin' magazine
And there's my DM buddy on the pages in between!

CHORUS:
My blood runs cold
My memory has just been sold
Instructor is the centerfold,
Chris Sells is the centerfold
(Repeat)

Shipped me code 'bout ActiveX,
While I was thinkin' about GenX
IUnknown, IDispatch,
He could teach 'em all

I was shakin' in my shoes
Whenever he flashed those baby-blues
Something had a hold on me
Whenever Chris passed by

That book and cool code samples
Too magical to touch
To see him in that photograph,
Is really just too much!

CHORUS

It's okay I understand
This ain't no never never land
I hope that when this issue's gone
This memory will TOO be gone

Take your car, yes we will
We'll take your car and drive it
We'll take it to a motel room
And leave you there, in private!

A part of me has just been ripped
The pages from my mind are stripped
Oh no, I can't deny it
Oh yea, guess I gotta try it!

CHORUS

Copyright (c) 2002 Anonymous. :-)

Ted Neward [tneward@JAVAGEEKS.COM]
private mailing list
Tue 7/30/2002 2:06 AM

0 comments




The Last Advertising Frontier

My friend and fellow DevelopMentor instructor, Craig Andera, is not only enormously dedicated, but is very interested in pushing the envelope on post-dot-bomb advertising space. When he heard that he could make money on each "hit," Craig started spending a lot of time in bars and other seedy areas around town.

Craig Andera [candera@ALUM.MIT.EDU]
Thu 7/11/2002 7:53 AM
internal mailing list

0 comments




Mamas Don't Let Your Babies Grow Up To Be Computer Boy

sttto "Mamas Don't Let Your Babies Grow Up To Be Cowboys" by Willie Nelson

Chorus:
Mama don't let your babies grow up to be computer boys
Don't let them keyboard and drink at Starbucks
Make 'em be doctors and lawyers and such
Mamas don't let your babies grow up to be computer boys
They'll always stay home and they're always alone
Hackin' is all that they'll love

Computer boys ain't easy to love and they're harder to hold
And they'd rather give you some code than diamonds or gold
Star Trek communicators and pocket protectors
And each night begins a new day
And if you don't understand him and he don't ignore you
He'll be addicted to porn

Chorus

A computer boy loves shiny new gadgets and four-donut mornings
High-speed connections and trackballs and NeverWinter Nights
Them that don't know him won't like him and them that do
Sometimes won't know how to take him
He's not wrong he's just different and his brain won't let him
Do things to make you think he's right

Chorus

Chris Sells [csells@sellsbrothers.com]
win_tech_off_topic@yahoogroups.com
Wed 5/22/2002 10:55 AM

0 comments




Waka Waka Poem

First, the poem itself (there are many versions, this is just one):

<> ! * ' ' #
^ " ` $ $ -
! * = @ $ _
% * <> ~ # 4
& [ ] . . /
| { , , system halted

In English, this reads:

waka waka bang splat tick tick hash
caret quote back-tick dollar dollar dash
bang splat equal at dollar under-score
percent splat waka waka tilda number four
ampersand bracket bracket dot dot slash
vertical-bar curly-bracket comma comma crash

Serdar Kilic
win_tech_off_topic@yahoogroups.com
Sat 5/18/2002 6:32 PM

0 comments




C# vs. Java

Chandu Thota
Fri 5/10/2002 10:31 AM

0 comments




I Like Clocks

Ron Neely sends his favorites:

0 comments




A Little Slice of Time

Chris Sells
Feb 2, 2002 8:02pm

0 comments




Welcome to Wahoo!

This page is dedicated to the game of Wahoo! -- a .NET application meant to be invoked from a .NET client across the internet.

If you'd like the ClickOnce version (for .NET 2.0), click here and (after clicking a few more times), an application that looks like the picture on the right will appear.

To invoke the No-Touch Version version (for .NET 1.x), click here and wait a little while. In a few seconds, an application that looks like the picture on the right will appear. You should note that No-Touch Deployed applications deployed across the Internet are disabled by default when .NET 2.0 is installed on the client machine.

If you find that Wahoo! doesn't have permission to run on your .NET 1.x computer, you can grant Wahoo! Internet permissions using this MSI setup file (Keith Brown helped me fix my SP1 permissions problem!). Even the new permissions are pretty strict, e.g. they do not even allow writing to the file system. If you'd like to increase the permissions allows for Wahoo! so that it can cache high scores to the file system, you can do so via the Trust Assembly Wizard available in Start->Settings->Control Panel->Administration Tools->Microsoft .NET Framework Wizards.

Keith Brown has asked me to remind all of you that even though Wahoo! is managed and executes in the .NET security sandbox, the code in the MSI to grant permissions for the .NET 1.0x version is running with FullTrust permissions, meaning that it could do bad things, where "bad things" is defined as: trash the registry, delete files, send email from your account, spread viruses, reformat disks, change arbitrary spreadsheet values or formulae, remove single columns from database tables, invert the buttons on your mouse, reset your MineSweeper high scores, send lists of installed software to Microsoft, and generally misbehave (thanks Tim Ewald for the exhaustive list : ). Of course, this applies to any MSI file, setup program or any other code that you download onto your machine and run outside of the .NET or Win32 security sandboxes. Keith would like everyone to promise to stop installing new code of any kind on their machines and let software migrate there instead, either via No-Touch Deployment/mobile code-style install-on-demand or via administrator-approved means. Keith believes that installing code on your machine can only cause trouble and I agree -- unless there is code on your machine, nothing bad can happen. Nothing good can happen, either, but "Hey, let's be careful out there!"

The full source code to the .NET 2.0 version is available here. The full source code to the .NET 1.x version (including the MSI file) is available here. The original HTML version is available, as well.

Wahoo! was awarded the Windows Forms Coding Heroes Award on 2/12/02 by the Windows Forms team on GotDotNet. I'd like to thank the academy... : )

If you like this game, you might also like Snake, by Tomas Gudmundsson. I know I do.

0 comments




32 older posts       195 newer posts