Many of my traditional blog post live on this site, but a great majority of my social-style posts can be found on my much-busier microbloging site at updates.passthejoe.net. It's busier because my BlogPoster "microblogging" script generates short, Twitter-style posts from the Linux or Windows (or anywhere you can run Ruby with too many Gems) command line, uploads them to the web server and send them out on my Twitter and Mastodon feeds.
I used to post to this blog via scripts and Unix/Linux utilities (curl and Unison) that helped me mirror the files locally and on the server. Since this site recently moved hosts, none of that is set up. I'm just using SFTP and SSH to write posts and manage the site.
Disqus comments are not live just yet because I'm not sure about what I'm going to do for the domain on this site. I'll probably restore the old domain at first just to have some continuity, but for now I like using the "free" domain from this site's new host, NearlyFreeSpeech.net.
It took me a while to figure it out, but I finally have my Ruby environment set up in Puppy Linux's Xenialpup (based on Ubuntu 16.04) so I can use my BlogPoster app and also work on its code.
I didn't have any trouble installing Ruby and the ruby-nokogiri
package from the Puppy Package Manager. But I couldn't get ruby-twitter
to install. gem install
wouldn't work -- I didn't have the ruby-dev
package -- and I didn't see the Ubuntu package that I needed.
I looked at the problem again, and I figured out that I was missing a repository in the Puppy Package Manager. Once I added the "missing" repository (which involved checking a box -- nothing too difficult), I was able to install ruby-twitter
and get my script running.
My next problem was the vi
in Puppy. I think it really is vi
and not Vim
. I couldn't get any formatting commands like :set number
to work, either in command mode or .vimrc
. The fix for this was quick: I installed Vim
from the Puppy Package Manager.
Now I can call the "old" vi
, or the "newer" Vim
as needed, and my BlogPoster script is running great.
I'm having some issues pasting links into the terminal, but that's something I could overcome. Right now it's a lot of awkward "middle" clicking on the mouse, which for practical purposes means clicking both buttons at once. I'm getting better at it, but I could also use Geany instead of Vim as my editor. I tested Geany with my Ruby script, and it does work.
In other development-related news for this Puppy system, I installed the Racket programming environment from the script provided by the project. So far it works pefectly. I started up DrRacket and was coding right away.
Since I am not anxious to either dual-boot or replace Windows 10 with Linux on my main laptop (HP Envy 15-as133cl 15t), I thought I would go back to the live distribution that introduced me to Linux -- Puppy -- and see if I could make it do all the things I want and need it to do.
My history with Puppy goes WAY back. I remember running version 2.13 on all kinds of hardware -- castoff laptops, converted thin clients. It would run on anything.
Back then I booted Puppy from CDs. Nowadays, with "modern" Puppy I could boot from USB and save either to the laptop's hard drive or another USB drive.
I downloaded the latest Puppy, Xenialpup, and used the Fedora Media Writer in Windows to put it on a 4GB USB flash drive. Xenialpup is UEFI-compatible, and after turning off Secure Boot on the laptop, I was off and running the super-fast JWM desktop that has traditionally anchored the Puppy live system.
Surprisingly, I was able to get a pretty comprehensive Ode blog-posting setup going. I have Unison: I pulled version 2.40 from an old Ubuntu package and used dpkg-deb
to extract the binary since I need the old version and not the Ubuntu Xenial version of Unison, which is 2.48. (On a related note, why is it so hard to get a working Unison 2.48 for CentOS?)
I pulled all of my scripts from the Windows Subsystem for Linux, and I've already synced the blog over to this system.
Thankfully, Puppy's unusual running-as-root way of working didn't screw up my file ownership on the server, or in my Windows Subsystem for Linux copy of the filesystem.
There was one old problem from Linux that I haven't had to deal with in a while: While typing, I had the typical "jumping" behavior due to "interference" with the touchpad. Though Puppy doesn't have a "disable the touchpad while typing" setting, I was still able to solve the problem quickly by disabling tap-to-click with the system's straighforward Input Wizard configuration utility.
Where I ran into problems was with my development environment. I got Ruby to work in Puppy after a little effort, but I couldn't get the equivalent of ruby-dev
to build things like the Ruby Twitter gem, and the gem itself, which is a package in Ubuntu, is not easily available for Xenialpup.
So I can post to the blog but can't use my "new" social-posting routine that turns URLs into Ode-compatible files and then sends the results to both the blog and Twitter.
I can't run all the gems I want in Ruby. But I am also exploring Clojure, so maybe that would work.
I did manage to install the JDK, though I had to add it to my path, opting to do so in /etc/profile
, in order to get it to work.
I downloaded the Leiningen script and installed it. I can create new Leiningen projects, but the REPL errors out in spectacular fashion.
I haven't tried to get Node working yet, but the Ubuntu version is old (4.2.6), and I'm not confident that this installation will play well with the overall npm ecosystem. I could try to download and install direct, but there's potential for a lot of trouble.
The mechanics of Puppy are working great. Despite the unorthodox packaging and software installation, I did manage to get quite a few things working. I have my favorite text editor (Geany), the full LibreOffice suite via SFS package, the Firefox browser with all of my bookmarks synced, and a super-fast desktop packed with a lot of (mostly) home-grown utilities.
But I couldn't get Puppy to go the last mile.
So the "story" for me and Puppy Linux in 2018 is good until the point at which I want to do development work. At that point it's better to stay in Windows (and the WSL) or opt for a traditional Linux installation.
Now if only there was a "full" Debian live environment that allowed for persistence. Maybe there is. I'll be looking.