Code Signing & Intel Macs (Sep 4, 2025)

Finally some good news! The past couple weeks our staff worked on the build process to get our new accounting software onto newer Intel Macs. Then we came back and tried code signing for Apple Silicon again.

The first experiment was to rename all the files, then go through the steps again. That gave a new error message, which turned up a simple mistake. The disk image was created on the Desktop, but code signing assumes it’s somewhere else. The list just needs one more step to move the file (something that’s not documented anywhere).

We still need to set up “provisioning”, then send the app to Apple for review. I think those steps will be easier, but we’ll soon see.

Meanwhile, Intel Macs are more uncertain. The current build for Apple Silicon works on Mac OS 11 (Big Sur) and newer. As a 32-bit app, Goldenseal runs on Mac OS 10.14 (Mojave) and older. That leaves a gap of one OS version (10.15 Catalina).

We probably will abandon Intel support for now, then add it later if enough users complain. Life is complicated enough already.

Dennis Kolva
Programming Director
TurtleSoft.com

 

 

 

Still Stymied #2 (Aug 18, 2025)

Getting our new accounting software to run on newer Macs has turned out to be a huge problem. The process takes 11 big steps, and about 50 little ones. Right now we are still stuck about 2/3 of the way through: at code signing.

It’s done with a command-line app called codesign (that’s code-sign, not co-design). You type in a couple of file paths, and it puts an Apple certificate inside the app. That way the OS knows it came from a verified developer. Codesign worked once for us, and then it didn’t. We tried the whole setup on a couple other Macs and they also failed, but with different errors.

Part of the problem is that Apple assumes everyone will build Mac apps with Xcode: their in-house free code editor. Xcode automatically manages certificates and signing: probably with easier interface and clearer error messages. Because we build the new accounting app with Qt, we need to use the more primitive command-line process.

One possible solution is for us to move the app from Qt into Xcode for the final build. TurtleSoft used Xcode to build Goldenseal starting in 2006, and also for the new 64-bit accounting software starting in 2014. We abandoned Xcode in 2020, but that was because of problems with Cocoa, Apple’s GUI library. Xcode itself was fine to work with.

Our staff is trying the Qt to Xcode transfer now, but it won’t be easy. There are no recent online instructions for the process, so it involves plenty of trial and error.

We also just posted to the Qt mailing list. They may have answers or advice: both for code signing, and for combining Qt and Xcode. Plenty of companies have released Qt apps for Macs— we just haven’t found the secret path yet.

Our staff also is going back to basics, and working on simpler stuff that has better odds of success. First on the list is a 64-bit version for older Intel Macs. Apple’s security systems have evolved in the past decade, and we may need to follow that evolutionary path also.

Worst case, we’ll hire someone more experienced to do the final deploy for Mac. The hard part will be getting clear instructions from them, so we can do it ourselves later.

Dennis Kolva
Programming Director
TurtleSoft.com

Still Stymied (Aug 11, 2025)

Construction work can be fun and satisfying. Fiddle with power tools for a while, and get something you can see and touch. Most careers don’t give that kind of quick feedback.

Programming is even better. Whip out some code, and a few minutes later there’s a button that does something useful. Plus, less risk of knee pain, back pain or tinnitus.

There are times our staff gets into a groove, and cranks out huge piles of code in a day or week. It usually happens while working with familiar tools, and in familiar code.

The opposite is being stymied. It’s a weird word so I looked up its origins: Scottish circa 1850, when an opponent’s golf ball is between yours and the hole.

Our staff has been stymied for a few weeks, while working on the release setup for Mac apps. Progress is painful and slow. The latest barrier is in code signing: Apple’s system to make sure an app file hasn’t been tampered with. It worked for us one time. But when we build a final version of the app, the codesign command says it’s already signed, and does nothing. Then the codesign checker command says it’s not signed. Baffling. We’re trying it now on a different computer to see if it works better there. Apple’s developer support also had some suggestions.

When stymied, often it helps to do something else for a while, and come back with fresh eyes and fresh enthusiasm. That has happened a lot since last November. First we were stymied by Android, then iOS, then Windows installers, then Mac. There have been many half-hour work days followed by a retreat to something more mindless.

It will be nice to get back to more productive programming, but we still need to finish Apple setup so users can try the new app. Once code signing works, we still need to make a provisioning profile, then submit the app to Apple for malware testing. That way you’ll get a less scary message from GateKeeper when you install the app.

At least we now have simple 1/2/3 instructions, to make future releases easier. It’s mostly just putting files in the right places, and pasting the right command-line text.

Dennis Kolva
Programming Director
TurtleSoft.com

 

 

 

Accounting Software for Mac (July 25)

Our new accounting software for Macintosh now runs OK on a clean older machine, but it still has a ways to go before it can run on newer Macs. Those require code signing to ensure than the app is legit. It is not an easy process. Our staff is making progress, but there are many steps. It’s still uncertain how long they will take. Mac apps are way more complicated, these days.

Looking ahead, we can just add download links on this blog and on the current website for the first release. It’s not a good long-term solution, because the current TurtleSoft website is ancient. The basic design was written in 2003: two centuries ago in web years.

People complain that our site looks old. Even worse, every page needs lots of html, css and javascript code to make it work. The text that renders each page is cluttered, and hard to maintain. Just “view page source” on any of our non-blog pages to see what a mess lurks there.

We started SmartKnives.com in 2006, after buying up many Swiss Army knives from airport confiscations. It was a fun distraction from programming, and a chance to research e-commerce. The site (and eBay) also pay the bills now that Goldenseal is reaching end of life.

We copied the first SmartKnives website from TurtleSoft.com, but gave it a complete redesign in 2015, using current best practices. The site looks good on any size of desktop, tablet or phone. Navigation is better. And best of all, the source code for each page is short and tidy. It’s so much easier to revise or expand.

Our staff will base the new TurtleSoft site on SmartKnives. Basic pages shouldn’t be too hard to set up. The real challenge will be getting a few thousand support pages moved over. That will be a tedious project that we may be able to subcontract. With luck, we can do some clever text-replacing to handle interface differences between Goldenseal and the new software. They do the same stuff, but how they get there is often a bit different.

Dennis Kolva
Programming Director
TurtleSoft.com

 

 

Accounting for Windows (July 7, 2025)

Our staff just put the Windows version of our new accounting software onto a virgin machine, and it ran OK. We can’t use any of our regular devices for testing, because they already have too much stuff installed. The app needs many, many resource files and DLLs to run, and we may get false positives if those are already on the machine.

Right now the installer is just a zip file download and a few steps. Double-clicking on a data file does not find the app properly, but you can launch the app and then open files that way. There’s a whole ‘nother step needed to get it to behave better, with a desktop icon in the Start bar and other amenities.

Before we started the build process, our staff watched 5 or 6 YouTube videos and read a few blog posts. We decided that most tech people are really, really bad at explaining things.  It took many days to bumble through the process, and write up simpler instructions so we can do it quickly in the future. There are many command-line steps that need the exact right text to work properly. One wrong character and it doesn’t work, or worse.

Next step is building the app for Macintosh. The end result will be much nicer, with all the support files bundled inside the app. Just one icon to deal with. The build process also is mostly command-line steps. We’re looking at instructions now. It only takes one that is halfway decent, but those are rare.

Once both apps are ready, the current TurtleSoft site will get file downloads and instructions. After a long, long wait, users can finally try it our new accounting software. ETA probably a couple weeks.

Work was delayed when I caught anaplasmosis from a tick bite. A full week of fever and chills. The test for Lyme and a few other things was negative, but I still get fever and chills at times. The follow-up  test may turn up a second disease: some tick-borne stuff takes a while to spread.

I have been on the Lyme vaccine trial the past few years, but it’s 50/50 that it was only the placebo. I also suffered zero tick bites prior to 2012, despite working in woods and brush all the time. Now they lurk everywhere.

Meanwhile, our staff will have three basic tasks over the next few years: fixing bugs, building a new website, and making YouTube videos to explain how to use the new accounting app. The software will be free until it’s very reliable. Then we need to figure what to do with it. Software has changed a lot since we launched Goldenseal in 2000, and it probably will need a new approach.

Dennis Kolva
Programming Director
TurtleSoft.com

Mobile Accounting Apps, and Back to Desktop (June 18, 2025)

Our new accounting software now runs on iPhones and iPads. The three-part networking contract is now complete: Internet and LAN connections, then apps for Android and iOS.

Mobile apps are not something we can ship yet. In fact, we won’t do any further iOS or Android work until after the desktop versions are out (and stable) for Mac and Windows. The past 7 months of effort were just to see if they could be done at all, and how hard it will be to finish them.

On iPad and Android tablets, the app looks like the desktop version. Many things work OK, but it’s probably a long ways from a final interface. The mobile apps use Internet or LAN to fetch data from a desktop server, just like a desktop client.

The dream is to store file locally on the tablets. Then we will have a cheap, mobile small business monster. Still uncertain if that will be possible.

Both phone apps connect to a desktop server, but they do nothing after that. We came up with a pretty good interface design, but programming it wasn’t in this contract. Once we develop the first app (entering material purchases), others will be easy.

Next on the list is building apps that users can download. Most of the work is jumping through hoops for Apple and Microsoft, so it runs on their newer hardware. We managed to do it once, a year ago. Then tried again and couldn’t duplicate the feat. This time we’ll try harder, and make a cheat sheet so it goes faster in the future.

Once there are final, there will be download links on this blog so users can try it out. It will be a free public download, and stay free for quite a while.

As Goldenseal users and others actually start working with the new app, our staff will be busy for quite a while: fixing bugs as they turn up, and gradually finishing the new website. It has been a long slog.

Dennis Kolva
Programming Director
TurtleSoft.com

Accounting for iPad & iPhone (Apr 25, 2025)

Our new accounting software works for iOS now, at least on the simulator. Our subcontractor just got the app running on their iPhone, though it probably will be a struggle to get it working on other machines.  Setting up the app to run on new Android devices was also a big problem. We never fully solved it, but decided to switch to iOS. If we can’t run on iPhone and/or iPad, it’s probably not worth the effort to build Android-only software.

These days, entry into Apple’s 3-trillion-dollar walled garden is hard. Even for a beta version there are many hoops to jump through. The rules are complex and ever-changing. Then, a final iOS release needs to comply with Apple Store rules, which are even tougher.

However, the whole struggle probably will be worth the effort. Right now, very little business software runs on iOS. TurtleSoft can fill a niche that is almost empty.

Once we know whether iOS apps are doable, our staff will take a break from mobile programming, and focus on the desktop app full-time. After that is released and stable, it will be time to launch apps for iPhone, iPad and Android.

Meanwhile, it’s garden season. Our staff has done almost zero programming the past few weeks, and the gap probably will continue through most of May. That has been the routine ever since TurtleSoft started in 1987. Like all creative work, software-building benefits from the occasional gap and vacation.

Dennis Kolva
Programming Director
TurtleSoft.com

Accounting for Android (Mar 24, 2025)

Last October, TurtleSoft hired a subcontractor to write networking code for our new accounting software. It was a three-part contract: first for desktop, then for Android phones and tablets, then for iPhone and iPad.

The desktop part finished in December. It lets multiple users access the same file over a LAN (local area network), similar to what Goldenseal does. Even better, it also works over the Internet. Connect a laptop to Wifi, enter the IP address for the server machine, and it’s just like you’re at home.

Part two of the contract was to build a prototype app to run on Android. That just finished last week, much later than expected.

The good news is that we probably can run the full desktop app on Android tablets, plus a smaller, simpler version on Android phones. The bad news is that programming it will be hard. Getting Qt, Android and Java to play nice with each other is no easy task.

Part three of the contract starts next: building a similar prototype for iPad and iPhone. Hopefully it will be easier.

The projects for mobile devices were mostly just “proof of concept”. We wanted to see if they could work at all, how they would feel to use, and how hard they’d be to program. Final work on them will wait until the desktop version is released and stable.

Meanwhile, testing on the desktop app still turns up up plenty of bugs. We used it full-time to run our own business for a while, but had to revert and re-enter a couple weeks of purchases and sales, all because of a serious bug in bank transactions. They were missing some important data that only showed up when we added running totals to the display.

If the iOS project goes quickly enough, we plan on a first public release of the new accounting software for Mac and Windows desktops, soon after it’s done. If iOS bogs down as much as Android, then we’ll launch the desktop version before it finishes.

Dennis Kolva
Programming Director
TurtleSoft.com

Release Schedule #2 (March 6, 2025)

This week is a milestone for our new accounting software. TurtleSoft now uses it full-time to run our own business. We have used it in parallel with Goldenseal for many short spells, but now data only goes into the new file.

The new app still has plenty of glitches. Using the software every day turns them up more quickly. Most are just annoyances that don’t take long to fix. If something more serious turns up, hopefully the daily backups will be enough to allow recovery.

The previous TurtleSoft company file had a few hundred bad Sales breakdowns buried in it, left over from similar beta testing in the early days of Goldenseal accounting. Most were fixed by the code that translates from Goldenseal to the new app, but some were too damaged. Those didn’t survive the transition and disappeared. In the new accounting app, at least that block of Sales records from the 1990s won’t crash any more when you view them. Now they just give an error message.

Meanwhile, work on a mobile version is progressing, but slowly. Android is very difficult to work with! Our staff has a comfy routine to build test apps on Mac and Windows, but phone and tablet are much more fussy. Mystery problems and error messages galore.

If the desktop app seems solid enough by the time Android work is finished, the first release will happen soon after that. If still too many bugs, it will wait until after work is completed for iPhone and iPad.

Dennis Kolva
Programming Director
TurtleSoft.com

Construction Price Updating (Feb 22, 2025)

TurtleSoft started in 1987 with construction estimating software written in Microsoft Excel. Our new accounting/estimating software will be the 4th generation since then.

Selling software in a “vertical market” like construction is tough. There are plenty of special problems to deal with, and a small pool who want to buy it. We don’t even get the full construction market: most of our users are a certain size of remodeler. Not too big, not too small, not too specialized.

In future years, we plan to focus more on general-purpose small business software, and not spend as much time on features that are specific to construction. However, there is one task where we can make a huge improvement for our builder and remodeler users: keeping material prices up to date.

The obvious place for us to fetch material prices is from the Home Depot or Lowes websites. Each Cost Item record would need to store a page URL. Then we could add code to get on the web, and find the price inside the HTML on that page.

Alas, Home Depot and Lowes really do not want anyone to scrape prices from their site. Item prices are not visible at all in their HTML code. Instead, it is “obfuscated”. Some Javascript must fill in the price while the page loads, probably by doing math on numbers that are scattered in the source text.

In theory, we probably could find a way to hack their systems. But then it’s an arms race: every time they make a minor change, we must spend many hours to figure it out again.

Smaller chains have more potential. We checked Menards in the Midwest, and their website pages do have pricing that we could access and import. If there are enough other sources to cover most of the US and Canada, it will be worth our time to develop a price-grabber system.

84 Lumber is about the only small chain that has survived around here, and their website does not even list prices. But there may be others that can work.

To check if your own local supplier can be used for automatic updates, follow these steps:

      1. Open a page for any specific material. Check the listed price.
      2. View the HTML source code for the page (View–Developer–Page Source in Chrome, Tools–Browser Tools–Page Source in Firefox).
      3. Search for the price text. It may be listed in several places.
      4. Check a few other products.
      5. Are all the prices near to some marker text that is the same on all pages? If so, please let us know.

Dennis Kolva
Programming Director
TurtleSoft.com