Goldenseal Files and the Internet (Feb 18)

A long-time user recently posted a message about their use of OneDrive to run Goldenseal from multiple computers. They store company data in the cloud, rather than on a local drive.

A warning: we have not tested Goldenseal for use with files stored remotely on OneDrive, iCloud, DropBox, Google Drive or other remote file services. We designed Goldenseal to save data on a local disk (hard drive or SSD), or to a local server if you have the multi-user version. Saving files over the Internet is much riskier.

Many apps have relatively small files that are easy to keep in synch. Some apps with large files only add new info at the end of the file, so there isn’t much to change with each file update.

Goldenseal company files are more difficult because they are big, and because changes are scattered through the entire file. That makes it harder to sync data between two locations. For example, a new material purchase posts changes to the vendor account, the job account, and a couple of utility accounts. It may also updated prices in some Cost Items. All those records could be anywhere within the file. If they get out of sync, you will have mystery accounting problems later.

Even worse, if records change in size, Goldenseal will move them to somewhere else in the file where there is available space. If the indexes that store record locations get out of sync, the file will have serious problems. You may lose data, or the file may become completely unusable.

There definitely will be problems if more than one person uses a remote file. If two users both change a record at about the same time, one set of changes will probably be lost. You’ll get mystery problems later.

Even with one user, a remote file is more risky. Our code is careful to save all changes to disk at the same time, so there is only a small fraction of second when a crash could cause data corruption.  OneDrive and iCloud transfer data to and from the remote file at unexpected times. The update process may take many seconds. It means more opportunities for something to go wrong.

If you do decide to use a remote file despite these warnings, use the Verify File command frequently to check for file damage. Also, please send us the exact text of any error messages you see. It helps us make Goldenseal more bullet-proof. Most of our messages include the source code location where the problem occurred, so include that in your error report.  It makes debugging much, much easier.

Goldenseal multi-user currently uses Unix sockets to communicate over the network. It locks records while they are in use, so another user won’t ever conflict (they can view that record, but can’t change it).

To be technical, we use TCP/IP to send messages between clients and the server. They can travel over a wired or wireless LAN (local area network), or over an Internet connection. When a client looks for a server, it currently broadcasts via UDP.  That can’t go out into the general Internet. A few users have been successful at setting up a VPN (virtual private network) to allow UDP to broadcast over it, but the process is not easy. We tried it here but gave up.

As a 64-bit app, Goldenseal Pro can use more modern Internet access tools.  That will allow us to set up a local server that can be reached by any Internet-connected device: laptop, phone, pad or whatever.

Dennis Kolva
Programming Director


Running Goldenseal on Macintosh (Feb 7)

For the past 5.5 years, this blog has covered our efforts to update Goldenseal into a 64-bit app. To summarize:

1. We did not finish the 64-bit update (Goldenseal Pro) in time for the release of Mac OS 10.15 Catalina last October.
2. The current Goldenseal 4.96 for Mac is a 32-bit app that will not run on Catalina or future Mac OS versions. It does run on Mac OS 10.14 Mojave and earlier.
3. The current Goldenseal 4.96 for Windows runs OK on Windows 10, and anything back to Win 98. However it has annoying screen drawing problems caused by its reliance on Apple’s QuickTime.
4. Goldenseal Pro for Mac is now on hold, and we are working exclusively on Goldenseal Pro for Windows until it’s done. The update removes QuickTime and its problem, and has many other improvements.
5. Whether we ever finish Goldenseal Pro for Mac depends on Apple’s future plans for Macintosh. Hopefully we will know more after the WWDC in early June.

In the meantime, our Mac users are upgrading to Mac OS 10.16 Catalina, or considering it. Here are some options on how to cope for the next couple years.

For less than $100, an External SSD in an excellent addition to any computer setup. If you have a USB 3 or USB C connection, it will run faster than an internal HD. 500GB is big enough to split into 2 or 3 partitions, so you can install a different OS version on each. Use Startup Disk in System Preferences to switch between OS versions.

Many iMacs and Mac Minis allow you to add an SSD as a second drive internally. It will be faster than an external, but it may be a difficult install. I updated one Mini that way, but will never do another.  It was a tight squeeze near fragile components. Too much risk of failure.

Since storage is so cheap, I think it’s wise to always install new OS versions on a new, empty partition, rather than overwriting your current system. That way you can test it out, and revert painlessly if needed.  Carbon Copy Cloner is a great way to move entire disk contents from one place to another, if you want to update the internal drive later.

In general, a Mac is optimized for the OS version that was out during its release. You can install newer OS versions, but not older ones. So any model from early to mid-2019 or earlier will still run Goldenseal using OS Mojave. Anything newer probably can’t.

If you have a big monitor and a second Mac, consider a KVM switch. It allows you to use just one monitor, mouse and keyboard, and move quickly between multiple machines. I personally use a 4-port ioGear DVI switch, with 3 Macs and 1 Windows attached (sometimes 2 & 2).  Most KVMs are in the $40 to $200 range. Be aware of the cable type (VGA, DVI or HDMI). You may need adapters if the computer age range is wide.

Finally, external hard drives are also cheap these days: e.g. $60 for 2 terabytes. Give them multiple partitions and you can use one for Time Machine, and the rest for backups and older OS versions. It may come in handy if there’s an app you want to run, that capped out at Sierra or earlier.

For the long haul, it’s still too early to predict where the Mac is headed. These days it is less than 10% of sales for Apple. They’ve prioritized accordingly for at least the past 5 or 6 years. On the other hand, Macintosh is still bringing in a steady $25 billion a year (about the same as Tesla sales for 2019).

Dennis Kolva
Programming Director