Title photo
frugal technology, simple living and guerrilla large-appliance repair

Regular blog here, 'microblog' there

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.

Wed, 30 May 2018

Mind-blowing Vim tip: Ctrl-[ is esc

As I'm reading through Evan Klitzke's excellent blog, I came across Esc is Ctrl-[.

One of Vim's quirks is that it's a modal editor, and you switch from edit mode (where you're typing things) to command mode by hitting the esc key, which on most keyboards is the upper-leftmost key on the keyboard.

Lots of Vim/vi users map esc to a ctrl key, but Evan says that ctrl-[ is a default equivalent of esc.

He's right. Try it.

I'm not sure if ctrl-[ will replace esc in my future, but it very well might.

If you think of using your keyboard like a that of a musician -- and when text editing, I think this is a very valid comparison -- think of how you type.

I do touch type -- I learned it on manual typewriters at U.S. Grant High School in the San Fernando Valley back in the day. I can't remember if I took one semester or two, but it was enough to give me a lifelong ability that I use every day-- and heavily.

But when it comes to things like esc keys or ctrl sequences, pre-computer touch-typing doesn't really help.

So here's the deal: I use my left-hand ring finger (or 3rd finger in guitar-fingering parlance) to hit the esc (as well as the backtick key below it. I can generally find esc fairly well, though I have to look much of the time to get the backtick.

But ctrl-[ is a little harder to type. I use the left-ctrl with my left pinky finger (aka 4th finger), and it looks like I'll have to hit the [ with my right pinky finger (or maybe 3rd finger). That's a funky stretch for my right hand. I may be able to get used to it, but the question is whether it's easier or faster than stabbing for esc with my left hand's 3rd finger.

In any case, having an esc alternative in Vim without any configuration is a nice feature.

Wed, 16 May 2018

Fedora 28: I'm trying to keep it simple

My Fedora 27 system died a less-than-noble death at the hands of a Fedora 28 upgrade.

Maybe my error was upgrading too early (it was about a week after the release), or maybe it was because my system was too old. I probably started this installation on Fedora 17 or 18. That's a lot of upgrades, and one was bound to go south. This was that one.

So I reinstalled Fedora 28 from the ISO via USB, keeping my same partitions. (Note to Fedora developers: This should be easier to do. I had to bluff my way through it.)

Now that I have a new Fedora, I'm trying to keep it simple.

Instead of a bunch of desktop environments (GNOME, KDE, Xfce, LXDE), I'm sticking with the stock GNOME.

I'm only slowly adding the things that died with F27. I just added the RPM Fusion repositories, and before that I installed the Ruby programming language and all the packages I needed to install the gems I need. I have everything

I don't even have Google Chrome. Don't need it. Firefox has made a lot of progress in the past year, and who doesn't need less spying?

Normally I'm an Xfce user, but I can get around (and get along) with GNOME 3.

Nautilus -- or Files as it's now called -- is appreciably fast, especially compared to the Windows file manager (where the lag is not a deal breaker but is noticeable).

I'm enjoying using gEdit (aka Text Editor). I'm not saying I won't add Geany at some point, but for now this works. I added the gedit-plugins so I could get the built-in-terminal, though Menu - Tools - External Tools - Open Terminal Here is probably more useful.

Fedora pro tip: Install Dropbox from the RPM Fusion repository, not the Dropbbox repo

Since I had to reinstall Fedora 28 (though I got to keep my files), I'm still setting things up.

Among those things I'm still setting up is Dropbox. Since the Dropbox service itself is not free software, you won't find a Dropbox package in the main Fedora repository.

You can get an RPM package directly from Fedora, but I don't recommend it. Why? Because I just installed it, and dnf was having issues with the Dropbox repo.

So I removed that package, removed the repo from /etc/yum.repos.d, and added the RPM Fusion repositories with the links on the configuration page. Make sure you get both the free and nonfree repos.

Then install Dropbox from the command line:

$ sudo dnf install dropbox

Note on RPM Fusion: You can certainly run Fedora without RPM Fusion, but I wouldn't.

Dropbox update: The Nautilus integration with Dropbox -- at least when it comes to those little icons that tell you if a particular folder or file is synced, syncing or not synced -- is broken. I can't tell if it's me, Dropbox, or GNOME Files that is messing up. I tried completely deleting my Dropbox dot files/folders, and that didn't make a difference, except for a long operation to re-sync everything.

Getting your Ruby development environment together in Fedora

The only reason I'm revisiting this topic is that a failed Fedora 27-to-28 upgrade forced me to reinstall Fedora 28, and I just had to get Ruby and a few gems installed and working.

It wasn't easy, and it makes me want to recommend Ubuntu and Debian over Fedora because I strongly suspect that those distros make it easier.

My first recommendation for Linux in general is to use the Ruby that your distro ships with. I know there are ways to get exactly the Ruby you want, and there are developers who need to do that, but I'm not in that particular boat, so I use what the distro ships.

In keeping with the distro-approved Ruby, I also try to use the local Linux package manager to install as many gems as are available. Linux package management makes everything easier and less prone to breakage, so I try to use it wherever possible.

I needed the nokogiri gem, and that was available as a package.

Not so for the twitter gem. I needed to use gem install, and right away I ran into a problem. Before I could install (and build) the gem, I needed to install a few things in Fedora. Luckily I found this web page that told me exactly what to do:

$ sudo dnf install ruby-devel
$ sudo dnf group install "C Development Tools and Libraries"
$ sudo dnf install redhat-rpm-config

Only then could I use gem install to get the twitter gem:

$ gem install twitter

I'm pretty sure that both Debian and Ubuntu package the twitter gem, making all of this unnecessary.

Mon, 14 May 2018

Clojure episodes from the CaSE Podcast -- and they have transcripts

Here are three excellent podcasts (each with a transcript) about Clojure from the CaSE (Conversations about Software Engineering) Podcast, all with Joy Clark as host:

Fri, 11 May 2018

Rob Reed has a new Ode theme, and I really want to try it

Rob Reed, creator of the Ode blogging system has released a new theme for Ode that you can see at his site.

I have a lot "invested" in the current Ode theme, but this looks so good that I really should deploy it on my site.

The Fedora 28 upgrade broke my F27 system, and I reinstalled F28 to 'save' it

It's never a good idea to upgrade a Fedora system in the first couple of weeks. Also, my particular Fedora installation is, for lack of a better word, crufty. I can't remember which version of Fedora it started out with, but I've been running Fedora on it since 2012.

That's a lot of Fedoras.

I don't use that laptop very much these days, but I decided to do the upgrade anyway. The F28 upgrade wouldn't proceed due to various conflicts in the packages. I did a sudo dnf autoremove, then I manually removed the rest of the offending packages, none of which looked so critical that they would break the installation.

But break it did. The Fedora partition wouldn't boot. I didn't even get dumped into GRUB. I couldn't get past the MOK screen -- something I've never even seen before. I tried one of the "rescue" ISOs, and that didn't work. The laptop's complaint was about keys being trusted, and the fact that I had Secure Boot turned off didn't seem to matter. I "enrolled" all the keys/hashes I could find. Still nothing.

Like I said, the system was crufty. I had a pretty good backup of the files, so whatever happened wouldn't really hurt my data.

I decided to reinstall but keep the same partition layout and preserve the /home partition/directory.

I didn't mention that I use encrypted LVM (both in Fedora and Debian). Even so I could have pulled the drive, dropped it into a USB plug-in holder and gotten the files off that way. But I wanted to see if I could resurrect the Fedora system.

I put F28 on a USB thumb drive and started the installation using manual partitioning. I kept all of my Fedora partitions, root (aka /), /boot, /home, and /swap. It was fairly easy to do this. The only "stopper" was the root partition. It wouldn't "go into" the "Fedora is going to use this" part of the installer. Eventually I figured out that it was because I had to check the "erase this partition" box. Then it skipped over with the rest of the partitions. I started my Fedora install -- I opted for the standard Fedora Workstation with GNOME -- and soon enough I had a new, mostly cruft-less Fedora system. I had to re-create my user account and set the password, but all of my files and most of my configuration was still there. I'm missing a lot of packages, but I had a thicket of desktop environments, useless (to me) applications, programming languages and other things that I could either do without or easily build back up.

All the files were there.

tl;dr: I would have preferred to perform a successful "rescue" operation on my broken Fedora boot system, but that didn't happen, so I did the next best thing, which was to reinstall Fedora and restore my system to bootable status that way.

Use Git GUI to create empty files in Windows

I've been using the Windows command line's copy command to create empty files, but there's another easy way to do the same thing using Git for Windows.

Once you install Git in Windows, every time you're in a folder, a right-click of the mouse gives you the choices Git GUI here and Git Bash here.

If you then left-click on Git Bash here, a Linux/Unix-like terminal will open at the path of your folder, and you can use any number of Bash commands.

To create a file, use the Unix/Linux stalwart touch:

$ touch filename

This will give you a file named filename. Substitute the file name you really want.

Then close the terminal. That's all there is to it.

Thu, 03 May 2018

How to create an empty file at the Windows command line

The Windows file manager lets you create all kinds of new, empty files as long as they either have a .txt extension or are of a Microsoft file type.

I just wanted to create empty files with no extension that I can later open in Gvim.

Basically I want the Windows equivalent of the Unix/Linux command touch.

There's a complicated Stack Overflow page on this topic, and the easiest method by far is this one that uses the Windows command line:

C:\Users\name\your\path> copy nul filename

Substitute the filename you want for filename, and you're good to go.

I've seen ways of turning this into a batch file and then somehow right-clicking to invoke it, but for now I'll just open the Windows terminal and use it that way.