Posts Below
7/25/2016 - Bash Script: flexishacheck (Software)
7/23/2016 - Free webinar with Deepak Chopra & Eckhart Tolle on Aug. 3, 2016 (Self-Help)
7/23/2016 - Postum - Buy 3 Jars, Get 1 Free Sale Until August 31, 2016 (Food)
7/22/2016 - Teeccino: An Excellent Alternative to Coffee (Food)
7/18/2016 - Links: Free (as in Freedom), Libre, Open Source Agriculture (Food)
7/18/2016 - Link: Rosetta Stone for Unix (GNU/Linux)
7/17/2016 - International postal systems: more reasons I'm glad to be an American (Business - And Charity)
7/13/2016 - Going to try a standing desk (Health)
7/11/2016 - Dancing: probably more interesting than many other forms of exercise (Health)
7/9/2016 - Synonyms for the word "Antifragile" (Languages - English)
7/9/2016 - How to add XML and XSLT 1.0 capabilities to Perl in Lucid Puppy Linux 5.2.8 version 004 (Puppy Linux)
7/7/2016 - Links: Amazing 3D graphics inside a web browser (Software)
7/4/2016 - Now I'm 35; daydreams and plans for the future (Software)
7/2/2016 - Perl Script: Apollia's Primitive Invoice Generator v2.0 (Software)
7/1/2016 - Wishing I had a non-Java version of VUE (Software)
7/1/2016 - Links: Saxon-CE and XSLT 2.0 demo - Knight's Tour (Software)
7/1/2016 - Bash Script: Relative Landmark (Software)
6/27/2016 - Accidentally ruined Windows 10 on my Toughbook CF-C1 (Puppy Linux)
6/21/2016 - Vitamin C seems to help my possible gum disease! (Health)
6/20/2016 - Link: Dogs and computers - not always the best combination (Humor)

Welcome to Astroblahhh.Com. This site, consisting of both blog and non-blog pages, features a gradually growing assortment of miscellaneous things on a variety of topics. I, the author of most of the stuff on this site, usually go by the name Apollia on the internet.

This blog was generated by the WordsPlatz blog software, which I wrote from scratch.


   ▲ Top  ▼ Bottom  △ TOC   ↓ Down
Bash Script: flexishacheck
Monday, July 25th, 2016
13:07:57 GMT


Here's a boring but useful enough Bash script I finished today:


I made this because the not-yet-finished (nor released) renovated Apollia's Puppy Linux Setup Kit (APSK) is going to use SHA-512 checksums to verify that various files are intact, or got downloaded correctly.

Actually, if I recall correctly, the released APSK already does check the SHA-512 checksums of downloaded files. But I want the renovated APSK to be far more flexible - and flexishacheck definitely helps with that, since now I won't have to update checksum record files just because a checksummed file got renamed.

I also want the renovated APSK to be able to use other things to verify that downloaded files are intact, such as GPG signatures.

From what I understand, two different files sharing the same SHA checksum or GPG signature is supposed to be extremely rare, even if the two files are only slightly different. But unfortunately, I'm quite far from understanding all this stuff as well as I'd like, so I'm not sure how helpful (or not) SHA checksums and GPG signatures will really be. But I assume checking SHA checksums and/or GPG signatures is at least better than just blindly trusting that a download succeeded and got the correct file.

At least I've been learning a lot from my struggles to renovate APSK and understand checksums and GPG. At this rate, I don't know if I'll have APSK renovated even before the year is over, but, I'm going to keep trying.

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Free webinar with Deepak Chopra & Eckhart Tolle on Aug. 3, 2016
Saturday, July 23rd, 2016
12:11:18 GMT


Today, I heard about a free (in price) webinar on August 3, 2016 with Deepak Chopra and Eckhart Tolle:

Beautiful Chaos: How to Find Meaning in a Messy World

Usually I'm more interested in pondering more practical (or hopefully practical) ways to solve the world's problems, rather than just seeking better ways to philosophize about and not feel as bad about the way things are.

But, for some reason, I'm interested in attending. I'm unfamiliar with Eckhart Tolle, but I read a bunch of Deepak's books a long time ago and liked many ideas in them, even though I was (and am still) very agnostic and (believe it or not) skeptical about many things, despite my embarrassingly openly-admitted interest in topics like astrology, etc.

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Postum - Buy 3 Jars, Get 1 Free Sale Until August 31, 2016
Saturday, July 23rd, 2016
05:56:08 GMT


Postum is another excellent caffeine-free hot drink which tends to be placed in the same category as Teeccino - a coffee alternative.

And, until August 31, 2016, there's a buy 3 jars, get 1 free sale of Postum from Postum's official website.

I haven't had Postum in a long time, maybe since 2004 or something. But even though I didn't drink it very often (since I mostly drank caffeinated tea instead), I still liked it.

I only ever tried the Original flavor, which never tasted that much like coffee to me. But, I liked it anyway, especially since I wasn't even looking for a perfect replica of coffee - just something new (to me) and different from what I usually drank.

I read on this page that Postum was actually discontinued by the company Kraft in 2007, which I found very surprising and bizarre. Why would any company discontinue such a good, popular product?

Fortunately, Postum was so popular that a different company (Eliza's Quest Foods of Charlotte, North Carolina) revived it in 2012.

Which is very unusual - since I don't think any other discontinued product I ever liked ever got revived. I wish such revivals would happen more often.

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Teeccino: An Excellent Alternative to Coffee
Friday, July 22nd, 2016
21:32:18 GMT


I sometimes run across articles which suggest that it would be healthy to give up caffeine.

I actually mostly don't drink coffee, and I only drink 1 cup of caffeinated tea per day maximum - but I'm definitely addicted. I've tried repeatedly (though not very determinedly) to gradually give it up, but I just like the taste too much.

It's probable I'd consume less caffeine if I simply switched completely to coffee, because I only enjoy coffee which is very diluted with water and cream. (Otherwise, coffee tastes unbearably bitter and horrible to me.)

But, my goal is to mostly stop drinking any caffeine, since I think maybe I have adrenal fatigue, given that I have sometimes been unusually tired lately despite going out of my way to avoid stressful things for over a month now.

There are various non-caffeinated herbal teas I like. But, I wanted to try something totally new to me.

So, today, I tried Teeccino, which is made of chicory and other tasty ingredients.

I tried a "tee-bag" of the Maya Chai flavor. And, I liked it! I could definitely distinguish it from coffee, but it was still quite good, coffee-like, and better than any decaffeinated coffee I've ever had. (But I should probably point out that I never tried a wide variety of decaf coffee, nor even caffeinated coffee.)

Teeccino "tee-bags" seem to take longer to steep than probably most tea does. I didn't carefully follow the instructions - I stuck the bag in a cup of cold water and microwaved it, which I think worked well enough.

Rather than removing the bag, I decided to just leave it in as I was drinking it, and see how long it would take for it to get too strong for my tastes. I don't know exactly when that happened, but it seemed to take a long time, maybe over 10 minutes.

Similar to the way I drink coffee, I liked it best with a lot of cream.

I greatly look forward to trying all the other flavors of the sampler pack I got, and I think Teeccino will definitely assist me in hopefully finally really giving up caffeine, or at least drinking a lot less caffeine.

Additions, July 23, 2016, 3:23 AM EDT, etc. The way I sweeten my tea, coffee and Teeccino is usually:

I used to be able to just use any random brown sugar from a grocery store, but I find that difficult to use anymore because the above makes everything taste so much better in comparison.

Anyway, I just tried the Chocolate Mint flavor of Teeccino. I liked the Maya Chai, but I love this! It reminds me of Andes mints in liquid form, but more subtle. I think I like it even more than hot chocolate, because hot chocolate (unless you make it from scratch) tends to be overwhelmingly sugary, and with this, I can control the amount of sweetness.

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Links: Free (as in Freedom), Libre, Open Source Agriculture
Monday, July 18th, 2016
14:57:07 GMT


Ever since I saw the documentary Gasland several years ago, I've been increasingly worried about farms, groundwater (or any water), nature in general, and also places where people live, possibly getting contaminated by pollution from various forms of industrial activity.

And I also think it's quite distressing that unless you pay extra to buy organic food, you're stuck buying food which quite possibly had pesticides used on it, or which might have been genetically modified (GMO).

And, as someone who has at times had a rather inadequate diet simply due to lack of enough money, I've sometimes daydreamed about how nice it would be to be able to grow my own food on my own farm, or in a greenhouse, or something.

So, today, I was very pleased to run across the below links, since perhaps free (as in freedom), libre, open source agriculture will someday help alleviate some of the above problems.

This Ag Innovator Wants to Find Your Broccoli by IP Address
(June 10, 2015 from

MIT Open Agriculture Initiative

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Link: Rosetta Stone for Unix
Monday, July 18th, 2016
04:22:16 GMT


This looks useful, even though I haven't used most of the operating systems mentioned on this page:

A Sysadmin's Unixersal Translator (ROSETTA STONE)
OR What do they call that in this world?

Usually I use Puppy Linux. And, reluctantly and relatively rarely, I sometimes use Mac OS.

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
International postal systems: more reasons I'm glad to be an American
Sunday, July 17th, 2016
03:37:03 GMT

And Charity

Today, I received a bra purchased on Amazon and shipped from a seller in England. (Despite the fact that I like Richard Stallman's page of Reasons not to buy from Amazon).

And on the outside of the package, on a "Customs Declaration" label, was some rather personal information!

In a column that said "Quantity and detailed description of contents", it said "Lingerie" (in handwriting). And, in the "Value" column was a handwritten price quite close to what the buyer paid for this bra on Amazon.

Obviously I'm not very embarrassed, since now I'm telling the world about this by blogging about it. :-)

But still, I think it's an obnoxious invasion of privacy. Here in the USA, we don't have to list the contents and value of our packages on the outside of the package for any curious postal worker or resident of our homes to read.

At least they didn't list my bra size. :-)

Back in 2012, I received a package from a friend in Europe. That package's contents and values weren't listed on the outside - but, I was astonished when that friend speculated I might have to pay some sort of "customs" fees just to receive it.

It turned out there actually were no fees for me to receive it, but I was shocked that that's even a problem in Europe.

Here in the USA, we have nothing like that. We can receive as many gift packages as we want without being oppressed by fees.

It amazes me that oppression like that is apparently considered normal in Europe. I think it's terrible and unfair to everyone, whether poor or rich.

But it's probably particularly harmful to poor people, because if anyone mails a poor person in Europe a package of stuff to help them out, the poor person might not be able to afford to pay the oppressive fees to accept the package! And the more the package is worth, the higher the fees.

Also, I'm guessing this nonsense probably isn't any good for the economies of Europe, because it probably discourages people from buying and mailing each other gifts for the holidays, birthdays, etc. It also probably discourages people from buying things online even just for themselves.

It wouldn't surprise me to find that the USA's economy and sales of products sent via physical mail are probably thriving a lot more than Europe's economies and sales, just because of the above problems imposed by Europe's postal systems.

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Going to try a standing desk
Wednesday, July 13th, 2016
21:19:19 GMT


Yesterday, in my family's basement, I was able to find an old rolling table which is tall enough to use as a standing desk for my laptops.

Why did I want a standing desk? Because I keep running into articles which suggest that standing might be healthier than continually sitting.

And it will make it easier to do a wider variety of random exercises (or bellydancing :-D ) while continuing to work on my computer at the same time.

However, here's a partly negative article about standing desks:

From, Sept. 29, 2014 - There's a huge hidden downside to standing desks that no one told me about

So, I'm going to be careful to avoid swollen ankles. Though I think I might have avoided that without even trying, because I'm so fidgety that I'll probably seldom stand still for long at my standing desk.

(Addition, July 13, 2016, 6:28 PM EDT. Another partly negative article:

From, Feb. 17, 2015 - 5 Ways Your Standing Desk Is Doing More Harm Than Good

So, judging by that article, it seems that alternating between standing and sitting is probably better than constantly standing or constantly sitting. And also that fidgeting is good.

I'm definitely not interested in overdoing standing, exercise, sitting, or anything else. So, hopefully it will overall be good for me to get more variation and movement into my habitual routines. End of addition.)

I wonder if lying or sitting in bed is healthier than sitting in a chair all day? My computers are usually next to my bed, and I shift positions a lot more than is possible in the average chair.

Another thing I found in the basement was a nice swiveling office chair I didn't even know we had.

And it turns out that despite being 35, I still like spinning around in an office chair about as much as I did when I was 5. :-)

So, who knows how much standing and other exercise I'm really going to do now. :-)

But since I have a laptop, this chair won't necessarily interfere with my computing too much. It will at least be amusing to see how well I can program while dizzy.

My next task is to clear enough junk out of my room to make adequate room for these delights. Cleaning isn't my favorite thing to do, but at least it has more immediately perceptible good results than the average boring exercise.

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Dancing: probably more interesting than many other forms of exercise
Monday, July 11th, 2016
11:27:56 GMT


Like many other computer programmers, I probably ought to get more exercise.

But most exercise sounds boring to me, or otherwise inconvenient. There's a swimming pool I could go to, and I have a bicycle, and I could always go on walks, but, I much prefer to avoid people.

So, I think what I might prefer do instead is, stay in my room and try to learn bellydancing, and maybe other types of dancing too. :-)

I don't know if dancing is the best possible exercise for me, but, no doubt anything is better than nothing, or just fidgeting and walking around my house.

And becoming a good (or otherwise amusing) dancer seems like a much more fun goal than becoming capable of performing ever-larger quantities of ungraceful, boring, repetitive exercises such as sit-ups and squats.

It might also result in some amusing videos someday. :-)

Though I actually wouldn't mind an exercise bike or a non-motorized treadmill to use while I work on my computer stuff. Then I could just mindlessly get a significant amount of exercise while I get more useful things done at the same time.

Maybe I should convert my bike into an exercise bike.

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Synonyms for the word "Antifragile"
Saturday, July 9th, 2016
20:49:33 GMT


Last edited July 10, 2016 at 1:05 AM EDT.

One of the best books I read in 2015 (or, ever) was Antifragile by Nassim Nicholas Taleb.

I was recently reminded of this book by the fact that my Toughbook CF-C1 overheated and crashed yet again. (Clearly I need to stop leaving so many web browser tabs open.)

But, at least this annoyance was a pleasant reminder of the antifragility of (and resulting from) my Puppy Linux Setup Kit. :-)

Crashes actually benefit my setup kit, because they give me some additional good reasons to stop procrastinating about enhancing my setup kit.

And, thanks to my setup kit, I'm able to recover quickly from not only relatively minor crashes which only require a reboot, but also from serious hardware breakdowns which would require me to switch to a totally different computer, which would be a far more inconvenient disruption if I were still dependent on an OS installed on a hard disk.

I can switch to another computer pretty much seamlessly and have everything back to normal in minutes. It's tremendously nicer than having to slowly rebuild a broken Windows system by manually reinstalling Windows along with all my lost Windows software.

A while back, I thought of a possibly good synonym for the word "antifragile". At least, it's hopefully clear enough if you're a Star Wars fan. But, in case it's a spoiler, I won't say exactly the word I have in mind.

This page from the Movies & TV Stack Exchange explains the famous scene from one of the Star Wars movies that made me think of this idea.

Other possible rough synonyms include phoenix-like or hydra-like.

I had trouble thinking of many more synonyms, though. Which sort of makes me wish I already automated the addition of comment sections to my blog posts.

Click this link to display the blog comment thread hosted at the Eryss.Com Forum:

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
How to add XML and XSLT 1.0 capabilities to Perl in Lucid Puppy Linux 5.2.8 version 004
Saturday, July 9th, 2016
19:21:33 GMT

Puppy Linux

By default, I don't know if Lucid Puppy Linux 5.2.8 version 004's copy of Perl already includes modules for dealing with XML and XSLT. But, I don't think it had the ones I wanted to use, so I figured out how to install them.

And I avoided using the "cpan" automated installer for Perl modules because I was using a computer I keep disconnected from the internet.

And also because I dislike package managers or any other software which is excessively dependent on internet access. Given these poverty statistics, I think it's better not to just assume the internet is constantly available to everyone who needs it. The less everyone's computing is dependent on the internet, the better, in my opinion.

OK, back to the instructions.

There was only one tricky part. I'm dubious about whether I handled that correctly, but, I'll explain that below when we reach that step.

I believe the Perl module XML::LibXSLT only has XSLT 1.0 capabilities.

I still haven't done very much with XSLT 2.0 (nor even XSLT 1.0), or Saxon-CE, but I'm guessing Saxon-CE is probably one of the easiest ways to get started doing something with XSLT 2.0, since Saxon-CE is written in JavaScript and runs in a web browser.

Many web browsers already have XSLT 1.0 capabilities built in.

There seem to be some parts of the below Perl modules which are written in C, so, I believe to install them, it's necessary to use the DevX file of development tools for your Puppy Linux.

My page of Some Puppy Linux Basics explains more about DevX files, and if you need the DevX for Lucid Puppy 5.2.8, it's available at this link:

If you're using a different version of Puppy than Lucid Puppy 5.2.8, that DevX probably won't work, so you should instead download the DevX released for your Puppy.

Also, if you're not using Lucid Puppy 5.2.8, please bear in mind that the instructions in this blog post might not all apply or work for you, since different Puppy Linux distros, and probably even different versions of the same Puppy distro, can differ quite substantially from each other.

And here's how to load SFS files.

Next, get the tarballs of the following Perl modules. (The version numbers are just what I used - I don't know if these specific versions are actually required for all these things to work together.)

  1. XML::NamespaceSupport 1.11

  2. XML::SAX::Base 1.08

  3. XML::SAX 0.99

  4. XML::LibXML 2.0126

  5. XML::LibXSLT 1.96

It's necessary to install each of those modules in the order given above. Do the following 2 steps for the first 4 modules above:

  1. Decompress the tarball.

  2. Open a terminal window and type these commands:

    perl Makefile.PL


    make test

    make install

Or "new2dir make install" (without quotes) if you'd like to make a pet file or SFS file.

With one Perl module, there might be some annoying warning about "6.55_02" not being numeric, but since that warning didn't stop the build, I ignored it.

Now, the tricky part. I don't know if my trick really solved the problem, and I don't even know whether or not it might have created other problems. But, at least it made it possible for me to successfully run "make" on the XML::LibXSLT module.

Decompress the XML::LibXSLT tarball.

Then, open the file "LibXSLT.xs" in a text editor, and add this line below the comment section at the top:

int xsltMaxVars = 9999999;

That line is necessary because without it, the build will be halted with these errors:

But with that line, the build should succeed. So, now you can run these commands:

perl Makefile.PL


make test

make install

Or "new2dir make install" (without quotes) if you'd like to make a pet file or SFS file.

Now, to see if the modules are working, you'll need three things - a Perl script, an XML file, and an XSLT file.

Here's a zip file containing all 3, which aren't by me, but were slightly modified by me. I changed hardly anything in the Perl script, and all I did with the XSLT stylesheet was add a comment with a link to where I found it.

And the VUE: Visual Understanding Environment concept map file was saved by me, but its source code was automatically generated by VUE. And I had to slightly edit it because of the comments at the top which Perl disliked.

Thanks to all the authors of this code!

Perl XSLT Test (3 KB)

All 3 files are also displayed below.

A Perl script which is a slightly modified version of this code from StackOverflow:

An XSLT stylesheet from this post on StackOverflow:

A saved VUE: Visual Understanding Environment concept map file. I had to move the comments formerly at the top (which tell you not to remove them) into a CDATA section near the top, because Perl was complaining about them.

All three files should be in the same folder when you run this command:


If that succeeds, the output will be in a newly-created HTML file named test-xslt-perl-script-output.html.

Hopefully soon I'll learn XSLT well enough to figure out how to extract the node text, which is usually the most interesting part of a VUE: Visual Understanding Environment concept map.

Click this link to display the blog comment thread hosted at the Eryss.Com Forum:

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Links: Amazing 3D graphics inside a web browser
Thursday, July 7th, 2016
05:26:30 GMT


Last edited 3:48 AM EDT.

Wow, I've been so out of touch with what web browsers are capable of these days! I guess if I were more of a gamer, I wouldn't have been so behind the times for so long. :-)

I'm also pleasantly surprised at how much of the below works fine (or OK, with some imperfections) in Puppy Linux, now that I have a nice, mostly uncrashy laptop with a decent amount of RAM - my Toughbook CF-C1 with 8 GB of RAM which I got on eBay for less than $200.

I'm also using Lighthouse 64 Puppy Linux 6.02 Beta 2 and the web browser Pale Moon, version 26.2.2 (x64).

Not everything I tried works, but the below mostly do. Things do get a bit slow and choppy sometimes, but, many things are remarkably smooth, especially if I don't have a lot of other web browser tabs open. And pretty much everything that works at all runs much better than how Second Life runs on my other Toughbook CF-C1 with Windows 7 and only 4 GB of RAM.

I'm extremely impressed!!!!!!!

Warning: If you have a laptop or other battery-powered device, I don't recommend visiting the below pages unless you have your device plugged in, because I'm guessing the software on those pages might quickly use up your battery power.

(Addition, 3:31 AM EDT. Also, watch out for possible overheating. About a half hour ago, I accidentally overheated and crashed my laptop with the "geometry / terrain / fog" three.js example. Before this, the last time I had a crash from overheating was June 14th.)


Oimo.js Demo

Dungeon demo from

Quarto game from

Block game from

Livecodelab from

Not all of these work on my system:

three.js Examples from

I don't even know exactly how all these things were made yet, but if it was just (or primarily) JavaScript, I'm stunned. :-D

This definitely could make a lot of my (or anyone's) projects and websites more exciting. :-D

It would be so fun to have 3D graphics in Astroblahhh Desktop, the Eryss astrology software, or a CMS (content management system, for lack of a better term), or a music service, or my daydream of a JavaScript port of the concept mapping software VUE: Visual Understanding Environment, or a 3D browser for graph databases like OrientDB or Neo4j. And tons of other things.

Wow... :-D

Click this link to display the blog comment thread hosted at the Eryss.Com Forum:

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Now I'm 35; daydreams and plans for the future
Monday, July 4th, 2016
21:48:11 GMT


Yesterday (July 3rd) was my birthday. So now, I'm 35, and I still haven't really gotten my life together yet. :-)

But fortunately, I already mourned the possibly irretrievable loss of my youth a while back, so, the transition from 34 to 35 isn't a very big deal to me.

And who knows what science, technology and medicine might someday achieve?

Except actually, I think I'd rather reincarnate as a male supermodel than live forever in my current body. :-) So, even if future scientific advances can't save me from old age and death, fine with me, I guess. :-)

Even though I haven't accomplished as much as I would have liked to with my life thus far, I'm glad I at least managed to do as much as I did, despite all my limitations, such as my severe sleep issues, and the various forms of oppression I and my family have had to deal with, some of which I described back in Nov. 2015 on my Self-Help page.

My Puppy Linux Setup Kit, Astroblahhh Desktop, the Eryss astrology software, and the WordsPlatz blogging software are definitely still pretty far from as refined and perfected as I hope they someday will be.

But, hopefully I'm well on my way to creating versions of them (and other things) which will be good enough that I'll hopefully be able to share them without having to feel so sheepish about how flawed they are. :-)

Here's a summary of what I consider my most important not-yet-finished projects, most of which have taken much longer than expected.

Roughly in order of priority, and the possible future chronological order I'm going to work on them:

  1. My temporary top priority is to figure out how to use XSLT to convert my VUE: Visual Understanding Environment concept map data into other formats, so it won't be (somewhat) locked into VUE anymore.

    Lately, I've been relying more on NoteCase and VUE instead of Astroblahhh Desktop, since Astroblahhh Desktop has been in partially-updated disarray ever since last September, and I've been reluctant to even use the VirtualBoxed Windows version of Astroblahhh Desktop anymore, and also have avoided even using the stable-enough Astroblahhh Desktop 2.4, mostly because it needs to run on a web server because I haven't added PHP-GTK and SQLite database capabilities to it yet.

    Astroblahhh Desktop already had some NoteCase-related import capabilities since years ago, though maybe not in a released version until 2015. But nothing related to VUE, yet.

  2. My usual top priority since last January has been Apollia's Puppy Linux Setup Kit 2.0, or APSK 2.0 for short.

    Though I still haven't done a huge amount of work on APSK ever since mid-April. In May and June, my temporary top priorities were to get a new (to me) used laptop on eBay with much more RAM than my former usual laptop, and good batteries, and get it working nicely. That's largely done now - but, that was done mostly by adding new installers to the old version of APSK, not by enhancing the new version of APSK.

    The old APSK is way too cumbersome and annoying to add new stuff to, and it really needs to be redesigned. That was the best I could do at the time I wrote all that stuff (especially since I was in a hurry), but I think I learned a lot since then (Sept. 2014), and can do much better now.

    Another problem is, since I was using a desktop computer instead of a laptop when I built the old APSK, I didn't give as much thought as I should have to making it efficient, instead of redundantly loading a lot of probably mostly unneeded stuff for every single different setup kit script that gets run.

    I'm hoping to build the renovated APSK out of a lot more small, modular, replaceable, separable pieces which could also easily be used with unrelated things.

    For example, my Navig Perl script already can use my Fashionizer library written in Bash. (It can, even though maybe it shouldn't, for efficiency's sake. :-) Even the Fashionizer, which I made as recently as maybe January, February, and/or March of 2016, should probably be split into even smaller separate parts.)

    And I also want to make it possible to customize APSK's behavior by simply editing Hjson text files rather than scripts. (Of course, it will still be possible to edit scripts, but hopefully less necessary.)

    Those Hjson text files will be converted to plain JSON, then the data from them will be read using the marvelous software jq, which is a command-line JSON processor.

    I'm also trying make it far easier to add, relocate, or remove files and scripts in Puppy Setup Kit repos, and make it more easily possible to work with numerous different repos scattered across numerous different disks, without having to waste so much time and energy editing setup kit scripts just to change various things' filepaths simply so the setup kit can find them.

    I accomplished a lot toward all these goals earlier this year, and it really seems like it's all going to work... someday. :-) And I learned a lot from forcing myself to write Bash scripts instead of Perl scripts.

    But I'm actually pretty close to just giving in to the temptation to make PHP a required part of the Puppy Setup Kit, because no matter how much I've tried to force myself to get used to other languages, PHP is still easiest for me and still my favorite.

    Or, I guess I could use PHP to make some working prototypes more quickly and easily than I'm capable of doing with Bash, Perl, or anything else. Then, once I've figured out how to make things work with PHP, maybe I could translate everything into Bash and/or Perl? Or maybe I should just stick with PHP?

    I don't know, but another thing I want is for it to be possible for anyone to use whatever languages they want with the setup kit.

    So, if anyone (like me) wants to use an odd mixture of Bash, Perl, and PHP scripts, or even languages I usually try to avoid, like Python - I want it to be allowed. :-)

    And I even want to keep all old-style Puppy Setup Kit scripts working, but at the very least copy them into the RAM disk and launch them from there instead of a physical disk, to avoid making physical disks do unnecessary work.

  3. Astroblahhh Desktop 2.8 - The relatively modest goal of this version of Astroblahhh Desktop will be to update everything to use Unicode text, so it will finally be possible to store Unicode characters without any problems, instead of just the accidental illusion of no problems.

  4. Astroblahhh Desktop 3.0 - The version of Astroblahhh Desktop which will hopefully be a hybrid web app + command line app + PHP-GTK app. Or at least a web + PHP-GTK app.

    And, now that I finally arrived at the ideas of using Hjson and jq with my Puppy Setup Kit, I think they mght also be useful with Astroblahhh Desktop, and also with my notion of somehow making my Astroblahhh Desktop data compatible with graph databases such as OrientDB or Neo4j, which are far more flexible than MySQL and SQLite.

    But, at the same time, I somehow want to avoid losing compatibility with MySQL and SQLite. If this is too difficult, though, I'll probably just make my graph DB stuff separate from Astroblahhh Desktop, and hopefully give Astroblahhh Desktop some excellent Hjson export capabilities.

With all my past experience with how long my projects (except the tiniest ones) have tended to take, I'm definitely very aware that the above might take quite a bit longer to complete than I hope.

But, I'm going to keep at it anyway. :-) I recently read an amusing blog post that basically said, programmers are the ultimate optimists.

Surprisingly, even for me, that seems true to a great extent, at least with programming. Not so much with anything else - which is why I was surprised to realize that, wow, despite my cynicism about many other things in life, I really have overall tended to be incredibly optimistic about my programming. :-D

Though far from 100% optimistic - which is actually good in various ways, since for one thing, it leaves room for some pleasant surprises when sometimes I get better results than my expectations. (Even though my expectations tend to be quite tentative.)

But I definitely have some logical reasons for optimism - since a lot of the stuff I've already made (both released or not) is remarkably useful, despite its lack of polish.

For example, my blogging software WordsPlatz has served me pretty well with hardly any changes since 2008 or 2009.

And sometimes I get lucky and actually manage to finish things much sooner than I not-altogether-optimistically feared. I feel like I got very lucky with my efforts to get cozy with the GNU Emacs editor, and my effort to modify the multifiles Emacs add-on, which resulted in multifiles-apmod.el. That all only took around two months, but I was bracing myself to spend even more time on them if I really had to.

And GNU Emacs, multifiles-apmod.el, and numerous other great Emacs add-ons have all turned out to be even more wonderful and helpful than I imagined before I started working with them. :-)

So, there's definitely not much chance I'm going to give up on my projects out of a sulky lack of confidence in my abilities. I'm well-aware my work hasn't been flawless, but, I've accomplished much more than I originally had any idea I was capable of.

So, I now feel a lot more sure that regardless of my projects' difficulty, it's quite possibly just a matter of time and enough effort before I finally succeed at most or all of them.

I wish I knew how close I am to having spent at least 10,000 hours doing and studying programming (and related subjects). 10,000 hours is the number mentioned in the intriguing book Outliers by Malcolm Gladwell as being the roughly estimated point at which people might have put in enough effort to finally achieve world-class talent.

In any case, I don't think I've achieved world-class talent (yet?). :-) But doubtless I'm a lot closer than I would be if my severe sleep issues hadn't stopped me from being capable of enduring a normal job (which probably wouldn't have been in the field of programming), and I've definitely improved a lot over all these years.

I shudder to think of how much worse my life might have turned out if I had been more capable of forcing myself to stick with my almost minimum-wage part-time job as a copy editor/typist at a small local newspaper (which I barely endured from Nov. 2002 to Jan. 2004), or any other time-wasting probably minimum wage job that would have gotten in the way of me cultivating more valuable skills.

And now, here's a list of some less highly-prioritized projects or daydreams of mine.

  1. New edition(s) of my Eryss astrology software. Already almost 5 years have gone by since I first created the AutoHotkey (AHK) edition of Eryss (which was not yet named that) in Oct. 2011.

    It's so close to releaseable that sometime, I probably ought to just temporarily put everything else aside (despite the fact that all the other stuff seems probably more important), polish it up a little and finally release it.

    Even more than the AHK version, I want a PHP-GTK version, too.

    Or even a hybrid web app + command line app + PHP-GTK version. Actually, since Eryss will probably be a smaller, easier project than Astroblahhh Desktop, and I also want to make a web app + command line app + PHP-GTK version of Astroblahhh Desktop, I might be able to quickly get a better idea of how to build Astroblahhh Desktop by working on Eryss first.

    Maybe that's sufficient justification for me to work on Eryss first?

  2. Sometime, I'd also like to make my own CMS - content management system, for lack of a better term.

    That would make it much easier to update and improve all my websites. I could finally more easily make my websites nicer, more useful, more organized and easily searched, instead of messy, lazy, and cluttered.

    And then, once I also hopefully get some truly great, useful, easy to install and use projects finally completed, perhaps freelance work and/or purchases (if/when I finally get around to creating some sort of products to sell) and/or donations and/or microdonations will just flow to me without me having to make any effort to somehow market myself or seek work?

  3. I guess a smaller, more realistic project than an entire CMS would probably be to just add a few things to my already-existing blogging software WordsPlatz.

    Even just getting rid of the redundant-looking section of Blog Archive links at the upper right and lower right would probably be an improvement.

    I'd also like to automate the addition of a comment section to the bottom of all of my blog posts - an iframe containing each blog post's official comment thread at the Eryss.Com Forum. But, on the other hand, I'm not sure doing anything to popularize either of my forums is the best idea at the moment, since even the nicest, politest forums I ever posted to always tended to stress me out due to my social anxiety.

    I still intend to keep my forums around forever, but I probably am going to continue largely avoiding them (and any other forums I'm tempted to post to) until I finish more of my top projects.

  4. Ohhh, and I almost forgot again about my daydream of building a streaming music interface. Probably most of my other projects are more important, but, I love music, so I guess there's always a chance I might really do this. It will probably involve the MusicBrainz music metadata database somehow, and/or MediaNet's Open API.

And here are some things I've scarcely even started working on yet, but which might become higher priorities at some point.

I could go on and on, but, that's already a ton of stuff. :-)

So, I definitely have plenty to keep me busy. And who knows what random cool new (or new to me) things I'll hear about in the future which might inspire me to work on totally different things instead.

Since this blog post is mostly about software-related goals and daydreams, I didn't even mention any of my other even more huge goals, like "End world poverty".

But, I hope somehow all of the above will somehow help with that too.

Even the more frivolous-sounding projects like a streaming music interface and the Eryss astrology software would/will doubtless help me become a better programmer and make it possible for me to do a better job with all of my other projects too.

And music definitely usually helps my productivity and ability to concentrate.

And, as explained in this old blog post, astrology (among various other things) played a significant part in me becoming more agnostic and hopeful, and less depressed, close-minded and cynical. So, maybe that could help other people too, even though astrology is usually considered a frivolous subject.

And I'm still very curious about whether any part of astrology can be proven to have objective validity, so I'll be quite happy if my software will help scientists, skeptics, and any other curious people to investigate astrology.

Thanks again to everyone for all your kind support of any kind!

I hope this blog post was interesting, thought-provoking, and educational, and that I can get at least some of the above done well in a reasonable amount of time, so hopefully I'll have many more (and hopefully increasingly high-quality) things to share with you all in the future.

Also, Happy Independence Day!

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Perl Script: Apollia's Primitive Invoice Generator v2.0
Saturday, July 2nd, 2016
04:32:44 GMT


An old, messily-coded, yet still useful Perl script. Generates an HTML page containing a list of tasks billed by the hour, and/or a list of projects with a fixed price. Automatically totals up the amount due.

Apollia's Primitive Invoice Generator

Even though this script is version 2.0, I never released it to the world before. I first wrote it maybe over a decade ago, and was recently reminded of its existence by a feature request from the person I made it for.

The code is really messy, and in retrospect, definitely not the best way to do things. But, it works well enough anyway, and the person I made it for has been happy with it for all these years.

So, this script is proof that you don't have to write the most perfect, elegant code to get something done adequately.

But, if I had to write it again from scratch, I'd probably do things much differently. I'd probably much rather write it in PHP instead of Perl, since despite much struggling with Perl, I'm still much more comfortable with PHP than Perl and probably most other languages.

Perhaps I'd make it possible to input data via a spreadsheet, or maybe an Hjson text file, or either one. And then maybe somehow convert the input to XML, and transform it into a nice-looking HTML page using XSLT. :-)

Or maybe not. I don't really feel like thinking it through very carefully, because it's tiresome to dwell on such boring things as writing invoice software.

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Wishing I had a non-Java version of VUE
Friday, July 1st, 2016
18:33:28 GMT


Probably my least favorite thing about the wonderful concept mapping software VUE: Visual Understanding Environment is the fact that it's Java software.

Because of Java's reputation for security problems, I don't even like to install Java on my computers outside of a VirtualBox. And even without using VirtualBox, Java uses up a big chunk of memory, which I always like to conserve, even though now I have a laptop with 8 GB of RAM.

So, I've been daydreaming about somehow porting VUE away from Java and into something else. Into what, exactly? Anything I like more than Java!

But in particular, I was thinking JavaScript might be especially nice. :-) (Yes, I am aware that Java and JavaScript aren't related, despite the similar names. :-) )

I think it would be great to be able to run VUE in most any web browser on any platform, without having to use the Java applet version of VUE.

A few years ago, I was able to use the JavaScript library Raphaël to randomly generate very VUE-like graphics for my rather cumbersomely-named Astroblahhh.Com Simple Generator of Many VUE Nodes with Random Colors and Fonts v1.0. :-)

And perhaps existing VUE concept map files - which are in XML format - could be read using the JavaScript software Saxon-CE, which makes it possible for web browsers to use XSLT 2.0, a language which is useful for processing and drastically transforming XML data.

I'm guessing Saxon-CE might also help make it possible to output concept map files which would be perfectly compatible with the Java version of VUE.

And perhaps saving that concept map data would be (or could be made) as simple as using TiddlyWiki's save feature.

Having a JavaScript version of VUE would also make it tremendously easier to somehow build a VUE concept-map-style viewer or editor for Astroblahhh Desktop data, or for other web apps, like maybe the not-yet-existing CMS - content management system, for lack of a better term - of my dreams. :-)

And maybe it could also be somehow made into a viewer and editor for OrientDB and Neo4j graph databases.

I don't know if I'll ever really go to the trouble to try to build a JavaScript port of VUE, or any other port of VUE. But, even if I don't ever get around to it, I think it might be quite worthwhile and useful for someone(s) to do.

So, just thought I'd share the ideas.

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Links: Saxon-CE and XSLT 2.0 demo - Knight's Tour
Friday, July 1st, 2016
07:29:24 GMT


Lately, I returned yet again to reading about XML (Extensible Markup Language) and XSLT (Extensible Stylesheet Language Transformations).

Mostly because I'm interested in seeing if I can convert info stored in VUE: Visual Understanding Environment concept map files (which are XML files) into radically different formats using XSLT, which is reputed to be good at drastic transformations of XML data.

Yesterday, I stumbled across Saxon-CE (Client Edition), which is "Saxonica's implementation of XSLT 2.0 for use on web browsers."

I only just started looking at Saxon-CE, so, I haven't yet done anything clever with Saxon-CE myself.

But, I was quite impressed by this demo I found via the Saxon-CE manual:

Knight's Tour


Source Code

I had no idea XSLT could be used for anything like that. :-D

That makes me even more eager than I already was to learn more about XSLT. :-)

Maybe my daydream from last January (and long before that), of being able to edit actual source code with VUE, really could come true. :-)

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Bash Script: Relative Landmark
Friday, July 1st, 2016
03:19:52 GMT


I released a small but useful enough Bash script on GitHub:

Relative Landmark

Basically, it just opens a folder. I use it as a substitute for relative symlinks, since symlinks have some annoying side effects I usually don't want.

Why do I call it "Relative Landmark" instead of something like "Relative Folder Opener"? It's shorter, and also, this script reminds me of the landmark inventory items in the virtual world game Second Life, which you can double-click on to instantly teleport to a location.

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Accidentally ruined Windows 10 on my Toughbook CF-C1
Monday, June 27th, 2016
01:40:37 GMT

Puppy Linux

My Toughbook CF-C1 with 8 GB of RAM came with a 223.6 GiB (240 GB) hard disk with Windows 10 already installed on it.

In the past, I used to be able to use the GParted disk manager software in Puppy Linux to resize Windows partitions without much trouble.

Upon rebooting, Windows XP used to notice the partition's size change, but all Windows XP did was complain a bit, then did a one-time disk check, then continued normally, and never bothered me again.

In contrast - earlier today, Windows 10 refused to even start, and told me I need a recovery disk or something.

Just another reason Windows 10 is inferior to Windows XP.

I didn't want Windows 10 badly enough to even bother to try to get Windows 10 to work again. (If it was Windows 7, I would have been a little more tempted.)

So, I solved the problem in an even better way - I simply got rid of Windows 10 completely by reformatting my entire hard disk as an ext2 filesystem volume.

So now, my Toughbook CF-C1 with 8 GB of RAM is exclusively a GNU/Linux computer! :-)

Even with all the Windows partitions deleted from the hard disk, I can still boot my CF-C1 using my bootable Flash drive with Lighthouse 64 Puppy Linux 6.02 Beta 2. :-)

I'm actually not very eager to use the internal hard disk for anything important, after all the bad experiences I've had with broken down computers with important not-yet-backed up data stuck on their internal hard disks.

But even I have to admit it's a bit annoying to have to have a Flash drive or any other sort of USB device constantly attached to a laptop.

So, for that reason, I've actually been considering using the internal hard disk a bit. Hopefully I'll be able to make reasonably frequent, easy backups to external disks using the command line tool rsync, or something.

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑
Vitamin C seems to help my possible gum disease!
Tuesday, June 21st, 2016
10:07:20 GMT


(Since this post is about health-related topics, here's my site's disclaimer.

Also, even though it's probably obvious, I should probably point out I'm not a health care professional of any kind - just a layperson who sometimes takes an interest in the topic of health.)

Several months ago, I was increasingly worried about my teeth. I had some sore spots which frequently (or sometimes) bled when I flossed around them, and using an oral irrigator on one of those spots was also often very painful.

However, sometimes, the soreness totally went away, so I didn't know what to make of that.

But I had so much pain at times that I was afraid I had at least one cavity.

So, in February, I finally saw the dentist. It turned out I had several very small cavities, including near my worst sore spot.

But the cavities were so small that when I got them filled in March, I didn't even need to be numbed with novocaine!

Nonetheless, I expected that after that, at least my worst sore spot would hopefully go away.

But, to my surprise, it remained (though it continued to be sporadic, just as before). Even despite my usually assiduous (but gentle) brushing, flossing, and using an oral irrigator soon after every meal or tea.

On Medicaid, I only get 1 free checkup every 6 months, so I actually didn't go back to the dentist to try to find out what was still wrong.

But I remembered that back in 2013, a hygienist had told me I'm starting to get gum disease. However, no one ever brought that up again on subsequent visits to the dentist, so I assumed maybe my gum disease had gone away by then, thanks to all my brushing, flossing, and irrigating.

But, since my soreness wasn't solved by my fillings, I had to reconsider the possibility that maybe I still had gum disease.

I'm not 100% sure it's gum disease since I didn't ask my dentist recently, but, from what I read on the web, I think it's quite possible.

Happily, I found out that Vitamin C might be a highly effective way of dealing with gum disease. Here's the web page that inspired me to try it: - I cured my aggressive gum disease!

So, I got a big Rite-Aid brand bottle of 500 mg Vitamin C non-chewable tablets for a remarkably low price, under $10 I think. (And it was actually buy 1, get 1 free!)

And, happily, it really seems to work! Ever since I started taking it a couple months ago, I usually don't have soreness at all now.

And I'm pretty sure it's the Vitamin C which is helping me, because the soreness comes back within a day if I stop taking it.

First, I tried taking just one 500mg Vitamin C, which seemed to help a little. Then, I tried taking more at different times in my so-called schedule.

I figured out that for me, it seems to work best if I take 2 Vitamin C's soon after I wake up.

I also often take a Nature Made "Stress B" vitamin (which also contains Vitamin C and zinc) sometime around either lunch or dinner, but I can get by with just the 2 Vitamin C's soon after I wake up.

Once, I tried taking 4 Vitamin C's in a single day, which seemed to do me no harm, but, since 2 work well enough, and I'd rather save money, I just take 2 Vitamin C's per day now, plus usually the Nature Made "Stress B".

Interestingly, I read that the famous scientist Linus Pauling believed that it's good to take large doses of Vitamin C.

However, some skeptics consider that quackery.

I'm not sure what to think. But I think I'm maybe more inclined to believe Linus Pauling, the Nobel prize winner, than his critics, since I don't know if any of his critics are equally renowned.

And from my own experience, it seems like Vitamin C has really helped me.

But I'm not really qualified to judge.

Anyway, just thought I'd share my thoughts and experiences, in case it might help others.

Astonishingly, one page I read said that half of American adults suffer from periodontal disease - with even higher percentages in some populations: - CDC: Half of American Adults Have Periodontal Disease

I wonder what is the cause of that? Is it possible that all these gum disease sufferers are simply deficient in Vitamin C?

No idea, but I sure hope something can be done to cure gum disease. Even Vitamin C doesn't seem like a perfect cure, because I have to keep taking it or my soreness comes back.

But, happily, it definitely seems to help me more than just brushing, flossing, and using an oral irrigator alone without taking Vitamin C.

It seems to work so well for me that I can forget I even (possibly) have gum disease. And that's good enough for me. :-)

   ▲ Top  ▼ Bottom  △ TOC   ↓ Down   Up ↑

   ▲ Top  ▼ Bottom  △ TOC   Up ↑
Link: Dogs and computers - not always the best combination
Monday, June 20th, 2016
02:36:59 GMT


It looks like Dogbert and the designers of Windows and MacOS might have similar design philosophies. :-)

Dilbert Comic - March 24, 2015

Fortunately, Puppy Linux was not designed by someone like Dogbert. :-)

But perhaps someone should create a Dogbert Linux just for laughs. :-)

   ▲ Top  ▼ Bottom  △ TOC   Up ↑