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.
Thursday, Jun 9, 2005, 5:09 PM in Tools
Col. Jessup on the .NET Performance Team
This is fabulous! Let me give you a taste:
"We use words like L2, swaps, and working set. We use these words as the backbone of a life spent defending something. You use them as a punchline."
Monday, Jun 6, 2005, 3:13 PM in Tools
@this freaked me out
I saw code that looked like this today:
class
Class1 {static void Foo(object @this) {
Console.WriteLine(@this);
}
static void Main(string[] args) {
Foo("hi");
}
}
It freaked me out, but it's completely legal and kinda cool...
Wednesday, May 25, 2005, 7:02 AM in Tools
C++ is dead, long live C++!
Congrats to the VC++ 2005 team for a write-up like this!
"The truth is that this new development in C++ seriously undermines the justification for C# as a language. C++ programmers yet to learn C# simply don't need to now. What's the point? They will find the full productivity of Visual Studio 2005 right there at their fingertips supporting the language they know and love. Why should they move to something that is slower and less feature rich?"
He goes on with choice words about those of us that use C# as either "poor folk who have already invested time in it," "Java types moving to .NET and smart enough to avoid J#" or "dev-celebs and style gurus will realize that it’s in their interest to keep pushing the C# fashion wagon." I don't know which camp I fall into, but I love the phrase "dev-celeb!" : )
I remember being in a conference room many years ago with about 10 members of the VC++ team on one side of the table and me on the other with them drilling me for about an hour on what would it take for me to love C++ and give up C#. I asked for the power and performance of C++ and the simplicity of C#. According to The Grumpy Programmer, they've not only delivered on this promise, but
"the painful, balls-on-the-table truth is that C# has lost its point."
Luckily, no one asked me to put any of my body parts on the conference table that day, but you gotta love a guy that can turn a phrase like that. : )
Friday, May 13, 2005, 4:47 PM in Tools
"dumpbin" is now "link -dump"
Apparently in Whidbey, "dumpbin" (and some other tools that were merely wrappers around link) has been dumped. To get to it now, do "link -dump -dumpbin_options" e.g. "link -dump -exports" does what "dumpbin -exports" used to do. In fact, if you just do "link -dump" the usage you get is labeled as the dumpbin usage. : )
BTW, it looks like "lib," while still there, is also "link -lib" and "editbin" becomes "link -edit."
Friday, May 13, 2005, 3:25 PM in Tools
When did the cmd shell start doing this?!?
Imagine the following C program:
// cmdio.c
#include <stdio.h>
void main() {
char s[256] = "";
printf(">");
scanf("%s", s);
printf("%s\n", s);
}
If I run this from a command shell and I enter "hi" [Enter], it looks like this:
C:\>cmdio.exe
>hi
hi
If I run it again using "lo" [Enter] this time, it would look like this:
C:\>cmdio.exe
>lo
lo
Here's the thing that blew me away. Anytime I run it after the 1st from the same cmd shell, I get history! For example, running it a 3rd time and pressing [Up Arrow][Enter] gives me this!
C:\>cmdio.exe
>lo
lo
The up and down arrows work, F7 works, F8 works, they all work! When the heck did the shell start keeping track of per sub-command histories and why haven't I noticed it 'til now?!?
Thursday, Apr 28, 2005, 3:40 PM in Tools
Another VB.NET feature that makes me jealous
First there was case-correction, now VB programmers in VS 2005 beta 2 get grayed out members in intellisense if they set their ClickOnce properties below FullTrust. Cool!
Tuesday, Apr 26, 2005, 9:04 AM in Tools
I Like VC# Express
I was paving a box this weekend with the March Avalon/Indigo CTP and I needed the matching Feb CTP of VS05, so I installed the Feb CTP of VC# Express. I have to say, I'm impressed. Avalon integrated w/ no trouble. I have all the Intellisense, key bindings, options, code formatting and generics support that I went looking for (although I did have to find the Show all settings option in the Options dialog).
Only two things bug me about Express. The first is minor: I'm used to starting VS with Start->Run: devenv [Enter] and now I have to start VC# Express with Start->Run: vcexpress [Enter]. Given that I can install a bunch of Express products, it makes sense to me to need to learn a new EXE name for each of them (especially if I slip Asynch COM out of long-term storage... [dumping]... there, plenty of room!).
The second thing that bugs me is that I'm not allowed to specific a spot on my hard drive when I create a new project. As a guy with a background thread running Alt->F->S every time I typing idles, having everything in a well-known place is important to me. I'm a developer. Things crash!
Overall, though, I'm loving VC# Express. Recommended.
Monday, Apr 4, 2005, 10:04 AM in Tools
RegexDesigner Updated
RegexDesigner has been updated to v1.1 with support for replacement patterns, national and special symbol support, Ctrl+Tab hotkey support, updated highlighting support for color blind users, Ctrl+A support and the use of a bullet instead of @ for matched whitespace. Thanks to Victor Serbin for putting this update together from source contributed to the GDN workspace.
Tuesday, Mar 29, 2005, 3:06 PM in Tools
Translate C# To And From VB.NET As You Type!
Carlos Aguilar Mares, an SDE on the MS Web Platform & Tools team, has created a fabulous C# to/from VB.NET code translation tool. You can hand it a file and translate in batch mode or you can just type in one language and see it translated in real-time into the other. Now all Carlos needs is a project-wide batch mode and he'd have the problem licked!
Tuesday, Mar 22, 2005, 8:54 AM in Tools
Duncan Shows How To Host MSDN Content On Your Site
Are you unhappy with how MSDN arranges content on our site? Would you like to host the content you've written on your own site in your own chrome? You can't do it with everything, but for the content with which it works, Duncan Mackenzie has posted code that pulls content out of MSDN's current content management system* and hosts in in your own chrome. For those of you that don't like how MSDN arranges its content, you now have the technical means to arrange it to suit your own tastes.
* DISCLAIMER: Microsoft's copyright still applies. The internal details of our content management system are going to change without notice. Use at your risk. No warranties extended. Void where prohibited. Some assembly required. blah, blah, blah...
Sunday, Mar 13, 2005, 9:42 AM in Tools
When the student is ready, the teacher will come
I've been digging into .NET application extensibility lately, discovering the various pieces discussed here. And then, just when I'd despaired of finding a resource that covered the issues in depth, a copy of "Customizing the Microsoft .NET Framework Common Language Runtime," by Steven Pratscher, showed up at my door (that happens sometimes, but I've never quite figured out how...).
Steven's a PM on the CLR team and his book has wonderful chapter titles like:
- Loading Assemblies in Extensible Applications
- Extending the CLR Security System to Protect Your Extensible Application
- Enforcing Application-Specific Programming Model Constraints
And if you're thinking, "Big deal, .NET 2.0 is coming out soon and will makes this info obsolete," au contraire, mon frere! This book is based on the .NET 2.0 beta, so the concepts (and hopefully most of the details) are the latest and greatest (and you can download the source that goes along with the book here). I plan on having quite a bit of fun with this book! Thank you book-mailing-to-my-house-god, wherever you are...
Tuesday, Feb 8, 2005, 11:04 AM in Tools
XSLTO: Mapping XSLT to Objects
Here. When Tim Ewald was still a Microsoft employee, he and the next-gen MSDN content management system team experimented with some fun techniques for XSLT to Object mapping. To illustrate this technique, Kim Wolk has built a little prototype that lets you associate an XPATH statement with a method on an object and that method will be invoked for the nodes that match the XPATH statement. Check it out.
Update: Steve Dunn has ported Kim's sample from .NET 2.0 beta to .NET 1.1. Thanks, Steve!Sunday, Jan 30, 2005, 8:18 AM in Tools
Awaiting and Dreading Subtext
If you follow the link to the subtext demo that Preston Bannister mentions, you'll see my idea of hell, i.e. manipulating code primarily with a mouse. Have you ever seen those guys -- you know who I mean -- those guys that want to copy a chunk of code and reach for the mouse, almost select the text, almost select the text again, finally select the text they want, go to the Edit menu, choose Copy, click on the place near where they want the code to be, click again, finally click in the right place, go to the Edit menu and choose Paste and by that time, you've died of old age? It's all I can do not to tackle these people so I can use the combinations of Ctrl, Shift, Alt and the arrows to select the text and move the cursor to the spot where it belongs, using Ctrl+C and Ctrl+V, never touching the mouse, like BillG intended.
So, watching the subtext demo, which was nearly all copy and paste using the mouse made me want to tackle the guy doing the demo, especially since I couldn't run it at a higher speed (my very favorite WMP feature).
On the other hand, I loved the idea of the code always being executed with live, example data to show me instant code coverage and I loved the idea of the code always being executable. If I could get a structured editor that let me copy and link using the keyboard (and it used some language I could actually ship, at least in some transformation mode), I'd use it in a heartbeat.
Wednesday, Jan 5, 2005, 11:17 PM in Tools
Thinstall sounds cool
Jim Hubbard gives Thinstall a ringing endorsement:
"This solution will take your executable (.Net, VB or C++) and all of its dependencies and wrap them all into a single executable. The neat thing is that it even includes the portions of the .Net framework needed to run your executable inside the executable it creates. So, there's no need to distribute the whole .Net framework."
Has anyone else tried it?
Wednesday, Dec 1, 2004, 11:55 AM in Tools
GUI Front End to XmlSerializerPreCompiler
Mathew Nolton has posted a GUI front-end to my XmlSerializerPreCompiler that you might find useful. Thanks, Matt!