Kinde Ebooks for Free

CSS: An Overview for Software Developers FREE Nov 11, 25, 26, Dec 2, 3

Interesting Extension of INI: TOML

This is an interesting project, to formalize the INI format to express more complex data structures.


I’m not inclined to want more complex data. I know, people have used XML and JSON to specify configuration, but, I just dislike that. I’ve used YAML, and though that was good for a few years, but lately, I’m back at INI.

The problem with expressive configuration languages is that you end up with tools like Ansible (which I like) where, instead of defining a little language, or being used as a Python library, the entire “programming language” is in YAML.

Rant over. I will probably use TOML next time I want to use an INI file 🙂

Opening a Dozen Email Boxes? Use Mozilla Thunderbird (and Donate)

If you need to read through a lot of email addresses, try Thunderbird. I’ve had over ten addresses in it, and it works pretty well. It also has an RSS reader that I rarely use, but it’s there. It’s my preferred client, and after a lot of use, I finally donated to the project.

Installing antiX, a Minimalist Mediumweight Linux, and Xfce4

This is an overview of installing antiX on an older dual core computer. It’s a nice Linux distro that is extremely lightweight and fast. AntiX is based on Debian.

I just sold my first thing on Simbi, and it was an old laptop computer (that I really like, but was getting very little use). Simbi let’s you “sell” things for a fake currency called “simbi”. Simbi are a kind of time-bank/time-dollar DIY currency, except instead of being run by a hippie time bank, some startup got something like a million dollars to create a website where people trade services for this fake money. I’m using it to sell things that are difficult to sell locally, for various reasons, mainly that they are kind of “niche”. This computer I “sold” didn’t have Windows CDs, so that was my niche. There’s also my own laziness about driving to sell things.

If you follow this link to, I’ll get a referral bonus of simbi when you do something to either spend or receive simbi.

So, I had forgotten that the last install of Xubuntu I did, 16.04LTS, was booting really slowly, like 3 minutes to get to a login. I totally forgot this. Ugh. It was so unpleasant. So I tried to reinstall, but was having some weird problem with booting into the live installer, as well. I have no idea what the problem was: systemd? LightDM? It was hanging somewhere in there, waiting for some long timeouts.

I went looking for another distro. antiX jumped out, because they named the latest release “Heather Heyer,” for the woman who was killed by the fascists in VA. They also proclaimed, right at the top, that they didn’t use systemd.

We were on the same page, on both things. I got so irritated at systemd that, one time, I actually complained, at length, to a friend about the headaches of Debian and Ubuntu trying to replace the SysV init with Upstart and Systemd. I’m sure he was as annoyed, and baffled, as you are, about having to know this about me.

Here’s How I Installed antiX

Downloading antiX took around 15 minutes on bittorrent. Not bad. The -net version, which is the smallest, is under 200MB.

I had to use “dd” to burn the .iso file to the USB stick, because the Ubuntu USB boot maker doesn’t recognize the image.

dd if=whateveryoudownload.iso of=/dev/sd?

Where “?” is replaced with the letter of the drive you want to burn to. (Use “mount” to list all the available disks.)

Booting into antiX was almost instantaneous. I think it took under 10 seconds. All the BIOS stuff took far longer than actually booting into antiX.

Warming Up the Net

You need to connect the computer to Ethernet, to get a network connection.

Then, you should update apt to warm up all the network caches:

apt update

My first attempt to install failed, and my second failed as well. Warming up the caches helped smooth the downloading.

This -net distro doesn’t come with the usual network tools. It’s really bare. The instructions said to run cli-installer, so I did that. It’s an old “slackware” style installer. When you try installing, you will need a few attempts to get it right.

I set up the disk with a few gigs for swap, and the rest for the system. (Sorry, no instructions on partitioning here.)

I don’t recall the prompts, but use logic and the defaults. The installer downloaded some things, and then copied them to the hard disk.

Then it tried to run GRUB. I recall the installer tried to run GRUB once, but failed; then the installer ran it later, and it worked. It installed a bootloader onto the MBR of the disk, just like in the old days.


Log in as root, and test it. I usually install aptitude:

apt install aptitude

So I can read the repository.

Installing XFCE4

I’m doing this from memory, so it might be wrong. As root, do this:

apt install xserver-xorg acpi-support xfce4 xfce4-goodies xfwm4 lightdm lightdm-gtk-greeter

I definitely didn’t do it in that order, but I suspect that order will work better than what I did.


Continuing the Install

Log in as the regular user.

If there are any problems, you should log in as root, then go to /home/youruser and look at .xsession-errors to see what’s going on. Look for some permission or ownership issues with some files X wants to modify.

Open a terminal and sudo -s to get a root shell:

apt install iceweasel vim-gtk gksu xfce4-indicator-plugin

That installs Firefox. In Debian it’s called iceweasel. I like vim. I am not sure if gksu is needed, but I added it to avoid headaches if gksudo is used.

apt install synaptic policykit-1-gnome  

That installs the Synaptic package manager and the PolicyKit agent.

Logout and login. That forces the PolicyKit agent to run. (It raises the password dialog for Synatic.)

Wifi, 1990s Style

The Fujitsu uses the Intel chipset, so wifi is done like this. I’m not using the slicker tool called Network Manager. The wifi controls are under the “Internet” menu in the applications menu.

apt install wicd firmware-iwlwifi

I think you need to reboot after installing this, but I may be wrong.

Try out Wicd. Applications -> Internet -> Wicd Network Manager. It’s hella ugly, but gets the job done.

Bash, not sh

I forgot to note to change the user’s shell.

sudo chsh -s /bin/bash yourusernamehere

Changing the Window Theme

There are window themes to make things look a little more to your liking. I like Breeze.

apt install xfwm4-themes xfwm4-theme-breeze

After setting up the theme, I spent an hour playing with installing CUPS for making PDFs, Okular, and a few other apps. PulseAudio needed to be installed, too. I won’t put the instructions here, because I just poked around Synaptic to find these common programs.

antiX + Xfce4 on a Dual Core is Fast

I swear, this old dual core Pentium from the mid 2000s feels faster than my current desktop, which is a pretty old quad core AMD. The antiX + Xfce4 envrionment is lean and fast. The browser lags a bit, but it plays videos.

antiX is great.

My Home Backup System

My hard drive is failing, and I’m about to replace it. That means it’s time to check the backups, to make sure they are functional. This short article describes my home backup system. You might find this useful for setting up your own backups.

The backup system performs backup for three separate computer systems. One is the desktop PC I use for all my work, another is for this website and a few others, and the third is the server which hosts several websites. All my backups are done with command line archiving software like TAR and ZIP, and copied with the RSYNC tool. They are stored on hard disks. They total less than 1 terabyte of data, so, life isn’t that bad.

The two remote systems run scripts, via cron, that dump the local MySQL databases to compressed archives. These are copied down to my desktop PC via simple backup scripts that run Rsync to download the data.

My desktop computer has two disks. One is a fast SSD for most of the OS and apps and data, and the other is a slow “green” disk for large file archives like photo and video archives. Both of these disks are backed up to an external USB hard disk, using the Rsync command. I don’t copy everything, and it’s folder-by-folder.

I also run an incremental backup using rdiff for a few folders like my photos and videos. Rdiff basically keeps deleted files around, so it’s a big space waster. I started using Rdiff because I lost some photos, seemingly spontaneously; the rsync propagated this loss to the other backups. Rdiff is something like my failsafe. This rdiff backup is also copied to the external hard disk.

Additionally, the remote backups that were performed are also copied to this external hard disk.

At this point, there are three copies of the data on the remote servers. There are two copies of data on my desktop computer.

There’s a third backup in the other room. This is a Raspberry Pi microcontroller and a USB hard disk. The contents of the external backup are copied to the remote, via Rsync. Surprisingly, this operation clogs the network and slows my computer more than the others.

The remote RPi backup also runs a cron job to back up the remote servers. So, that produces a fourth copy of the server data.

The one thing missing, at this time, is a remote backup. I used to keep a hard disk at my mother’s, but haven’t done that for a couple years. I will start that up again next year. I used to also keep two Linux computers, but right now, I have only one. The current “other computer” is a noisy server. I also have a small server that’s too slow to use for work, a Windows laptop, and a Mac Mini.

In summary:

  • Websites are backed three times.
  • Desktop data is backed up in two places.
  • Some desktop data is backed up incrementally.

Looking for WordPress Membership Systems

WordPress’ user and permission system is good, but if you want to allow people to register on your site to do something that’s not related to creating pages and blogging, it’s going to get a little weird.

Back at Ebullient, we did a prototype of a product, and in the rush, I extended the existing WordPress user registration system to allow registration from the front end. It took around a week, and I learned a lot more about that system than I wanted to know.

User registration systems are complex, though you’d never think they’d be. We’re so familar with them that we just overlook their moving parts. A typical user registration system has around fifteen screens or pages. It’s not just “login” and “welcome”. You have the password recovery, the registration form, the profile editing, and profile deletion.

WordPress comes with all that, so altering it to allow easier onboarding isn’t that hard, excepting the fact that the entire user experience is hard-coded into the application. Worse, if the system is updated, your changes are wiped out.

I should have looked at external solutions that would provide a login system that didn’t create users in the WordPress system.

There are a bunch of them.

WordPress membership Plugin comparison

Most seem to be of the “pay for content” model, or what I think of as the “pornsite” model where you give some away, on the site, and get monthly payment for the rest.

Others have content drips and mass marketing integrations. This is for the “make money fast with my $99 class” business model, where you are teaching people something, but withholding the valuable parts. You keep sending them email to get them to sign up.

Some seem to work with BuddyPress, so they can work more like a social network. That’s a different model where you’re charging money, basically, to keep the trolls away.

I’ll have to look into it and see if it matches what I need.

I’m replacing the old hacks to extend WP with a membership system. The business model is TBD, and this is more of a promotional product for listbuilding, so I’m actually inclined to write my own plugin with the following features:

  • Some kind of email module that pushes out a lot of reminders
  • Notification system layer, so users can choose mode of notification (email, mobile, ?)
  • Possibly laravel auth as the security system, so I don’t need to write it, and so we have an exit path.

I’ll need to set aside time to work on this.

Update: Sales Slowdown

There was a sales slowdown on ebay. Partly, it’s seasonal – the summer is rough on sales – but the other thing that happened was that I had to clean out the garage of my late father’s hoard. This is taking a lot of work. It’s also far less profitable than reselling. Reselling was going to double monthly for a couple months, and I was looking at renting a storage space. Well, dehoarding is a lot different, and a whole different business model.

Dehoarding paper = selling ephemera. Selling ephemera is mostly “long tail” sales, or sales of unique items that few people want, but someone wants. It differs from clothing sales in that you just need to list a lot more items, and get fewer sales. So 250 listings isn’t enough. I think I’d need thousands of listings to have a viable business.

So I’m starting to make systems and tools to grow. I’ll post these on the github.

You also can’t really research this stuff as easily as clothing. It’s about ideas, so… you go on hunches. It also means I need to spend a lot of time listing dead-end products that are going into the trash. (The only way to get data about views is to list the item.) It’s a bit harder than selling clothes.

If you’re interested, I’m blogging on it over at Declutter69.