Monday, September 5, 2005

Subversion and TortoiseSVN Installation Cookbook

After reading several good things regarding Subversion and TortoiseSVN I decided to give it a try. The “final straw” came while looking into Ajax.NET which is housed in SVN and required installing TortoiseSVN to obtain the source. The process was so smooth and easy I decided it was worth a shot. The scm options facing my little company are very typical:

  1. Continue using VSS with it's warts - extremely slow client, requires either VPN access to servers in office or a 3rd party product such as SourceOffsite to make remote access feasible, etc.
  2. Purchase another solution such as Vault.
  3. Migrate to Team Foundation Server - not only is the new pricing model a “step-up“ for small ISVs but there's hidden costs as well. It requires 3-tier deployment, must install/use Active Directory, requires SQL Server 2005. Can I really afford to update memory, buy licenses, and dedicate at least three servers for what used to take just one?
  4. Try something else such as Subversion.

I decided to try door #4. Below is a quick “cookbook” style approach of what it took to get it up and running. Following that are a variety of links that I found.

  1. Install Apache 2 (2.0.54):
    1. Change httpd.conf to use non-default port (Listen 81 or Listen 8080).
    2. Create Windows user account ApacheUser.
    3. Grant ApacheUser modify rights to C:\Program Files\Apache Group\Apache2\logs
    4. Change Apache service to run as ApacheUser and restart.
  2. Install Subversion (1.2.1):
    1. Run Subversion installer.
    2. Modify httpd.conf to add /svn virtual root (see TortoiseSVN docs - 3.1.4)
    3. Create svn root directory somewhere (e.g. F:\svn). Note the multiple warnings that you should NOT use the Berkley DB repository format for network shares (including UNC names, mapped drives, etc.).
    4. Grant ApacheUser full control rights to svn root directory (e.g. F:\svn).
    5. Create Apache passwd file and add users (can optionally configure for SSPI to Windows domain - see TortoiseSVN docs).
      1. bin\htpasswd -c passwd
      2. bin\htpasswd passwd
    6. Restart Apache and test (http://localhost:81/svn/repos)
  3. Install TortoiseSVN (1.2.2.4299 VS.NET - ASP.NET version) which is an excellent Windows shell extension for using SVN.
    1. Re-boot to get shell extension icons working.
    2. Right-click on repository (e.g. F:\svn\repos) and Create Repository...
  4. Install AnkhSVN (0.5.5.1653) for VS.NET integration.
    Edit \Application Data\AnkhSVN\ankhsvn.xml - uncomment
              <AdminDirectoryName>_svn</AdminDirectoryName>
           to match TortoiseSVN patch for ASP.NET files.
  5. Final note for properly backing up the repository:
    svnadmin hotcopy path/to/repository path/to/backup --clean-logs

Here's a list of links I found very helpful in addition to both the Subversion documentation and especially the TortoiseSVN documents (since it is a Windows client).

Cory Foy, Getting Subversion running with .NET
Michael Flanakin,  Subversion and Windows Authentication with Subversion on Windows
Jonathan Malek, NAnt, Subversion and VS.NET
Fritz Onion, ASP.NET Application without Web Projects ** It seems a lot of folks like this one however I did not take this route - instead I used the “patched” version of TortoiseSVN which uses “_svn” instead of “.svn” for local admin directories.

One interesting piece of information I found was buried in the replies of this post. Specifically, “The important thing to note is: The initial copy you used to import is not a checked out copy. It cannot be used to work with subversion. You need to check out your own copy. (Even though you already have all the files)”.

Original post

Wednesday, August 31, 2005

Windows for Workgroups 3.11 on Virtual PC - Screenshots

I've uploaded various screen shots from my MS-DOS / Windows for Workgroups 3.11...

Tuesday, August 30, 2005

Windows for Workgroups 3.11 on Virtual PC

Although I've never met them personally, I blame Dave Burke and Ben Armstrong for my little jaunt down memory lane this past weekend. It all started when I was cleaning out the basement...I came to a box on one of the shelves that was still sealed up from when we moved in five years ago. Since this box had come from the garage at the old house, it must have really been "useless" stuff. When I opened it, I found two boxed sets of Lotus 1-2-3: 2.0 and 2.01 (still sealed in shrink wrap!) as well as WordStar 6.0. Doing mindless work like sorting and hauling old stuff off to the dump is a great time to let your mind wander. I remembered Dave's post here as well as Ben's here, here, and here. That was my undoing and before I knew it I was rummaging in the attic for some old DOS boot disks. I managed to get DOS 6.22 and Windows for Workgroups 3.11 up and running (screen shots below). But that wasn't enough - it's as though I couldn't stop myself. I spent a few hours over the course of two days and managed to install:

Some things I left off installing:

  • After Dark for Windows
  • Norton Utilities 6, 7 and 8
  • Norton Desktop for Windows 1.0, 2.1and 3.0
  • Paradox 3.5, 4.5 and 1.0 for Windows
  • Quattro Pro 5 for Windows
  • Turbo Pascal for Windows 1.5
  • WordPerfect 5.1
  • WordStar 6.0

What I found amazing was how "little" everything was. After working with virtual machines for various betas with 512+ meg of memory and 5+ Gb virtual disk sizes it was incredible to see a "whopping" 32 meg of RAM for a machine. I recalled that DOS had an upper limit of 2 Gb for disk size and, since I wanted to see how much I could install, I chose a "safe" 1.5 Gb fixed disk size. I had truly forgotten how little space things took (relatively speaking). Even after choosing "full installations" for everything above, I had barely topped 400 meg of disk space!

Of everything I tried installing Windows gave me the most trouble. I tried going to WfW 3.11 directly but the machine kept hanging at the detect networking stage even after I had disabled the network adapters in VPC - perhaps I was too impatient? I finally installed Win 3.1 from floppies. I then set about trying to tweak it as Ben described here and here. Soundblaster was cute - remember the little "ding" when you did something you shouldn't? I found that the S3/Trio card and the EMM386 settings were difficult. I could get most stuff loaded into high memory using Ben's settings and the suggested replacements for the mouse and MSCDEX - DOS ran just fine. However, after switching Win 3.1 over to the S3/Trio adapter I kept getting GPFs as soon as Program Manager would begin painting the groups and icons. I tried eliminating some of the include regions in EMM386 but Win 3.1 complained of low resources so I finally gave up and switched back to VGA mode. On a whim, I went back and tried upgrading from Windows 3.1 to Windows for WfW 3.11 and managed to get that to work. After that, Ben's instructions for networking and IE 5.01 worked like a charm.

Another thing that surprised me a bit was how much software was on 5 1/4" floppies. I had to pull out my old 386 SX 20 Mhz (woo-hoo) since it was the only machine I had with a 5 1/4" drive. Turbo Pascal 6.0 as well as some utilities were the only things I bothered to copy to 3 1/2" so I could load them into the virtual machine. Even then, I had to hunt around and find the removable floppy drive for my "old" laptop (Inspiron 8200) so I could read the 3 1/2" disks since my new laptop doesn't even come with a floppy drive!

What comes next? I think I'll shrink the fixed disk down to 650 Meg and burn it to a CD.

Original post

Thursday, August 18, 2005

Quickbooks’ sloppy security holes

It seems from reading other posts, such as Keith Brown's Hall of Shame and Hall of Shame Honorees for Admin Rights, that Quickbooks is a sloppy piece of software when it comes to security rights. However, Susan's post really shows how bad it is - just take a look at all the things you have to open up in her first link for standalone. Her Hall of Shame piece lists various KB articles and Intuit's apparent ambivalence toward the whole issue.

Why am I bringing this up? Because I used BHO Demon and SpywareBlaster recently to make sure things were tightened and all was well for several days UNTIL I happened to run QuickBooks. The “stupid software” has the audacity to tell me that my security settings are too high and I should lower them so that it runs properly. Um...if you take the trouble to put code in your product to detect this condition then why not take the time to actually fix the problem! Requiring lower browser settings, writing to various parts of the registry and to folders under \Program Files has been a well-known “no-no's” for quite some time now.

Glad to see Microsoft is getting in the game with their Small Business Accounting product. After using Quicken since V2.0 in the late '80s and QB since 2000, I'm glad to see Intuit is about to get some serious competition. Nothing like falling sales, layoffs, and taking fat profits out of the pockets of management (they sure don't spend it on improving their products!!) to wake up a sloth!

Original post

Thursday, August 11, 2005

Another reminder that I’m getting older

While catching up on blog reading I noticed Sara Ford's post about remembering the Challenger disaster. What caught my attention was that she was in FIRST GRADE when it happened. I've never thought of myself as being “old” - my parents are “old” as are my aunts and uncles, etc. but not me. For some reason this year has driven home the point that I'm getting older too. My son has graduated from high school and is off to college in a month, while my youngest daughter is entering 8th grade and will be in high school a year from now. Plus I had my first bout with kidney stones, my doctor put me on Lipitor to control my cholesterol as well as an aspirin a day to help keep my “border-line” blood pressure in check. Sheesh! Once you cross that 40 mark, things start falling apart :)

For the record I was 22 when the Challenger disaster occurred. I had already finished a tour in the Army after high school and was working in my first programming job on an IBM System/34 using RPG II. I had a radio near my desk because I love to listen to the Red Sox on the radio and when they news broke in I went out to tell my co-workers and they thought I was joking around. It took somebody's spouse calling in from home before folks believed me. I tended to play lots of practical jokes.

Friday, June 3, 2005

I am a Gauntlet Adventurer

What Video Game Character Are You? I am a Gauntlet Adventurer.I am a Gauntlet Adventurer.

I strive to improve my living conditions by hoarding gold, food, and sometimes keys and potions. I love adventure, fighting, and particularly winning - especially when there's a prize at stake. I occasionally get lost inside buildings and can't find the exit. I need food badly.
What Video Game Character Are You?

Original post

Monday, May 23, 2005

A memorable metaphor

I first started teaching technical classes in 1992 when I joined a software company. At that time, NT 3.51 was just coming out and our mainstream software product was written in Cobol for the VAX and AS/400. I had experience in both Cobol and RPG at the time and taught the same material to two different audiences. Over the last 13 years, I've developed materials and delivered training for VB (and ASP), C++, Java, .NET (C# and ASP.NET) and even taught part-time evenings and weekends at UNH for several semesters. One thing I've learned when trying to convey new concepts and materials is to find ways to relate to the audience and their experiences. Another technique is to use memorable analogies and metaphors that really jog your mind and cause you to stop the stream of consciousness and take notice. Which brings me to the subject at hand. Rebecca has done just that with her MetaData Metaphor post. Not only is she very smart and dynamic (I've been in the audience when she spoke at an Xml East DevCon, her TechEd keynote last year, and Chris Sells' Applied Xml last fall) but she has the gift of communicating ideas which cause you to pause and take notice.

P.S. Thanks for the explanation Rebecca - I honestly said “huh?” when I first saw “SWF” so that means I confess to being married for some time and ignorant to the ways of the dating world.

Original post