DNA (Mar 28)

The source code for Goldenseal estimating/accounting software has a clone. The same database and interface also builds an app for DNA sequences and protein structures. It imports data from different science websites, and links them.

I wrote it while attending Cornell as an older undergrad, 2008 to 2013. The goal was a late career in science, and/or new software to sell. Neither panned out, but the app still found interesting things lurking in the human genome.

It all started after a long canoe trip in the late 90s. Around the campfire, the biologists complained about all the repeating “junk” DNA turned up by the Human Genome Project. It’s 98% of your DNA. A few million chunks of it. Far more than the 20,000 regular genes that create proteins. As a computer person, it sure sounded like data. Maybe something I had the skills to help solve.

Cornell was one of many distractions that have slowed down TurtleSoft. On the other hand, genomes are a another good reason to keep slogging on the 64-bit update.

Humans have 3.3 billion base pairs of DNA (3.3 gigabytes as text, or 780 megs compressed to binary). A 32-bit app can only store a few genomes before it runs out of space, thanks to the 8-gig address limit. Because of that, the DNA app desperately needs 64-bit. Unlike Goldenseal, which will never hit that memory cap. Our current accounting software could go forever if Apple still supported 32-bit apps, or made it easier to update.

Will a DNA/protein database help make sense of the human genome? Maybe. Problem is, there’s too much data. Most likely there are many thousands of traits controlled by repeat lengths. Matching them up would require millions of full-genome sequences, millions of measurements, and way too much computer time.

A better approach may be to find the proteins that read that data. There are candidates: e.g. HEXIM1, pictured above. Cool machinery runs life at nano-scale, propelled by ATP. When the new accounting app is polished, I’d like to explore how it works.

Dennis Kolva
Programming Director
TurtleSoft.com

 

 

 

First Release Soon (Mar 18)

The new accounting software is almost ready for its first public release. Enough features are functional that it can run a business. The interface is better than Goldenseal’s, and the database is reliable and solid.

A few known problems still lurk in the code. Most likely there are plenty of unknown ones, too. However, the only way the app will reach perfection is to get user feedback.

Our staff has tested the new app on our own business accounting for more than a year now (sporadically). We run it side-by-side with Goldenseal, and make sure they both work the same. Sooner or later, a bug turns up that takes time to fix. Then the new file lags behind and needs to be trashed. Each test cycle lasts a bit longer.

Problem is, testing is tedious. We never do enough of it. Good programmers check to make sure their code works, but that doesn’t catch every possible error. When we’ve hired full-time testers, they rarely last more than a month. The work is just too boring.

Another problem: there are plenty of features that we don’t use here. The only way we find out about how they should work is from user feedback.

To increase the number of eyes looking, the new app will start as free accounting software. Anyone can use it, current Goldenseal owner or not. When polished enough, the app will cost something, but that will take a year or longer. Anyone on a tight budget can keep the final free version and use it forever. They just won’t get updates after that.

The new accounting/estimating software will be permanently free for Goldenseal users who prepaid for the update, many years ago. We’ll also give free time or a discount for each bug report that’s not a duplicate of what we already know.

If nothing else, Goldenseal users should try converting their company file to the new format. The process is easy: it works great for our data, but may have problems with yours. The sooner we learn about errors, the sooner we can fix them.

Up until now, we’ve used the Qt debugger to build and test the new software. It doesn’t create a working app that users can download. Qt has a process to build finished app packages, but it’s not easy. Our staff is wading through the instructions now. It may require help from a Qt expert.

After the first release, new versions should be available every week or so. There won’t be instant bug fixes, but we probably can get most of them zapped and published within a release cycle or two.

Quite honestly, our staff is extremely burnt out on this project. It has been a long, long slog. Having specific bugs to fix will be excellent motivation to keep us in the grind. Most software problems take longer to find than to fix, and we’re good at fixing. Each success gives a jolt of that sweet, sweet serotonin.

Dennis Kolva
Programming Director
TurtleSoft.com

 

 

Open Source Software (Mar 7)

We use Qt to build our new accounting software: it’s a GUI framework for Mac, Windows and Linux.

Qt has two different flavors. Right now we use open source, because it’s free. Open source means that anyone can download the Qt source code and do almost anything with it. At some point we’ll pay an annual fee for the commercial version, to get better support and fewer license restrictions.

The Qt Company currently has a market cap of two billion dollars. So far they’re successful at having both open source and commercial versions, though their history has been rocky at times. For a few years Qt was owned by Nokia: part of a failed plan to stave off the iPhone.

These days, open source software is extremely common. Apple, Microsoft, Google, Meta and Amazon all use it. Nearly all websites run atop many, many layers of open source code. The tech ecosystem has grown far too complex for anyone to build anything completely from scratch. And open source is a safer way to run code made by strangers: you can see its insides.

Should TurtleSoft go open source for our new accounting software? Maybe.

The extreme version is to just put it out there for anyone to build and use. Free accounting software, what’s not to like? It would definitely get some attention. On the other hand, it will be difficult for us to ever be paid for the development time we’ve put into the new app, so far. On the third hand, that ship probably has sailed. We took too long to upgrade.

There’s a security argument against full open source. Problem is, anyone could run the app in the debugger, and open any accounting file: even if it’s password protected. All it takes is a breakpoint in the sign-on dialog code. The password is encrypted in the database, but the code has to decrypt it to compare with what you typed. That breakpoint is how we rescue users who forget their password.

Of course, there aren’t many people with the chops to do that level of hacking. And you still can protect your data by keeping the company file on an encrypted drive. The OS has more security tools than we do. Ultimately, we’d be the same as all other open source code: black hats use it to break things, white hats try to prevent that.

A lesser version of open source is to allow limited access: vetting who gets access. If any current Goldenseal users want to see the new code, you can give it a whirl now. We use SourceTree and Bitbucket for source control, and it’s easy to add read-only access.

To build and run the new accounting app, you’d need to download the project, download/install open source Qt, and install Xcode (on Mac) or Visual Studio (Windows). It may work fine after that, or there may be frustrating error messages to deal with. Welcome to the programmer’s life.

Open source projects can allow contributors to add features or fix bugs. Qt does that, but the approval process is quite complex. TurtleSoft could do it more easily, at least for a while.

Dennis Kolva
Programming Director
TurtleSoft.com