Welcome to Tumbleweed

At the start of this year, I treated myself to a new PC. The first thing I do with any new PC is to scrape Windows off it and replace it with some variation of Linux, and this time I ended up going with openSUSE Tumbleweed.

I like openSUSE: it’s an unflashy and very solid distribution that reliably handles whatever demands I make of it. It comes in two flavours, Tumbleweed being the rolling release version and I’ve been hooked on rolling releases ever since I tried Sabayon way back in 2010. With a rolling release, you never need to reinstall or upgrade your operating system because the constant stream of updates keeps you completely up to date.

And so to Monday evening when a whole bunch of updates came down the pipe, including a fair bit of Gnome-related stuff. So I updated everything (which, I should note, is always a reliably quick process) and, to check that everything was still working as expected, I rebooted my PC.

At which point, this popped up on my screen.

Tumbleweed_Welcome_Screen
Welcome to openSUSE

Obviously, this is not my first time using openSUSE but the welcome screen is a nice touch. It’s a very friendly way of pointing you towards the documentation you are likely to need as well as where to find help if you need it. It’s also very consistent with my experience of openSUSE to date: friendly, helpful and (if I uncheck that ‘show on next startup’ option) completely unintrusive.

And I love the pirate gecko.

Farewell to Antergos

The developers behind the Antergos Linux distribution announced yesterday that, after seven years, they are bringing the project to an end.

As many of you probably noticed over the past several months, we no longer have enough free time to properly maintain Antergos. We came to this decision because we believe that continuing to neglect the project would be a huge disservice to the community. Taking this action now, while the project’s code still works, provides an opportunity for interested developers to take what they find useful and start their own projects.

Although I fully understand their reasoning, it will be a shame to see Antergos go. It’s a distribution that I used for five years — from August 2013 until switching to OpenSuse in December of last year — and I always found it to be a lovely operating system and a great way of getting at the power and flexibility of Arch Linux without having to actually install Arch.

Arch provides a very flexible and very powerful operating system but it does have something of a reputation for expecting its users to know what they’re doing. This is great for systems administrators but can prove a bit time consuming for someone, like me, who just wants the latest and shiniest software.

Antergos comes with a very nice graphical installer which leaves you with a very solid base from which to explore everything Arch has to offer. This also means that if you really mess things up (as I have done a few times) reinstalling is quick, painless and can get you back to where you started before the end of the evening.

And it was lovely to look at. The development team put a lot of effort into the theming of the distribution which contributed no end to its being slick, effective and a pleasure to use.

Over the past couple of months, I have been hesitating over whether or not to return to Antergos. Realistically speaking, this decision has now been made for me but I will be interested to see what, if anything, emerges from the Antergos project.

Gnome, Evolution, Nextcloud and the joy of integration

Way back in the mists of 2007, when I started using Ubuntu, the default email client was Evolution. The thing about Evolution is that it is much more than just and email client and, like Microsoft Outlook, seeks to be a full fat personal information manager with a calendar and task list built in. Back then, I was using it just for email and it always felt a bit cluttered for my needs.

Time wore on and I eventually abandoned Evolution in favour of web based email clients — namely Gmail.

A few years ago, I started to worry about just how much of my online activities were being managed by Google and started stepping away from and reducing my dependence on a single company. I started using NextCloud for my task list and calendar and moved back to a desktop email client.

I did think about going back to Evolution but, remembering how cluttered it had felt over a decade ago, started using Geary instead. And Geary is a very nice, very simple client — if you have several email accounts and want to keep track of them with a minimum of fuss then Geary really is worth a look.

At the start of this year, I replaced my laptop with a decent workstation and a much larger monitor and, on the operating system front, switched from Antergos to OpenSUSE Tumbleweed. Since Evolution is included by default, I thought I’d give it another look.

It’s Superb.

With my NextCloud account set up in Gnome, my contacts and calendars are automatically imported and setting up my email accounts is a breeze. And this means that I very quickly have everything in one place and working together very nicely indeed.

I still wouldn’t want to use it on a laptop because while Evolution is a very powerful piece of software, it does need a decent sized screen to avoid feeling cluttered.

NVIDIA

A quick update to my previous post. The excessive CPU issue returned and, after some poking around the problem proved to be the NVIDIA graphics driver, which doesn’t play nice with Wayland.

Fortunately, the resolution is simple: You simply need to edit /etc/gdm/custom.conf and uncomment the line that says WaylandEnable=false.

And now, everything appears to be working as expected.

The Gecko saves the day

I nearly titled this post I Hate EFI because it really is a pain. But first, some context.

Having gone through several increasingly oversized laptops over the past few years, I took the decision just before Christmas to treat myself to a decent PC workstation. This duly arrived and, this week, I started assembling the system. Once everything was plugged in, I booted into Windows to confirm that all the hardware was working and then, being a Linux user, I set about replacing the operating system. This is where the fun began.

I have been using Antergos for a while and this is the first distro I attempted to install. The install itself when fine and everything seemed to be successful, until I rebooted. It turned out that the PC wouldn’t reboot unless I left the USB from which I had installed the OS plugged in. As far as I can tell, it was still using the EFI partition on the USB stick so I tried to resolve this by reinstalling with a little more care taken with the partitions. After this, it wouldn’t reboot at all.

After several attempts, I gave up and downloaded OpenSUSE Tumbleweed instead. As with Antergos, the install went smoothly and I even managed to reboot the PC. Then Tracker-Store went mad and started sucking up all of my CPU. So I reinstalled again, this time taking care to reformat my home partition. After several reboots and much checking, I’m feeling confident enough to tempt fate by claiming that everything is working. So this weekend I shall be mainly installing applications and restoring data.

I like OpenSUSE. It’s an unflashy, dependable distro that uncomplainingly copes with whatever I throw at it. Crucially, of the various distros I’ve tried, OpenSUSE is the one that best supports very new hardware — if all else fails, OpenSUSE will probably work.

I moved away from it in the past because I much prefer rolling releases. But with Tumbleweed now offering a stable rolling model I may well stick with it, for a while at least.

Shotwell ate my photos

I’m not sure what happened, but when I launched the Shotwell photo management application a couple of days ago, it started deleting my entire library of photos and by the time I realised what was happening, they were gone. Fortunately I have a backup, but that only goes as far as the middle of 2016, for he rest PhotoRec proved to be a life-saver (note to self — next time make sure to uncheck all the file types you don’t want to recover).

What did strike me when recovering my JPGs was the number of files that have been sitting on my hard drive that I had never actively downloaded. Clearly these are all images on various websites that I have visited. While I understand that a browser needs to download the contents of a page in order to display it, I was slightly taken aback at just how much of my browsing history was captured in these deleted files.

For now, though, most of my photos are restored and I am continuing with the slow and painful process of going through the recovered photos, removing duplicates and copying them back into my photos folder.

Once this is done, I shall be uninstalling Shotwell and looking for a safer photo management solution. To be fair, it is possible that I did something foolish when launching Shotwell — although what, I have no idea — but even if that is the case, I am not going to trust an application that starts deleting stuff without warning.

And I really should start thinking about a better backup strategy.

Merging multiple PDF files with pdfunite

One thing that using Linux has taught me is to always look for the simplest solution, because it probably exists. As it turned out in this case.

In this case, I was emailed a five page PDF document that I had to print, sign, scan and send back. Printing and signing, of course, was easy enough and I can scan the five pages to get five, separate PDF files. Merging these files back into a single document is where pdfunite comes in, and it really is as simple as:

pdfunite page1.pdf page2.pdf page3.pdf page4.pdf page5.pdf outfile.pdf

You can specify as many source files as you like and the last file is the destination file.

And if I’d known about pdfseperate, I could have probably avoided printing the entire document in the first place.

Smarter Coffee and Systemd User Units

One of the particularly handy features that systemd supports is the ability to set up unit files on a per-user basis. You simply put the unit files in your home directory and tell systemd to start using them.

I have a couple of these and, because I can never remember the details, I’m putting them here to save me trawling through the interwebs next time I change something.

The user level unit files all go in ~/.config/systemd/user

If this folder doesn’t already exists, you will need to create it.

You can then manage the unit by adding a --user switch to the normal systemctl commands.

Clear as mud, I know, so here’s an example.

Back in October I was given a Smarter Coffee coffee machine — this is a filter coffee machine that can connect to your home network in order to send alerts to your phone. On receiving this, my first thought was to wonder if I could direct these alerts to my laptop.

Some searching revealed that not only is this possible but someone else has already done it. So I forked nanab’s repository and started playing around with the code, managing to direct the notifications to the Gnome notifications area. All of this is available on GitHub, but the systemd bit is described below.

First, I should mention that I have a small binary file (smartercoffee) in /usr/local/bin that points to the actual code. This looks like this:

#! /bin/bash
python2 /path/to/smartercoffee/pollingStatusMessage.py --notify GNOME

So the service file (smartercoffee.service), which needs to be dropped in ~/.config/systemd/user, looks like this:

[Unit]
Description=Monitor the coffee machine

[Service]
Type=simple
ExecStart=/usr/local/bin/smartercoffee
StandardOutput=journal
Restart=on-abort

[Install]
WantedBy=basic.target

You can enable the service with:
systemctl --user enable smartercoffee

And start it with:
systemctl --user start smartercoffee

So now, whenever I boot up my laptop, the first thing it does is tells me the status of the coffee machine.

Freedom to tinker

Talking about the way in which his embrace of Free Software has changed his attitude to computers, Bruce Byfield reaches a conclusion that rings very true for me.

All unknowing, I had wandered into the world of do-it-yourself. Originating in small groups of hobbyists who had few resources except themselves, free software naturally required more independence of its users. Far from discouraging users from tinkering, free software actually encouraged it with text configuration files and scripting so simple that it could be learned without taking classes. Because there were so many choices, it encouraged me to explore so I could make informed decisions. Just as importantly, because free software was a minority preference, the necessary compatibility with proprietary operating system sometimes required considerable ingenuity.

As a result of these expectations, I gradually lost my learned helplessness. I can’t say exactly when I shed the last of my conditioning, but after a couple of years, I realized that a major shift in my thinking had occurred. I still didn’t — and still don’t know everything about free software, but I no longer panic when a problem strikes.

Although I was using a number of open source applications before, I didn’t really start to delve into GNU/Linux until early 2007 when I installed Ubuntu on my PC alongside Windows XP. And, over the past ten years I have gone from being excessively cautious to (probably) a bit too casual.

There was never a sudden shift but, the more I have poked around the more I have found — all documented and backed by a helpful community. I have moved from really not wanting to do anything that might cause any sort of problem at all to being willing to break my install, safe in the knowledge that if the worst comes to the worst, I can just reinstall the operating system without even risking my data.

I am far from being able to claim any expertise but the openness and availability of information surrounding Free Software means that for any problem I am generally able to understand what the issue is and find or figure out how to fix it.

And that’s freedom.

Learning Genie with Project Euler

I’ve recently started playing around with the Genie programming language. This is a variation of Vala but with a more Pythonesque syntax. And I do like Python.

Genie is a compiled language that uses the Vala compiler to produce C code which then compiles to an executable binary. This means that it has less overhead than programs written in Python and should run faster. This is not always a consideration but it can certainly be useful.

The inevitable Hello World program looks pretty simple:

[indent=4]
init
    print "Hello World"

The only problem I’ve found so far is that there appears to be a dearth of “Teach Yourself Genie” resources, either online or off. This is not helped by some of the results that come up when you search for “Genie” or even “Genie Gnome”.

So I’ve decided to have another crack at Project Euler. I have already solved a fair few of these problems in Python, if I can re-implement the same solutions in Genie I will count myself as having made some progress.

One down, 592 to go.