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

 

 

 

DDOS (Aug 1, 2025)

Not much progress this week, because we suffered from a DDOS (distributed denial-of-service). It’s a website problem caused by a botnet: many thousands of user machines that downloaded something malicious (probably years ago). Now they connect to the Internet and do whatever a bad actor tells them to do.

For unknown reasons, someone decided to take us down. 30,000 different desktops and phones kept sending complex database requests to the shopping cart at SmartKnives.com. The server that runs both of our sites could not keep up with the load. Everything became painfully slow, or stopped working entirely. The worst part was total loss of email for a week.

CloudFlare has an easy way to block DDOS attacks, but it didn’t work. This attack used direct database requests, rather than regular page views, so they got past the safety checks. I guess it’s a vulnerability in the Prestashop cart system that we use. Prestashop has many other flaws, and we’d love to replace it some day with something more sturdy. If and when that exists.

Because the attack continued, diagnosing and fixing the problem took forever. Each step required a five minute wait. Sometimes it would time out, and needed to start from the beginning. We finally had to shut the cart down for a few days while we looked for a solution.

The answer was a WAF (website application firewall). It examines incoming requests, and routs the bad ones to an error page. The text-matching is not perfect, but it catches about 95% and that’s good enough for now.

This is only the third time we’ve had serious website troubles. The first happened about 20 years ago, when Turkish hackers found their way into the local ISP hosting TurtleSoft. They replaced our home page with their banner, but otherwise did no harm. The second was when a different hacker totally wiped all files at the same local ISP. We were almost done with the transfer to a different hosting company, so that wasn’t too bad either.

Back in the Aughties I spent a lot of time looking at raw website traffic. Part of it was SEO (search engine optimization): tracking what users typed in to find us. Part of it was because we spent a couple thousand monthly on pay-per-click advertising, and wanted to see whether it actually worked. Nope. Almost all the traffic was from old machines in 3rd world countries, click-farming for a living.

It appears we will need to be more vigilant, and watch raw traffic more closely from here on out. Whomever doesn’t like us (or Prestashop) may find other ways to be a nuisance.

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

Construction Drawings (May 8, 2025)

When TurtleSoft moved into its current location, we built a temporary ramp to move heavy stuff via hand cart. Much easier than lugging up stairs.

A permanent ramp would make a great replacement for the rear steps, which are getting old. However, the drop from rear porch to driveway is 44 inches. A 16 foot ramp is too steep for daily use, and there isn’t room to go much longer than that. Definitely no room for the 44 feet of ramp to be ADA compliant.

As a compromise, I designed a combination of ramp, deck and sidewalk that comes fairly close to ADA specs. It should be good enough for the next move, or if I age out here, or if the next owner needs it.  Also an improvement for daily use. Pleasant deck, and better access to everything outdoors.

I tried several apps for the design drawing, then settled on LibreOffice. It was yet another reminder that I really miss MacDraw. Between the existing files for past deck projects and the better interface, MacDraw Pro would have been twice as good and taken 1/4 as long. LibreOffice did the job, but it’s nothing like software built by Apple gurus in their prime.

The first decade of Macintosh was a golden age of 2D graphics. We started with MacDraft 1.0, then switched to MacDraw II then Pro, with trials of MiniCAD and a few other CAD apps in between. The drawings were good enough for building permits, and useful for planning and client presentations.

Then it all died. MacDraw never survived past OS 9, and nothing replaced it. MiniCAD and other CAD software added 3D and client fly-throughs, and got expensive. They were useful for high-end architects, but far from the needs of folks just trying to make a quick blueprint.

I’ve probably tried a dozen simple CAD programs since then, paid and free. None are great. There may still be a machine or two kicking around here that runs OS 9 and MacDraw, but it’s too much work to get them booting again.

LibreOffice is free. It has layers you can hide and show, which is a firm requirement for useful 2D design software. But it’s too easy to put things on the wrong layer. There are many other annoying quirks and flaws. As open-source software it’s designed by committee, so it will never be great.

Our new accounting software has potential to be a runaway success, similar to how MacNail was back in 1987. That’s especially possible if it runs on phones and tablets. If TurtleSoft starts to have excess income, bringing back a clone of MacDraw Pro is a worthy project. It had a smooth interface, and did the job well. There would be at least one happy customer, guaranteed.

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

Car Culture (April 7, 2025)

18 months ago, TurtleSoft moved from Ithaca to a suburb of Binghamton NY.

Ithaca is a very walkable city. That’s partly because of its history: most of its growth was in the 1800s, when you traveled by foot or horse. There’s also some geology: the city is compressed into a narrow glacial valley with a lake at one end, so everything is close by.

Binghamton metro is typical USA, with much better support for cars than for bikes or pedestrians. That’s also due to history and geology: most growth here was in the post-automobile 1900s, and the Susquehanna valley is much broader.

Up until last week I mostly liked the change. Driving is so much easier here. Walking is worse, but there is enough to do on this property that the lack of nearby gorges and college campuses doesn’t matter much.

Then the engine on my car wouldn’t turn over. A sign that my 09 Honda Fit may have reached end-of-life, mostly due to road salt. While waiting for a tow to the nearest repair shop, I started to look at new cars online. Except, there was no way to go see them. All the car dealers are on four-lane highways lined with commerce, aka stroads.

The local transit system is pretty good, but it only covers business districts and residential areas. No bus service anywhere close to the dealers. Also no sidewalks or bike lanes there, just high-speed traffic with lots of turns and turbulence. Dangerous for pedestrians and bike riders.

I rode bicycle a lot in Ithaca, and was careful to spend most time on quiet streets, bike lanes or sidewalks. Despite that, over the years I had 6 collisions with cars. 5 were slow-speed hits at intersections, so nothing worse than a few bruises (and one totaled bike).  The worst happened on a rural road, when a pickup full of rednecks slowed down beside me, and carefully dropped a half-empty can of beer exactly ahead of the front tire. It clamped around the rubber, rotated until it jammed into the brake, cut the tube and tire, took out a few spokes, sprayed my crotch with the contents, and flipped me into the ditch.

I also was hit twice by cars while on foot (also slow speed at intersections). My advice for those: jump on top and grab onto whatever you can. One driver went half a block before noticing me clinging to their hood. They must have been thinking about something more important than driving.

In 2009 I also had a suddenly-dead car, but could walk to all the dealers. Here, test drives would have needed 6 cab or Uber rides, just to get around in a safe metal box. Fortunately, the problem was a seized bearing in the AC, easily fixed with a bypass belt.

I’m mobile again, but the clock is ticking. I may need to buy a motorcycle for emergency backup transportation. Cars are great, but not when your comfort depends on them.

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