Welcome to Astroblahhh Desktop v1.12!
ABDesktop contains the Astroblahhh Links Organizer, Astroblahhh Idea Organizer, and Astroblahhh File Organizer. You can read an overview of what they do in this offline copy of the Astroblahhh Desktop home page, or at the Astroblahhh Desktop home page online.
You are totally free to use and modify Astroblahhh Desktop for any purpose, even commercial purposes, without even asking permission or paying me anything. Though of course, I joyously welcome purchases of any item or service I have for sale on my website or in Second Life (my Second Life user name is Apollia Pirandello), or donations and microdonations of literally any size.
Here's an excellent essay by Richard Stallman on software and freedom: Why Software Should Be Free.
As for why I'm releasing ABDesktop into the public domain, rather than under "copyleft" - even "copyleft" still has too many darn rules for my tastes. I have a strong aversion to legal documents and how people are forced to waste way too much time on dealing with legal nonsense, and the GNU General Public License is too long and boring for me to enjoyably read.
However, despite my dislike of disclaimers, and despite the fact that Astroblahhh Desktop seems to work surprisingly well for me (at least), I'm so nervous Astroblahhh Desktop might have major problems that I'm including a disclaimer.
|Disclaimer: This software is provided free, public domain, open source, and as-is, without any warranty, etc. The entire risk as to the results and performance of this software is assumed by you. Sorry if anything bad happens.|
In order to run ABDesktop, you will need to be running some web server software, like XAMPP, which can run PHP and has a MySQL database; or else upload the files to an actual web server which can run PHP and which has a MySQL database. (However, I strongly discourage the latter option; this software wasn't designed to be used on the web, and is probably too slipshod, security-wise, for that; it could be vulnerable to SQL injection attacks, etc., and it isn't designed for multiple users, etc.)
If you have it installed on your own computer, it might be best to only use it when you're disconnected from the internet, due to all the potential privacy and security issues. That's what I usually do.
Below, I've shared all I know of to enhance the security of your computer's web server software (based on what I've done with my own set-up), at least if you're using Windows - but I know far from everything about this stuff, and there could be some horribly obvious things I'm overlooking.
So, I recommend not trusting this software. Please don't use it for anything really important or that has to definitely be private and secure.
Also, be careful not to literally, physically overheat and melt your hard drive by creating an overly large database and then trying to add and/or remove indexes for it. Seriously. :-( Read Some Important Warnings about the File Organizer for more info on that.
I also recommend making periodic backups of your databases (and also backups before you do anything major) by saving a copy of your databases' folders located in
C:\xampp\mysql\data, along with a backup copy of
C:\xampp\htdocs\abdesk-data. (That's the folder which contains thumbnails and file browsers created by the Astroblahhh File Organizer, and any databases exported using a script like the Export Ideas DB script).
Alternatively, you could backup the "abdesk-data" folder and use the export feature of phpMyAdmin to save the databases themselves, but, the non-PhpMyAdmin way is faster and easier, and maybe even the only way to back it up if any of your databases are too large for phpMyAdmin to handle.
For info on how to set up XAMPP, read this:
Setting up Astroblahhh Desktop
When or if you have the various security issues explained in the Setting Up Xampp; and Info on Various Security Issues page figured out to your satisfaction - start up Apache and MySQL by opening the file xampp-control.exe in the directory
C:\xampp\ and clicking the Start buttons next to "Apache" and "MySql".
Then, you can access Astroblahhh Desktop by following this link, assuming you have the "abdesk" folder in
The first time you follow that link, there will be a login page. By default, you don't have to enter any user name or password, and the cookie it creates will last a very, very long time. If you'd like to change this, though, you can edit the source code of login.php.
It's not very good security, especially if the person trying to log in is physically using your computer (meaning the ABDesktop source code files are probably all accessible to that person if they know to look in the
C:\xampp\htdocs\abdesk folder ). But it could deter someone not very knowledgeable about computers and/or not very determined to get in.
Before you can get started using ABDesktop, you'll first need to mess about with MySQL.
However, if you're upgrading from a previous version of Astroblahhh Desktop, skip these procedures and follow the instructions in the Upgrading section.
Go to the folder
C:\xampp\htdocs\abdesk\abdesk-dangerous. Open the file "lib-rootstuff.php" in a text editor, then, in the ConnectAsRoot() function, put the user name and password of a MySQL account with global privileges in place of "insertnamehere" and "insertpasswordhere". If you don't have those details, hopefully you'll find them out when you follow the instructions on the Setting Up Xampp; and Info on Various Security Issues page.
Next, go to the Create All ABDesktop Databases and MySQL User page, and put in a completely different, new MySQL user name and password, then click the button. This should set everything up for you automatically. It will create the three databases used by the file organizer, links organizer, and idea organizer, and a new MySQL user to access them which has limited (instead of global) privileges, which is supposed to be safer and more secure than using global privileges all the time.
After running that script, go to the "abdesk" folder, open the file "lib-abdesk.php" in a text editor, and put in the new user name and password of the MySQL user you just created in the ConnectToDb() function in place of "insertnamehere" and "insertpasswordhere".
Also in "lib-abdesk.php", set $cookiename to whatever you want, and $cookievalue to whatever you want. And, set $defaultdisknick equal to whatever nickname for your hard disk you want.
Then, open "login.php" in a text editor, and set $username to the user name of your choice, and $password to the password of your choice. Now, you should be able to log in at http://localhost/abdesk/loginform.php
Astroblahhh Desktop should be almost ready to use. At some point, I recommend eventually moving the "abdesk-dangerous" folder (containing the Nuke/Make New Database Tables scripts and the automatic, global-privilege-using script to automatically create all the databases for you), someplace outside of your "htdocs" folder.
However, when you're first learning to use ABDesktop, it might be good to keep the "abdesk-dangerous" folder around for a while so you can easily create and wipe out practice databases. But once you're done with that, I think it's safest to move "abdesk-dangerous", which contains scripts that can literally wipe out entire databases in a single click, out of your "htdocs" folder.
You can create additional databases by using the Create ABDesktop Database script, which you can also go to from the Uncommon Functions page. The script will give you further instructions.
The file organizer in particular might be rather memory-hungry at times, like if you use the File Adder on a directory with a ton of files, or if you ask it to make thumbnails for all the images in a big directory, especially if they're BMP (bitmap) files, or if you make a file browser containing massive numbers of files.
So, I recommend adjusting PHP's settings a bit, to give PHP more memory and more time to execute scripts. There are some instructions for that here.
If you want Astroblahhh Desktop to be able to create thumbnails from BMP files, you'll have to download the BMP script from http://www.hotscripts.com/listing/imagebmp-and-imagecreatefrombmp-functions/. Rename the file to "lib-bmp.php" and put it in your "abdesk" folder. After that, ABDesktop should be able to create BMP thumbnails. Unfortunately, making BMP thumbnails can be very slow, especially if you're on an old computer.
You can change the size of thumbnail images by changing the $max_tn_width and $max_tn_height variables at the top of lib-files.php. The default size is 200x200 pixels. Changing those variables won't change the size of thumbnails that have already been output, though, so if you want them updated you'll have to make thumbnails for those images again.
If you're on an old computer, you might find that the Opera web browser runs a great deal faster than Firefox. Firefox, for some reason, is a lot slower than Opera on my 1.10 GHz computer, though the difference is less noticeable on my 2.21 GHz computer.
One problem with some versions of the Opera web browser is, when you open image files, Opera gives them a horrible white background, regardless of your default color settings in Windows' Display Properties control panel. Fortunately, there is a solution to this problem.
Go to the View menu, go to Style, then choose "Manage Modes..." from the submenu. In the little window that comes up, click the Display tab. Click the "Choose..." button next to the file path underneath "My style sheet." Navigate to the
C:/xampp/htdocs/abdesk/css folder, then choose "o.css". Click the Presentation Mode tab, then under User mode, make sure at least the "My style sheet" checkbox is checked. Then, click OK.
Then, when you're using a file browser created by the Astroblahhh File Organizer, go the View menu. Go to "Style" and then select "User Mode" from the submenu. This should make it so any images you browse will have a black background. To put things back to normal, go the View menu, go style, then select "Author Mode" from the submenu. This is also a useful tip if you're on any particularly ugly website with an awful color scheme.
Rather than image files, Astroblahhh Desktop uses Unicode symbols in lots of places. If the Unicode symbols appear as boxes, you might need to install a Unicode font. I recommend the Code2000 font.
I don't know how well Astroblahhh Desktop will work on platforms other than Windows XP or Vista, and the file organizer in particular might have to be altered a bit to work properly.
So, good luck to all you people using other platforms that I don't have. I probably can't help you very well, unless you want to give me a computer using the platform you're using, and are willing to wait for me to learn how to use it and how to adapt Astroblahhh Desktop to it. :-)
If you'd like to change cosmetic aspects of ABDesktop, and have such things as a different color scheme, different fonts, etc., you can edit ABDesktop's CSS files, which can all be found in various folders titled "css" (except for the file browsers' CSS file, which is in the code in "files/lib-filebrowser.php"). Of course, I recommend making a backup copy of those files before you start editing them, in case you want the old settings back.
Again, I joyously welcome purchases of any item or service I have for sale on my website or in Second Life, or donations and microdonations of literally any size.
And, please be cautious of all the security issues mentioned on this page and also in the Setting Up Xampp; and Info on Various Security Issues page. I probably am overlooking various possible security problems, so you're probably best off not keeping anything very private in Astroblahhh Desktop, unless you disconnect from the internet when you're running XAMPP.
If, as I do, you prefer to use Astroblahhh Desktop while disconnected from the internet, then, remember to make sure Apache and MySql are really turned off before you reconnect to the internet.
Some Important Warnings about the File Organizer
I tried, but as of 9/9/2009, I have no idea how to make the file organizer database capable of efficiently handling a colossal number of files all in the same database, at least for every kind of search you might want to run.
In one database, I managed to have it create records of around 255,000 files, and I could probably still add even more than that - but, the performance of that database is usually rather sluggish. I initially tried to solve the problem by adding numerous indexes (which took anywhere from around 25-40 seconds to add on such a huge database, as well as a similarly long time to remove). That seemed to have some effect, but it wasn't very predictable, understandable, or consistent.
And, worst of all, adding/removing about 20 indexes caused my hard drive to overheat more than I had ever known it to overheat before. It actually reached 69 degrees Celsius! Fortunately, my hard drive seems to still work, but, scarily, some of the plastic it's made of literally melted. :-O
So, I highly recommend using the file organizer for smaller databases instead of trying to dump everything on your entire hard drive all into one database. (Though it might be OK if you have a small HD - my old computer's 10 GB HD's database has records of pretty much all of my files. It was my newer computer's database, containing records of most of the files on the 120 GB partition of my 200 GB HD, that gave me trouble).
Also, be cautious about adding and removing indexes, especially if you're doing that with an excessively large database. I had no idea doing that could possibly make my hard drive overheat so much - I had thought my hard drive couldn't possibly get much hotter than 66 degrees Celsius (the previous highest temperature my HD ever reached, to my knowledge), but I was wrong.
The next most dangerous thing is the new file moving feature. It works surprisingly well for me now after all my tedious effort, but it still could possibly be dangerous and/or glitchy, and I have no idea how it will act on platforms other than mine (Windows XP). So, it's off by default. If you want to turn it on, edit lib-abdesk.php.
The worst problem I ever encountered with the file-moving feature was, when I tried to move a test folder to a different disk, it vanished irretrievably into thin air. That shouldn't be a problem anymore, because I coded the file organizer to refuse to move folders (or files paired with folders) to other disks even if the file-moving capabilities are enabled, and even if the setting to allow things to be moved to other disks is enabled.
However, with computers, you can never be too cautious, so don't trust it. Please only use everything at your own risk. If you do use this feature, test it on some useless, deletable files and folders first, and make sure they still exist and are intact afterward.
The "updatefilelocationsonrecord" command shouldn't actually attempt to move anything, but, since its code is very entangled with the file-moving code, it would be good to be wary of it as well, in case it has some glitches I don't know about. It, too, is disabled by default in lib-abdesk.php.
I think the largest folder I managed to "import" (by the way, currently, the File Organizer doesn't ever literally import files, it just imports details about files) had almost 4000 files. It might not even be able to handle that many if the files in the folder have long names, or if the script runs out of memory or times out.
So, you might have to split folders with a lot of files into multiple folders to be able to use the so-called "file adder" on them. I guess maybe 2000 files per folder seems like a reasonable, though almost too large number.
Files whose names contain characters that PHP can't handle might not have their details successfully imported. So, sorry if you have a lot of files whose filenames have Japanese characters or something - I don't know how to make PHP handle them properly.
Files whose names contain the string "%20" in them might confuse your web browser if you try to open them with your web browser, since "%20" is a string that web browsers interpret as a substitute for a space.
The "abdesk-data" folder is where exported databases, thumbnails, file browsers, etc. end up. If you have a lot of images, it can take up many megabytes. However, using a smaller default thumbnail size would probably reduce the amount of disk space the thumbnails take up. You can change that by editing the variables $max_tn_width and $max_tn_height in lib-files.php.
A Possible Web Browser Privacy Issue
By default, this (hopefully) won't be an issue, but it will almost definitely be an issue if you edit Astroblahhh Links Organizer's list-links.php, Astroblahhh Idea Organizer's list-ideas.php, or Astroblahhh File Organizer's list-files.php and set the $buttonlinksmode variable to false.
When the $buttonlinksmode mode variable is set to false, the backward/forward/random buttons get changed to regular links, and it also seems to make the page load faster. However, when using regular links for the backward/forward/random navigation, a lot of variables, including any tag searches or other search queries, get stored in the URL.
The reason this creates a privacy problem is because web browsers are generally set up to make available to whatever website you visit, the URL of the "referrer" or "referring page" that contained the link you clicked to reach that website.
This feature of web browsers is actually rather obnoxious and intrusive, in my opinion. Sure, it makes website statistics a lot more interesting for website owners to look at, since it allows website owners to see how much of their traffic comes from particular websites, as well as find out what searches people typed into a search engine that led to to the owner's site - but I think it's wrong to have that be the default setting of web browsers without telling people about it and how they can opt out of it.
Anyhow, what this means for any Astroblahhh Desktop users who have $buttonlinksmode set to false is - if you click on any link in your links list, ideas list, or file list when you have a lot of variables stored in the URL, all those variables (including your complete search query) might very well end up logged in the website statistics page of whatever website you're visiting.
Leaving $buttonlinksmode set to its default setting of "true", should, I hope, bypass this problem, since no variables will be stored in the URL. The referring URL will hopefully just be "http://localhost/abdesk/links/list-links.php" or "http://localhost/abdesk/ideas/list-ideas.php". (By the way, you can set $camobuttons to true to make the buttons be camouflaged to look like regular links instead of buttons).
The way to stop your web browser from passing on any "referring page" information will probably vary depending on the web browser. In Firefox, you can use the instructions in this blog post: How to hide referrer information in Firefox and protect your privacy
Or, alternatively, you could download the useful Firefox Web Developer add-on, and after installation of it, right-click, then select Web Developer, then select Disable, then select Disable Referrers.
In Opera, go to the Tools menu and select Appearances. Click the Buttons tab, then click Preferences. You can actually drag the checkbox that says "Send referrer information" into your Opera toolbar, which will enable you turn that setting on and off at will.
The (not free) Norton Internet Security 2003 can also block referrers, but I'm not sure it does it reliably with all web browsers. To set Norton Internet Security 2003 to do that, right-click on the Norton Internet Security icon in your taskbar and select the menu item "Norton Internet Security". Then, click Options, and select the "Internet Security" menu item. Click the "Web Content" tab, then under the "Global settings" tab under "Information about visited sites", choose "Block".
In some cases, blocking your browser from sharing that information with websites can cause problems with the functioning of some sites, but there's only one site I ever ran across that had major problems (a small astrology site I visited quite a while ago that I can't remember the name of).
Doubtless other privacy/security issues could exist in Astroblahhh Desktop (such as the stuff I explained in the Setting Up Xampp; and Info on Various Security Issues page). The safest course of action is probably to not store anything very private in your database, or disconnect from the internet whenever you're using Astroblahhh Desktop.
A Tip To Make MySQL Crashes Less Terrible
I'm not sure if this problem exists on other platforms, and I don't know how to fix it except on Windows XP, so, this tip is for people who have Windows XP. It might work in Windows Vista.
MySQL can tie up your entire computer and make it very difficult and slow for you to do anything (such as shut down MySQL) when certain bad queries are put in. Or, actually, the queries themselves might not be bad, but they can slow down your computer like crazy if executed on an improperly-prepared database - namely, a database which doesn't have indexes on the fields that need to have indexes in order for certain kinds of queries to be speedily executable.
So, here's a tip that would probably be good to do before you input a questionable MySQL query. It might also be useful if you ever stumble across a catastrophic glitch in the Astroblahhh Desktop search system (like the glitch in versions of Astroblahhh Desktop prior to v1.0 which caused MySQL to tie up your entire computer if you input a negative argument in a tag search if you didn't have indexes on the tagmap table's fields).
Press Ctrl-Alt-Delete on your keyboard to open the Windows Task Manager. Then, click the Processes tab, and click the column name "Image Name" to put the list of programs in alphabetical order. Then, right-click on mysqld.exe, select "Set Priority" from the pop-up menu, and set the priority to low. This will make it so MySQL won't tie up your computer as much if it ever happens to crash. If MySQL crashes, you'll be able to stop MySQL by opening the Windows Task Manager, right-clicking on mysqld.exe, selecting "End Process", and then clicking the "Yes" button.
Unfortunately, this feature has turned out to be unreliable. It doesn't work at all in Opera, and it sporadically fails to work in Firefox, for reasons unknown to me. So, don't rely on that feature.
However, it does work sometimes in Firefox, and it's reliable in Internet Explorer 6, so that's why I'm leaving it in.
Make Sure Apache and MySQL are Off Before You Get Back On the Internet After Using Astroblahhh Desktop Offline
This is a tip for those of you who, like myself, prefer to use Astroblahhh Desktop while disconnected from the internet, in order to elude the various privacy and security issues Astroblahhh Desktop has (or might have).
I've sometimes noticed on my computer that the XAMPP Control Panel Application (the thing you start by clicking xampp-control.exe) isn't completely reliable for shutting down Apache and MySql. Sometimes after clicking the Stop button, it provides the message that the item was stopped, but the "Running" text remains.
I can't remember if I ever had the "Running" text vanish and yet Apache and MySql continued to run or not, but, anyhow, this unreliability inspired me to habitually check the Windows Task Manager before I get back on the internet to make sure Apache and MySql were really shut down.
To do this - after you stop (or think you stopped) Apache and MySql in xampp-control.exe, press Ctrl-Alt-Delete on the keyboard to bring up the Windows Task Manager. Then, click the Processes tab. Click the text "Image Name" to order the list of programs in alphabetical order, and look for either apache.exe or httpd.exe in the programs list (an earlier version of XAMPP I have uses "apache.exe", while a later version uses "httpd.exe"), and also mysqld.exe. They shouldn't be there.
If they are there, I think highlighting them and clicking End Process to shut them down is probably harmless. As always, though, I could be wrong - so please be careful, and please do everything at your own risk.
I also like to clear out my web browser's history (both the main history, and the 'Closed Tabs' history), then my web browser's cache.
Upgrading to Astroblahhh Desktop v1.12
First, back up all your existing databases, just in case something goes horribly wrong. Save copies of all your databases' folders located in
C:\xampp\mysql\data, along with a backup copy of
C:\xampp\htdocs\abdesk-data. (That's the folder which contains thumbnails and file browsers created by the Astroblahhh File Organizer, and any databases exported using a script like the Export Ideas DB script).
Next, go to the
C:\xampp\htdocs folder. Rename the old "abdesk" folder to something else, and put the new v1.12 "abdesk" folder where the old one used to be.
Then, go to the software phpMyAdmin, which is a handy MySQL database manager program included with xampp. If you don't have a file database yet, then, in the text box underneath the text "Create new database:", type in "abdeskfiles" and press the Create button. If you don't have an idea database yet, do the same thing to create "abdeskideas".
C:/xampp/htdocs/abdesk/abdesk-dangerous/lib-rootstuff.php, and, in the ConnectAsRoot() function, in place of "insertnamehere" and "insertpasswordhere", put in the user name and password of a MySQL user with global privileges.
Go to the Create MySQL User For ABDesktop page and put in your desired user name and password (different from the account with global privileges). You could use your old ABDesktop user name and password if you have one.
(If you use a new user name and password, you might have to use the Create DB Form to grant the new user name privileges on your old databases. Make sure you backed up your databases so they don't possibly get overwritten. Type in the name of each database, select its type (file, idea, or link), and put in your non-global MySQL user name and password, then click "Make Database/Update User Privileges". This should give your MySQL user the proper privileges to access those databases.)
After that's complete, go to "lib-abdesk.php", scroll down to the ConnectToDb() function, and put your non-global-privileges MySQL user name and password in place of "insertnamehere" and "insertpasswordhere". Also in "lib-abdesk.php", set $defaultdisknick equal to whatever nickname for your hard disk you want. Set $cookiename and $cookievalue to whatever you want. Open "login.php" and put whatever user name and password (different from your MySQL user names and passwords) you want.
If you already had a file database, idea database, and/or links database from a previous version of ABDesktop, use these three update scripts on your databases: Update File DB, Update Ideas DB, Update Links DB.
Only if you didn't already have a file database before upgrading: go to the Nuke Files DB and/or Make New Database Tables and click the Make New Database button. Now, the Astroblahhh File Organizer should be ready to use.
Only if you didn't already have an idea database before upgrading: go to the Nuke Ideas DB and/or Make New Database Tables and click the Make New Database button. Now, the Astroblahhh Idea Organizer should be ready to use.
OK, by the time you reach this paragraph, hopefully Astroblahhh Desktop will be useable. At some point, you should probably remove the 'abdesk-dangerous' folder, or at least some of its contents, from the 'abdesk' folder and put it someplace inaccessible to XAMPP, outside of the 'htdocs' or 'xampp' folders, since it's just safer to keep stuff that can delete your databases in a single click somewhere else.
If you want to get acquainted with any organizers that are new to you, though, it might be good to keep the nuke/make new database scripts for them around for a while, so you can easily create and delete practice databases.
Astroblahhh Desktop was first released in a partially complete form on March 1, 2009 as Astroblahhh Desktop v0.3. It was v0.3 because the total Astroblahhh Desktop package was only about 1/3rd complete, since it contained only the Astroblahhh Link Organizer so far.
I worked on Astroblahhh Desktop off and on for a long time. I first thought of the ideas for the file/image organizer and links organizer back in December 2007, and I thought of the idea for the idea organizer in May 2008 (though I also thought up a different but similar idea in Jan. 2008).
Thanks to my Ideas DB, I have some exact date/time data which is possibly close to when I first thought of these ideas. These might not be exactly the time I first thought of the ideas (my ideas DB is pretty big, so I might have overlooked something, and I also haven't looked in my old journals yet), but they are likely the dates/times for when I first noted down these ideas down in one of my official text files for ideas.
Here are some Astrolog 5.40 command lines for curious astrologers. The longitude/latitude are for Hubbard, OH:
-qa Dec 9 2007 14:07 EST 80:34W 41:09N
Noted down file organizer idea.
-qa Dec 17 2007 4:20 EST 80:34W 41:09N
Noted down link organizer idea.
-qa May 25 2008 13:33 EDT 80:34W 41:09N
Noted down idea organizer idea.
-qa Dec 9 2007 13:49 EST 80:34W 41:09N
Noted down image organizer idea.
-qa Jan 12 2008 18:21 EST 80:34W 41:09N
Noted down different idea organizer idea.
I wrote Astroblahhh Desktop mostly because I really needed it. Disorganization, exacerbated by my distaste for wasting time on half-assed solutions (not to mention my characteristic "why bother?" blues), had been holding me back for years, and Astroblahhh Desktop makes it a lot easier for me to find things.
Astroblahhh Desktop v0.31 was released March 23, 2009. I added a couple scripts to make it possible to quickly input multiple URLs - multi_link_adder.php and multi_link_adder_form.php. I updated lib-abdesk.php to make it possible to navigate to the new multiple link adder form. I also updated this readme file to add a bunch of new security tips I had recently figured out, and also to provide instructions for turning off PHP's annoying "magic quotes" feature.
Astroblahhh Desktop v0.55 was released May 13, 2009. The major addition was the Astroblahhh Idea Organizer, meant to make ideas, to-do-list items, goals, and other random text scraps like favorite quotes, scraps of code, etc. easy to find and sort through.
I also made it so the listers for links and ideas sort things by url_id or idea_id by default, instead of by date of addition or whatever I was using before. This seems to make the link and idea listers faster. I also commented out the stuff that formatted dates more nicely, to further decrease the amount of work MySQL has to do. I also made other updates/fixes that I don't remember the details of and/or didn't bother to write down.
Astroblahhh Desktop 1.0 was released September 9, 2009. The major addition was the Astroblahhh File Organizer, which is basically my personal replacement for Google Desktop (with one major difference being, my file organizer currently doesn't have capabilities for importing and searching the text within files), and my solution to years and years of distressing chaos on my computers' hard drives and CDs. I think it was the hardest project yet. If I recall correctly, I put the most effort into it in July, August, and September 2009.
I tried to release it at 9:09 PM on 9/9/09, just because it amused me to do so, but I'm not sure if I released it at 9:09 or 9:08 PM, because my computer's clock was a bit faster than my website's clock, and my website thought it was 9:08 PM.
One difference from previous versions you might actually notice is that you now must separate different arguments in a command with a semicolon (;) instead of a comma. (This was done so you could search for tags with commas in them). Multiple commands can be separated by two semicolons (;;) or put on separate lines.
Astroblahhh Desktop v1.0 also included some update scripts for people's existing idea DBs and links DBs, mostly to eliminate the possibility of a certain very bad glitch occurring when people do tag searches that include negative arguments. This problem is eliminated by adding some indexes to all the fields of the tagmap tables.
The update scripts also added some new tag types: to/for tags in the Links DB and Ideas DB, and location tags in the Ideas DB. This makes it easier to use the Ideas DB for such things as labeling who you intend to give particular ideas to, storing emails, or maybe astrological data (even though a database specifically designed for handling astrological data would be better; and in fact I'm working on such a thing already), and perhaps other uses I haven't thought of.
There were two scripts (broken as of v1.12), Export Ideas DB and Export Links DB, which exported the data of your current DB in a format which could be imported into a different Ideas DB by PhpMyAdmin. After you imported an exported DB, you could then use the Update Ideas Tags script or Update Links Tags script to make the tags searchable.
I updated the tag library so it stores less data in the session variables (though still a lot, if you have a lot of tags).
Astroblahhh Desktop v1.12 was released December 5, 2009. You can now much more easily use multiple DBs with all three organizers (the web links organizer, the idea organizer, and the file organizer), without having to edit source code as much (though you still have to edit source code a bit).
The idea organizer and links organizer now both have mass editing capabilities, which makes it a lot faster and easier to get things labeled and organized. All three organizers' record listers now try to avoid doing COUNT queries as frequently. This makes them a bit faster.
Scarily, the file organizer now has file-moving capabilities. After tons of laborious fiddling with the code for them, they now seem to work surprisingly well - except for the problem I had where, if I recall correctly, a test folder I tried to move to a different disk vanished irretrievably into thin air.
So, since I haven't made a workaround for that, I just made it so it can't copy folders to different disks than they're already on (even when the program is set to allow things to be moved to other disks), and the program is set by default to not allow things to be moved to other disks at all. Also, all file-moving capabilities are disabled until you turn them on in lib-abdesk.php.
I restructured the databases of the idea and links organizers. This has both speed gains and losses. The drawbacks are more noticeable in the ideas DB (unless you like to search the longdesc, othernotes, or sourcenotes fields of the links DB a lot).
It seems like it's now faster to browse ideas, but, doing longdesc, quote, or sourcenote searches for some reason is much slower, now that those fields are split off into their own database tables. However, tag searches are pretty fast, so if you just use the mass editor to add tags to all items found by a longdesc/quote/sourcenote search, you'll be able to find those items again later much quicker by doing a tag search.
The file organizer now has an "Export Records" feature. The button for that will be revealed when you click the File Browser button. The Export Records feature is useful if you have a ton of records in a database that you'd rather split off into a different database. It doesn't delete records, though. If you have the TNs checkbox checked, it copies thumbnail images from the original database into a new folder intended for the destination database. You should rename the new thumbnails folder to be the same as the database's name, add the text "-temp" to the end of it, and put it in the folder
The idea organizer's multi-adder now takes multiple kinds of input. Since I'm using some ideas DBs as a makeshift way of storing astrological data, it will even partially read in Astrolog 5.40 command lines. (This is only my temporary solution until I someday make some database software which is specifically intended for handling astrological data). The links organizer's multi-adder was enhanced as well.
There's now a Backup Recent script which I made so I could back up the most recently changed records without having to resave my entire databases repeatedly.
The Links DB's and Ideas DB's export scripts are broken now, and there are various other little odds and ends that ought to be made, so, someday, there will probably be future updates.
To write Astroblahhh Desktop, I used the wonderful code editing software Notepad++ (versions v5.0.3 and v5.4.1). With its color coded text, fully customizeable colors, line numbers, bookmarks, easy indent features, etc., it really helped a lot. It is my favorite code editor.
Before I discovered Notepad++, I used NoteTab Light a lot, which is still my favorite plain text editor, though no longer my favorite code editor.