Integrating Subversion with Visual Studio 2005/2008

Posted in Essential Tools on May 4th, 2009

Subversion works well and it is easily integrated into Visual Studio using AnkhSVN found at

Note that as of this writing, you need to use a daily build version instead of any stable release if you are using the latest SVN client version.

Installation is easy and in use it works much as Source Safe integration did:


Yell if you want but I still like how Visual Studio integrates with Source Safe.

Actually, I should have said “miss” how Visual Studio integrates with Source Safe since I see VSS in use at fewer and fewer workplaces — except my home. People point out that’s kind of sick.

Two (or three) waves of broken Captchas

Posted in Blogs on blogs, Campfire Stories on May 4th, 2009

Captcha is that technology you see when a site (like mine) is trying to keep spambots from posting spam comments or create junk accounts. Captcha uses a distorted image of a word like this


The idea is that only an actual human can read this image and see the word within. The human is then asked to type this word correctly before they are allowed to enter a comment or create an account, etc.

There were three waves of failure for the Captcha technique.

  1. Initially, webmasters did not even distort the work in the picture. Spammers simply used OCR technology to “read” the picture.
  2. Next, webmasters used scrambled words like above. Spammers used better OCR.
  3. Webmasters improved the scrambling (see below). Spammers enlisted humans to do the OCR (!)

Improved Captcha

Enlisting humans to do OCR? Basically the image is relayed to users who are either paid money or paid by access to porn to solve the captcha and return the solution which can then be used to gain machine or script access to the target system.

Wikipedia does its usual great job explaining the whole Captcha thing.

Jeff Atwood does it best at Coding Horror: March 04, 2008 — CAPTCHA is Dead, Long Live CAPTCHA! 

Jeff also has a great thread on it in his discussion of his ongoing efforts to manage bad behaviour at his excellent StackOverflow site.

Et tu, Dr. Dobbs?

Posted in Uncategorized on April 9th, 2009

In March 2006 in my post C/C++ Users Journal, dead. Dr. Dobbs next? I lamented the passing of C/C++ Users Journal. I figured Dr. Dobbs (DDJ) had another year before it too succumbed. Near as I can tell, December 2008 was the last so they lasted almost three years! Way to hang in there!

Missing Visual Studio Trick: Ctrl-J or IntelliSense is Your Friend

Posted in Essential Tools on March 17th, 2009

huh. Usually adding “Intelligent” or “Smart” to the name of anything in software is to doom that anything to complete failure and ridicule.

However, IntelliSense is your friend.

In Visual Studio, just type Ctrl+J anywhere and there’s your buddy. Great for crappy typists like me.

11 Visual Studio 2005 (and 2008) IDE Tips

Posted in Essential Tools on March 17th, 2009

I found this on Scott Guthrie’s blog (he’s the General manager at Microsoft for Visual Studio, ASP.NET, CLR, etc. (I did my “code on whiteboard” interview with him when I interviewed there…)) and he in turn found this post from Chin Do’s blog:

11 Visual Studio 2005 IDE Tips and Tricks to Make You a More Productive Developer

Some of the tips are .NET specific (snippets!) but most work in the C++ world too.


Essential Tool: CopySourceAsHTML

Posted in Essential Tools on March 17th, 2009

In writing any sort of code how-to you end up wanting to write code examples.


   13 // CAboutDlg dialog used for App About


   15 class CAboutDlg : public CDialog

   16 {

   17 public:

   18     CAboutDlg();


   20 // Dialog Data

   21     enum { IDD = IDD_ABOUTBOX };


   23     protected:

   24     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support


   26 // Implementation

   27 protected:


   29 };

… like this.

Enter a really cool tool: CopySourceAsHTML which was written by Colin Coller and was released by J.T. Leigh & Associates Inc.

While you can get the application at the link above, things are a bit terse at that site. An explanation of how to use CopySourceAsHTML may be found at a great page on this and other cool tools Visual Studio Add-Ins Every Developer Should Download Now from the MSDN Magazine site.

One quick hint: CopySourceAsHTML defaults to showing line numbers (if you have line number in your display). Line numbers are great in an article for indicating details to readers. Line numbers are crappy if you want to make it easy to copy/paste code so in that case, suppress the line number using the CopySourceAsHTML option before adding to your post as I did with this second snip below:


// CAboutDlg dialog used for App About


class CAboutDlg : public CDialog





// Dialog Data

    enum { IDD = IDD_ABOUTBOX };



    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support


// Implementation