Visual Studio Add-Ins: Explorer

My next find for a Visual Studio Add-In is called Explorer, and is another free one available from http://www.codeproject.com/csharp/Explorer.asp . Explorer is easy to install and use.

After you download, extract the two files to your My Documents/Visual Studio 2005/Addins directory (create the Addins directory if it doesn’t exist). Then launch Visual Studio, click on Tools, Add-in Manager, and make sure Explorer is loaded.

Using Explorer is quite simple, just right click on the Solution, Project, or a folder and you’ll see a new menu option, Explorer.

[Picture of Explorer Menu]

 Explorer has a submenu with two options, “Open folder” and “Execute this application”. Open folder opens up a windows explorer folder in the same directory where the item you clicked on resides. This is a very handy way to quickly navigate to the directory where your project resides.

Note the “Execute the application” option only appears when you are on a project, not the solution. However, this is handy when you have a test project that is not your main application. Using this menu option keeps you from having to go through the effort of changing your startup project to run a rest program that is part of your solution.

Be aware this does not build the project, it runs the last built exe you created. If you’ve made changes to the project you want to run be sure to do a build before using this menu option.

If you are interested in writing your own add-ins, you should also check out the available source code. It’s a nice example of how to hook into the menu structures for writing your own add-ins.

Robert Scoble is a Space Alien and I’m Carrying His Love Child

[Picture of Tony Robbins] Self help guru and life trainer Anthony Robbins (http://www.anthonyrobbins.com/) talks about a principle he calls CANI, Constant And Never ending Improvement. As part of my process of continuous self improvement I was looking for advice on writing a better blog.

[Love Child] First let me set the record straight, I’m not really carrying Scoble’s love child. It can walk (well, slither) just fine on it’s own, thank you very much. And the space alien thing is just a rumor. Really. Any resemblance between the love child (above) and Scoble (below) is purely coincidental, antenna not withstanding.

[Robert Scoble - Space Alien??]In a recent post (http://scobleizer.com/2006/12/07/help-a-san-jose-mercury-news-columnist-blog/) Robert was giving some helpful hints to journalist Mike Cassidy (http://www.mercextra.com/blogs/cassidy/) on how to attract folks to his blog. Some really great tips, including using a catchy, controversial name for your entries. Oh, something like “Robert Scoble is a Space Alien and I’m Carrying His Love Child”.

In his advice, Mr. Scoble also suggests making the subtitle of your blog more meaningful, and focused on your target audience. This is good advice that I have implemented. You may notice in my header I’ve changed from “Computer Sorcery at it’s Best” to “Making Microsoft .Net Development Magical” which isn’t as catchy but does a much better job of describing the general theme of my blog. Of course this isn’t the first time Scoble has dispensed blogging advice, he has good information in his Naked Conversations work. (See http://redcouch.typepad.com/weblog/2006/08/9_random_though.html ).

Robert’s not the only one in the family with good advice on blogging either. His lovely wife Maryam had a great post on her site titled 10 Ways To Write A Killer Blog: http://maryamie.spaces.live.com/Blog/cns!9592F3DEF41537A3!2373.entry#comment )

Looking for other good advice, I found an excellent post from someone named Helen’s. Her post “Increasing Traffic To Your Blog” can be found at http://imhelendt.wordpress.com/2006/09/16/increasing-traffic-to-your-blog/ . Over at ProBlogger, they have created a whole page full of good articles called “Blogging for Beginners” (http://www.problogger.net/archives/2006/02/14/blogging-for-beginners-2/). Even if you are not wanting to make money from your blog, there is still a lot of good info here.

Dennis Mahoney has some good advice on writing for the web in his post “How To Write A Better Weblog” (http://alistapart.com/articles/writebetter/ ). While his advice is aimed at the blogger, overall it is sound for any form of written communication.

I’d like to wrap this up with a little advice of my own. First and foremost, offer value. One of my goals is to offer readers a little something extra that they might not find elsewhere. Perhaps it’s through consolidating information, like I’ve done here, or providing details that I have not seen elsewhere in the blogosphere, like my Virtual PC Step by Step entry.

My next piece of advice would be to write nearly every day. Consistency is the key to creating an effective blog and attracting an audience. It’s very disheartening to find what looks like it could be a good blog, but seeing it only gets updated once a month. I create new entries every week day, generally taking the weekends off.

The number of entries you post in a day is up to you, and the nature of your blog. Since I like to teach and try to do that through my blog, I tend to post one new item a day. Mike Cassidy (see link above) has a news oriented blog, so he too would typically want to present one story a day unless there was breaking news of some kind. Robert Scoble, however, tends to produce many entries a day because his blog is a mixture of quick newsbites mixed with personal observations.

If writing every day seems a bit too much, then do a weekly blog, or do what I do write up your entries in advance and then post one a day. As I mentioned, consistency is the key.

Finally, even if you are not interested in writing your own blog, I would encourage you to read through some of the links I’ve included. It will help you in providing quality feedback in your comments, and I highly encourage you to leave comments! It’s very helpful to us bloggers to hear what’s on your mind, if you found our items useful, and what we can do to make it better.

Command Prompt Explorer Bar

OK, I admit it. I’m an old time command line junkie. Starting out in the old DOS days I still find it faster to do some tasks by pulling up a command window and

This is a tool that’s been around for a while, but I find few people know about. Have you ever been in an explorer window and wished you had a command prompt that you could easily cut and paste between? Command Prompt Explorer Bar is your answer.

Available at http://www.codeproject.com/csharp/CommandBar.asp this tool has some cool features. After you install, open a new explorer window. Then hit Ctrl+M or select View, Explorer Bar, Command Prompt from the menu.

[Picture of Command Prompt Explorer Bar]

Down the left side are some handy short cut icons.

[Command Prompt Explorere Bars Shortcuts]

The top icon gives you the standard edit tools you’d have under a normal command window.

The second icon, the little green arrow, is the Synchronize command. If you’ve CD’d around, and want to quickly get back to the same folder as what are displaying in the upper half of the explorer window, just click the Synchronize tool.

The next tool, the one that looks like a blank window, is the CLS command. For those of you who are not a command line junkies, CLS stands for CLear Screen, and basically wipes the display.

The button with green text is the “Get selected items” button. If you highlight one or more files / folders in the upper half of the explorer window, pressing this button copies the file / folder names to the command line. Very useful for passing files to batch jobs.

The fifth icon down looks like a yellow bent arrow is the enter command. Clicking it is just the same as hitting the enter key on your keyboard.

The next item is the ESC key command, it’s the one with red text. Like the enter button, this is the same as pressing the escape key on the keyboard. A lot of older command line programs use escape to exit their program.

The seventh button is a menu that will paste in popular commands, such as “cd..”. Note that it has some shortcuts for .Net. However, this app was last updated in 2002, so don’t expect these to work with VS 2005. However the source code is available for download, so perhaps someone will update this feature.

The bottom two buttons will expand and contract the width of the command window.

There you go, a cool free tool to help out all us old command line addicts.

 

 

Elbow Room

On the 6th Doncha posted a WordPress blog (http://wordpress.com/blog/2006/12/06/running-out-of-space/) saying you could upgrade your WordPress account, and get up to 10 gig of storage space. The main question was, what could you do with all that space?

As a developer I’d love to have a space to place my projects. Whether it’s a small sample, or a complete application I’m giving out, it’d be nice to be able to host in a place I have control over.

Next, I’ve been experimenting with some software to do videocasts. A videocast is a capture of your screen as you work, with an accompanying audio track. I think it would be great to be able to take my blog to the next level, with extra material.

Finally, I love digital photography. Some of the high quality images though have pretty hefty file sizes. I’d love to have a gallery to display by best works.

That’s what I’d use 10 gig for. Elbow room.

.Net University Comes To Birmingham Alabama

Next week Microsoft will be sponsoring a free event in Birmingham, Alabama called .Net University. This will be the evenings of December 11th and 12th doors open at 5:30 pm, event starts at 6:00 pm.

This is an opportunity to learn about version 3.0 of the .Net Framework and it’s new technologies, including Windows Presentation Foundation, Windows Workflow Foundation, Windows Communication Foundation, and CardSpace. All attendees will receive a certificate and spiffy T-Shirt. Best of all, the cost is free!

I can speak from personal experience, having attended the very first .Net University session in the country when it was held in Montgomery. This was a great event that quickly brought us up to speed on the new additions to the .Net Framework. Well worth a couple evenings of your time.

To learn more about .Net University, see it’s website at http://www.dotnet-u.com/

For more information on this event, see the Bug.Net user group site at http://www.bugdotnet.com/

To register follow this link: https://www.clicktoattend.com/invitation.aspx?code=113947

Arcane Combinations: Multiple Monitors and VirtualPC

I really like Virtual PC, in that it lets me keep all of my development environments separated. I only have to load what I really need, and if my environment gets hosed it’s easy enough to rebuild or restore from a backup.

What I don’t like though, is that I lose my multiple monitor capability. I really like having the ability to drag my Visual Studio watches and other debugging windows into a second window. Fortunately, I’ve discovered an answer.

First, create a second virtual PC. This can be a bare bones system, I removed a lot of the extras like games and such prior to installing. I also run it using a minimal 256 meg of memory.

Now, go get yourself a copy of MaxiVista. I first blogged about this great product on August 30th of 2006: https://arcanecode.wordpress.com/2006/08/30/9/ . MaxiVista allows you to go over the network take over a second computer, and use it as a second monitor. Remember yesterday when I said to the network a Virtual PC looks just like a real one?

Install the MaxiVista server program in your main development Virtual PC. Now install the MaxiVista viewer program in the second virtual machine you just created.

Now there is a final, but very important step you need to take. Before you launch either Virtual PC, you need to go into the settings for each one. Go down to Mouse, then be sure to uncheck the box that says “Use Pointer Integration”. If you don’t do this for both virtual machines, none of this will work right.

Now you are ready to go, just launch both machines, and maximize each to full desktop and you’ll be using Virtual PC with multiple monitors!

A couple of things you should note. By turning off pointer integration you will not be able to simply drag your mouse outside the virtual pc to the host one. You will need to hit the right ALT key to release the mouse. Not a big deal, especially since the intention is to run in full screen mode, but something you should be aware of.

Also, this assumes you are running Windows and have a legal copy for each virtual machine you setup. If you have a limited number of copies of Windows, there is one other way to get it working.

I loaded Ubuntu Linux into a Virtual PC environment, then WINE, then the MaxiVista Viewer component. I actually got it to work as a secondary monitor, although MaxiVista’s remote control capabilities did not work. This isn’t something I use every day though, just tried as an experiment so your mileage may vary.

There you go, an arcane combination that will allow you to use multiple monitors with a Virtual PC!

Sad News

Just found out they found the body of missing C-Net editor James Kim, he was deceased. Info on C-Net site http://news.com.com/2100-1028_3-6141498.html.

In similar  sad news, I also learned the Amber Alert I posted earlier about turned out to be a hoax, and that the mother’s boyfriend allegedly beat the supposedly missing boy to death, the car heist was a ruse to cover it up.

At least we can be thankful that Kati Kim and her two young kids are alive and well. Also interesting how much the blogging community came together over this. To be honest I’d never heard of Mr. Kim, but just felt like I should do something to try and help out, make the community aware. I guess that’s what community is all about.

Arcane Combinations: Virtual PC and Remote Desktop

Sometimes a useful tool becomes even more useful when combined with another. I call these “Arcane Combinations”. The first combo I’ll talk about is Virtual PC and Remote Desktop.

If you are not familiar with these, you should read my previous posts. Virtual PC can be found here https://arcanecode.wordpress.com/2006/09/20/virtual-computer-software/ and here: https://arcanecode.wordpress.com/2006/09/20/virtual-pc-step-by-step/. Remote Desktop can be found here: https://arcanecode.wordpress.com/2006/10/09/remote-desktop-connection/.

So how does this work? Well, to the network a virtual PC appears as a real computer. It has it’s own IP address, which is the key. Launch your virtual computer, and determine it’s IP address. This is pretty simple, but if you don’t know how just open a command window (Start, All Programs, Accessories, Command Prompt). Then type in IPCONFIG and press enter. You’ll see something like:

Ethernet adapter Wireless Network Connection:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.1.100
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1

Note if you have multiple network cards installed you’ll see multiple IP addresses, pick the one for the adapter you want to use.

Now on a remote computer, launch Remote Desktop, and key in the IP address given by your virtual PC. And boom, you will be remote controlling the virtual computer.

Now that you know how, I’m guessing you want to know why? Why remote the virtual computer instead of the real one?

Performance to begin with. In my testing I’ve found slightly better performance by controlling the virtual machine as opposed to controlling the host machine then trying to use the virtual computer in it. This is especially true in times where I was stuck using a dial up connection to VPN to work, and needed to remote control my computer at the office. Performance was much better by remoting directly to the virtual computer.

Next, it would allow multiple users to share the same computer. Launch two different Virtual PC sessions and allow each user to remote to it. At my company we have a standard XP build with some company components preloaded on it. We had two vendors come in for a week to do a little work, and they brought their nonstandard laptops with them. We only had one spare development PC, so we set it up with two virtual sessions and let each vendor remote to the virtual computers from their laptops so they could do their testing in our customized environment.

Some last words of wisdom, you will want your host computer (the one running Virtual PC) to be a hefty box, and good band width is helpful, although I have gotten it to work over a dial up connection.

Give it a try, and leave a comment if you find other scenarios where this arcane combination would be useful.

SharpKeys

Every so often you find yourself wishing you could remap your keyboard. Find a use for that oddball key you never hit. Or maybe you are on an older laptop and don’t have a Windows key. That’s where SharpKeys can come in handy.

Available at http://www.randyrants.com/sharpkeys/, SharpKeys easily lets you change one key into another. You can select the key from a list, or just type it on your keyboard. In this example, you can see where I’ve remapped my ` (backward single quote mark) to the Windows key.

[Picture of SharpKeys]

To add a new key simply click Add, then in the dialog that appears select the to and from keys from lists, or type them. When you’ve done all the remapping you want, be sure to click the Write to Registry button, then you can close. Editing and Deleting key mappings works similarly.

Be aware, in order for your remappings to take effect, you have to reboot your computer. Annoying, but understandable, and hopefully remapping your keyboard isn’t something you will do often.

When you need to though, it’s nice to know this handy and free utility is there for you.

Missing Family Update

Quick update, yesterday they found Kati Kim and their kids near their car where it had run out of gas on some back road. Seems they were trying to take a short cut and got lost. James Kim however is still missing. On Saturday he decided to try and hike out of the woods and get help, and they have not yet found him. Keep him in your thoughts and prayers.

Meanwhile in the Albertville Alabama area we have an amber alert.  Yesterday a lady pulled up a convienience store in her 1994 teal Nissan Altima, with no license plate. It was cold so she left the car running so her five year old son who was in the back would be warm. A pickup pulled up behind the car, and the passanger lept out and jumped in the Nissan and stole it.

If you happen to be in or near the Albertville area and see a teal Nissan Altima on the side of the road, please notify Albertville police at 256-878-1212 or the department of public safety at 334-242-4128, or just dial 911. See the story at http://www.foxnews.com/story/0,2933,234188,00.html for more details. 

AllSnap

While we are on the theme of tools that snap, I thought I’d introduce AllSnap. AllSnap is a handy utility that doesn’t have much to display graphically but is a real gem. If you have ever used WinAmp, you are familiar with it’s “Snap” feature. When you get WinAmp close to the edge of the screen, it automatically moves itself to the edge. 

AllSnap is a free tool that gives that functionality to ALL windows. Available at http://www.cs.utoronto.ca/~iheckman/allsnap/, it’s one of those tools you will quickly get addicted to. 

AllSnap puts an icon in your System Tray, through which you can access it’s settings window. Be sure to check this out, as you can adjust things like the number of pixels you get to the edge in order to trigger a snap, whether it snaps to just the edges or a vertical and horizontal center, and much more. 

I’ve installed AllSnap on all of my systems, and it’s made life in the windows world just a little nicer.

Happy Birthday Raven

Today is my oldest daughter’s birthday. Happy Birthday Raven!

Rather than doing something technical today I thought I’d give her and you a fun little gift. I’ve found a great internet comic strip by a guy named George Sfarnas called Being Five (http://beingfive.blogspot.com/). It’s about a five year old boy who blogs using voice recognition software. Go take a look, but don’t be drinking milk when you do. You’ll laugh so hard it’ll squirt out your nose!

WinSnap

I had the need to capture some screen shots, and old Print Screen wasn’t cutting it. I was unable to capture the menus I needed for my documentation. A quick search found a tool so cool I just had to blog about it.

WinSnap, available at http://www.ntwind.com/software/winsnap.html has all sorts of features for doing screen captures. It will do rounded corners, allow you to capture in various color schemes, such as grayscale and sepia, and save in all the standard formats (jpg, gif, bmp, png, and tiff). You can also add watermarks, which is cool.

There are more options than I can cover here, most useful is the time delay feature. To capture an image you just click the new snapshot button. WinSnap hides itself, then after a user specified number of seconds it takes a screen capture. By default it is one second, you’ll probably want to bump it up so you have time to get your app like you want it. I’ve found five seconds to be a good default.

Rather than repeating what they already have on their site, I’ll just point you to the features page (http://www.ntwind.com/software/winsnap/feature-highlights.html).

Take a look, this tool will be valuable to anyone who has ever had to capture screen shots. And since it’s free, the price is perfect!

Arcane Searches

One of the things I really like about WordPress is that you can see the search engine terms that lead people to your site. In the lists I see some search terms that occur frequently. I thought it might be fun to take a guess at what the googlers were looking for, and take a stab at answering them.

exit full screen remote desktop

Move your mouse to the top, center of the display. A little yellow bar will scroll down, with the machine name. On the left is a push pin you can use to make it stick. On the right is the traditional Min / Max buttons you see on a window.

virtual pc exit full screen

Alt + Enter will exit full screen, but it has to be the Alt key on the right side of the keyboard. (This assumes you haven’t changed you hot key mappings).

command to close virtual pc

There’s several ways to close a virtual pc. The simplest, and best is to do a shutdown of what ever OS you are running. When the guest OS shuts down, the Virtual PC exits.

You can also select Action, Close on the menu, VPC will prompt you to see if you want to close and save state (sort of like Hibernate on a laptop) or exit and discard changes. If you are running a Windows OS, VPC will also give you the option to shut down. You can get the same prompt by clicking the X (cancel) button on the window your guest OS is running in.

eventtoaster

This is one that shows up a lot in my searches. Event toaster is part of the Visual Studio Enhancements Add-In from Microsoft. See my entry on November 15th (https://arcanecode.wordpress.com/2006/11/15/visual-studio-add-ins-ms-visual-studio-enhancements/ or http://shrinkster.com/kdt ) for more info.

virtual computer usb

Virtual PC does not support USB in either version 2004 or Server 2005. And, despite being the most asked for item in Virtual PC 2007, Microsoft still does not have any plans to include it in the next version.

VMWare, on the other hand does support USB. In the VMWare Server product, USB is not entered by default. You can add it, however by Editing the Virtual Machine Settings. In the dialog under Hardware click Add, and pick USB.

zone alarm remote desktop client

Another one that appears frequently, I’m guessing there’s a need to know how to get remote desktop to cooperate with Zone Alarm. Open the Zone Alarm settings panel, and click on Firewall. By default the Internet Zone Security is set to High. Drop this to Medium to get it to work with remote desktop. You will also need to go into Program Control and put checks for Remote Desktop Connection for all four columns.

defrag a single file

Use the SysInternals Contig tool. See https://arcanecode.wordpress.com/2006/11/06/sysinternals-contig/ for more info.

There’s a few of the top searches from my history, hopefully I’ve answered questions for a few of you out there!