Thursday, February 24, 2011

Two Excellent Tools for AWS S3 and Google Docs

I wanted a way to mount Google Docs and an Amazon Web Services S3 bucket as local drives on Windows. This makes life a lot easier when moving things in and out of these repositories.

These two are very good:

Memeo Connect for Google Docs ($9/user per year)

TntDrive for S3 ($39.95 with discounts in volume)

Each mounts a local disc on Windows that works like any other disc in Explorer. Memeo Connect is available for lots of platforms including Mac, iPhone and iPad; not for Linux apparently. A Memeo user license covers all clients the user uses.

Friday, October 22, 2010

Productivity Power Tools for Visual Studio 2010

Productivity Power Tools is a decent extension for Visual Studio 2010 that combines Solution Explorer and Class View.

Thursday, October 14, 2010

Resharper Aids With Localizing Code

Resharper 5 (Jetbrains.com) recognizes embedded strings and moves them to resources for you. It does a great job of telling the difference between user-visible string, which you probably want to localize from diagnostics and logs that you probably do not.

Monday, October 4, 2010

Looking At Thunderbird and Outlook as Gmail Clients

We compared Outlook 2010 + Google Apps Sync to Thunderbird 3.1.4 + Gmail Conversation View 1.2.4 + Google Contacts 0.6.33 + Lightening 1.0b2 + Provider for Google Calendar 0.7.1.

Both give you synchronized Gmail, Contacts and Cal in Outlook and Thunderbird respectively. The Thunderbird combo is better for a bunch of reasons including:

  • Synching is almost instantaneous over broadband. Google Apps Sync for Outlook is painfully slow. If you get a lot of email it can easily take a couple of minutes waiting for the Google service to let you read new email - unless you leave Outlook running 24/7. That's a Google problem.
  • MUCH better threaded view in the "reading pane". That's an Outlook problem.
  • Thunderbird gives you more control over IMAP folder subscriptions if you care.

Of course none of this applies to you if you don't mind using a web page to use Gmail. I find using a desktop client like Thunderbird gives me a nice side-by-side treatment of the inbox contents and the conversation thread in a reading pane. The web UI makes you scroll up and down.

Google combines mail, cal and contacts synch into one plug-in, Google Apps Synch for Outlook. Using Thunderbird you have to install separate add-ons for these functions.

Wednesday, September 22, 2010

Subversion hosting at Assembla

Assembla is a nice hosting service. They offer free source-control-only accounts and upgrade for various development tools. Creating an account and an SVN repo is fast and easy.

Tuesday, September 7, 2010

Thursday, August 26, 2010

Using SVN and Go With Visual Studio For Continuous Integration

Combining Subversion and Go provides a very lightweight and low-cost alternative to Team Foundation Server for continuous integration with Microsoft Visual Studio. Setting this up is easy and takes only a few minutes.

Requirements:

TortoiseSVN integrates elegantly with Windows Explorer. It’s free. We combine this with VisualSVN, a very nice extension for Visual Studio, but this is not required.

Go from ThoughtWorks Studios. The Community Edition is free.

Setting all of this up is straight forward. Just follow the documentation for each. You’re safe with default options across the board.

You have various options for building a Visual Studio solution from Go. The easiest approach is to install Visual Studio on the build machine and configure the Go Pipeline to call devenv.exe using the “Exec” build option in Go. Wrapping the command line execution of devenv in a bat file is advised. For example:

Let’s say you have a solution called MySolution.sln. Create a bat file and call it MyBuild.bat. Put this in the bat file:

"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" -clean
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" C:\Users\me\src\project\MySolution.sln -Build "Release|Any CPU"


A basic Go Pipeline to build this looks like this:

<pipeline name="BuildBlueDiamond">
  <materials>
    <svn url=http://frodo:81/svn/project
username="me" password="me" />
  </materials>
  <stage name="defaultStage">
    <jobs>
      <job name="defaultJob">
        <tasks>
          <exec command="C:\Users\me\src\project\MyBuild.bat" />
        </tasks>
      </job>
    </jobs>
  </stage>
</pipeline>