A Blog by Scott Isaacs

Tag: Tools Page 2 of 3

I Really Like Windows Live Writer

I downloaded the latest beta of Windows Live Writer* a couple days ago and have finally gotten around to making a post with it.  I didn’t have any real issues with the previous version, although there were a couple things I would have liked changed.  Applying tags (categories) to a post is not any easier now than it was with the previous version, but it is harder to forget now.  There is a setting that causes WLW to remind me to add categories before posting.  A nice friendly dialog pops up and says something along the lines of, “You haven’t categorized this post yet.  Do you want to post it anyway?”

All in all, WLW makes it much more enjoyable to post.  Since I started using it I’ve posted more.  I still may go a while between posts, but when I post one, it is so easy that I usually end up posting a couple more within a short amount of time.  For example, this is my third post in about 20 minutes.

Anyway, I recommend you download and try it.  It works with lots of popular blogging engines.

* = When I first type “Windows Live Writer”, I misspelled it and typed “Windows Lice Writer”  For some reason I thought that was funny enough to mention here.  Maybe it’s my level of sleepiness?

New Version of Cropper Released

Brian Scott released a new version of Cropper a couple days ago.  I missed the announcement due to RSS reader issues, but I was fortunate enough to get to poke around with it in advance for a couple days.  It’s been about a year since the last release, and I was beginning to wonder if version 1.8 was going to be “it”.

Cropper is one of those little apps that I have that I couldn’t imagine not having.  I’m glad to see that development has picked up again.

Now I should just buckle down and take the time to write an “output to Community Server” plugin…

Update #2: More IE Stuff

Early this year I posted a ZIP of stuff for IE context menus.  I just wrote and added another menu item for checking or unchecking any checkboxes in the current text selection.

The file is attached to this post.  Download and use at your own risk.  See readme.txt for summary and instructions.  These will modify your registry and if you don’t know what that implies, then you probably won’t want to install them.

Update: Image Converter

A couple weeks ago, I posted a “slightly useful piece of software” which could be used to convert a bunch of BMP files to JPG.  We’ll I just updated it to allow you to select the source and destination file types.

I’ve replaced the old download with the modified one, and you can get it here.  Use at your own risk.

It’s pretty simple to use, but see the original post for more info.  Let me know if you have any questions or suggestions.  I probably won’t put too much work into it, but if it’s a good suggestion, I may.

Newsletter Sender

OK, so that’s a really lame name for a program, but I named it so I wouldn’t forget what it was.  I could have called it PhireFaacs, but really, do you think I would know what that was in two weeks?  Forget for a moment how much ridicule I would receive from my peers for choosing such a stupid name — that’s an even dumber name than “Newsletter Sender”.

Anyway, I wrote a simple little WinForms program last night (screenshots below) to help me send out the newsletter for the WI .NET Users Group.  (See how I decided on the name???)  In a nutshell it does a mail merge of some comma delimeted text datasource against an e-mail template.  “So what?”, you ask.  Yeah, I asked that, too, but it does make my newsletter sending a little easier.

Basic instructions (because there is no help file or tooltips):

  • Specify an SMTP mail server, and optional SMTP username and password.
  • Load a data file.  This can be any CSV formatted file, but there must be row headers.
  • Specify which field in the data file contains e-mail addresses.
  • Enter the “from” address.
  • Enter the message subject.
  • Enter the message body.
  • Specify a priority.
  • Click “Send”

The SMTP mail server, SMTP username, and from address can be stored in an XML file that gets created the first time you run the program (you have to edit it manually).  The subject and body can contain placeholders ({0}, {1}, etc.) that will be replaced with data from that column (note that this is zero-based index).

That’s basically it.

The ZIP download is available here.  Blah blah blah your own risk blah blah blah I’m not responsible blah blah blah.

Screenshots (also included in ZIP download)

The UI:

A Merged E-mail:

Cropper and TinyPic

By now you may have heard about Cropper by Brian Scott (I’ve even mentioned it before).  It’s a nifty screen capture utility that I originally found linked from Scott Hanselman’s Ultimate Tools list.  I’ve used it a few times, and it’s pretty cool.  You can optionally choose to create thumbnails of each screen capture.

Well, Patrick Altman is a self-proclaimed Cropper fan, and he has written a nice little plugin for it.  His plugin will take a standard Cropper screen capture in PNG format and upload it to TinyPic.  Then it places the URL of the image into the clipboard for easy pasting into blogs, etc.  You should try it!  (Note:  This image was added using this method.)

One important thing to note, though: Patrick’s plugin is compiled against a previous Cropper BETA.  I had to use Reflector to disassemble it and recompile it.  I didn’t have to change anything — just a recompile.  If you don’t want to go through that hassle (or don’t know how), send me a quick note and I’ll forward you my recompiled version.  I don’t want to post it here because it’s not my code to post, but until Patrick has a chance to update it, or tell me to stop, I’ll share.

I do also have a couple suggestions for Patrick (which I sent him via e-mail earlier today):

  1. Right now, if Cropper is configured to create a thumbnail image, that image does not get uploaded to TinyPic.  That would be a nice feature.
  2. Because I really love my clipboard, I have found that I might use the Cropper -> TinyPic option, and then copy some other text before I paste the TinyPic URL someplace meaningful.  So I have suggested that he consider some type of log file.

But don’t let those two things keep you from trying this out.  I know I’ll be using it for a while.

Update: Patrick Altman has e-mailed me and said that he doesn’t use this plugin anymore, and that he has no plans to update it.  He said that I should feel free to update my decompiled version and redistribute it.  Well, I don’t exactly have a lot of spare time right now myself (more on this later…), but now I feel comfortable posting my updated DLL.  So here it is.  It works with Cropper 1.6.  If anyone wants to make updates to it, knock yourself out — just let me know if you come up with something useful.  🙂

Code Generator 1.1

If you’ve read the blog for a while, you might have seen my previous posts about a code generator I wrote.

As I’ve used it for a couple months, I’ve decided that I have a lot (LOT) of changes I want to make to it.  I’m not quite a genius yet (like all of the people at the Q# launch), but I’ve learned a ton since I first started writing this.

However, as things go, I haven’t had time to really re-engineer it.  It’s hard to take time to fix something that works, even though it doesn’t work as well as it could or should.  (Can I get an “Amen”?!)  So, in the meantime, I’ve just fixed a few bugs and made a few enhancements.  Most noticably, there is a progress bar at the bottom of the window now.

So anyway, for what it’s worth, here is the updated version.  Use it at your own risk, blah blah blah.

To see a “real” code generator, check out Codus by Sean McCormack from Adapdev Technologies.  Adapdev has a few good tools that have been released to the development community.  On a (sort of) related note, Sean will be speaking to the WI .NET Users Group on September 13 about Automated Testing for .NET.  You can register at the UG site.


The other day I started using SlickRun.  It was in Scott Hanselman’s Ultimate Tools List.  I’d seen it a while back, but finally downloaded and installed it the other day.  Here’s a screenshot:

In short, I like it a lot when I remember to use it (which is spotty, but getting more frequent).  I have it set to show on Win-Q (the default) at the location of my mouse cursor (not default).  You can run commands there as if it was the command window or Start->Run, but you can also create “MagicWords” to be shortcuts to other programs (with or without parameters).  For example, if I type Win-Q then “mor” (for morning), my e-mail, my RSS reader, and iTunes all open.

The best thing about it: it’s free!  🙂  Long live the keyboard!

IIS Util for XP Pro

Sometimes when developing web applications it is useful to have them live at the root of the web space instead of a virtual directory (which is the default for Visual Studio).  This is not always the case these days, but when I was still doing a lot of classic ASP development, I would often need this.  Since XP Pro only allows one web site (as opposed to Windows 2000/2003 Server, which allows multiples), I spent a lot of time loading IIS, going to the properties page, and changing the “Home Directory” for the web site.

Maybe it’s because my computer was crappy, or maybe there was too much other stuff in memory, or maybe it’s always this way, but IIS was slow to load, plus that seemed like a lot of clicks for something so simple.  So, a long time ago I wrote a simple utility in VB6 (to help me deal with this.  Then as I was learning .NET, I re-wrote it as a WinForms app (including the designer generated code, it’s all of 157 lines of VB.NET).  In a nutshell, it lets you choose a new folder to be the webroot on your local machine.  Additionally, it keeps a history of directories used (in a text file) so that you can easily switch back to another in the future.

For me, the main benefits were that it loads much quicker than the IIS console, and that there are not as many clicks needed, especially if you’re just switching back to a previously used web root.  But it’s far from perfect, so here are a couple ideas for possible future improvement (if I ever work on it again):

  • Also copy virtual driectory and IIS application settings when changing web roots.  Currently, only the web root itself is changed with this utility.  All virtual directories are left unchanged.  This may be good, or it may be bad, but there should be an option.
  • Build a more complete console, similar to IIS, based on something like Cassini.  This could allow multiple web applications to be running at the same time, each at the root of their own web site.  Of course, this will take away the simplicity that currently exists, so I don’t know how much I like this idea.
  • Possibly some integration with the HOSTS file.  I’m not sure what I would want here, but it might make sense.

So anyway, take it for what it’s worth.  Use it if you want.  As always, use it at your own riskHere is the ZIP download.  Aside from this post, there are no docs of any kind — you’re on your own.  If anyone is interested in source, I can supply that as well, or you can just use Reflector.  It’s pretty basic, but if you want to make any improvements (my ideas or your own), I’d like to see the result.

I rarely use this anymore, but it came to mind again recently, so I thought I’d post it in case it might be of use to someone else.

HTML Syntax Highlighter

This isn’t new.  I found it linked from Scott Hanselman’s blog.  Even though I didn’t discover it, it’s still pretty cool if you ever plan to post code to your blog, or include it in any other HTML document.  Check out CopySourceAsHTML.  It is a VS.NET add-in that copied selected text and formats it in HTML to look as it does in VS.  Here is a sample.

   12 Class HelloClass

   13     ‘ Private Variables

   14     Private _Who As String


   16     ‘ Public Variables

   17     Public Property Who() As String

   18         Get

   19             Return _Who

   20         End Get

   21         Set(ByVal Value As String)

   22             _Who = Value

   23         End Set

   24     End Property


   26     ‘ Public Methods

   27     Public Function SayHello() As String

   28         Return SayHello(Me.Who)

   29     End Function


   31     Public Function SayHello(ByVal Name As String) As String

   32         Return String.Format(“Hello, {0}”, Name)

   33     End Function

   34 End Class

Page 2 of 3

Powered by WordPress & Theme by Anders Norén