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.
Wednesday, Jul 5, 2006, 4:50 PM in Fun
Superman Returns: Boring
Superman Returns has some cool scenes and Kevin Spacey does a great Lex Luthor, but overall there were far too many soulful looks between Superman and Lois Lane for my taste. It's a matinee at best.
Wednesday, Jul 5, 2006, 4:47 PM in Tools
A Shared Source Site: CodePlex
"CodePlex functionality, built on Microsoft Visual Studio® 2005 Team Foundation Server, provides source control, issue tracking, discussion forums and RSS feeds in and out of each project so that members can stay up to date on the development issues most important to them. Microsoft Visual Studio Team Foundation Server enables developers to collaboratively develop, share, discuss and consume source code and build software."
Enjoy.
Tuesday, Jun 27, 2006, 12:01 AM in The Spout
When to ship a book is hard to know these days...
Mr. Petzold beat me to the punch on the Windows Forms 2.0 book and he's going to do it again on the RTM Avalon book. However, such a thing is dicey, as Mr. Petzold points out.
It was in researching the Windows Forms 1.0 book when I grew to be scared of finalizing a book before the technology was finalized; that's when they added AllowPartiallyTrustedCallersAttribute and it screwed up the entire No-Touch Deployment story. Toward that end, we didn't ship the WinForms 2.0 book 'til after the .NET 2.0 bits went gold and we won't ship the paper copy of the Avalon 1.0 book 'til then, either (although I understand ORA is going to be shipping early electronic drafts of our work as we do it). I have to sacrifice 2-3 months on the shelves to my competitors, but I get to be less scared of big, last minute changes.
It's a judgment call, though. In this era of books with 12-18 month shelf lives, I can't say Mr. Petzold's not right...
Saturday, Jun 24, 2006, 12:17 AM in Fun
Oh La La -- Qtek 8500!
I got my Qtek 8500 today. The bad news was that I got the French version of the manual, but that wasn't so bad, since I wasn't going to read the manual anyway. However, the worse news was that all of the phone menus where in French, too. The nice folks at expansys.com were quick to send me the set of menus to turn English back on, but the instructions they sent where themselves in English, which required me to do a little babelfish work to translate into French menu text, but I managed.
Things I like about my new phone:
- It's a flip phone that looks almost exactly like the famous RAZR, but runs Windows Mobile 5, allowing me to sync my email, contacts and appointments, play my music, load my own apps, etc. Physically, it feels very nice -- thin, but solid. Even the flat keypad feels nice.
- I really like the higher res screen (when compared to my Audiovox 5600) and the larger keyboard (handy when you've got sausage fingers like mine).
- I like the external screen with the clock (a nice round analog one, too), the battery, the email count and three buttons for controlling the audio.
- The reception is better than my Audiovox.
- The volume on both my existing bluetooth headset and the included headphones is louder than my Audiovox (which is good for an aging Def Leppard fan...).
- I love not having to lock the keys on my phone -- just flip it!
Things I don't like about my new phone:
- The single, proprietary USB port (they call it an "extUSB," whatever the hell that is). It's for power, data and audio, which is handy, but I've got a bunch of mini-USD cables that no longer work, as well no way to connect my fully music-capable phone to the mini-jack in my car. I can get a conversion from extUSB to mini-USB on expansys.com, but so far, I've found no way of connecting the phone to my car.
- The camera's high-res (1.3M), but doesn't seem to focus very well.
- I haven't yet found the button or option that allows me to set flight mode. Given the amount of air travel I do, that's kind of a problem. Hopefully the pictures in my French manual will provide a clue...
- My $19 1GB mini-SD card doesn't fit -- I need *micro*-SD (who knew?!?). Luckily, micro-SD cards are pretty cheap, but it'd be nice to use my existing mini-SD cards, especially since the included storage was just enough to hold a single MP3 file...
- I don't like the Start menu laid out in a 3x3 grid -- I prefer to have things in a list with numbers by 'em, like in WM 2003SE. As it turns out, the numbers still work, but they're not shown.
It's true that I've listed more things I don't like than that I do, but most of the stuff I don't like is nuisance and the stuff I do like is very, very cool. I don't know about battery life yet or what I'm going to think over time, but right now, I really like this phone. Recommended.
Thursday, Jun 22, 2006, 6:28 PM in Fun
Free Portland Code Camp, 7/22-23
I've just registered for the Portland Code Camp 2.0, July 22-23. It's a free conference that includes 26 developer sessions (so far), food, a party and the potential to win an XBox 360. And did I mention it was free? I'm not sure about the name (it's being held at the Washington State University in Vancouver, WA), but other than that, what's not to love about a local, free, developer conference?!?
And if you're coming from out of town and need a place to crash, I've got a spare room. Come one, come all! Tell a friend! Register today! It's free!
Thursday, Jun 22, 2006, 11:56 AM in Fun
My Qtek 8500 should be in my hands tomorrow!
The reviews have been largely positive (but not completely), and I'm very much looking forward to my new QTEK 8500 (aka the Star Trek [STRTrk?]). Apparently I'll be one of the first folks on the west coast to have it, which will probably destroy my book-writing productively over the weekend (I'm supposed to be working on the Avalon RTM book).
Being first with hardware is not generally something I like to do. In general, I purchase laptops and cell phones and not many of either (usually one every 18 months of either). Frankly, I'm a late adopter on hardware 'cuz I like to handle someone else's first (no snide comments, please... : ). However, the experience with my Audiovox 5600 has been so positive and the features of the QTEK 8500 are so overwhelming (on paper) that I just had to get it ASAP. It's really the first Windows Mobile 5 phone I've found compelling.
Stay tuned for a review.
Friday, Jun 16, 2006, 5:21 PM in The Spout
PM Skill #9: Team Off-site
I've been doing some design work with a small part of my new team for a few months now and we've gotten largely on the same page with each other. However, there were 20-some odd folks that we hadn't done a good job keeping on the same page, so ChrisAn proposed an off-site. I proposed the format:
- 45-minute slots for each "bucket" of design functionality with the owner of the bucket leading the discussion (my boss, Adam, wanted to make sure that at least half of each talk was *not* lecture from the speaker). Each session was followed with a 15-minute break.
- 90-minute break-out sessions where each person had to pick their technology bucket and work with the owner to produce a 2-page functional spec and a 2-page technical spec.
If this format sounds like a tweaked DevCon to you, then you know where I got the format.
We started at 8am (1-2 hours before most folks start their day @ MS), so that gave us a little shared adversity to help build the team.
The 45 minute sessions made sure that the presenter had to get to the meat quickly, while the 15 minute breaks allowed folks some downtime to catch their breaths, check their email and chat with their brethren (this was a new team, so "bonding" time was an important element).
The 90 minute break-outs allowed folks to self-select into the bucket that most interested them, validated that we had the right buckets (any bucket w/ too few people would be cut, whereas any bucket w/ too many people would be split), helped establish the base-line for each bucket's future (we used the off-site to kick-start the buckets) and gave the team a seemingly impossible task given the amount of time they had (shared impossible task == more team building).
Like your average DevCon, the "DesignCon" worked pretty well. We generated a ton of issues in each bucket that the owner hadn't yet thought of and gave the entire team a kick-start down the road to shared pov. Also, since we had some folks from other, related teams and from upper management, we made sure we were communicating up and out as well as internally.
Of course, just as no DevCon is perfect, neither was the DesignCon, but if you're looking for a way to get your team pointed in the same direction, I find the DesCon format a good one.
Tuesday, Jun 13, 2006, 8:58 AM in Conference
Would anyone be interested in another DevCon?
I'm thinking about doing a DevCon before the end of the year (likely October) in a pleasant environment (likely the Skamania Lodge) on a topic that's *not* XML or Web Services based (we've done that topic to death). The soul of the DevCon will remain the same, i.e. to cut away all the unessential conference baggage and concentrate on why we're spending time at a conference in the first place -- the talks by industry experts and experienced practitioners.
If I organized such an event, would anyone come?
Monday, Jun 12, 2006, 2:02 PM in Tools
"man" for MSDN
If you like man, you'll love MSDN man. Enjoy.
Monday, Jun 12, 2006, 11:28 AM in .NET
WinFX + .NET 2.0 Renamed .NET 3.0
The WinFX name is no more. Instead, WinFX (.NET 2.0 + W*F)is .NET 3.0. <whew>
Friday, Jun 9, 2006, 4:20 PM in Tools
Annotate the MSDN Wiki
For a long time, my favorite place to put up code snippets that I could get back to later has been pinvoke.net (like GetTempFileName). However, that was only good for managed/native interop, whereas the MSDN Wiki is for anything in the docs. I don't know what their commitment is to keeping content over time or between versions, but I've got my fingers crossed. Enjoy!
Friday, Jun 9, 2006, 4:17 PM in Tools
Advanced MSDN Search
MSDN has a new search UI which includes And, Or, Exclude, Group, Exact Phrase and Preference in the query and then narrowing by source or category in the results, e.g. MSDN or MFC Reference. The ability to exclude CE in the search results is worth the price of admission. Check it out!
Monday, Jun 5, 2006, 12:49 PM in Tools
Web Application Project: "The type 'foo' exists in both 'some dll' and 'another dll'"
In using the most excellent Web Application Project support for ASP.NET 2.0 in VS05 from Mr. Guthrie and co, I ran into what was first an intermittent and then a constant problem that actually made it's way onto my live site (it worked on my machine!). The error looked like this against several classes in my app, i.e. when I'd comment out one, I'd get another class that showed the same problem:
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS0433: The type 'ASP.clientredirector_ascx' exists in both 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\sb2\4d76034e\bec2c8d0\App_Web_clientredirector.ascx.cdcab7d2.zmdrab5k.dll' and 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\sb2\4d76034e\bec2c8d0\App_Web_axhgbqrn.dll'
Source Error:
|
Line 11: |
Source File: d:\project\mine\sb2\pageLayout.ascx Line: 13
I chased this with my ISP a few days ago, but futzing with it made it go away mysteriously. When it came back, it came back with a vengeance and I pulled in every ASP.NET 2.0 resource I could think of to fix it, including sending ScottGu the FTP user name and password to sellsbrothers.com (my site hasn't fit into a reasonable .zip file for a while now : ).
The thing I did that fixed the problem (seemingly consistently), came from Scott himself; I added the batch="false" attribute to my compilation element in my web.config file:
<configuration ...>
<system.web>
<compilation ... batch="false"/>
...
Apparently this ends up generating a lot more assemblies than 'batch="true"', but I don't know why that would fix the problem or even what's causing the problem. This never happens in WinForms or Avalon (and, of course, neither of those technologies have issues of their own... : ).
Thanks Scott, Ting-Hao, Simon and David!
Update: Microsoft has updated the Knowledge Base with this issue
Tuesday, May 30, 2006, 5:49 PM in Fun
I wish I had time for this
Alternate Reality Gaming sounds like fun, but I just don't know where people find the time...
Friday, May 26, 2006, 5:08 PM
Windows Forms 2.0 Programming
The Book
Welcome to the home page for "Windows Forms 2.0 Programming," by Chris Sells and Michael Weinhardt, available from Amazon.
The Source
The Table of Contents
- Foreword
-
Preface
- Chapter 1 Hello, Windows Forms
- Chapter 2 Forms
- Chapter 3 Dialogs
- Chapter 4 Layout
- Chapter 5 Drawing Basics
- Chapter 6 Drawing Text
- Chapter 7 Advanced Drawing
- Chapter 8 Printing
- Chapter 9 Components
- Chapter 10 Controls
- Chapter 11 Design-Time Integration: The Properties Window
- Chapter 12 Design-Time Integration: Designers and Smart Tags
- Chapter 13 Resources
-
Chapter 14 Applications
- Chapter 15 Settings
- Chapter 16 Data Binding Basics
- Chapter 17 Applied Data Binding
- Chapter 18 Multithreaded User Interfaces
- Chapter 19 ClickOnce Deployment
- Appendix A What’s New in Windows Forms 2.0
- Appendix C Delegates and Events
- Appendix D Component and Control Survey
- Appendix E Drag and Drop
- Appendix F Document Management
- Bibliography
- Index
The 1st Edition
- Foreword
- Preface
- Chapter 1 Hello, Windows Forms
- Chapter 2 Forms
- Chapter 3 Dialogs
- Chapter 4 Layout
- Chapter 5 Drawing Basics
- Chapter 6 Drawing Text
- Chapter 7 Advanced Drawing
- Chapter 8 Printing
- Chapter 9 Components
- Chapter 10 Controls
- Chapter 11 Design-Time Integration: The Properties Window
- Chapter 12 Design-Time Integration: Designers and Smart Tags
- Chapter 13 Resources
- Chapter 14 Applications
- Chapter 15 Settings
- Chapter 16 Data Binding Basics
- Chapter 17 Applied Data Binding
- Chapter 18 Multithreaded User Interfaces
- Chapter 19 ClickOnce Deployment
- Appendix A What’s New in Windows Forms 2.0
- Appendix C Delegates and Events
- Appendix D Component and Control Survey
- Appendix E Drag and Drop
- Appendix F Document Management
- Bibliography
- Index
The 1st Edition
The source code, sample chapters and errata for the 1st edition, Windows Forms Programming in C# and Windows Forms Programming in VB.NET, are available below.
Also, "Windows Forms Programming in C#," on which the 2e was based, was awarded the 1st runner-up in the Best .NET Books/Training Software category of the 2005 .NET Developer's Journal Reader's Choice Awards. I'd like to thank the academy...
The 1e Source
- 1e sample source code for Visual Studio 2002 and the .NET Framework 1.0 in C#
- 1e sample source code for Visual Studio 2002 and the .NET Framework 1.0 in VB.NET
- 1e sample source code for Visual Studio 2003 and the .NET Framework 1.1 in C#
- 1e sample source code for Visual Studio 2003 and the .NET Framework 1.1 in VB.NET
- 1e document management sample source code for Visual Studio 2003 and the .NET Framework 1.1 in C#
The 1e Sample Chapters
- Foreword by Mike Blaszczak (C#)
- Forewords by Alan Cooper & Ted Pattison (VB.NET)
- Preface (C#)
- Chapter 9: Design-Time Integration (C#)
- Chapter 9: Design-Time Integration (VB.NET)
- Index (C#)