Showing posts with label microsoft. Show all posts
Showing posts with label microsoft. Show all posts

Thursday, June 21, 2012

How Google Started to Become a Problem

I guess I have assumed that almost everybody loves Google, and those who don't are the bad guys.  Microsoft, for example.  Maybe it takes a huge corporation to stand up to another huge corporation.  If so, Google is a champion for those who have disliked various things about how Microsoft got its start, what it did to increase its power, and what it has done with that power.

There comes a point, however, when the good guy turns bad.  Maybe it doesn't have to happen.  But power tends to corrupt.  And even when it doesn't actually corrupt, it tends to create an impression of corruption.  That impression may be able, by itself, to make people more or less as miserable as they would be in case of actual corruption and abuse.

Case in point.  I have been blogging for years, here in Blogger.  I wasn't necessarily eager to see Google acquire Blogger.  But they were welcome to do so, for my purposes, as long as they left me alone.  The deal was that I got to use their free blogging platform to put out various things that I wanted to write, and they got to use my work, my viewers, etc. to make money from advertising and whatnot.

Gifts can make people resentful when they stop.  I would be unhappy with Google if they pulled the plug on my blogging enterprise, even though they're not charging me for it.  I have spent years putting stuff here, linking one post to another and so forth.  It would take a lot of work -- work that I might never do -- if they were suddenly to just shut it down or screw it up.  I would feel that, after all, Google does have competitors, notably WordPress.  If nothing else, I'd sooner be paying for a hosted website than to do all this work and then watch it get messed up.

What's sad is that I have been warned that they are quite capable of doing exactly that.  It has already happened.  Circa 2000, many people were using DejaNews as a convenient gateway to Usenet.  Usenet newsgroups contained tons of free, helpful information on a vast array of subjects -- especially but not only computer-related, like this blog.  Google acquired DejaNews.  Evidently they felt that all that information would interfere with their desire to sell advertising related to webpages.  For whatever reason, they basically destroyed Deja.  That was a shame, for all those people who could have continued to use it to obtain useful information.  And it was irritating to me, because all the things I had put out there, thinking I would always be able to access them, were removed from access as a practical matter, by me and most everyone else.

I was pretty unhappy with Google about that.  That was the first big chink in their claim that they would "do no evil," as their corporate motto ("Don't be evil") has been widely reported.  They had obviously ruined something useful, for purposes of increasing profits.

That stuff would not be coming back to mind now if I weren't having an off day with Google today.  Here I am, working away on my blog, and suddenly it is no longer very functional in Internet Explorer.  I have a nice little desktop arrangement, with various browsers, but now Blogger has suddenly ceased to work properly when I try to post or edit.  Google lets me know that, instead, I should be using its own browser, Chrome, for this purpose.

That part happened several days ago.  So, OK, I have been trying to post in Chrome instead.  But I am finding that Chrome is not yet up to speed for this purpose.  Google was eager enough to move me over to its browser -- the statements and signals have been out there for some time -- but, lo, it develops that Chrome is inserting white backgrounds.  Whole chunks of my post are whited out.  Why?  I don't know.  Probably they don't know either.  I am having to go in and manually remove whiteing that I didn't put there.  Why not just leave me alone, free to work on my blog in Internet Explorer, until Chrome gets its act together?

That seemed like a fair question, so I tried to present it to Google.  Problem is, their "Contact Us" webpage is a lie.  You cannot contact them through their webpage.  Or at least I cannot.  I tried today.  I tried once before, with a problem so obvious and banal that it pained me to have to bring it to their attention.  In that case, I gave up and wrote them a letter.  It seemed ironic, and yet telling, that I had to use the U.S. Post Office to communicate a simple thought to one of the world's largest software corporations.

Like most people, I don't like being lied to.  If you're not going to let me contact you, don't give me a "Contact Us" webpage.  Call it "FAQs" or whatever.  It's great that you can hire the best and the brightest, but that can backfire:  you can create the impression that you think you're too good for the rest of us.  It wouldn't be terribly smart to generate unnecessary resentment, would it?

It had never occurred to me, until today, to search for something that I have now searched for and found.  Yes, as it turns out, there does exist something called IHateGoogle.org.  I'm not really sure what it's about.  I'm not resentful enough to dig into it.  But, Google, keep it up:  maybe someday I will be.  You seem to be making a good start at it:  today you tell me that as many as 1.4 million webpages convey that sort of feeling toward you and your actions.

Obviously, I am not the only person who has attempted to communicate with Google along these lines.  People rarely get resentful when they feel they are being respected.  If Google cannot make its own programs work together -- Chrome and Blogger, in this case -- it is welcome to keep them in beta.  But forcing me to use them when I don't want to:  at this point, that is a problem.  Not just a software problem.  As presented in this post, it is an indication of larger and more worrisome things.

Friday, March 23, 2012

Synchronizing Two Computers: GoodSync and Alternatives

I had a home network with two computers, consistent with my evolving concept of how many computers a person should have.  (The third was a notebook.  The fourth was now distributed, in pieces, across the universe.)  I found it was convenient to have the second of those two computers take care of backup, construct reliable file indexes for searching, hold certain programs open, run certain batch files at regular intervals, and remain available for moments when the primary computer was doing maintenance or for some other reason was unavailable.

I was writing these words at one such moment.  The primary computer had just become dysfunctional.  And this was OK.  I was able to turn to the secondary computer and keep on working, pretty much where I had left off, because I was using a synchronization program that kept the two computers in sync via ethernet cable.

Critique of GoodSync

Except that, unfortunately, now was the moment when my synchronization program became flaky.  That program was GoodSync.  More than a year earlier, I had examined reviews of synchronization programs and had chosen GoodSync over the others.  I had purchased the pro version and worked through the details of setting it up.

During this year, I had found GoodSync largely suited to the task.  There were two principal problems, one of which prompted my search for a replacement.  That was the problem of licensing.  GoodSync's representative told me that the license allowed me only two installations per year.  The problem was that GoodSync could not be deactivated.  So, in my setup, I installed it on the secondary computer, and used it to synchronize my laptop and my primary computer with the secondary computer.  But if Windows became dysfunctional, or if my hard drive crashed, or for any other reason I had to reinstall GoodSync, that would count as one of my two permitted installations.

So I had already had one go-round with the GoodSync people about that.  Now there was another licensing issue.  They promised me that, since I had bought my copy within a certain timeframe, I would qualify for a free upgrade from version 8 to version 9.  But when the time came, the licensing did not work.  So at the moment when I was writing these words, I was looking at a notice that said this:

You have exceeded the Free version lmitations.  To continue using GoodSync you should upgrade to GoodSync Pro version or reduce your jobs to 3 or files in a job to 100.
But when I tried to activate, I got this:
FAILED:  Our records indicate that you have only GoodSync 8 licenses in the order you specified, but you are trying to activate GoodSync 9, which requires a separate license.
My options in this regard were to get on the phone and complain about the broken promise, go through the steps to uninstall version 9 and reinstall version 8, or buy an upgrade to version 9.  I did contact them and get it sorted out.  Possibly it was even my mistake in the first place.  I was not fresh on the details when writing these notes.  Point is, the matter might have been settled there, if it hadn't been for the second problem.

The second problem, which had been more persistently troublesome, was that GoodSync was a tremendous resource hog.  It would interrupt or slow down my work very noticeably, to the point that the computer would become unusable and even unresponsive.  I emailed them about this too.  Their reply was that I should upgrade to version 9.  I did that.  But that didn't fix the problem.  Version 9 did have an option, which may or may not have been present in version 8, to impose a "speed limit" on file copying.  This was obviously not an ideal solution:  it would slow things down when the computer was free, and it might not slow things down enough when the computer was busy.  This would be one more thing I would have to tinker with, in hopes of finding the right value.  Why not just have the kind of "smart" arrangement found in other programs, where it drops back to a slow jog or a standstill, depending on computer resource usage?

The slowdown problem was exacerbated by uncertainty as to how to get the damned thing to just stop when I was finally tired of waiting on it.  Right-clicking the system tray icon would give me options to Stop All or Disable Auto Run.  Disable Auto Run seemed to be only temporary.  A while later, I would be sitting at the computer in a stupor, waiting for it to do something, and would then find that it had sneakily started doing auto synchronizations again.  On the other hand, if I clicked Stop All, a long time could go by before I would think to check up on my supposedly automatic software.  And Stop All did not work reliably anyway.  More than once, I had to go into Task Manager (Ctrl-Alt-Del) and just kill GoodSync immediately.

Those were the big issues.  There were some others.  I didn't like that I couldn't get a clear indication of how long a job would be running.  When a program does the same thing 20 times a day, eventually it would seemingly be able to give a pretty good estimate of how long it would take to complete a synchronization.  I didn't like that GoodSync needed to distribute _gsdata_ folders all over my computer.  I had looked on that as the price of progress, but for some reason those folders sometimes contained copies of files, which could lead to confusing and potentially disastrous results when doing a sweep for unnecessary duplicates or searching for the latest copy of a file.  I didn't like that GoodSync was not able to keep computers synced on an up-to-the-moment basis.  I would have thought that, with the aid of those _gsdata_ folders, the program would have been able to know, pretty quickly, when a file had been changed, and it would ordinarily seem pretty straightforward to get a copy of that file to the other machine.  What I actually got, unfortunately, was a nearly constant hard drive workout on the secondary machine.

A Search for Alternatives

Since I was at this point of having to deal with license issues again, for the third or fourth time in the past 12 months, it occurred to me that it might make sense to see if I could find a better alternative.  I had pretty good impressions of recommendations from Gizmo's Freeware, so I started with their list of Best PC Freeware.  Their choice for best folder synchronization utility was PureSync.  Oddly, Gizmo's link to a review of PureSync actually led to a November 2011 Gizmo article that named a different program, FreeFileSync, as the best free synchronizer.  FreeFileSync didn't sound too good -- no autosync, among other things -- but the article did mention Allway Sync as a commercial alternative. 

A search for these three (i.e., GoodSync, PureSync, and Allway Sync) led to an alternativeTo webpage listing a number of possibilities.  Among those possibilities, I decided that a programmatic solution like rsync would not work for me, partly because I had not tended to devote the time needed to maintain command-line file management solutions, and partly because I wanted to be able to see what was being overwritten.  I decided against using Beyond Compare, which I used and liked for backup verification purposes, because it did not seem to provide a suitably automated solution.  The only other item that stood out, for me, among the alternativeTo entries was Microsoft SyncToy.  I decided to reserve judgment on it for now.  (For reasons of speed and reliability, I was looking solely at ethernet-capable tools.)

Seeking guidance, I looked back at the previous year's post, to see what comparison sources I had consulted then.  This led to the "sync software" category at TopTenReviews and the "data transfer & sync software" category at CNET.  MajorGeeks didn't have a sync category, and at Softpedia and elsewhere, sync software was mixed into a general category.  The top six at TopTenReviews were Syncables 360, GoodSync, SugarSync, Laplink PCsync, ViceVersa, and Allway Sync.  At CNET, filtering for Windows 7 programs, there were essentially two lists.  First were the "sponsored" (i.e., bought) reviews.  These were iffy:  ViceVersa Pro got four stars from editors and users alike, but the sponsored BeyondSync got five stars from editors but only three stars from users.  Otherwise, among programs most downloaded during the preceding week (so as to avoid some that may have been popular in the olden tymes), the only one of note seemed to be Allway Sync.

From those sources and from general browsing, certain names appeared to be emerging, including GoodSync, Allway, and ViceVersa.  A search for comparisons of those three didn't yield obvious recent sources of insight.  (Later, I would find a Wikipedia page that compared many programs on a number of features.  It seemed to indicate that GoodSync was one of the most capable programs.  I wasn't sure, at that point, whether a closer look at the other programs reviewed there would have yielded a different outcome for my purposes.  My tentative conclusion from that webpage was that, along with the programs reviewed below, I probably would have looked at FreeFileSync.)  The TopTenReviews comparison suggested that, in terms of features, the top six just listed were mostly competitive for my purposes, except for SugarSync.  According to TopTenReviews, the top three (Syncables 360, GoodSync, and Laplink) pulled away from ViceVersa and Allway Sync in terms of ease of use, support, and documentation.

I looked at individual product reviews at Softpedia.  There were some contrasts.  GoodSync got 2.9 stars from 118 users.  ViceVersa Free got 2.5 stars from 23 users.  ViceVersa Plus got 3.0 stars from 25 users.  ViceVersa Pro got 3.6 stars from 28 users.  SugarSync got 3.1 stars from 25 users.  Syncables Desktop got 1.6 stars from 3 users.  Allway Sync got 3.3 stars from 112 users.  BeyondSync got 3.2 stars from 11 users.  There was no Softpedia entry for Laplink.  In short, according to voters at Softpedia, the two leading programs were ViceVersa Pro and Allway Sync.  The lackluster score given to GoodSync seemed to be relatively well based.  That is, there seemed to be a fair number of confirming votes.  I should mention that, in a presumably different class, Microsoft SyncToy averaged 3.9 stars from 54 voters.  Of these programs, it appeared that Softpedia's editors rated only SyncToy.  They gave it four stars.

I also checked program reviews at CNET.  GoodSync got four stars from 654 user reviews, and four stars from editors.  ViceVersa Plus got no votes; ViceVersa Free got 3.5 stars from 20 users; ViceVersa Pro got four stars from 30 users, and four stars from editors.  SugarSync got five stars from editors, and 2.5 stars from 82 users.  Syncables 360 got two stars from four users.  Allway Sync got 3.5 stars from 53 users, and 4.5 stars from editors.  BeyondSync got three stars from 14 users, and five stars from editors.  Laplink had one star from one user.  SyncToy got four stars from editors and 3.5 stars from 61 users.  These results suggested that, for CNET users, the worst programs were Laplink, Syncables, and SugarSync, and the best programs were GoodSync and ViceVersa Pro, followed by ViceVersa Free, Allway Sync, and SyncToy.  There was something odd about the fact that GoodSync got at least eight to ten times as many votes as the others.  Again, there were suspicious discrepancies between the votes of editors and of users.

Overall, the reviews provided by these three sources -- TopTenReviews, Softpedia, and CNET -- were only somewhat consistent.  Their sometime inconsistency may have been at least partly due to somewhat different target markets.  At TopTenReviews, the good score for GoodSync was fairly compatible with the results at the other two sources, though the mediocre score at Softpedia was interesting.  TopTenReviews' high ratings for Syncables and Laplink seemed incongruous.  ViceVersa Pro and Allway Sync were in the top or second tier at all three sources.  SyncToy was fairly highly rated by the two sites that reviewed it.  Among the others, ViceVersa Free also seemed to be potentially worth a look.

Although Allway Sync had a free version, its license page indicated that that version had a limit of 40,000 files per month.  Although I was not sure how that would be counted, it seemed likely that a couple of full backups per month would exceed that limit for many people.  The pro version was available for $20, in comparison with $30 for GoodSync and $60 for ViceVersa Pro.  I noticed that the CNET editors described Allway Sync as "one of the best tools we've tried."  I decided to try it myself.  Also, while I now saw that SyncToy had no scheduler, it appeared likely to be useful for some purposes, so I downloaded it too.

Microsoft SyncToy 2.1

I decided to start with SyncToy for two reasons:  I believed it would be simple to install and run, and I figured it would probably be pretty severely limited, and could therefore be disposed of quickly.  In other words, it seemed likely to be a handy tool to know about, for some purposes, but not my primary machine for keeping computers reliably synchronized.

The program's interface seemed pretty straightforward.  Nonetheless, I ran a search for sources of guidance and insight.  A How-to-Geek webpage said SyncToy would require me to set up a pair of folders that I wanted to synchronize, and would then ask me which kind of synchronization I desired.  There were three options:  Synchronize (copy and delete in both directions, between the two folders, so that the latest additions, changes, and deletions appeared on both), Echo (update the right folder so it matched the left), or Contribute (add to the right so that it contained everything on the left, but don't delete anything from the right).  The How-to-Geek webpage went on to explain how SyncToy tasks could be automated through Windows Task Scheduler.

A discussion thread pointed out some limitations with SyncToy:  no volume shadow copy, so locked files would not be copied (which also seemed to be the case with GoodSync); no way to back up your folder pairs, for reinstallation or for use on another computer, so they would all have to be recreated by hand; a nasty bug regarding timestamps when synchronizing NTFS to FAT drives.  Hints to a potential solution for the folder pair backup issue appeared in another thread, discussing the possibility of creating folder pairs via command line.

The "What's New" section in SyncToy's internal help file suggested that SyncToy 2.1 might have resolved some or all of these issues.  I ran another search and saw references to memory leaks and other bugs.  A discussion thread contained indications of some dissatisfaction.  I decided SyncToy was probably pretty good, but it was not the sort of limited but airtight and portable tool I had imagined.  It was more like a contender for the role of primary synchronization tool.  For that purpose, I had a sense that I would like Allway Sync more, so I turned in that direction.

Allway Sync

For some reason, after that brief look at SyncToy, I started getting cold feet.  A couple of days had passed since I had started the thread, and now, as I looked at alternatives to GoodSync, it seemed like I was getting myself into a lot of unnecessary hassle.  This was probably due to two things.  First, I was busy with other stuff and didn't want to deal with this at the time; and second, I was having an unrelated system issue that kept the secondary/server computer from seeing the primary/workstation computer.

I rebooted as an expression of my faith that this would make it all better.  It didn't.  I gave it a couple of hours and the let spiritual power of saying "to hell with it" do its magic.  When I came back to my existential mess, computer B was seeing computer A.  All was well with the world.

So I installed and ran Allway Sync -- an awkward name, by the way, referred to hereinafter as AS.  AS had distinct Analyze and Synchronize passes, like GoodSync.  I set it up to compare a folder on each machine.  The interface was OK.  I didn't like the huge chunk of real estate, at the top of the screen, devoted to nothing in particular, but found I could get rid of that with View > deselect Show Logo.  As it was running its analyze pass, it suddenly gave me this:
script error, Unspecified error., URL:
file:///C:/Program%20Files/Allway%20Sync/Skins/default/profileex.js, line: 5138.
It offered to send an error report.  I let it do that.  I wasn't sure what effect the error might have on that comparison across two machines.  There were 89 Important Messages.  The brief messages provided -- "Questionable file (manual review recommended)" -- were not as informative as GoodSync's left/right comparison messages.  I didn't like its interface.  While I was poking around with it, I got another script error.

I wasn't excited about Allway Sync.  Blame it on them, blame it on me, but for whatever reason, I decided to keep looking.

WinMerge

Around this time, I came across the freeware WinMerge program.  I hadn't seen much mention of it in TopTenReviews or other commercial sites.  Wikipedia said the WinMerge project was currently dormant.  The program's homepage indicated that the last stable version (2.12.4) had been released nearly three years earlier, in mid-2009.  But Softpedia contained an "experimental" v. 2.13.20, uploaded in October 2010, rated 4.5 by 139 users, and CNET boasted installed and portable versions of a version 2.12.4 (4.5 stars, 29 votes).

Wikipedia's comparison of file comparison tools listed Beyond Compare but not GoodSync.  I had purchased BC Pro.  It had worked well for backup purposes, where I manually eyeballed what was going on.  I hadn't wanted to use it for automated syncing of computers, which seemed to be a less critical operation in my system.  (If GoodSync had been randomly losing stuff, I would have noticed it when I did my Beyond Compare backups.  In other words, after some early watching and tinkering, I was comfortable with letting GoodSync keep the two computers aligned, taking only an occasional look at what it was doing.)  I might have been more inclined to use Beyond Compare for that purpose if I had learned its scripting language, which might not have been that hard; but I had gotten started with GoodSync through a free trial, and just went ahead with that.

Based on the Wikipedia comparison, it now appeared that what I got for my money, in buying Beyond Compare rather than using the free WinMerge, was the ability to do three-way comparisons (which I never did) and possibly the ability to do scripting (Wikipedia drew a blank on that).  WinMerge could not do "horizontal" something (that was all Wikipedia said:  horizontal or vertical, and BC could do both).  WinMerge would have given me a "moved lines" capability that Beyond Compare did not have.  WinMerge did not have FTP support.  These things did not seem crucial to me, though further research to verify what they meant would obviously have been advisable.  But there was one real problem:  WinMerge would not do CRC checks.  Granted, I had not actually been doing those checks in GoodSync either.  My reason was that GoodSync was already taking over my secondary computer; I could hardly bear the thought of making it even more demanding.  But I did want that capability.  It had been a while since memory or other system errors had noticeably corrupted numerous files, but I'd had that experience in the past, and preferred to have some warning if, perchance, one computer quietly began to wander off course.

Other programs mentioned above (e.g., Allway, SyncToy, Vice Versa) did not appear on the Wikipedia comparison list.  It seemed I was getting into an application for which a program like Beyond Compare or WinMerge was designed, and at which it might not excel.  For instance, the comparison did not include features, like scheduling and networking, that seemed essential for synchronizing computers. 
Nonetheless, I decided to try the portable version of WinMerge.  It was small, as befit a portable.  I could see right away that we weren't going to be coddling anybody.  Specifically, I couldn't figure out how to use it.  It didn't have Beyond Compare's user-friendly buttons and menus.  There were no tooltips, so I'd have to just learn what the various buttons meant.

There didn't seem to be a way to tell WinMerge to actually do anything.  I went to its online help manual.  The answer I was looking for was to go to File > Open.  This would seem obvious in another kind of program, but here I wasn't looking to do anything with any particular file.  I was looking for a way to compare folders.  But now that I did take that route, I saw a dialog allowing me to compare folders.  It was able to navigate to the other networked computer, so I compared the D:\Workspace folder on two different computers.  WinMerge seemed to be doing this comparison very slowly.  After a while, I saw that it had stalled on comparison of a particular item.  It didn't name the item; it just said it was item no. 7115.  That may have been a bug; when I killed it, I got a display showing 7142 items, which I think was the total number of items it had said it was comparing.

The WinMerge display was informative.  I could set it to show only the items that were different.  It was a plain-text display, without colors or graphics; but because it used the same tight font as Windows Explorer, with more narrowly spaced lines, it provided a lot more information per screenful than GoodSync did.  It had a collapsible tree mode, like GoodSync.  It was willing to generate a patch.  I didn't know what that was, but apparently it meant a code patch.  It seemed to be a way to help programmers offer suggestions that would improve WinMerge.  There weren't any scheduling features, so it appeared that, for my purposes, I'd be learning how to write command-line scripts and running them through Windows Task Scheduler.  But if I was going to do that, I thought it might make more sense to use Robocopy, which was already built into Windows.

Robocopy

In one of those uncanny cyclical events, exactly a year had passed since I had last worked with Robocopy.  Robocopy was a command-line tool in Vista and Windows 7 (and possibly elsewhere).

Back then, I had set up batch files to run relatively simple Robocopy commands to make backups.  A month later, I had tried to use Backup Maker instead, but that hadn't lasted long.  By this point, both of these tools had fallen into disuse, because I didn't like the backup configuration they were giving me, and I was too busy with other stuff to revisit the question.  I decided to revisit it now.

One thing I hadn't liked about Robocopy was that, every hour (or whenever), Windows Task Scheduler would pop up one of my old-style batch files to run my Robocopy script.  It was inelegant; it was distracting.  So I was interested in Robocopy front ends that might conceal the script execution.  There seemed to be several such front ends:  WinRoboCopy and Easy RoboCopy and Robocopy GUI and SH-Soft RoboCopy GUI and RichCopy, apparently a hybrid using some Robocopy and some other tools.  RichCopy offered ways of fine-tuning a copying process, but they didn't seem relevant to me.  When I ran across a critical report on RichCopy, I decided not to start with it.  Among the others, Robocopy GUI seemed to have the best pedigree, being a Microsoft product like Robocopy.

The link for the Robocopy GUI download was confusingly described as a link to the code for the Technet article discussing it.  I wasn't sure whether it was a link to the code for the article itself or was, rather, a link to the code (or, less nerdily and more accurately, the utility, including its accompaniments, e.g., User's Guide) discussed in the article.  Anyway, somehow I managed to get the utility itself.  I installed and ran the GUI.  It was a concise little thing that you could not possibly use safely without the aid of a Robocopy guide or manual, or a preexisting knowledge of Robocopy.  I say that because, for example, its Copy Options tab (one among seven available) included such options as /E and /ZB.  What did these mean?  The program did not say.  It did have a Help > Robocopy User's Guide menu option that led to a 35-page Word document which I promptely PDFd.  It seemed the principal value of the GUI would be to remind and organize, not really to reduce the need to understand Robocopy's options.

At this point, I started a separate post to discuss Robocopy options in detail.  I also considered using something like Beyond Compare, which would allow checksum comparisons rather than Robocopy's relatively simpleminded and potentially incorrect comparison of dates and times.  As noted in that other post, the main problem I was encountering, with both Robocopy and Beyond Compare (aside from the latter's sometime ability to bog down system processes), was that they weren't true automated synchronization solutions.

What I probably needed, for the checksum issue, was a distinct program that would do continual, low-priority background comparisons between the two computers, so as to distinguish files whose checksum inconsistency was accompanied by a change in file date and time (probably indicating a legitimate update of the file) from those whose checksums differed while timestamps remained the same (suggesting the possibility that one had become corrupt). Having this as a low-priority background function would allow this potentially resource-intensive file comparison function to run when the computer was not busy -- which, itself, would not necessarily be a good trait for a synchronizer. This background checksum comparison wouldn't ordinarily be an urgent function, though it could be an important one. I would be happy with a report, presented to me each morning, as to the results of checks during the last 24 hours, with links that would take me to individual files displaying expected and unexpected checksum inconsistencies. Ideally, such a stealth checker would (also, or perhaps instead) compare checksums against a database, which would be updated upon file creation or acquisition. In other words, as soon as I would PDF a Word document, this background tool would calculate and store that PDF's checksum, so as to facilitate future estimations of what had been happening to it (e.g., it had been subsequently edited in Acrobat, which would tend to indicate manual user verification and therefore an expected change in checksum).

Regarding the bogging-down of system resources, it seemed that, if I did find a way to use something like Robocopy, there was the question of how I could prevent the program from hogging system resources.  There seemed to be two parts to this question: how do I detect that the computer is busy, and how do I slow Robocopy in that case? Or was there maybe one tool that would let me slow down designated processes when computer resource usage reached a certain level? This led to a separate inquiry. At this point, that inquiry had yielded the impressions that something like Process Hacker or Process Explorer might put the brakes on how heavily a program would draw upon system resources during busy times. Those tools hadn't been especially successful against GoodSync, but possibly GoodSync had been programmed to demand priority, in a way that would not be a problem with something like Robocopy.

There was also the question of how I could run a command-line tool like Robocopy unobtrusively.  So far, I had used Robocopy in batch files that would pop up and require a manual click to get them out of the way.  Not a huge problem, but when it occurs multiple times per hour for each of several partitions, it could get to be an irritant.

Conclusion

At this point, I was not finding good alternatives to GoodSync.  The slowness problem seemed to become less pronounced, over the several days during which I was doing these investigations and writing up these notes.  I wasn't sure if that was just because we had not again encountered a heavy load, or if GoodSync 9 had perhaps made a huge improvement over version 8.

My investigation had turned up numerous possible replacements.  Among these, I had identified several programs with potential.  The leading one would be WinMerge; and if that didn't work, I would try Microsoft SyncToy.  I decided to give GoodSync 9 a while longer, to see if it continued to take over the secondary computer.  In that event, I thought I might first make a renewed search for tools that would reliably slow down GoodSync during times when the machine was not idle.

Monday, March 19, 2012

Batch Converting Many Microsoft Word (.doc) or WordPerfect (.wpd) Files to PDF - Streamlined

I had previously figured out a semi-automated command-line solution to the question of how to convert many Microsoft Word docs to PDF.  This process involved automatically opening, printing, and closing the files, one at a time, in Word.  Now I had another set of documents to convert.  So the first purpose of this post was to boil down what I wrote up in that previous post.

The second purpose was to see if the same approach would work for WordPerfect (.wpd) docs.  The logic was that Word could handle WPDs, and that it would automatically convert them upon opening.  So it seemed that I should be able to run an almost identical command to convert a document, regardless of whether it was a WPD or a DOC (or, presumably, an RTF, or a DOCX, etc.).

The command I used was long, but not super-complicated.  This was the one-line command I used to convert all of the DOC files in a folder:

FOR /F "usebackq delims=" %%g IN (`dir /b "*.doc"`) DO "C:\Program Files (x86)\Microsoft Office\Office11\winword.exe" "%%g" /q /n /mFilePrintDefault /mFileExit && TASKKILL /f /im winword.exe
Its success depended on several factors.  Some, such as cleaning out the %Temp% folder, are detailed in the previous post.  I structured the command with the aid of early answers to a question I posted.

It is worth noting that the command could be used to specify various kinds of files.  This example referred to *.doc (that is, to all .doc) files in the folder in which it the command was run.  (It goes without saying that it would be wise to have a backup before fooling with this or any command.)  Also, I set my PDF printer (Bullzip > Options > General and Dialogs tabs) to operate without asking me any questions.  Note, further, that the precise location of winword.exe would vary, from one system to another.  Of course, saving the command as the entire contents of an executable batch file was just a matter of putting it into a text file with a .bat extension, and then saving and running that .bat file.

I tried modifying the command to refer to .wpd rather than .doc, and ran it in a folder full of WPDs.  It worked.  Then, as detailed elsewhere, I did a file count to verify that I had the right number of resulting PDFs, and ran Boxoft PDF to JPG Converter to do a quick test, highlighting files that didn't look right.  This process worked with WPDs.

I wasn't sure how much further the command could be extended.  A test with PPTs (using PowerPoint rather than Word) failed.  In response to my follow-up question regarding the possibility of specifying the filetype on the command line (by typing e.g., CONVERTER.BAT DOC), it was suggested that I simply experiment to see if I could get the variable ("DOC," in that example) to work.  I didn't have any more files to work on at the moment, so that investigation would have to wait until later.

Sunday, March 18, 2012

Batch Converting DOC to PDF with 7-PDF Maker

I had some Microsoft Word .doc files.  I wanted to convert them to PDF.  I wanted to be able to do this from the command line, so as to reach into different folders and process large numbers of them at once.

I went into Softpedia and did a search.  It came up with numerous free programs for this purpose.  I chose 7-PDF Maker.  It had a pretty good rating, as Softpedia programs go (4.0 stars; 16,001 downloads), and it did offer a command-line option.  I also downloaded its manual.  (It had a real manual!)

Once 7-PDF Maker was installed, I searched for its command-line executable, 7p.exe.  I put a copy of it into D:\Workspace (i.e., the folder where I was working).  That way, my commands that referred to 7p.exe would know where to find it.  There were other ways, but this was simplest, and 7p.exe was not a filename that would get confused with the ones I wanted to convert.

I opened a command window in D:\Workspace and typed "7p /?" to see what the command line options were.  Basically, it seemed, I could save the DOC as a PDF with a command as simple as "7p D:\Workspace\File.doc."  The /? instructions seemed to be saying that I had to specify an absolute path for the source file (i.e., not just "File.doc" without the drive and folder information).  I was not sure whether that was necessary with a copy of 7p.exe in the working folder.  There was also an option to save the resulting PDF to a different folder (e.g., "7p File.doc D:\Workspace\Output").  In addition, I could use wildcards.  7p.exe D:\Folder\*.doc would convert all doc files in Folder to PDF.  The same command with *.* would convert all supported files to PDF.  There were many supported filetypes (manual p. 18), including Word, WordPerfect, OpenOffice, Excel, PowerPoint, and various image formats (e.g., BMP, TIF, JPG, PNG).

There were also options for overwriting and recursion (i.e., working down through subdirectories).  In both cases, the default was false (i.e., don't recurse, don't overwrite).  The default was all I needed, so I did not investigate the exact syntax.  But it appeared that one instance of the word "true" on the command line would be construed as an instruction to recurse.

I gave it a test run with x.doc.  The command I used was simply "7p x.doc."  That gave me an error, so I tried "7p D:\Workspace\x.doc."  That gave me a different error:  "Variante referenziert kein Automatisierungsobjekt."  One translation was, "Variant does not reference an automation object."  Did this mean that x.doc was not a convertible DOC file?  Or that I should have been running this in the 7-PDF installation folder on drive C?  I tried the latter with an absolute path (i.e., not just "7p x.doc").  Same "Variante referenziert" error.

I tried opening x.doc in Word.  Oh.  Now I understood.  It was called a DOC file, but it was actually just a text file with a DOC extension.  But the manual said that text files were supported.  Maybe the .doc extension was confusing 7p?  I changed it to x.txt and tried the original approach of running the command in D:\Workspace rather than in the installation folder on drive C.  Specifically, I tried just "7p x.txt."  It said, "URL seems to be an unsupported one."  Maybe it was the wrong kind of text file.  Whatever; I used a text to PDF converter for them instead.

I did not proceed further with 7-PDF because, at this point, I found an alternative I liked better.  Not to say that 7-PDF was a bad program; it just was not working really well for me at this point.

Monday, January 3, 2011

Windows 7 as Host: Choosing a Virtualization Program

I had previously used VMware Workstation to run Windows XP in a virtual machine (VM) on Ubuntu Linux.  Now I was switching from Ubuntu to Windows 7.  I had found that WinXP was actually more stable in a VM than when running natively.  I also didn't want to go cold-turkey from WinXP; that is, I wanted to continue to have access to my familiar programs and other arrangements until Win7 felt natural.

I couldn't use my Linux-based copy of Workstation on Win7, so I would have to come up with a new virtualization tool.  I didn't want to shell out for another copy of Workstation.  I wondered if there were good free alternatives that would let me run WinXP in a VM on Win7.  I did a search, viewed some random remarks, and came up with some comparisons of several leading virtualization products.  These comparisons confirmed my sense that the main free contenders were Microsoft Virtual PC, Sun Virtual Box, and VMware Player.

Looking first at comparisons against Virtual PC, one reviewer suggested that Virtual PC was easiest for a purely Windows setup like mine, Virtual Box was more oriented toward Linux hosts, and Player was the most popular.  Another reviewer said that VirtualBox and VMware Workstation (not necessarily Player) had more advanced customization options, such as unity mode, snapshots, USB drive support, the ability to move VMs, and the option of allocating two CPU cores.  Another reviewer, comparing VirtualBox and Virtual PC, found that Virtual PC had the advantage of presumably greater Microsoft compatibility, better disk technology, a free WinXP license, support for Win7 and Vista guests, lower resource consumption on host, and easier physical drive configuration.  He favored VirtualBox nonetheless, though, because he found that VirtualBox supported more operating systems (especially Linux and Mac), supported 64-bit guests and multiple processor cores (i.e., better performance) as well as multiple kinds of virtual disks, and offered snapshots, unity mode, remote display, and 3D support.  Another reviewer, offering a video demonstration, said Virtual PC was better in supporting Aero, automatic login, USB device sharing, and integration into Windows Explorer (which he actually disliked), but favored VirtualBox for running on multiple operating systems and for other reasons stated by some of the other reviewers.  In short, there seemed to be some consensus that Virtual PC was the worst of the three.  I did a quick search to see if perchance Microsoft had upgraded it recently.  It didn't seem to have done so.

At about this point, I realized that probably I could continue to use my copy of VMware Workstation for Linux to make virtual machines containing WinXP, and use those in Player on a Win7 host.  So I wasn't sure if I should be comparing VirtualBox against VMware Player or Workstation.  I found both sorts of comparisons.  In what were probably the most professional reviews I saw, PCMag rated Workstation 6.0 (I was now using 7.1) at 4.5 stars, versus 3.5 for Virtual Box.  (At this writing, Workstation was on sale for $142 (with a free copy of VMware ThinApp Starter Edition thrown in) instead of its usual $189.)  One of the reviewers cited above encountered freezes in VirtualBox, and found that Workstation was the best performer.  She reported large differences in size between Workstation (~500MB) and the other two (~40MB), presumably reflecting more sophistication but also more resource demands in the former.  Another reviewer also compared VirtualBox against VMware Player.  He found VirtualBox faster in the guest, less burdensome for the host, and better in snapshots; but inferior in networking, and in support for Windows Aero, USB, 64-bit CPUs, and hardware virtualization.  Another reviewer favored VirtualBox because (s/he claimed) it was free, open source, more frequently patched, used fewer resources, ran faster, resumed faster, and was able to use its competitor's VMs.  The remark (above) that VirtualBox was more oriented toward Linux hosts was echoed in my own previous look at VirtualBox, where I cited a source indicating that VIrtualBox did far better in Linux hosts.

It seemed that VMware was ahead of the game or at least a solid contender in most ways, but that it was not a clear and obvious winner, especially when price was considered.  Having already played with VirtualBox a bit, and having learned VMware's approach, it seemed that I should start with whatever I could pull together from Workstation and Player.  If I ran into performance issues with a Windows host as I had with an Ubuntu host, maybe then it would be time -- especially before investing another $140-190 in VMware -- to give VirtualBox a more extended look, and that might also be true if I reached the point of having to build another WinXP VM from scratch.  I could do that in VirtualBox, and in that event might find it a relatively problem-free alternative.

Before proceeding to try VMware Player in a Windows host with my existing VMware VMs that I had created using Workstation on a Linux host, I looked into the recollection that VMware Server was also free.  Posts in one thread said that Server could create VMs too, but was not as fast as Player and did not have as many capabilities for an already existing VM.  I found EasyVMX.com and gathered that there were other ways to make VMs as well, though there didn't seem to be a point in doing so unless if I had been short of system resources to run Server.

I discovered at this point that VMware offered another free virtualization product, called the VMware vSphere Hypervisor, or ESXi for short.  This one differed from the others in being a "bare metal" hypervisor -- that is, not requiring a host at all.  In other words, I would install this first, before installing the operating system, and then I could install one or more operating systems, each in its own VM, without devoting resources to non-virtualization services being provided by the host (though it began to sound like ESXi would only run one operating system at a time).  In the long run, this sort of thing could be the end of dual-booting, and I could have Ubuntu, Win7, WinXP, and any other operating systems ready to run as needed, including those already packaged in free VMware appliances.  ESXi was said to offer better performance than Server.  It wasn't clear that it could be made to work on a PC as distinct from a dedicated server, though.  VMware's Hardware Compatibility Guide was not going to provide information for my puny little AMD Athlon (as distinct from Opteron or Xeon) CPU.  Another source made it sound like a home PC could run it, though.  Managing ESXi seemed to be the sticking point; for example, VMware's ESXi Management Kit cost $995.  Veeam offered a free ESXi manager, but there appeared to be a network administrator type of learning curve involved here.  Some people seemed to be using a minimal Linux to manage it.  It also sounded like there might be an ESXi manager within ESXi itself.  Apparently part of the reason Server was slower was that it was more user-friendly.  The purpose of the free ESXi seemed to be to get new system administrators into the VMware world and ready to upgrade to more powerful VMware server products.  Apparently there were ways to run ESXi in Workstation in Windows 7, but this seemed like the opposite of a bare-metal approach.  Basically, I liked the idea of a bare-metal hypervisor, but the sparse results I was getting on my searches told me that I was looking into something that was not happening for end users, at least not yet.  It could be done, but servers remained something that other people used for other purposes.

I wasn't quite ready to give up on the idea of a bare-metal hypervisor for home use, so I did another searchBrad Maltz gave me a nice chart to compare the options.  His bottom line:  "You can expect plenty of hurdles and years for perfecting this technology, but the client-side hypervisor is the catalyst to many greater things to come."  My goal for the coming months, it seemed, would be to continue to focus on the usual multi-layered host-virtualization-guest scenario.  For that purpose, I would start with VMware Player and my existing VMs.  If I needed to adjust them, I would try to do so in either Workstation for Linux or Server.  If I had to build a new VM, I would consider doing it in VirtualBox as an alternative to Workstation or Server.

Thursday, September 9, 2010

Ubuntu 10.04: Adding Fonts from Windows and Elsewhere

It is possible to beef up the set of available fonts in Ubuntu.  The Ubuntu wiki describes several ways of doing this, including doing a search for "font" in Synaptic and downloading from there.  One package that can be downloaded that way contains Microsoft free web fonts (presently called ttf-mscorefonts-installer).  According to the wiki, fonts can also be installed manually in /home/[username]/.fonts (for the specific user) or in /usr/share/fonts (for all users).  An advantage of using the /home folder, if there is only one user of a computer, is that the fonts can then be preserved through Ubuntu reinstallations, if the /home folder is placed on a separate partition.

The wiki indicates that fonts can be simply copied, or dragged and dropped, into those folders.  There is also the occasional suggestion, however, that it is then necessary to enter a command, such as "sudo fc-cache -f -v," to enable the system to recognize them.  Following a source that I cannot presently identify, I checked System > Preferences > Appearance > Fonts > Application Font and saw that Microsoft fonts (e.g., Tahoma) were not included.  So I copied the full set of TrueType fonts (not others) from C:\Windows\Fonts (on a Windows XP machine) to /usr/share/fonts/truetype/msttcorefonts.  (Note that this was the name I gave the folder.  It contained several hundred fonts -- far more than those provided in the free msttcorefonts set that was available from Microsoft via Synaptic.)

I did not run that suggested follow-up command ("sudo fc-cache -f -v").  Moreover, I did this copying while the Fonts dialog was open.  There were also several hundred fonts in this set.  These factors, and/or others that I cannot identify, caused the system font -- the one that appears everywhere around windows and in menu commands -- to become converted to empty, unreadable rectangles (or boxes, as some people called them, or squares).  In other words, with a few simple maneuvers I was able to convert my new Ubuntu installation into something that was almost completely useless.  Readable text still appeared on the command line in a Terminal session, fortunately, and that is what ultimately helped me get out of this situation.

It seems there were several different bugs that contained or led to this problem of the letters on the screen being replaced by empty boxes, and several solutions that worked for different people.  The one that worked for me was to remove that msttcorefonts folder back to a different drive and then run three commands:

sudo dpkg-reconfigure libcairo2 libpango1.0-common
sudo fc-cache -fs
sudo update-pangox-aliases
I am not sure the third command was necessary.  Although I was focused on entering the commands properly, it seemed to me, in passing, that everything was back in shape after the second command.

Once the system was fixed, I made a backup, and then I tried again.  This time, I made sure the System > Preferences > Appearance > Font dialog was closed.  I renamed my msttcorefonts folder to be .fonts, used "sudo nautilus" to move it to /home/ray/.fonts, and then typed "sudo fc-cache -f -v" (above) to make it be recognized.  Once again, however, I had those blank squares in place of the system font.  I started to repeat the fixing procedure just described, but I didn't even have to enter the commands; merely removing the new .fonts folder from /home/ray was enough to give the system relief.  I gave up on this idea of importing the full set of Windows fonts (at least for now), and contented myself with downloading a number of font sets via Synaptic:
ttf-mscorefonts-installer, sun-java6-fonts, ttf-sil-gentium, ttf-dustin, and ttf-georgewilliams.  The attempt to bring over those hundreds of Microsoft fonts would have to await another day.

Wednesday, September 1, 2010

Portable Applications in Windows XP: Which Ones to Use

I was assembling a list of preferred Windows XP applications.  Part of my goal was to replace installed apps with portable apps where possible.  Doing so had the advantages of getting back up and running much more quickly, whenever I would have to reinstall Windows; reducing system problems due to misbehaving applications; and having my favorite tools available, in my preferred configuration, when I had to use someone else's computer.  With the emergence of cloud computing, among other things, there had been a trend toward the virtualization of applications -- toward, that is, making apps less dependent upon a single piece of hardware.
So now I was engaged in a search for applications that would replace some of those I had traditionally installed on my Windows XP systems.  In my search, I found there were many sources of portable apps, including the categorized and somewhat ranked set in Andrew Lee's Portable Freeware Collection.  I used these sources to supplement and revise the set that I had started with, from PortableApps.com.  It seemed likely that I would continue to add preferred portable apps from various sources indefinitely.  In that sense, this post can only be a step along the way.  Even so, by this time I had accumulated enough applications to say a few things on the subject.

Microsoft Office and Alternatives 

Perhaps the single most important thing to say was that there were substitutes for Microsoft Office.  This was important because it permitted some freedom from dependence upon Microsoft programs.  I had already achieved some such freedom by switching to Ubuntu as my operating system and by running Windows XP within VMware virtual machines (VMs) on Ubuntu/WinXP dual-boot machines.  Through that step, I had multiple alternatives, whenever Microsoft Windows and/or Office failed me:  I could run Microsoft Office, or the freeware OpenOffice alternative, on either Windows or Ubuntu, either natively or virtually.  After that, there were very few times when I was substantially unable to get work done because of some software failure arising from Microsoft software.

The next step in that regard was to move away from treating either Microsoft Windows or Microsoft Office as my primary operating or office system.  Where Windows was concerned, I had recently concluded that the computing world, and I, had not yet come up with a superior end-user alternative for PC-based (as distinct from e.g., Apple) systems.  There were far more, and far more useful, software applications available on Windows than on Ubuntu or other varieties of Linux.  But in the case of Office, it did increasingly appear that there were superior alternatives -- notably OpenOffice.  Then, too, I was among those keyboard-oriented users who were put off by the mouse-oriented ribbon that debuted in Office 2007.  In any event, I had had too many experiences with malfunctioning computer installations that desperately needed to be reinstalled, but that I was currently unable to reinstall because it would take too many hours to install and adjust Office and other heavyweight programs.

The current search for portable apps pushed me further in the direction of seeking an alternative to Microsoft Office.  As described in a separate post, people were struggling with the non-portability of Office 2003 and 2007.  Some pursued the option of downloading a presumably bootleg copy of Microsoft Office that was somehow converted into portable format.  That option (as noted in that other post) entailed considerable risk of viral infection, instability, and inflexibility.  Another option, which I did pursue, was to create my own portable version from my own copy of Office.  That, too, did not turn out well, primarily because the software capable of doing it properly was still too expensive.  Since I considered portability a real benefit, I was thus even more motivated to take seriously the OpenOffice alternative, which was freely available in Windows-based portable form.

Other Top Portable Apps 

Of course, there is more to the world than office productivity software.  A complete set of portable apps must depend on the needs of the individual user.  But it may be possible to select some, from among the estimated 150 categories displayed in the Portable Freeware Collection, from which a typical user might want to draw at least one portable app.

In preparing this list, I excluded many categories that did not interest me and/or in which I was not knowledgeable.  Among these excluded categories (to name a few) were those having to do with iPods, mp3 tags, games, and IM.  Also, in some instances, I took more than one example from a category (especially from categories with grab-bag names like "miscellaneous"), or took something other than the top-ranked program.  I have also used my own category headings, rather those supplied by the PFC website.  In short, this list is offered for purposes of interest, not precision.

Audio and Video

XMedia Recode
Audacity
IrfanView
Duplicate Music Files Finder
VirtualDub Portable
VLC
XBlender

Images, Graphics, Scanning

Photoscape
Dia
Softi FreeOCR

CD/DVD

ImgBurn
Virtual CDRom Control Panel
WinToFlash
Folder2Iso
BonkEnc

Files and Folders

Multi File Tool
7-Zip
TreeSize
Duplicate File Finder
ICE ECC
FreeCommander
FileCommander 
Undelete Plus
Bulk Rename Utility
Index Your Files
Unlocker

Backup and Synchronization

Toucan
FastCopy
ozSync

Downloading, FTP

Free Download Manager
FileZilla
WinHTTrack
uTorrent
VDownloader

Security & Privacy

PortableTor
Blowfish Advanced CS
ClamWin Portable
KeePass
CCleaner
Magical Jelly Bean Keyfinder

Web Browsers

Firefox
Opera
FireTune
Opera Settings Import & Export Tool

PDF

Scan2PDF
Foxit Reader
Swift PDF

Registry Editing

Registry Commander
Regshot
RegFromApp
RegScanner

Remote Collaboration

ShowMyPC
TeamViewer

Bookmarks

TrayURL
AM-DeadLink

Fun & Entertainment

Raindrop
Sumotori Dreams
Wallpaper Randomizer

System Information

SIW 
PC Wizard 
Autoruns

Calendar & Time

Sunbird
TimeSync

General Reference

Convert
WeatherMate

HTML & Text Editing

KompoZer
HTML Portable Editor
Notepad++

Onscreen

ClipX
PNotes
SysExporter
Virtual Magnifying Glass

Phone & Email

Thunderbird
Skype

Math & Statistics

SpeedCrunch
R

Productivity & Desktop Layout

OpenOffice
WinTabber
VirtuaWin

Other

RamBooster
Stalled Printer Repair
EjectUSB
JkDefrag
AutoIt
Don't Sleep
PStart
Scribus
DSpeech

Portable Apps: OpenOffice as an Alternative to Microsoft Office

I was in the process of assembling a set of portable applications to run in Windows XP.  After some investigation and experimentation, I concluded that there was not presently a solid, affordable way of making a portable version of my copy of Microsoft Office 2003.  Since I did want office-type programs in my set of portable apps, I decided to look into alternatives to Office.

One alternative, of course, was to upgrade to a more recent version of Microsoft Office.  In the case of Office 2010, there were (as with Office 2003) various offers of free downloads of a portable version.  Some of these offers seemed to be related to an offer of a free trial that Microsoft had floated in 2009.  Others were apparently pirated versions, typically with little explanation of how the portability had been achieved.  I did not investigate the question of how well these copies would work.

Since acquiring Softricity, Microsoft itself had moved toward developing application virtualization for purposes of facilitating enterprise software installation.  Of course, that was a long way from setting up Office to run from a USB stick.  At this writing, Microsoft's concept of portability was oriented toward portable devices (e.g., phones, laptops).  Office 2010 did come with "portable device rights" in this sense.  There did seem to be one way to install Office 2010 on a USB drive with Microsoft's blessing, more or less:  obtain and install Office 2010 Starter Edition, and then install Starter Edition on a USB drive.  Starter Edition was adware; it replaced Microsoft Works; it consisted solely of limited versions of Word 2010 and Excel 2010; and it was officially available only a preloaded software on purchased computers.  There were ways to download it otherwise.

I had several reasons for not choosing the Microsoft option.  Those reasons included a need for some advanced features, a need for the ability to work with other kinds of files, especially via PowerPoint and Access, a desire to avoid the distraction of adware, and a preference for not being dependent upon Microsoft.  This was not to say that I would avoid using Office 2010 altogether.  I just wanted something that would work effectively on a USB drive.

Another alternative to Office 2010 was to move away from Microsoft altogether, to the extent possible.  There were several apparently significant alternatives to choose from.  The most popular still seemed to be OpenOffice.  The OpenOffice suite continued to have the advantage of being usable on multiple platforms -- so that, for instance, I could still get into a file, via Ubuntu Live CD (or dual boot, or virtual underlayer), even when Microsoft Windows or Office became completely nonfunctional.  OpenOffice also included programs that would work with those varieties of files just mentioned (i.e., Access databases, PowerPoint presentations).

One question, for me, was whether OpenOffice would display the relatively unrefined kind of interface and functionality that had recently prompted me, despite myself, to lean back toward using Windows rather than Ubuntu applications (even if I was doing so primarily in Windows running within a VMware virtual machine on Ubuntu).  If I had ever used OpenOffice in Windows, it had been a long time ago; in recent years I had only used it in Ubuntu, and very infrequently at that.  So now I took another look.  I did a brief trial run of OpenOffice Writer Portable for Windows, running from a hard drive, just to sample its look and feel.  Preliminarily, it looked and felt good -- noticeably better and more familiar than the Ubuntu version, though no doubt the two actually functioned pretty much the same.  On this basis, I decided to go ahead with some efforts toward using OOo (as they call it, short for OpenOffice.org) Writer more frequently.

Portability, another question, was a no-brainer.  The version that I had just sampled was part of the PortableApps.com standard suite.  The concept was that I would set up my full portable suite on the hard drive, so as to avoid having to install programs whenever I set up a new computer or virtual machine, and then I would copy that folder of portable apps to the USB flash drive when I needed to take those tools on the road -- with my laptop or to someone else's computer.  With this concept in mind, I returned to my effort to come up with a good set of portable applications for Windows XP.

Portabilizing Apps with Ceedo Personal

I was trying to create a portable version of Microsoft Office 2003.  That effort had led me to discover a positive review of Ceedo Personal and a favorable contrast against PortableApps.com by PC Magazine.  I decided to take advantage of a free trial to explore Ceedo.  This post described that exploration.

I was running this test on Windows XP SP3, running in a cloned virtual machine (VM) in VMware Workstation 7.1.  This VM was running a bit slow, but a VM generally would give me the option of wiping out everything and just making another clone, where I could start the experiment over from the beginning.

In the case of Ceedo, the VM did not seem to matter.  When I tried to install Ceedo in that VM, it insisted, instead, on being installed to a removable device.  That seemed unfortunate.  I had been working on developing a folder full of portable apps that I could use on my own computers and could also copy to a USB drive.  Running them from the hard drive was much faster than running them from the USB drive, so that's what I planned to do when working at home.  It now seemed that Ceedo was not going to cooperate with that plan.  But I hoped that a solution to this problem would emerge as we went along, so I went ahead with the installation on the USB drive.

During the installation process, I got a balloon pop-up telling me that the Ceedo Tray Icon Indicator would light up whenever I was using a program that was running under the Ceedo environment.  I guessed that this was a replacement for the previous approach that I had read about, where Ceedo would surround its own programs with an orange line.  Then Ceedo installed a toolbar at the top of the screen.  When installation was done, I had the option of taking a tour, which I did.  The gist of it was that Ceedo gave me that toolbar, which I hated, with its four buttons -- three of which were completely unnecessary, since they merely opened My Documents, Internet Explorer, and Outlook Express.  The fourth button opened something that looked like the Windows Start Menu, with Ceedo-specific choices (in addition to yet another set of My Documents, Internet Explorer, and Outlook Express).  There was no entry for Ceedo in the real Windows XP Start Menu, which made sense from a no-impact perspective; apparently the top toolbar was running entirely from the USB drive.  I used the top toolbar to open My Documents and no, the orange line had not been removed; it was there after all.  Since the only thing I needed from the top toolbar was the imitation start menu, and since I could get that by clicking on the Ceedo icon in the system tray (bottom right corner of the screen), I went into Ceedo's Options and instructed it to hide the toolbar when it was not in use.  I also changed some other settings.

I felt that Ceedo needed to give that imitation start menu a name.  For present purposes, I will call it the "Ceedo menu."  I went into that menu > Add Programs > Programs Directory.  It seemed to wish to open its own session of Internet Explorer, and apparently could not tolerate the fact that I already had Internet Explorer running.  It said, "iexplore.exe is already running.  Click 'OK' to open Ceedo's Internet Explorer and close the local Internet Explorer."  So I said OK.  Ceedo could perhaps instead give users the option of searching automatically for installed programs (or at least those having Start Menu entries) in the background; then, when users actually sought to open a file, they might have the option of doing so in those installed programs rather than mandatorily running them from the USB drive.  This would have avoided both the need to shut down the running program (Internet Explorer) and the slowness that I was experiencing when Ceedo did everything from the USB drive.  My present understanding was that speeding up Ceedo (if I could not run it from the desktop instead of the USB drive) would require buying a faster USB drive, such as the Kingston Vault (presently $40+).  In any case, the Ceedo menu did not stay onscreen during this process; it vanished as soon as I chose Programs Directory.  Programs Directory, itself, turned out to be just the Ceedo webpage listing the various freeware apps that you could apparently run from Ceedo.

I was more interested in seeing if Ceedo could portabilize my apps.  I experimented, first, with IrfanView.  To portabilize Irfanview, I went to the Ceedo menu > Add Programs > Argo Application Installer.  It offered to show me a list of programs supported by Argo, so I clicked on that option.  Nothing happened.  After playing around a bit, I found that it was trying to take me to a different list of applications than the one that I had just seen.  There weren't many items on it, and it didn't seem to contain any deep, dark secrets.  So apparently Ceedo was still in the process of trying to organize its website.

So anyway, back in Argo, I tried to point toward the IrfanView .exe file.  It was very slow in identifying the .exe files in My Computer.  It occurred to me that I wasn't sure whether it wanted the setup .exe or the installed, ready-to-run .exe.  I tried the IrfanView setup .exe.  That, in itself, was a bit perplexing, because there were two IrfanView setup .exe files -- the setup itself, and the plugins -- and I would want them both included in my IrfanView installation.  There wasn't an option, as there had seemed to be in JauntePE, to include materials that had been incorporated into a previous iteration of the portable app.  But anyway, on the next screen, Argo confirmed that I had guessed right:  it said, "The wizard will now launch the following setup file."  It gave me an option of installing in "reduced machine separation mode," which a webpage said would entail some permanent installation on the host PC in order to use that machine's resources.  Another page said, somewhat obscurely, that this "reduced separation mode" would enable the portable app to "interact" with apps on the host.  The idea seemed to be that you should choose this option only if you or the program actually needed that kind of interaction.

So I went ahead with the Argo process.  It gave me the IrfanView installation screen.  I went through the IrfanView installation process.  When that was finished, Argo was gone, and I had an IrfanView installation in the designated folder on the hard drive.  I realized then that maybe I should have designated a folder on the USB drive.  I couldn't tell if Argo had done anything in particular to make IrfanView portable, since IrfanView tends to be portable anyway.  I also couldn't tell what I should do to install the IrfanView plugins, other than (I guess) just run them through the Argo process and point to the same output directory.

So, OK, maybe IrfanView wasn't the best program to experiment with.  I tried again, this time with Microsoft Word 2003.  I started Argo, browsed to the Office 2003 installation executable file, and ran it.  After a while, I got this:

Microsoft Office 2003 Setup
Error 1719.  The Windows Installer Service could not be accessed.  This can occur if you are running Windows in safe mode, or if the Windows Installer is not correctly installed.
That was odd.  I had just installed and uninstalled Office 2003 in that same VM.  The installer had worked fine then.  But OK, I created another clone VM, in which there had been no prior Office 2003 installation, and booted it up.  This time around, I did something that perhaps I should have done last time:  I rebooted when I got the message that the hardware (i.e., the USB drive) had been recognized but might not work properly until I rebooted.  After I rebooted, I got a Ceedo Action Window that gave me the option of enabling Ceedo AutoDetect.  That, according to the Ceedo help file, was a "tiny" optional component, installed on the host, to detect whenever a Ceedo drive was connected.  I said yes, do this.  It took Ceedo a long time to load; and when the "Loading Ceedo" message did finally disappear, I was surprised to see that the Ceedo icon likewise disappeared from the system tray.  I went to the USB drive in Windows Explorer and restarted Ceedo manually from there, but it said, "Ceedo already running."  Yet it did start a new "Loading Ceedo" message anyway.  If Ceedo was running, where was it?

Eventually, I did get a Ceedo icon in the system tray, and when I clicked on it, I was able to go back into Argo and start the Office 2003 installation again.  I tried again to install Office 2003 and again got that Error 1719 error message.  This was occurring in a VM clone like those that I had been using repeatedly in recent days to test various programs.  To test it, I closed Ceedo, removed the USB drive from the system, and tried installing Office 2003 natively in that VM.  It ran without difficulty.

That concluded my test of Ceedo.  Moreover, since my investigation had not turned up any superior alternatives to Ceedo that would do the job, this concluded my search for tools that would give me an affordable, portable copy of Microsoft Office 2003.  So at this point I returned to the main project -- of developing a set of portable applications for Windows XP -- with the sense that I might need to consider alternatives to Office 2003.