# Astroblahhh Desktop
by Apollia - [http://apollia.com/](http://apollia.com/)
Home page: [https://apollia.org/gitlist/Astroblahhh-Desktop.git](https://apollia.org/gitlist/Astroblahhh-Desktop.git)
Old home page: [http://astroblahhh.com/software/abdesktop](http://astroblahhh.com/software/abdesktop)
First released March 1, 2009 - Version 0.3.
Last update with an official version number: Version 2.4, released Oct. 14, 2015.
21:33:17 07/30/2019. Version 2.4 is the one I currently consider the "stable" version, even though there are not yet any test scripts which could be used to evaluate how stable and reliable it actually is.
I actually haven't been using Astroblahhh Desktop very much for a long time now, but, when I do use it, Version 2.4 is the version I usually use, and I try to avoid using the under-construction versions on any important databases.
I was a quite inexperienced programmer when I first built this, and I still haven't gotten around to fully revising it all.
Nonetheless, I still find it very useful (even though I haven't been using it as much lately), and I plan to improve it in the future.
<br>09:44:26 02/24/2018. I think Astroblahhh Desktop probably still works in PHP 5.2.xx, but it seems faster in PHP 5.6.xx, so, I've been using it with several different versions of PHP 5.6.xx.
I'm probably not going to switch to PHP versions above 5.6.xx until it becomes possible to use PHP-GTK with later versions of PHP.
Feb. 24, 2018: At the moment, I think one of the most useful things I could do would be to add the [SQLite](https://www.sqlite.org/index.html) capabilities I long ago added in an unreleased version which I haven't used enough to trust as much as I trust Astroblahhh Desktop 2.4. (But I actually did get SQLite working with that!)
Using SQLite will make it so Astroblahhh Desktop won't need a MySQL or MariaDB server anymore. And then, I won't have to use Astroblahhh Desktop and its database server inside a VirtualBox anymore. (I don't like running server software of any kind on my computer unless it's inside a VirtualBox with no internet connection.)
<br>Another thing I want to do with Astroblahhh Desktop is add console commands, and probably even a PHP-GTK interface - all without messing up the web interface!
<br>A more dreary but possibly even more important thing to do might be to add test scripts, so I can be more sure that things are still working properly even after I've changed things around a lot.
That will hopefully be far better than my past naive approach of just trusting Astroblahhh Desktop 2.4 and its not-yet-very-different descendant versions, just because I've used them for a while with seemingly no serious problems.
<br>A particularly fun thing I want to try is, see if I can convert my Astroblahhh Desktop database data into OrientDB graph database format, and maybe even adapt Astroblahhh Desktop's PHP scripts to be capable of browsing and maybe even editing OrientDB data. [https://orientdb.org/](https://orientdb.org/)
Though I might only accomplish that in a somewhat silly way at first, with Astroblahhh Desktop acting as though OrientDB is just another relational database, instead of a probably vastly superior graph database. Astroblahhh Desktop isn't at all suited - yet? - to displaying graph data in a graph-shaped way.
However, I definitely want to be able to access my data without having to constantly run a server on my computer. So, until there's an [SQLite](https://www.sqlite.org/index.html)-like serverless version of OrientDB, SQLite is probably going to end up being my favored database for my Astroblahhh Desktop data - even though OrientDB seems so awesome that I'm guessing OrientDB is probably going to end up being my favorite database technology I've ever found so far, and I'm very much looking forward to doing a lot more with OrientDB in the future.
<br>I also am quite thrilled with XSLT and XML, so I might end up using those in or with Astroblahhh Desktop somehow too, as well as VUE: Visual Understanding Environment. [https://apollia.org/gitlist/VUE---Modified-by-Apollia.git](https://apollia.org/gitlist/VUE---Modified-by-Apollia.git)
<br>I also want to eventually convert Astroblahhh Desktop over to being 100% Unicode. One of the most troublesome parts of that will probably be figuring out how to convert my old databases which already contain a fortunately small amount of data in uncertain character sets - data which, if I recall correctly, curiously seems to display correctly under certain circumstances, but easily gets accidentally transformed into garbage characters when editing.
It will also be quite troublesome for me to upgrade to MySQL 5.6 (at least), and change the maximum size of numerous different database fields because of the highly annoying problem of those fields holding fewer characters when they're converted to Unicode.
I didn't want any of my old database records getting truncated, so that is one of the top things that stopped me from getting this done way back in Oct. 2015 (which might've been the last time I tried working on that problem).
<br>A great article I read about legacy code - [https://jacquesmattheij.com/improving-a-legacy-codebase](https://jacquesmattheij.com/improving-a-legacy-codebase) - says:
"If at all possible freeze the database schema until you are done with the first level of improvements, by the time you have a solid understanding of the codebase and the legacy code has been fully left behind you are ready to modify the database schema."
So, the Unicode features will likely be among my final modernizations of Astroblahhh Desktop.
<br>Hmm, I wonder how Unicode and SQLite will get along? Haven't researched that yet. So, maybe I'll end up dealing with the Unicode problems sooner than I thought.
Troubleshooting tip for version 2.4 (which might apply to other versions):
When adding a new disk alias, make sure the folderpath for that disk's mountpoint ends in a slash.
Otherwise, the file organizer might mistakenly add some of the same files repeatedly if you run the file adder on the same folder(s) more than once.
Feb. 24, 2018. Made all comments begin with # instead of // or /*, to make them display correctly in GNU Emacs while using my custom settings - [https://apollia.org/gitlist/emacs.d.git](https://apollia.org/gitlist/emacs.d.git)
<br>July 30, 2019. Added an .Installers folder, so this app can easily be installed by [APSK Apphoard Manager](https://apollia.org/gitlist/APSK-Apphoard-Manager.git).