LHPup.org is down, but Lighthouse 64 Puppy Linux 6.02 Beta 2 is still available in Archive.org |
Friday, July 6th, 2018 03:56:04 GMT |
The Lighthouse 64 Puppy Linux website seems to be down. I first noticed this around perhaps June 22nd:
I was hoping the website would soon return, but it hasn't so far. And now, that page redirects to a domain name seller's website.
In the box at the right side of the page that says "DOWNLOAD OPTIONS", click the "SHOW ALL" link near the bottom to show a list of all available files. The file to download is 257.0 M and is named:
(There's also the larger Mariner edition ISO, but I never tried that, nor probably most of the other files available there.)
The file's MD5 checksum exists in Archive.org. (Close the Archive.org toolbar at the top of the page to see it):
Here's where you can get Lighthouse 64 Puppy Linux 6.02 Beta 2's official DevX SFS file of development tools:
In the box at the right side of the page that says "DOWNLOAD OPTIONS", click the "SHOW ALL" link near the bottom to show a list of all available files. The file to download is 383.3 M and is named:
But, when it is finished, it will be possible to use it to set up Lighthouse 64 Puppy Linux 6.02 Beta 2.
But, fortunately, I can use my modified version of VUE: Visual Understanding Environment to create some documentation, maybe or maybe not similar to this, which will probably help me get (and share) a better idea of what the heck I was doing and what I should do next.
I'm not sure how long LHPup.org has been down, but, here's the most recent version of that page in Archive.org:
From April 18, 2018 - Archive.org
I don't know what happened, and the official forum thread about Lighthouse 64 Puppy Linux 6.02 Beta 2 hasn't been posted to since 2015:
From Puppy Linux Discussion Forum
I hope the person who owned LHPup.org is OK. Huge thanks to him or her for creating the Lighthouse 64 variant of Puppy Linux - it's still the operating system I use most frequently.
The Lighthouse 64 Puppy Linux 6.02 Beta 2 ISO and DevX SFS file of development tools are both available at Archive.org:
The file's SHA-512 checksum:
The file's SHA-512 checksum:
I still haven't finished renovating my (Apollia's) Puppy Linux Setup Kit (APSK).
I have no plans to even trying to switch to a newer Puppy Linux (or any other GNU/Linux) until I make more progress with APSK, which I will probably gradually release here:
The renovated APSK is still pretty incomplete, and after being preoccupied with other things for about a month (mainly because I mostly quit GitHub and had to figure out how to get by without it), I feel a bit lost and disoriented now that I'm trying to return to working on APSK.
Some of the best currently-existing documentation of important new features in the renovated version of APSK is in this repo:
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
How to make Saxon/C v1.1.0 into a PHP extension for PHP 5.6.13 in Lucid Puppy Linux 5.2.8 |
Monday, January 29th, 2018 23:10:10 GMT |
Today I found out Saxon/C v1.1.0 was released Sept. 27, 2017.
In it, "APIs are available to run XSLT 3.0, XQuery 3.1, XPath 3.1 and Schema Validation from C/C++ or PHP applications."
I made those scripts because I found I can't use Schematron unless I use Saxon/C v1.0.2, or one of the commercial editions of Saxon/C v1.1.0.)
So, for most of the details, see my previous blog post:
After that, all I had to do was follow the rest of my previous blog post's instructions!
Here's an article about various exciting new improvements in XSLT 3.0:
(Feb. 14, 2017, from XML.com)
The ability to easily convert between JSON and XML, making it possible to transform JSON using XSLT, is so exciting that even I (who am often reluctant to switch to newer versions of software) was happy to upgrade to Saxon/C v1.1.0.
(Addition, Feb. 17, 2018, 9:32 PM EST. I made some Bash scripts which make it easy to switch between the Saxon/C v1.0.2 PHP module and Saxon/C v1.1.0 PHP module:
Fortunately, the process of making Saxon/C v1.1.0 into a PHP extension was almost the same as it was for Saxon/C v1.0.2.
The 2 differences were:
./configure --enable-saxon
and editing the Makefile the way my previous blog post describes, I edited the Makefile a bit more, just to replace all instances of the text "php7" with "php5".
I should note that I accomplished this while running Lucid Puppy Linux 5.2.8 version 004 in a VirtualBox, and I haven't yet tried it in a non-virtual system. But I'm guessing it will work in a non-virtual system too.
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
How to compile Pale Moon 27.4.1 from source code in Lighthouse 64 Puppy Linux 6.02 Beta 2 |
Monday, July 31st, 2017 11:35:28 GMT |
Several days ago, after less than an hour of trying, I successfully compiled my favorite web browser, Pale Moon, from source code, in Lighthouse 64 Puppy Linux 6.02 Beta 2!
The reason I did that was because I thought upgrading my web browser might solve my issues with YouTube's HTML5 player not playing audio. (I was mistaken, but, I finally found a solution!)
And when I tried to simply download the latest precompiled version of Pale Moon for Linux, 27.4.0, it wouldn't run on my system because of this error. (Which also happened with at least one older version many months ago):
So, my only remaining option was to try to build Pale Moon from source code.
Happily, it was a lot easier to build than I thought it might be. That was the first time I ever attempted to build a web browser from source code, and I was prepared to spend hours on it if I had to.
But, to my own surprise, it only took me about 45 minutes to figure out, thanks to various helpful web pages. And it will hopefully take much less time in the future, now that I've written this blog post, which even I will be able to refer to someday when I've forgotten most of the below details.
And I was only able to build it there - a location inside my Puppy Linux RAM disk - because my current computer has a huge amount of RAM - 32 GB, which gives me a 16 GB Puppy Linux RAM disk.
So far, I wasn't able to figure out how to make the ./mach command build Pale Moon someplace other than
If you need a copy of the DevX SFS file, you can get it from here:
So, I downloaded autoconf-2.13.tar.gz from here:
make
new2dir make install
I put "new2dir make install" instead of "make install" because I wanted to make Puppy Linux .pet and .sfs installer files for Autoconf 2.13, so I hopefully wouldn't have to repeat this process again.
That file's size is about 230 MB.
If you don't have as much RAM as I do, you might want to unzip that folder to someplace on a physical disk.
I copied and pasted the example .mozconfig file from the official instructions for how to build Pale Moon in Linux: https://developer.palemoon.org/Developer_Guide:Build_Instructions/Pale_Moon/Linux
But, I found I couldn't use exactly that, because the build got interrupted because I didn't have PulseAudio. And I much preferred to avoid installing PulseAudio because of its association with the infamous systemd.
Here's my final .mozconfig file, which you should place inside the "Pale-Moon-27.4_RelBranch" folder before the next step:
As I mentioned before, I don't know how to do that yet - sorry.
So, the rest of these instructions will simply assume you have enough RAM, as I did.
Then, I just had to wait a while - 801 seconds, or 13.35 minutes. However, I was using a pretty good 2.8 GHz computer with 8 cores. So it might take more or less time depending on what you're using.
Surprisingly, this Mac Pro can run Lighthouse 64 Puppy Linux 6.02 Beta 2, which makes it tremendously nicer for me to use than Mac OS X Lion does.
This was much faster to finish than the build, and resulted in a tarchive quite similar to the official precompiled Pale Moon tarchives.
That tarchive was in the folder
In my system, by default, my Pale Moon profile is located at:
To back it up, I close Pale Moon, and wait a little while to try to make sure Pale Moon is finished writing any files to that folder.
Then I zip the folder, and put the zip file somewhere on a physical disk.
I assume backing up the folder simply by copying the folder to a physical disk might also work, though I haven't tried that lately.
That will launch Pale Moon 27.4.1 with your usual old Pale Moon profile, so, you hopefully won't have to reinstall your add-ons and other customizations from scratch.
I upgraded from Pale Moon 26.2.2, and so far, I haven't noticed any problems with any of my old add-ons or anything else, though I haven't checked thoroughly.
And while you're there, you can add a lot of other handy search engines.
./palemoon: /lib/libc.so.6: version `GLIBC_2.17' not found (required by ./palemoon)
Since the build process was a bit more complicated than just ./configure; make; make install
, and I thought I might need to know how to do it again someday, and that others might like to know too, I decided to document it.
However, the below instructions will probably have to be modified if you don't have enough RAM, because the final /home/root/pmbuild
folder on my system ended up being over 3 GB, or 3264 M, to be more exact.
/home/root/pmbuild
. I'm guessing the best place to look for answers would be the official Pale Moon forum.
I also haven't tried these instructions in any other Puppy Linux, nor any other GNU/Linux. So, I don't know what changes might need to be made for other Puppies or GNU/Linuxes.
./configure
mv /usr/bin/autoconf /usr/bin/autoconf269
ln /usr/local/bin/autoconf /usr/local/bin/autoconf213
Fortunately, this forum thread gave me a clue of how stop Pale Moon from trying to use PulseAudio.
./mach build
I'm actually using a used Mac Pro from 2008, which looks like a giant cheese grater. :-) And I actually like it a lot, even though I usually prefer to avoid Apple products.
The ./mach build command resulted in a large folder at /home/root/pmbuild/
. I forgot to check its size before running the next step, but after the next step, it ended up being over 3 GB! 3264 M, to be more exact.
./mach package
/home/root/pmbuild/dist/
and named "palemoon-27.4.1.linux-x86_64.tar.bz2".
/root/.moonchild productions
I'm very happy with my Pale Moon upgrade so far. It is noticeably faster than the old version I contentedly used for probably over a year, Pale Moon 26.2.2.
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
How to make YouTube HTML5 audio work with Lighthouse 64 Puppy Linux 6.02 Beta 2 and a Sewell USB Sound Box |
Monday, July 31st, 2017 08:40:30 GMT |
I finally found a way to make YouTube's HTML5 player play audio while I'm using my Sewell USB Sound Box with Lighthouse 64 Puppy Linux 6.02 Beta.
Previously, I simply used the YouTube Flash Video Player web browser add-on instead of struggling to make the HTML5 player work. But, that add-on recently stopped working for me in the Pale Moon web browser. I tried upgrading Pale Moon, but that didn't fix the audio either.
But luckily, after a few days, I stumbled across this helpful forum thread. Post #10 contained all the info I needed. Thanks to all the authors of that thread!
Here's what I did:
/etc/asound.conf
in a text editor. (You might want to make a backup copy of the asound.conf file in case anything goes wrong.)
/etc/asound.conf
with the settings from the above-mentioned Post #10:
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
How to make Saxon/C v1.0.2 into a PHP extension for PHP 5.6.13 in Lucid Puppy Linux 5.2.8 |
Monday, September 19th, 2016 19:15:31 GMT |
I wanted to be able to use XSLT 2.0 with PHP (my favorite programming language), so I figured out how to compile Saxon/C into a PHP extension.
According to Saxon/C's official home page, Saxon/C provides "XML document processing for the C/C++/PHP platforms", and "In particular, Saxon/C provides processing in XSLT, XQuery and XPath, and Schema validation".
I still didn't figure out how to make all of the Saxon/C example PHP scripts work, but, 3 out of 4 work fine for me.
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.
(Addition, Jan. 29, 2018, 6:02 PM EST. I found out today that one old version of PHP that definitely doesn't work with this blog post's instructions is PHP 5.2.17. So, I don't know if it's possible to get Saxon/C to work with such an old version of PHP.)
Here's how I made Saxon/C into a PHP extension.
You can press Enter on your keyboard to accept the default path, or type in a different path. If all goes well, a list of files that are being installed will be printed, and in the end, it will say:
There's a "readme.md" file you can read if you want.
There's also a "php-library-module" folder, containing "saxon.so", an already-built PHP extension. It might work if you happen to be using the version of PHP the Saxon/C home page says that extension was built for - PHP 5.5.9. But, I tried it with PHP 5.6.13, and it didn't work for me.
./configure --enable-saxon
Originally, running "make" didn't succeed for me because I had Java installed in an unconventional place, and "make" needed two Java-related files which "make" couldn't find: "jni.h" and "jni_md.h" (and probably others as well).
"make" also needed a file from somewhere in the Saxon-HEC1.0.2 folder.
In "Makefile", find line 31, which looks like this:
Change that to something like this (but customize it with the paths where you have Java, and where you put the Saxon-HEC1.0.2 folder):
Otherwise, without that symlink, "make" will eventually fail with this error:
After "make" succeeds, the compiled "saxon.so" PHP extension will be in the "modules" folder.
For me, that folder was:
In the extensions section of your "php.ini" file, put a line like this:
In my system, the "rt" folder was in this folder, but it will probably be elsewhere on your system:
You can even run the phpinfo(); command from a terminal window with this command line:
Also, I think I ran into Bug #2677 - Saxon/C PHP API getErrorMessage does not report useful error.
However, more detailed error messages are readable in my Hiawatha web server logs, which, on my system, are located at:
Even with /usr/lib64/libsaxonhec.so (another other paths) symlinked to my system's location for libsaxonhec.so (/root/apbin/Saxon-HEC/Saxonica/Saxon-HEC1.0.2/libsaxonhec.so), I kept getting Internal Server Errors, and Hiawatha's log said, "Unable to load /usr/lib64/libsaxonhec." and "Error: : No such file or directory".
I think this might be related to Bug #2907 - php saxon.so is looking for libsaxonhec.so without so extension in both /usr/lib64 and /usr/lib and failing.
Then, Saxon/C works fine for me.
Then, I don't even need to add anything to my PHP scripts for them to just work.
I made a couple scripts to make it easier to view PHP script output in your web browser without having to use a web server:
I ran into a few problems trying to make Saxon/C into a PHP extension on my Lucid Puppy Linux 5.2.8 version 004 system, but, fortunately, I was able to solve them.
To compile software from scratch in Puppy Linux, it's often necessary (or convenient) to use the DevX file of development tools for your Puppy Linux.
Here's a list of required other software. Perhaps slightly different versions would also work, but these are exactly what I used.
The below instructions assume you already have PHP 5.6.13 and Java 1.8.0_51 installed.
./libsaxon-HEC-setup-v1.0.2
That program will then give you a prompt that looks something like this:
Enter destination path[/root/00-ApWorkspace/Saxonica/Saxon-HEC1.0.2]:
Saxon-HEC 1.0.2 has been successfully installed on your computer.
phpize
So, to let "make" know where to find those files, I had to edit the "Makefile" in a text editor.
CPPFLAGS = -DHAVE_CONFIG_H
CPPFLAGS = -DHAVE_CONFIG_H -I/root/apbin/Java/v8u51/include/ -I/root/apbin/Java/v8u51/include/linux/ -I/root/00-ApWorkspace/Saxonica/Saxon-HEC1.0.2/
/usr/lib/
folder, pointing to the "libsaxonhec.so" file in the "Saxonica/Saxon-HEC1.0.2/" folder.
make
/usr/local/lib/php/extensions
/etc/php.ini
and one at /usr/local/lib/php.ini
.
extension=saxon.so
/usr/lib/rt/
pointing to the "rt" folder in the "Saxon-HEC1.0.2" folder, since otherwise, errors happened, sometimes with PHP, and sometimes with the Hiawatha web server (which sometimes gave me an Internal Server Error).
/root/00-ApWorkspace/Saxonica/Saxon-HEC1.0.2
php -r "phpinfo();"
There are example PHP scripts in the folder Saxon-HEC1.0.2/samples/php
. "xpathExamples.php", "xqueryExamples.php", and "xsltExamples.php" worked fine for me, but "validatorExamples.php" had an error which I don't yet know how to fix.
/usr/local/var/log/hiawatha/error.log
I made this little PHP script called display_last_5_lines_of_hiawatha_error_log.php to make that log easier to read in my web browser:
Additions, March 12, 2017, 5:36 PM/6:14 PM EDT. While trying to use the Saxon/C PHP extension in Lighthouse 64 Puppy Linux 6.02 Beta 2, I had trouble making it work in the Hiawatha web server, even after doing all of the above.
Fortunately, that bug page helped me figure out a workaround. In every PHP script which needs to run Saxon/C, I can put this line (which you'll probably need to customize with the path to where libsaxonhec.so is on your system):
Another workaround is to add this to Hiawatha's config file (which, on my system, is at /usr/local/etc/hiawatha/hiawatha.conf):
Yet another workaround is to not even use a web server (which I usually prefer anyway, at least on any of my internet-connected computers). Then, you can either set the SAXONC_HOME environment variable before you run PHP, or, you can set it from inside your PHP script using the PHP line above.
▲ 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 |
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.
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 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.
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.
make
make test
make install
Or
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:
That line is necessary because without it, the build will be halted with these errors:
make
make test
make install
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!
All 3 files are also displayed below.
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.
OK, back to the instructions.
I believe the Perl module XML::LibXSLT only has XSLT 1.0 capabilities.
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.
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.)
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:
perl Makefile.PL
"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.
int xsltMaxVars = 9999999;
But with that line, the build should succeed. So, now you can run these commands:
perl Makefile.PL
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.
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:
perl test-xslt.pl
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
Accidentally ruined Windows 10 on my Toughbook CF-C1 |
Monday, June 27th, 2016 01:40:37 GMT |
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.
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. :-)
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.
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.)
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.
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
How to use a Sewell USB Sound Box with Lighthouse 64 Puppy Linux 6.02 Beta 2 |
Monday, June 20th, 2016 00:45:34 GMT |
I finally figured out how to get my Sewell USB Sound Box to work in Lighthouse 64 Puppy Linux 6.02 Beta 2 with my Toughbook CF-C1.
I thought I might have to compile a driver, but luckily, that wasn't the case.
(Addition, June 28, 2016, 10:22 PM EDT. The below also works for Lucid Puppy Linux 5.2.8 version 004! The only big difference is, Step 4 - restarting X Windows - is required.)
I recommend, don't wear your headphones until after you're sure all the below steps worked properly and have enabled you to control the volume.
(Or whichever other choice says USB Sound Device.)
It will then tell you to reboot your computer - but, fortunately, you actually don't have to reboot. At most, all you might have to do is restart X Windows.
But, if you're using Lucid Puppy Linux 5.2.8 version 004, Step 4 is necessary.)
And here's another reminder to take off your headphones, so you can avoid the Puppy Linux startup noise possibly blasting your ears.
Or, in Lucid Puppy Linux 5.2.8 version 004, go to the Puppy Linux equivalent of the Windows "Start" menu, go to the Shutdown menu, and choose "Restart X server" from the submenu.
After X Windows has restarted, right-click on the volume taskbar icon and choose "Config Window" from the menu.
Near the top, in the "Sound Card" section, there will be a text box which says "hw:0".
Change "hw:0" to "hw:1" (without quotes).
(Or, you might have to change it to something different, if in step 3, you had to choose something other than "card 1: Device [USB Sound Device], device 0: USB Audio [USB Audio]".)
Then, in the "Tray Slider" section, select whichever dropdown menu item says "Speaker Playback Volume".
In Lighthouse 64 Puppy Linux 6.02 Beta 2, select "7:Speaker Playback Volume".
In Lucid Puppy Linux 5.2.8 version 004, select "6:Speaker Playback Volume".
Then click the "Apply" button.
Happily (and surprisingly), the soundbox started working again with my Lucid Puppy desktop computer when I plugged the soundbox into a different port on my USB hub!
Here's how to make it work. I assume Steps 3 and 6 might be slightly different if you have a different kind of computer.
card 1: Device [USB Sound Device], device 0: USB Audio [USB Audio]
Before you restart X Windows, make sure you have anything you're working on saved, because restarting X Windows will instantly close all of your open programs without even asking you if you want to save.
Then, to restart X Windows in Lighthouse 64, go to the Puppy Linux equivalent of the Windows "Start" menu, click Shutdown, and choose "Restart X" from the window that appears.
Now, it should be possible to adjust the volume!
Addition, Nov. 27, 2016, 1:35 AM EST. Today I had trouble getting these instructions to work with the desktop computer running Lucid Puppy Linux 5.2.8 version 004 which I had tested these instructions on in the first place. I was afraid maybe my soundbox had gotten at least partly broken from falling on the floor, but, it still worked fine with Windows 7.
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
Extended Desktop for Toughbook CF-C1 while running Lighthouse 64 Puppy Linux 6.02 Beta 2 |
Wednesday, June 15th, 2016 11:12:26 GMT |
The Toughbook CF-C1 has a VGA output port which allows you to connect a monitor.
But by default, in Lighthouse 64 Puppy Linux 6.02 Beta 2, the monitor will only mirror what's on the laptop's screen.
Fortunately, I finally stumbled across a way to make each screen show different things! I found it on this Stack Overflow page:
It instantly worked!
Also, when a 4:3 monitor is connected, the laptop's screen gets resized to match. I was able to put the laptop screen back to its original size with this command:
But, after doing that, the touchscreen only works right if the monitor is mirroring the laptop's screen instead of displaying different stuff.
But with the laptop's screen restored to its original size, the mirroring 4:3 monitor can't fit everything on the screen anymore.
The Redshift screen-tinting software helps with the laptop screen's appearance, but not as much as I hoped. My Windows 7 CF-C1 screen still looks much better, I think maybe because the Intel HD Graphics software in Windows 7 lets you adjust the screen saturation.
Maybe Redshift could be modified to make it capable of adjusting the screen saturation?
The exact command I used on my own system was:
xrandr --output LVDS1 --right-of VGA1
However, I don't yet know how to make the touchscreen work right while doing this.
xrandr --output LVDS1 --mode 1280x800
So, this all still needs perfecting. But, at least it's already useful, since it's really nice to have more than one screen. And also, probably most monitors look much better than the CF-C1's washed-out-looking widescreen.
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
How to compile Guile-Gnome 2.16.4 in Lucid Puppy Linux 5.2.8 |
Wednesday, December 30th, 2015 14:39:36 GMT |
It was another difficult process, but I finally managed to build Guile-Gnome for GNU Guile in Lucid Puppy Linux 5.2.8 version 004.
Now, I can actually make GNU Guile create GTK windows! So, perhaps GNU Guile will turn out to be a good substitute for PHP-GTK.
If I can get GNU Guile to work with MySQL and SQLite databases, and also have it output web pages (so I can keep Astroblahhh Desktop's web interface), perhaps a GNU Guile-based Astroblahhh Desktop might be feasible.
I wonder if GNU Guile can work with OrientDB?
However, I'm not sure if I should write the CMS (content management system, for lack of a better term) of my dreams in any very uncommonly used language or platform. PHP is available from most web hosts. Even figuring out how to make the Java-based OrientDB work with my websites seems like it might be difficult, though maybe less difficult than figuring out how to get some form of Lisp or Scheme like GNU Guile working on a web server.
Once again, I had to use some trickery (or guile! Haha, I made a pun) to get past some hopefully mistaken errors. I'll explain more about that below.
I used version 2.16.4.
Here's most of what I needed:
Those are the three easiest things to get. Downloading Guile-Cairo will be explained in step 3.
Fortunately, an at least partway functional copy of an old version of Git exists in the Lucid Puppy Linux DevX SFS file of development tools. The DevX, by the way, is what you need to use to compile software in Lucid Puppy Linux 5.2.8.
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.
If it worked, you'll see some text like this:
And there will now be a "guile-cairo" folder in the folder you opened the terminal window from.
make
make install
(Or "new2dir make install" (without quotes) if you'd like to make a .pet or .sfs file.)
make
make install
(Or "new2dir make install" (without quotes) if you'd like to make a .pet or .sfs file.)
export pixman_LIBS="-L/usr/local/lib/ -lpixman-1"
./configure --enable-gobject=yes
make
make install
(Or "new2dir make install" (without quotes) if you'd like to make a .pet or .sfs file.)
If you want to make a .pet or .sfs file, rename the Guile-Cairo folder to something like "guile_cairo-1.10". (Though I'm not sure that's the actual version number. You can use any version number - this rename is just to make it so new2dir won't complain later on about not being in a folder with a version number.)
Next, open the Guile-Cairo folder, open a terminal window, and put in these commands:
make
make install
(Or "new2dir make install" (without quotes) if you'd like to make a .pet or .sfs file.)
If all went well, somewhere in the messages printed by ./configure should be this text:
Go to the folder /usr/local/include/cairo/ and open the file cairo-gobject.h in a text editor.
Delete this line toward the top (line 42 in my cairo-gobject.h):
And delete these three lines near the bottom (starting at line 188 in my cairo-gobject.h):
Then, save the cairo-gobject.h file.
And also, I got an encouraging-looking response when I tried a command I found on this page:
The response was:
Hopefully everything will go smoothly now that Guile-Gnome has no way not to acknowledge that Cairo really does have GObject support.
After doing that, it should be possible to run the example scripts from the Guile-Gtk Overview page, which will create a GTK window containing a button which says "Hello, World!"
I don't know yet how to make GNU Guile automatically find the Guile-Gnome modules.
But, I assume that similar to GNU Emacs, there's probably some sort of config file somewhere which you can put commands in like "(use-modules (gnome-2))" so those commands will be run automatically every time you start GNU Guile.
But, back to the topic of how to build Guile-Gnome in Lucid Puppy Linux 5.2.8 version 004.
git clone git://git.savannah.nongnu.org/guile-cairo.git
# git clone git://git.savannah.nongnu.org/guile-cairo.git
Initialized empty Git repository in /root/guile-cairo/.git/
remote: Counting objects: 830, done.
remote: Compressing objects: 100% (280/280), done.
remote: Total 830 (delta 522), reused 830 (delta 522)
Receiving objects: 100% (830/830), 594.72 KiB | 666 KiB/s, done.
Resolving deltas: 100% (522/522), done.
./configure
./configure
export pixman_CFLAGS="-I/usr/local/include/pixman-1"
./configure --prefix=/usr/local
./configure --prefix=/usr/local/
All available wrappers will be built:
atk cairo corba gconf glib gnome-vfs gtk libglade libgnome libgnomecanvas libgnomeui pango
#if CAIRO_HAS_GOBJECT_FUNCTIONS
#else /* CAIRO_HAS_GOBJECT_FUNCTIONS */
# error Cairo was not compiled with support for GObject
#endif /* CAIRO_HAS_GOBJECT_FUNCTIONS */
I believe that due to the way I compiled Cairo (described above), Cairo really does have GObject support.
pkg-config --libs cairo-gobject
-pthread -L/usr/local/lib -lcairo-gobject -lcairo -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0
make
(use-modules (gnome-2))
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
How to compile GNU Guile 2.0.11 in Lucid Puppy Linux 5.2.8 |
Tuesday, December 29th, 2015 13:07:46 GMT |
I apparently managed to compile GNU Guile in Lucid Puppy Linux 5.2.8 version 004 - though doing so was even more difficult than the last few things I compiled.
And I'm not sure the way I did it was a good idea, since I had to do something rather questionable to trick libunistring into acknowledging that my copy of iconv works. I hope this didn't break anything, but I have no idea. So, please be careful.
So, I guess basically I'm fishing around for Lisp-y alternatives to PHP-GTK, just in case I turn out to like Lisp or maybe even Scheme more than PHP.
But maybe in the end I'll just use lisphp with PHP and PHP-GTK. Or maybe I won't even like Lisp enough to do that? I just haven't done enough with any Lisp or Scheme yet to be able to decide.
Also, another factor to take into consideration is, how cross-platform are these Lisp and Scheme-based things? Will they make it as easy as PHP-GTK to make Astroblahhh Desktop capable of working in not only Linux, but also Windows and Macs?
And if I hadn't already had libffi 3.2.1 as a result of compiling newLISP the other day, I probably would have had to install libffi too.
So, the first step is to download the dependencies you need:
But, even upgrading libiconv still didn't fix that problem, so I had to resort to something which I'm hoping was not a bad, dangerous thing to do - I edited libunistring's configure script to make it just assume iconv is working. (I'll explain exactly what I did in a later step.)
I don't know whether or not GNU Guile can use the iconv that comes with Lucid Puppy 5.2.8, so, maybe it's best to upgrade to libiconv 1.14, as I did.
So, step 2 is to download libiconv, if you want to update iconv.
make
make install
(Or "new2dir make install" (without quotes) if you'd like to make a .pet or .sfs file.)
make
make install
(Or "new2dir make install" (without quotes) if you'd like to make a .pet or .sfs file.)
If you decided to upgrade libiconv, unzip the libiconv source code tarball, open the libiconv code folder, open a terminal window, and do these commands:
make
make install
(Or "new2dir make install" (without quotes) if you'd like to make a .pet or .sfs file.)
Then, to stop your system from trying to use the old iconv instead of the new iconv - go to the folder /usr/bin, and rename the file iconv to something else.
In the libunistring source code folder, open the file "configure" with a text editor. Go to line 17639, which says:
Change it to:
If it worked properly, it should say the following starting around line 114 of the stuff printed by ./configure:
If it does say that, then, do these commands:
make install
(Or "new2dir make install" (without quotes) if you'd like to make a .pet or .sfs file.)
./configure
(The first line somehow stops "make" from complaining about not being able to find libunistring.)
And be prepared to wait a long time for it to build. For me, it took more than a half an hour, even on the 3.4 GHz dual core desktop computer I was building it on.
At first it looks like it's going pretty fast and doing lots of stuff, but it seemed to get stuck for a very long time doing something with these files:
And so on. I was a bit worried something went wrong and it was never going to finish, but, all I had to do was wait. And wait, and wait.
(Or, if you want to build an .sfs or .pet file, put "new2dir make install" (without quotes) instead of "make install".)
I don't know if there's a GUI (graphical user interface) somewhere, but, if I find there is, I'll update this post.
To which GNU Guile will respond:
And apparently that creates a variable called $1, containing "4" (the result of adding 2+2).
To which GNU Guile will respond:
($1 equals 4, and 4 plus 1 equals 5.)
I got interested in GNU Guile because it uses the programming language Scheme, which is related to Lisp, and GNU Guile has a component called Guile-Gnome (which I haven't tried to compile yet) which apparently lets you deal with GTK stuff.
How to build GNU Guile in Lucid Puppy Linux 5.2.8 version 004:
./configure
./configure
./configure --prefix=/usr/local
am_cv_func_iconv_works=no
am_cv_func_iconv_works=yes
./configure --prefix=/usr/local
checking for iconv... yes
checking for working iconv... yes
checking how to link with libiconv... /usr/local/lib/libiconv.so -Wl,-rpath -Wl,/usr/local/lib
checking for iconv declaration...
extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for iconv.h... yes
make
LD_LIBRARY_PATH=/usr/local/lib
make
wrote `ice-9/eval.go'
GUILEC ice-9/psyntax-pp.go
wrote `ice-9/psyntax-pp.go'
GUILEC ice-9/boot-9.go
wrote `ice-9/boot-9.go'
GUILEC ice-9/vlist.go
wrote `ice-9/vlist.go'
GUILEC srfi/srfi-1.go
wrote `srfi/srfi-1.go'
GUILEC language/tree-il/peval.go
wrote `language/tree-il/peval.go'
GUILEC language/tree-il/cse.go
make install
Now, it should be possible to run GNU Guile simply by typing "guile" in a terminal.
I don't yet know how to make GNU Guile do anything particularly eye-catching, but, you can make it do some addition by typing something like this:
(+ 2 2)
$1 = 4
And you can use the automatically-created $1 variable in other commands like this:
(+ $1 1)
$2 = 5
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
Was able to compile PHP 7.0.1 in Lucid Puppy Linux 5.2.8, but couldn't compile PHP-GTK 2.0.1 to work with PHP 7.0.1 |
Tuesday, December 29th, 2015 06:50:38 GMT |
I finally heard the news that PHP 7.0.1 has been released. So, I decided to see if I could get PHP-GTK 2.0.1 working with it. Alas, no.
I had hardly any trouble compiling PHP 7.0.1 itself. The only problem I had was this old problem, oddly deemed "Not a bug", from 2010:
./configure got stopped with these error messages at the bottom:
The problem was, I had put my PHP source code folder at a path which had a space in it:
I think I encountered this error while compiling PHP in the past, but I forgot yet again that lots of things in Linux have ridiculous incompatibilities with paths containing spaces.
The fix was simply to remove the space, changing the path to this:
"./configure" worked fine after that, and so did "make" and "make install".
If I recall correctly, PHP-GTK 2.0.1 needs the Cairo extension from PECL, and I wasn't able to compile Cairo 0.3.2, despite the fact that it worked with PHP 5.6.13.
This is as far as I got trying to compile Cairo 0.3.2:
And this is as far as I got trying to compile PHP-GTK 2.0.1:
/apmnt/truecrypt62/Hobbiton_Meadow/PHP 7/php-7.0.1/
/apmnt/truecrypt62/Hobbiton_Meadow/PHP7/php-7.0.1/
Here are some details on what stopped me from compiling PHP-GTK 2.0.1 to work with PHP 7.0.1.
So, if I ever manage to finish the PHP-GTK version of Astroblahhh Desktop, it might not be capable, at least for a while, of running on anything much newer than PHP 5.6.13. (Though it might also work with slightly later versions of PHP 5.6 which I haven't yet tried.)
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
How to compile newLISP in Lucid Puppy Linux 5.2.8 |
Sunday, December 27th, 2015 14:58:21 GMT |
Compiling newLISP 10.6.2 from scratch in Lucid Puppy Linux 5.2.8 wasn't as tough as compiling GNU Common Lisp 2.6.12, but it was still a bit tricky.
I don't know if most typical Linuxes usually already have that or not, but, Lucid Puppy 5.2.8 version 004 doesn't, and newLISP needs it.
(Or "new2dir make install" (without quotes) if you'd like to make a .pet or .sfs file.
This is the line you need to change:
And here's what you change it to:
This command will create the symlink:
./configure
make
make install
./configure
CFLAGS = -fPIC -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX -DFFI -I/usr/local/lib/libffi-3.0.13/include
CFLAGS = -fPIC -m32 -Wall -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX -DFFI -I/usr/local/lib/libffi-3.2.1/include/
make
" (without quotes), and the build should succeed now.
make install
" or "new2dir make install
" (without quotes) to install newLISP.
ln -s /usr/local/lib/libffi.so.6 /usr/lib/libffi.so.6
Now, it should be possible to run newLISP just by typing "newlisp
" (without quotes).
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
How to compile GNU Common Lisp 2.6.12 in Lucid Puppy Linux 5.2.8 |
Sunday, December 27th, 2015 14:39:57 GMT |
I had a tough time compiling GNU Common Lisp 2.6.12 from scratch in Lucid Puppy Linux 5.2.8 version 004.
But, I finally managed to do it. Here's how:
As far as I know, Lucid Puppy 5.2.8 doesn't include Tcl/Tk by default. So, if you want Tcl/Tk, you can download their source code here:
I downloaded version 8.6.4 of both Tcl and Tk.
All I had to do was unzip each source code tarball, open the source code folder, open a terminal window, and put in these three commands:
(Though I actually used the command "new2dir make install" (without quotes) because I wanted to make .pet and .sfs files.)
Above the line which says
(Huge thanks to the author of this post for the solution, because without that post I would have had absolutely no clue at all what to do.)
The above fix makes it so the compilation won't be stopped by these errors:
LD_LIBRARY_PATH=/usr/local/lib
make
Or, if you'd rather just install it without building a .pet or .sfs file, type this:
After all those steps, it should be possible to run GNU Common Lisp simply by typing "
Go to the gcl source code folder, open a terminal prompt, and type:
Then, at the GCL prompt, put in these commands:
(load "gcl-tk/demos/widget.lisp")
That last command will fail if your current working directory isn't the gcl source code folder.
./configure
make
make install
"#include <signal.h>"
(without quotes), add this line:
#include <sys/ucontext.h>
./configure --enable-tkconfig=/usr/local/lib/ --enable-tclconfig=/usr/local/lib/
new2dir make install
make install
/usr/local/bin/gcl
gcl
" (without quotes).
If you have Tcl/Tk, here's how you can try them out with GNU Common Lisp. gcl
(si::tkconnect)
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
Modified version of new2dir for Puppy Linux; and thoughts on Linux package management |
Sunday, March 22nd, 2015 18:19:45 GMT |
new2dir is a wonderfully useful script included with many (all?) Puppy Linuxes, which makes it much easier to create .pet and .sfs files.
The original version of the new2dir script is by Barry Kauler, the creator of Puppy Linux.
The original new2dir and my modified version of new2dir are under the GNU Lesser General Public License, so anyone is allowed to modify them.
So, I made a modified version to solve that problem, at least for myself and anyone who runs Puppy the same way I do - entirely in a RAM disk.
Here's the source code. It's a Bash script:
I could (and perhaps should) have posted about other Puppy Linux-related stuff I did in the past - but, I had always either been too shy, too busy, too stressed out, or, in some cases, I didn't think my stuff was polished or useful enough.
My Puppy Linux Setup Kit update will also probably contain stuff related to the next release of Astroblahhh GLMP-GTK and Astroblahhh PH-GTK. I've been working on that lately, because until I finish those, I can't use any of my PHP-GTK software, nor the Eryss astrology software, in LH64.
Originally, I made them that way for convenience (and laziness) - just one all-in-one package to download and install. (Astroblahhh GLMP-GTK if you wanted web server+database server-related stuff, and Astroblahhh PH-GTK if you didn't.) But, now, a better way is possible.
My Puppy Linux Setup Kit has some nice, convenient downloader scripts, so, it would probably be better to build a lot of different, separate packages - one for MariaDB, one for PostgreSQL, one for PHP, one for PHP-GTK, etc., and one (or more) for the example scripts, documentation, etc. I bundled with GLMP-GTK and PH-GTK - and then make a bunch of Puppy Setup Kit scripts which will download and install everything in the proper order.
The package-building kit would provide clear, step-by-step guidance, along with a bit of helpful automation which would do boring things like downloading source code, extracting tarballs, and launching new2dir, dir2pet and mksquashfs.
That would pave the way for people to be able to far more easily build their own possibly customized GLMP-GTK or PH-GTK for whatever Puppy Linux they want, without having to do things as tediously slowly and manually, and without having to wait for me or someone else to do it for them.
Even my own Astroblahhh GLMP-GTK and Astroblahhh PH-GTK packages kind of encourage that problem - and so does my Puppy Linux Setup Kit, since it currently mostly downloads .pet and .sfs packages rather than source code - and I'd like to stop encouraging it.
Fortunately, perhaps my not-yet-created package-building kit might be a solution to that problem. It wouldn't be quite as fast and convenient as just downloading a precompiled package, but it would be more educational, give the user the opportunity to customize things themselves more, should be a bit faster than downloading, extracting, and packaging everything manually, and could provide more hand-holding than a source code tarball's README or INSTALL file might.
But, until drastically improving my Puppy Linux Setup Kit, I wasn't even able to imagine a convenient, easy way to provide Astroblahhh GLMP-GTK and Astroblahhh PH-GTK without providing precompiled binaries. It seemed so unthinkably difficult originally that I just gave in and provided the precompiled binaries despite my qualms.
Anyway, it will definitely take some work for me to create some package-building scripts, but, thanks to all the work I've already done, going that extra mile doesn't seem like such an overwhelming, intimidating, practically impossible chore anymore.
Unfortunately, the original new2dir makes my hard disk alarmingly busy, even if the software I'm building is all inside the RAM disk.
For more information, see this Puppy Linux Discussion Forum thread:
That, by the way, is the first thing I ever posted to the Puppy Linux Discussion Forum.
Anyway, I'm tempted to also post about my Puppy Linux Setup Kit. But, I think I'm going to put that off until I release an update with setup scripts for Lighthouse 64 Puppy Linux 6.02 Beta 2.
Actually, I think for the next releases of Astroblahhh GLMP-GTK and Astroblahhh PH-GTK, I'm actually not going to make them into large, combined packages of stuff.
Another, probably even better idea I had was - using the foundation laid by my Puppy Linux Setup Kit, it's now conceivable that I could create some kind of package-building kit, so people could more easily download source code, compile it themselves, and make it into their own .pet and .sfs files.
Also, it has long bothered me about Linux in general that Linux users are often encouraged to be dependent on package repositories and/or downloading precompiled packages of software for their Linux distro, rather than being more encouraged to download source code and build things themselves.
Having the source code is always better than having precompiled binaries with no source code, for various reasons already explained in this thing I wrote that I so frequently link to: What is free, libre, open source software?
▲ Top ▼ Bottom △ TOC ↓ Down Up ↑
Apollia's Puppy Linux Setup Kit v1.1 |
Wednesday, February 11th, 2015 00:09:02 GMT |
Software Release |
I updated my Puppy Linux Setup Kit, mostly because in version 1.0, there was an incredibly stupid and annoying glitch where the launch scripts would act as if you clicked "Yes" if you clicked the "No" button to stop things from installing.
There were also other small updates and improvements too, which I didn't document because it was too much trouble.
I couldn't get my favorite window manager (IceWM) to work, and running multiple VirtualBoxes didn't seem to work much (or maybe at all) better than running them with Lucid Puppy 5.2.8 version 004 - my usual 4 GB RAM computer still got slowed down. So, since the benefits weren't as dramatic as I hoped they would be, it seemed best to stay with Lucid.
I'm pretty satisfied with the setup kit overall, so this might be the last update of it for quite a while.
For now, I've abandoned the idea of making the setup kit set up Lighthouse 64 Puppy Linux 6.02 Beta 2.
Apollia's Puppy Linux Setup Kit v1.0 |
Tuesday, September 30th, 2014 17:23:11 GMT |
Software Release |
I'm very happy to announce that I finally have finished a releasable edition of my Puppy Linux Setup Kit.
Here it is:
See its home page and readme for more details about what it is and what it does.
Below, I'm not going to rehash that - I'm just going to jot down some extraneous, digressive notes.
(As always, donations, microdonations, and purchases of goods and services are welcome.)
I learned a lot from the book Code Complete, 2nd edition**. which I read around Oct./Nov. 2012. I also learned a lot from my still-incomplete (but remarkably successful) attempts in 2013 to convert Astroblahhh Desktop into a PHP-GTK app, while at the same time keeping it fully capable of running on a web server.
Why did I bother with the project of converting Astroblahhh Desktop? Partly just for fun, and partly because I do get a bit tired of being dependent on the non-libre Windows XP, even if I'm only using it inside a VirtualBox*.
And I also wanted to get away from having to depend on a MySQL or MariaDB server, too, so I also added already fully-functional SQLite conversion capabilities. The newest unreleased version of Astroblahhh Desktop can use both MySQL/MariaDB and SQLite databases, and seamlessly transfer data between each type of database. (At least, it seems pretty seamless so far.)
But I digress from the topic of the Puppy Setup Kit.
Back then, it was terribly messy and primitive - partly because I simply didn't have the time to learn how to do things right and polish it up nicely, and largely because I didn't even yet know how to make Perl modules from scratch.
So, in each original setup kit script, there was a lot of needlessly repeated code. I also didn't even yet know that it's a good idea to use these statements near the top of each Perl script:
If you're not used to using those statements, they'll probably cause you a lot of annoying warnings at first, but, they'll help you catch a lot of little problems you'd otherwise miss, and help make you more careful and scrupulous in general.
And I'm so glad I've finally gotten something so useful finished and released.
My main obstacle so far with that is that I haven't been able to figure out how to get my favorite window manager, IceWM*, working in LH64. If anyone has some clues on how to do that, I'd love to read about it.
Probably my top focus should be trying to figure out how to really fix my financial situation for good.
I guess maybe I might relatively soon start up two more of my websites - one of which will be focused on free (as in freedom), libre, open source stuff, and the other on stuff which is free, but only free as in price.
On the latter, I might point out various examples of the many hidden costs of supposedly "free" (but only as in price) things. And also draw attention to the superior alternatives - stuff which is truly free, as in freedom.
So far, the CMS I'm most likely to install here is CouchCMS. And maybe someday I'll expand my WordsPlatz blog software, and merge it with features of Astroblahhh Desktop, maybe throw in some wiki-like features, and whatever else seems like a good idea, and hopefully wind up with my ideal, dream CMS.
Or probably I should call it a WRS - website revision system - as GNU.org sensibly recommends calling CMSes, given how absurdly ambiguous the term "content management system" is.
Quoted from this page on GNU.org:
:-)
My main goal with it will probably be to try to impress potential employers, probably by pointing out my best work, and maybe I'll put up some glitzier, fancier special effects than I normally like to use on my websites - once I learn how.
Probably my $9.00 a month subscription to Learnable.com will help me learn how to deal better with the cosmetic side of web design which I've typically largely neglected. And it already has helped me gain a deeper understanding of some technical things, and I was a bit surprised to find I quite liked their project management ebook.
The website hginit.com is a great intro to Mercurial.
I wish I had looked into version control software years ago. I thought version control software was mainly intended to make it easier for multiple developers to collaborate on one project, so I didn't realize it would be of so much use to me as a solo developer who has never yet directly contributed code to anyone else's project.
Sometimes I like to work on the same project on different computers, and in the past I had run into the problem of not having a really good way to merge the changes I made to the same project in each different location. Mercurial solves that (among other nuisances).
So does Git too, I guess, but I find Git quite confusing in comparison. And also, it seems like the copy of Git installed in Lucid Puppy 5.2.8 version 004's DevX SFS file (containing development tools) is partly broken - I couldn't get it to display log entries.
If I manage to release it before Oct. 5th, then, I will just barely avoid having not released it for 3 entire years after I first started building it (Oct. 5th, 2011).
I guess I can just call it an alpha version. It's very doubtful that I'll ever complete it, because I am still plagued with financial problems, and on top of that, I find it rather hard nowadays to get motivated to work very hard on software which is native to non-libre platforms such as Windows or MacOS, because free, libre, open source software is inherently superior to closed source software in so many important ways.
It took a lot longer for me to finish the Puppy Setup Kit I thought it would. I got started on it last May or maybe even April. I didn't work on it non-stop since then, but, darn, I expected it to hopefully only take less than a month. But it took much longer, especially with (as usual) other crap in my life (mostly related to my and my family's continual financial problems) getting in the way.
Anyway, I think I worked on the setup kit most in May, August, and September, transforming it from the mess you can see here to something much more elegant and polished, if I do say so myself. It is my best work in Perl ever, so far, and even just a couple years ago, I would have been incapable of creating it.
Apollia's Puppy Setup Kit is the thing I wrote about in 2013 in the Apollia's Puppy Setup and History With Puppy section of the page Some Puppy Linux Basics.
use strict;
use warnings;
So, happily, now I'm a lot more comfortable with Perl than I ever was in the past. It's still not my favorite language - that's still PHP - but I think now Perl might be my second-favorite language.
I'd like to expand the Puppy Setup Kit to make it capable of nicely customizing Lighthouse 64 Puppy Linux 6.02 Beta 2. I quite like LH64 because it seems to run faster than Lucid Puppy Linux 5.2.8 version 004.
Anyway, at least with this long-overdue project finally finished and released, I now feel far more free to move on to something completely different, if I want. And I might, since I'm likely to take my time with the LH64 part of the Puppy Setup Kit.
I've owned Apollia.com since Oct. 2013, and I'm thinking I might like to make that into some sort of nice portfolio website, something more polished and more impressive at first glance than Astroblahhh.Com. I've been getting ncreasingly annoyed by Astroblahhh.Com being an informal, messy, too-seldom-updated assortment of stuff of varying levels of quality, and I'm itching to reorganize it somehow, perhaps by installing a CMS.
The term "content management" takes the prize for vacuity. "Content" means "some sort of information," and "management" in this context means "doing something with it." So a "content management system" is a system for doing something to some sort of information. Nearly all programs fit that description.
Apollia.com will probably not be anywhere near as formal as the average curriculum vitae/resumé site, and I hope I will find some way to keep it from being static and boring.
Hmm, what else can I mention in this post? Oh, yes. One of the best things I discovered lately was the Mercurial* distributed version control software. It was of great help to me while building the Puppy Setup Kit.
I'd still like to release the original version of my Eryss astrology software - the AutoHotkey* version I threw together in Oct. 2011 and have scarcely touched since Nov. 2011. Perhaps I should quickly just do that, even though it's nowhere near as polished as I'd like, and I'm now aware it has some errors with the code for calculating midpoints, which I really don't feel like struggling to fix.
Again, donations, microdonations, and purchases of goods and services are welcome.