Entries Tagged as 'Software'

Windows Open Source Software

I stumbled on the Open Source Windows website by accident, it appears to list a number of open source pieces of software that are supported on Windows.  Since I use a number of these pieces of software, I decided that the list was likely legitimate.

If you spot a program on the page you’re interested in, make sure you do your diligence before installing it; but my gut tells me that all of these are likely legitimate projects (the Open Source Windows site itself appears to be supported by advertising).

http://www.opensourcewindows.org/

SyncMate – Expert Edition

Several weeks ago I took a look at the free edition of SyncMate, and I had some fairly good things to say about it.  In fact, I was so impressed with it that I started using the free edition to synchronize my Windows Mobile device.

Eltima Software contacted me and offered me a license for the expert edition to enable to me more fully explore the capabilities of it (and to write a more in depth post about it).

I agreed, and here’s what I found…

I decided that this would be a fairly comprehensive test; it would involve a number of different operating systems, and synchronization environments.

The operating systems I tested were:

OS-X 10.6.1 (32 & 64 bit)

Windows 7 (32 & 64 bit)

Windows Vista (32 & 64 bit)

Windows 2003

Windows XP

Windows Mobile 6.5 (HTC Touch Pro 2 – XV6875)

Windows Mobile 5.1 (MotoQ)

Outlook Look 2003, 2007, 2010 on the PC

Entourage 2008 on the Mac

Windows Contact / Windows Calendar (on Vista and Windows 7)

Live Contacts / Live Calendar (on Windows XP, Windows 2003, Windows Vista, and Windows 7)

FireFox (Windows)

Safari (Windows and OS-X)

Additionally I took a quick look at iTunes and iPhoto (even though I don’t use either of those normally); and I took a quick look at Google synchronization (including synchronizing to an Android handset).

It’s a long list, and I assure you that the coverage of the tests were not exhaustive — but rather concentrated on suites of versions that would be most commonly found together (though I have a reasonably good feeling that unless there were some real flukes, the sample of tests I performed are probably indicative of all combinations).

My first test was to synchronize my Mac Book Pro with my Mac Pro… I’ve never really put any effort into making sure that the contacts and such agreed between the two, so I install unlocked the free version of SyncMate I’d installed on both and proceeded to enable all the plug-ins.  After fighting with both iPhoto and iTune (you wouldn’t need to worry about that if you actually used them they would have already been setup and ready to sync). the little spinners started and in just a few minutes I had everything on both machines (which also included all the calendar and contact information I’d gotten from my smart phone to start with) in sync.

I went ahead and disabled iPhoto and iTune for the rest of my tests — I’d seen it work, and certainly synchronizing those would easily be covered with the folder synchronization (which was a more generic test — but of course it was nice that the iTunes/iPhoto sync could be enabled with a simple click).

I decided next to see what the various versions of Windows and Office Suites would do… so I brought up virtual machines using various OS images and installed versions of Office in them.  I setup the Windows component of SyncMate and then decide to just do everything at once — so I added all the machines to SyncMate on the Mac Pro and hit the sync button.

It took a few minutes, but then on every machine in either (or both) the Windows Contacts and the Outlook Contacts there was a full copy of my contacts; as well as files I’d put in a test folder.

Things were going very well, so now I turned to a couple Windows Mobile devices.

Both were easy to setup via USB, and both synchronized perfectly (frankly I was a little surprised when the MotoQ running Mobile 5.1 worked as well as it did).  So then I tried WiFi sync on the XV6875 — worked just fine (there’s a nice feature of the SyncMate driver on the WinMo device that will tell you the IP and name of the device if you need).  Next was Bluetooth synchronization… and unfortunately I wasn’t able to do that on either device — during setting up the connection I kept getting “Uncompatible Device” (a newer version of SyncMate has corrected the awkward english construction; but unfortunately I still cannot use Bluetooth synchronization with either my XV6875 or Q), so I’m not exactly sure what the problem is, but I would consider Bluetooth synchronization more convenient than WIFi — though I generally use USB since I can charge the device as well.

Then I decided to try a few more scenarios from the SyncMate feature list.

Folder synchronization with a USB flash drive worked perfectly.  And from that I’d be fairly confident that iTunes/iPhoto/folders could be synchronized to any USB (disk) device.

Google synchronization worked just as documented; and synchronizing an Android handset with Google just happens (all you have to do is enter you account information into the handset and enable synchronization).

Here a few comments on individual features…

Call history and the SMS manager are both very nice features of the expert edition… I’m not sure it’s sufficient motivation to pay for an upgrade, but it certainly is a sweet feature.

Mounting a Window mobile phone as a USB disk is a feature that didn’t make much sense to me; my XV6875 has the ability to select whether or not it makes an ActiveSync style or USB drive connection when you connect it; though on an older device like my MotoQ it does let you see the file system on the Mac much as you would on a Windows desktop.

Time synchronization is another feature that just doesn’t make sense; all devices get synchronized to the network (and thus to atomic clocks) so I see little value (and a number of reasons not to) synchronize them to each other and defeat the mechanisms already in place (if this were a camera, not a cellular phone I’d consider this a plus — but I’m going to say this feature should be removed; and certainly not used).

As noted before, synchronization to Windows Live isn’t support (and since this is a Mac centric product I don’t think that should come as a surprise — but, of course, some people who have Windows Mobile phones may use some of the Live services).

One thing I haven’t really covered to this point is how you setup a sync partner in SyncMate; and I guess I haven’t focused on it because it’s fairly easy, and definitely straight forward.  It isn’t “automatic” (and I actually consider that a plus — I absolutely hate ActiveSync trying take ownership of a device I just want to attach once).  A nice touch to the way you add a partner is that you can both name it, and include an image for it (though it might be a little nicer if Eltima included more stock images with SyncMate, or created a web interface to find images of handsets — but I just downloaded one of each of my phones and then used that).

The number one quality of SyncMate is that it works — and by far and large it works as advertised.  In this round of tests I didn’t have any instability in the version of the Windows sync driver I installed (unlike in the previous tests where I did have some issues with the Windows sync driver crashing).

One feature I felt might be interesting for Eltima to add would be a “mesh” type synchronization — really all they’d need to do is have an ability to synchronize the partnerships between Mac hosts (ie — all the synchronization partnerships I entered on my Mac Pro could instantly appear on my Mac Book Pro the next time the two machines sync’d — and then conflicts would just be handled throughout the mesh on a peer-by-peer basis just as they are now).

As I’ve stated previously I find the price a little steep — but you and your wallet will have to decide for yourself…  If you like the free version, and have needs for some of the additional plug-ins; I suspect you’ll be favorably impressed by what you get once you purchase a license.

Eltima Software
SyncMate

Virtual CloneDrive

I’ve tried a number of virtual CD/DVD drive tools for Windows over the years.

Daemon Tools was one of the first (free) solutions that really worked well; but success went to their heads and to describe it as anything but a POS would be way too kind.

Microsoft released a very basic driver for Windows XP, and everyone hoped that they would just include the feature in future releases of Windows; but disappointment from Microsoft isn’t new, and isn’t likely to stop anytime soon.  Neither Windows Vista or Windows 7 had the feature, and the Windows XP driver can’t be used in anything but Windows XP and Windows Server 2003.

Gizmo was a descent solution; the free version had all the features I really needed, it worked — but there was just so much baggage that came with being able to mount drive images; and there were times when it just didn’t work properly.

Virtual CloneDrive has been around for a very long time –  and it’s free.  In the past it always seemed like a so-so solution to the problem, but history has a way of rewarding the companies that stick with a fairly simple paradigm and who builds a product that just works.

While I’m not a huge fan of SlySofts other products (AnyDVD just never seems to work as advertised — and it’s an expensive solution), I have to say that Virtual CloneDrive is probably one of the absolute best virtual CD/DVD solutions for Windows.

Virtual CloneDrive

NOTE: Virtual CD/DVD solutions are used to create a virtual CD/DVD drive from an image of the disk (ISO, BIN, CCD, etc).

Foxit PDF Editor

I’ve used PaperPort since it was a Xerox product; and I’ve depended on a fairly old version of it for manipulating PDF files for a very long time.  I’d looked at Foxit’s PDF Editor when it first came out, mainly because I’ve used their free PDF Reader.

Like most people I started with Adobe’s free reader, and I used their Acrobat suite for awhile (until I got tired of paying for upgrades).  Then I tried out PrimoPDF (a reader and a printer for free, the professional version worked OK, and it’s probably time to take a look at it again)… but I moved on to Foxit’s reader for both my Windows desktop and my Windows Mobile phone. I’ve used BullZip for printing to PDF for a long time.

But I digress…

So I decided to take a look at Foxit PDF Editor 2.2 — and my “need” is fairly simple:

  • Stack PDF documents together
  • Remove pages from a PDF document stack
  • Reorder pages in a PDF document stack
  • Fill in forms (including just adding text objects to a PDF)
  • Save the new PDF

Certainly nothing major; and mostly I can do it with OpenOffice or on my Mac without worrying about spending money on a piece of software I’ll only use occasionally.

FoxIt PDF Editor seemed to work fairly great — it was a little clunky adding text to a PDF (I was filling in a rebate form), and it wouldn’t let me to a multiple line text object (one line at a time — which is a little tedious for putting a note on the page).  I really thought I was going to like the program until I scanned in a receipt (and I scanned it as a whole page PDF rather than letting the scan software crop it) and tried to crop the region of the receipt.  FoxIt PDF Editor certainly will crop an image in a PDF; but it’s modal (I hate modality in software that’s targeted for productivity, that always means that the software vendor is dictating a flow to my work — and that might not be the way I want to do it).  I guess I could have lived with the fact that it put me into an edit mode to do the crop, but the region I needed to crop was larger than my screen, and FoxIt PDF Editor wouldn’t allow me to zoom out in edit mode nor would it allow me to auto-pan while I was using the crop tool to select… so while it would crop, it wouldn’t crop what I needed to.

Then I did the exact same thing in my ancient copy of PaperPort.  No problem, it worked like a champ and the resulting PDF file was 31KB from PaperPort verses the 536KB from FoxIt PDF Editor!

I was over it — FoxIt PDF Editor wasn’t worth $9.99 to me, much less $99.99…

If you sell software that has a “professional” price tag, you really need to provide professional quality software, not some POS that doesn’t work as well as shareware a hacker wrote in his basement and gives away for free!

Here’s a run down of alternatives for manipulating PDF files on Windows.  PaperPort is my current favorite; but you really need the Professional version to do everything you’d likely want with a PDF — and I certainly don’t feel it’s work the price.

I’ll take a look at Nitro and see what it has to offer; but for the time being I’ll just stick with my old PaperPort I run in a virtual machine along with OpenOffice to do what I need.

PaperPort 12 $99.99
PaperPort Professional 12 $199.99
Nitro PDF Professional 6 $99.99
FoxIt PDF Editor 2.2 $99.99
FoxIt Phantom PDF Suite 2.0 $129.99
FoxIt Reader 4.0 FREE
FoxIt Reader for Windows Mobile FREE
PrimoPDF 5.0.0.19 FREE
OpenOffice FREE
BullZip PDF FREE

NOTE: With “FREE” products pay close attention when performing an install, many will default to installing third party software (browser toolbars, etc) or resetting your browser’s home page.  Just make sure you select the options you prefer, and none of the require the addition of any third party software to function.

OS-X – Desktop Search

I’m posting this mainly to illustrate that not Microsoft alone get’s the importance of desktop search — Apple’s Spotlight provides much the same level of functionality as Windows Search in an equally seamless implementation.

So the question (once again) is why are all the Linux based desktop search solutions pathetic?

Windows – Desktop Search

Most people realize how valuable Internet search engines are; but not everyone has figured out how valuable desktop (and server) search engines can be.

Even in corporate environments where data storage is highly organized it’s easy to forget where something is, or not know that someone else has already worked on a particular document — but if you could quickly and efficiently search all the public data on all the machines in your organization (or home) you could find those pieces of information you either misplaced or never knew about.

With Windows Search it just happens.  If you have access to a document, and you search — you can find it.  Open up a file explorer Window and point it at location you think it might be, type in the search box — and matching documents quickly appear (and those that don’t match disappear).  Do the same thing against a remote share – and it happens magically (the remote box does all the work).  It’s even possible to  be able to search multiple servers simultaneously – and it doesn’t require a rocket scientist to setup.

Windows Search is already on Windows 7 and Windows Server 2008 as well as Windows Vista (you’ll want to apply updates) — and easily installable on Windows XP and Windows Server 2003.  In fact, the defaults will probably do fine — just install and go (of course it will take a little while to index all your information).

A developer can fairly easily enhance search to include more document types using (plenty of examples, and it uses a model that Microsoft has employed in many parts of Windows)…   The search interface can be used via API, embedded in a web page, or just used directly from the search applet (which appears in auto-magically in Windows 7 and Windows Vista).

Very few Microsoft products are worth praise — but Windows Search is; and from my personal experience no competitor on any platform compares.

To those looking to write a “new” desktop search; look at Windows Search and understand what it does and how it works before you start your design.

Windows Search

Linux – Desktop Search

A while ago I published a post on Desktop Search on Linux (specifically Ubuntu).  I was far from happy with my conclusions and I felt I needed to re-evaluate all the options to see which would really perform the most accurate search against my information.

Primarily my information consists of Microsoft Office documents, Open Office documents, pictures (JPEG, as well as Canon RAW and Nikon RAW), web pages, archives, and email (stored as RFC822/RFC2822 compliant files with an eml extension).

My test metrics would be to take a handful of search terms which I new existed in various types of documents, and check the results (I actually used Microsoft Windows Search 4.0 to prepare a complete list of documents that matched the query — since I knew it worked as expected).

The search engines I tested were:

I was able to install, configure, and launch each of the applications.  Actually none of them were really that difficult to install and configure; but all of them required searching through documentation and third party sites — I’d say poor documentation is just something you have to get used to.

Beagle, Google, Tracker, Pinot, and Recoll all failed to find all the documents of interest… none of them properly indexed the email files — most of the failed to handle plain text files; that didn’t leave a very high bar to pick a winner.

Queries on Strigi actually provided every hit that the same query provided on Windows Search… though I have to say Windows Search was easier to setup and use.

I tried the Neopomuk (KDE) interface for Strigi — though it just didn’t seem to work as well as strigiclient did… and certainly strigiclient was pretty much at the top of the list for butt-ugly, user-hostile, un-intuitive applications I’d ever seen.

After all of the time I’ve spent on desktop search for Linux I’ve decided all of the search solutions are jokes.  None of them are well thought out, none of them are well executed, and most of them out right don’t work.

Like most Linux projects, more energy needs to be focused on working out a framework for search than everyone going off half-cocked and creating a new search paradigm.

The right model is…

A single multi-threaded indexer running in the background indexing files according to a system wide policy aggregated with user policies (settable by each user on directories they own) along with the access privileges.

A search API that takes the user/group and query to provide results for items that the user has (read) access to.

The indexer should be designed to use plug-in modules to handle particular file types (mapped both by file extension, and by file content).

The index should also be designed to use plug-in modules for walking a file system and receiving file system change events (that allows the framework to adapt as the Linux kernel changes — and would support remote indexing as well).

Additionally, the index/search should be designed with distributed queries in mind (often you want to search many servers, desktops, and web locations simultaneously).

Then it becomes a simple matter for developers to write new/better indexer plug-ins; and better search interfaces.

I’ve pointed out in a number of recent posts that you can effective use Linux as a server platform in your business; however, it seems that if search is a requirement you might want to consider ponying up the money for Microsoft Windows Server 2008 and enjoy seamless search (that works) between your Windows Vista / Windows 7 Desktops and Windows Server.

REFERENCES:

Ubuntu – Desktop Search

Ubuntu – RAID Creation

I think learning how to use mdadm (/sbin/mdadm) is a good idea, but in Ubuntu Desktop you can use Disk Utility (/usr/bin/palimpsest) to create most any of your RAID (“multiple disk”) configurations.

In Disk Utility, just access “File->Create->Raid Array…” on the menu and choose the options.  Before doing that, you might want to clear off the drives you’re going to use (I generally create a fresh GTP partition to insure the drive is ready to be used as a component of the RAID array).

Once you’ve created the container with Disk Utility; you can even format it with a file system; however, you will still need to manually add the entries to /etc/mdadm/mdadm.conf and /etc/fstab.

One other minor issue I noticed.

I gave my multiple disk containers names (mirror00, mirror01, …) and Disk Utility will show them mounted on device /dev/md/mirror00 — in point of fact, you want to use device names like /dev/md0, /dev/md1, … in the /etc/mdadm/mdadm.conf file.  Also, once again, I highly recommend that you use the UUID for the array configuration (in mdadm.conf) and for the file system (in fstab).

strigiSearch

I’ve been working with desktop search solutions, and I’ve determined through a great deal of perspiration that strigi seems to be the only Linux based desktop search engine that reliably indexes the majority of files that I’m interested in searching (Microsoft Office, Open Office, and files containing RF822 compliant email).

While the core engine for strigi might be the best I found, the client interface and tools leave a great deal to be desired.  In fact, to really figure out how to use strigi I needed to download and peruse the source.

In the source I found an elegant command line Perl script (search.pl) which demonstrated how to submit queries to strigi through a Linux socket.  The script was easy to port over to PHP5, and in doing so I added some enhancements in my core routines to make it easier to use to write a search client — that is I organized the results as array elements so that I could easily manipulate them rather than needing to attempt to parse them apart.

I haven’t gone any further than just writing some basis PHP5 functions and a harness that drives it from the command line; but I’m posting the code for others.  Just run the script from the command line, and provide the query as arguments (if the query has a space, make sure you enclose it in quotes — and you can put multiple queries on the command line as well).

Running the program and seeing the dump of the data is by far the easiest way to understand what I’ve done.

strigiSearch.7z

lcExt

The other night I decided to write a simple little PHP5 script to force all file extensions to lower case — mainly because when I upload pictures from my Nikon and Canon DSLR I get pictures with upper case file extensions (as I do when I RIP a DVD) and that can create no end of headaches when I place one of those files on a Linux based Apache server.

The script is simple (rather brute force), but it works, and seems to work fairly reliably.

lcExt.7z