tools

May 13, 2005 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?!?

April 28, 2005 tools

Another VB.NET feature that makes me jealous

April 26, 2005 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.

April 4, 2005 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.
March 29, 2005 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!
March 22, 2005 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 MSDNs 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…

March 13, 2005 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…

February 8, 2005 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!