Amid the ongoing updates to my apps to reflect my transition to a new server, I've also assembled a more substantial update to Stringscan,, my text search application for Mac and Windows.
In addition to the updates for the source code repository, Stringscan also features a re-worked search algorithm and significant changes to how I deploy it on Windows. Here are the details:
New search algorithm. Previous versions used a core Ruby module that inspected a file and attempted to determine its type, and filter out non-text files. This algorithm was fine for filtering out non-text files but also filtered out a lot of readable text files that did not fit is model (script files, for instance, would be registered as applications and not plain text). Thus, searches were very incomplete. I've improved the search algorithm by pulling the large list of standard text file formats that I use in TextSweep, which covers a broader range of file types. The list is probably not exhaustive, but does provide a basis for further incremental refinements.
New deployment on Windows. Previous versions of Stringscan shipped with a stub executable that directly linked to the Ruby interpreter and could launch the app. Previously this meant the app would open a Windows DOS-style console when launched, which I judged to be lacking in polish. My recent efforts to remove the console have been successful with TextSweep and another app, but with the Stringscan executable, I found the app crashing on startup. After a fair amount of frustration trying to debug this, I finally decided to use the Ruby GUI executable itself to run the app, and linked to it using a Windows desktop shortcut. The slick thing the Windows shortcut is that I can give it Stringscan's name and icon even as I set its target to run rubyw and Stringscan's main script. In the Windows start menu and taskbar, this looks exactly like a regular application. It's a neat solution, one that I learned from seeing how another app, webGobbler, was installed and presented in the start menu.
As always, Stringscan 1.2 is a free update for registered users. If you are looking for an easy-to-use text search tool, give it a try.