Deploy Progress #1 (Apr 29)

A while back, our staff built and deployed a finished app that runs on Intel Macs. It’s the first time we’ve actually used the new accounting software outside of the debugger.

It’s not huge news for users. Most of the Mac hardware/OS that benefits from this initial 64-bit version can still run the current 32-bit Goldenseal software. However, it’s a big step for TurtleSoft.

First of all, it makes testing much easier. Up until now, we had to use two different machines for in-house testing: Goldenseal on Intel vs new app on ARM. Now they both can run on the same machine. Copy/paste works, and there’s no longer need to swivel or hit the KVM switch. Mismatches are more obvious now, with windows side-by-side on the same screen.

We also created a 1/2/3 cheat sheet for the command-line deploy process. It builds a finished app with zero brain power: just follow the recipe, and paste a huge block of text into Terminal. A slightly different deploy process also works for newer ARM Macs, but we still need to figure out Apple’s code-signing system to make that work. Ditto for the Windows deploy.

With more frequent and deeper testing, bugs are still turning up. We probably should stress-test for a month or two before the first public release. That way the new accounting app will be less annoying for early adopters.

TurtleSoft moved to a new long-term location last October. It has a huge yard, and this is peak garden season. These days, plants and seeds consume much of our quality time.

We’re now growing Goldenseal, the plant. It’s the first time there has been habitat for it. These are in the greenhouse, and some are outdoors. The snapshot also shows Sugar Snap peas in the background for early harvest, and parsley just sprouted for greens next fall and winter.

Fortunately for users, there is rain. Plus sore muscles, back and knees. And soon, heat and biting flies. So the software bugs will be fixed almost as fast as they are found.

Dennis Kolva
Programming Director
TurtleSoft.com

 

Income Taxes & Complexities (Apr 18)

Income taxes finished with a few days to spare. It was more difficult this year because of capital gains on a house sale. I waited almost 30 years to sell, and that was a bad idea. It would have been better to move before price minus basis went over the $250K home sale exclusion.

Back when TurtleSoft made Excel-based estimating and accounting software, a company called Heizer Software sold Excel templates. They had a cheap construction estimator that was our main competitor. Also, worksheets to calculate and print IRS income tax forms. Those were a real time saver: just enter expenses and income, and everything filled in from there. Heizer had annual updates, but they faded away in the late 1990s.

Remarkably, I still use their 25-year-old Excel templates to calculate and print Schedules C and SE, plus the 4562 depreciation form. The spreadsheets just need minor tweaks each year. Heizer’s 1040 form also worked for years, up until ex-President Trump “simplified” it with an extra page and two new forms. Now it needs typing or copy/paste into pdf or e-file.

One extra complexity this year: capital gains were enough to make Social Security taxable. Calculating the amount is an 18-step process. That seemed way more complex than it deserved. At least the math is in a spreadsheet now, so next time will be easier.

Meanwhile, Apple just approved TurtleSoft LLC to get certificates for code signing. It lets us deploy an accounting app that runs on newer Mac OS versions and M-series chips. Our staff is wading into the instructions for that now. Also futzing with the deploy process for Windows.

The limiting factor for progress these days is just plain old complexity. There’s only so much information that one can absorb in a day. Arcane bullshit seeps in even slower.

Getting new processes to work is kinda like mastering a foreign language. It’s all just gibberish at first. The line 6a/6b IRS worksheet equals learning a phrase or two. App deployment is vocabulary to ask directions and order a meal. Writing an entire accounting app needs PhD level fluency a few times over. ¿Hablas español?

Dennis Kolva
Programming Director
TurtleSoft.com

 

 

Command Lines (Apr 5)

Qt has a command-line tool called macdeployqt6 that assembles a full Macintosh app. It adds 135 MB of their code inside the app bundle, and does some other tweaking.

We got the Mac deploy to work this week: it made an accounting app that will run on any Mac that’s M1 or newer.  Except, it didn’t run, because newer Macs require code signing. That’s a whole ’nother command-line process. The first step is for Apple to verify that TurtleSoft LLC is legit. We’re working on that now.

Intel Macs require a different app, built with an older version of Qt. Those can run on older OS versions without code signing, but so far all attempts to deploy the new accounting software for Intel have failed. That first success was one of many tries, and we didn’t write down exactly what it took to get there.

Back in the 80’s, almost all PCs ran MS-DOS. It gave a text prompt, and you typed in instructions. Command lines are fussy: one wrong character and it fails or goes haywire. There’s no Undo. Type in del *.*, hit the enter key and you will be very sad. Working with files is extra hard: they need to be in the right place, with the correct path to get there.

Back then, our staff had to explain many times why the GUI on a Mac was better. Just click and drag. Harder to make small stupid mistakes. Less brain-draining. Undo saves your ass. Despite all that, the Mac was a tough sell.

These days it’s opposite land. Windows GUI has caught up, and Microsoft users almost never see a C prompt. Mac OS is now Unix-based, and command-line at heart. Most Mac users can stick with GUI apps, but for some tasks you’ll need to type into Terminal. For example, to add spacers to the Dock you type or copy/paste:

defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' killall Dock

Software developers have it worse. Nearly all utilities are command-line. It stinks. Online instructions help a little, but not enough. They don’t know the readers exact setup, so they show stuff like:

../%{JS: Util.asciify("build-%{Project:Name}-%{Kit:FileSystemName}-%{BuildConfig:Name}")}

Users must figure what to put in for Name, FileSystemName and Name. And yes, that’s a real step and some are worse.  The process makes C++ code seem like poetry. After a couple hours, it all gets blurry and looks like A$sdfas8%ferw#rr33@34bre/grgle.

This is tax season. Between the above, Apple, and IRS instruct@!#%ions , it probably will be a few weeks until something is ready to download. So far, no experienced subcontractors want to deal with the final deploy. They’ve all been there, suffered that.

The only good news is that once the process works a few times, we can set up scripts and 1/2/3 instructions. From then on, future builds are just a matter of text copy-paste in proper order. Less painful. We hope.

Dennis Kolva
Programming Director
TurtleSoft.com