All Ahead Stop

Well, things have escalated in Ubuntu-land since the posts I made on Monday and Tuesday! The Ubuntu archive for Hirsute (the in-development version which will become 21.04) has been temporarily frozen. It seems there’s a rather knarly bug in the tools used to build packages, which is causing them to be “mis-built” - i.e. broken. I (and others) noticed this over the weekend, via a breakage in snapd - the daemon which mediates the installation and running of snaps. [Read More]

Going Backwards

Yesterday I wrote about how I made a mistake by updating my primary Ubuntu computer to include the proposed pocket. I shouldn’t have done this. So today I quickly hacked together a script to take any packages which came from proposed and “downgrade” them back to the release pocket. It’s not pretty, but it worked, for me. #!/bin/bash TMPDIR=$(mktemp -d) PACKAGES=$TMPDIR/packages DOWNGRADE=$TMPDIR/downgrade # Get list of all installed packages dpkg -l | grep ^ii | awk -F ' ' '{ print $2}' > $PACKAGES # Start the downgrade script echo "sudo apt install \\" > $DOWNGRADE # For each package in the list of installed packages while read p; do # Get the summary of where the package came from apt-cache policy $p > $TMPDIR/$p # Get the line after (grep -A 1 and tail -n 1) the highlighted one with 3 stars SOURCE=$(grep -A 1 "^\ *\*\*" $TMPDIR/$p | tail -n 1 | awk -F ' ' '{ print $3}' ) # If that line suggests we got the package from proposed, add it to the script if [[ "$SOURCE" == *"hirsute-proposed"* ]]; then echo "$p/hirsute \\" >> $DOWNGRADE fi done <$PACKAGES # Tell the user what to run to actually do the downgrade echo "Run sh $DOWNGRADE" Don’t use this. [Read More]

Don't Use Proposed

This is a short and sweet post to remind future me (and anyone else reading) not to use the “proposed” pocket of the Ubuntu Archive, if you want a bug-free and safe experience. For those not “in the know”, each Ubuntu release has a bunch of pockets. If you’ve ever fiddled with your sources.list you may have seen the names updates, backports, security and proposed. These are usually prefixed with the codename of the release, such as hirsute-updates and hirsute-proposed for the current in-development version of Ubuntu, to become the interim release 21. [Read More]

Command-Line only Laptop

Today, I’m following along from an earlier article “The Allure of The Terminal” where I talked about how I love the terminal aesthetic. How much, well, one of my computers is a command-line only install. I thought I’d talk a bit about that setup. Firstly, it’s not command-line only because it can’t run a graphical environment, although it isn’t a super modern system. It is certainly capable of running Ubuntu MATE, for example, I just choose not to. [Read More]

Reboot Aversion

I am not a fan of rebooting my computers. As you can see: alan@robot:~$ for host in $(cat computers.txt); do ssh "$host" "uptime"; done 20:24:53 up 117 days, 5:06, 10 users, load average: 5.85, 6.07, 5.48 20:24:55 up 113 days, 4:56, 7 users, load average: 0.95, 0.68, 0.72 20:24:56 up 66 days, 9:05, 5 users, load average: 1.06, 0.58, 0.51 20:24:57 up 2 min, 1 user, load average: 0.60, 1.09, 0. [Read More]

Let's Call The Whole Thing Off

I’ve mentioned before that I ‘suffer’ from xkcd 386. I’m trying to improve, and maybe writing this post will help me. If it helps you, that’s awesome too. Let’s work on this together. 🤝 There’s a strong prevalence among some in the Linux community for people correcting others. Specifically correcting pronunciation. I have been guilty of this in the past, but I’m trying to be the change I want to be. [Read More]

Embarrassing Bugs

Well, this is embarrassing! I recently filed a bug against an open source project because I genuinely thought it was broken. It was (almost, probably, entirely) my fault. I thought I’d fess up and explain what happened. It might be useful for others. As I mentioned yesterday, I recently upgraded my Ubuntu machines, including my main desktop. It’s a funky Skull Canyon NUC with a weird hybrid Intel / AMD GPU setup and an external nVidia card in an enclosure. [Read More]

Upgrading Ubuntu

I tend to run Ubuntu on my computers as the primary operating system. Given I work for Canonical, this isn’t especially surprising. However I have run Ubuntu on pretty much everything since 2005 or so - long before I started working at Canonical (in 2011). Mostly I will upgrade as each new release comes out, only doing a clean install once in a while. I ran GNOME 2 for all the years from 2004 through to Unity being released, then switched to that. [Read More]

Digital Hoarding: Ubuntu Mirror

I have a bunch of Ubuntu machines on my local network at home. They all periodically need to check for updates then download & install them. Rather than have them all reach out to the official mirrors externally to my network, I decided to run my own mirror internally. This post is just a set of notes for anyone else who might be looking to do something similar. I also do a lot of software building, and re-building, which pulls all kinds of random libraries, compilers and other packages from the archive. [Read More]

Two Displays & Two Computers

In my messy office I have a main desk I work at. I have two portait displays on a hefty, but inexpensive BONTEC Dual Monitor Stand (affiliate link), clamped to the back, to lift the monitors up off the desk. The monitors are 3-year-old, low-end 24" ASUS VS248HR (affiliate link) “Gaming Monitor’s” 🤣. I recently bought a Raspberry Pi 400 which also sits on my desk for quick-release arm64-action! The problem I have had with other Pi’s is the spiders web of cables needed, and additional keyboard. [Read More]

Hush Keyboards with Hushboard

Yesterday while surfing the ASCII highways of IRC (yes, IRC) a URL linking to a MacOS application scrolled by my screen. Unclack is a small MacOS utility which silences the microphone of the user when they’re typing. The purpose is to prevent the noise of typing being passed through to other participants when on a Zoom / Skype / Jitsi call. Neat. They don’t make a Linux version, and I couldn’t see anything similar, so I did what I usually do in this instance, throw the idea towards my friendly local coder, Stuart Langridge. [Read More]

My GNOME Tweaks

One of the neat things about GNOME Shell is that it’s pretty tweakable - to some degree - to customise it to a user’s preferences. I know some people use GNOME Shell stock experience. I don’t. I have previously written about some of my must-have extensions and add-ons. This supplements that with what I do to further tweak my (currently) Ubuntu 20.10 system to my liking. Note: These are the settings I configure on my computer that I use all day every day. [Read More]

Contributing without Code

In the mid-90s I was an avid user of online conferencing system called CIX (Compulink Information eXchange). CIX was built using the CoSy Conferencing system from the University of Guelph, which has since been open sourced. Think of it like a dial-up or telnet-accessed forum or message board with a nerd-heavy userbase. Each day I’d dial-up to download messages, then read & respond offline. Later in the day I’d re-connect to send my responses and download more messages. [Read More]

Notifications on Task Completion

Like many in development-oriented roles, I’m frequently running long-executing tasks on my workstation, while I get on with a sword fight, or making a cup of coffee. More seriously, I do often leave a software build, or packaging script running, while I context-switch to answer support requests, proof-read a blog post, or prepare for a meeting. Sometimes it’s nice to be reminded when that long-runner finishes, otherwise I might forget it’s sat there, all lonely in another workspace somewhere on my computer. [Read More]

My 'Must-Have' GNOME Extensions

I currently run Ubuntu 20.10 on my main desktop PC. GNOME Shell is the default desktop, and while it’s great, one very useful feature is the ability to supplement or alter the default behaviour with extensions and other add-ons. Ubuntu ships with a couple of extensions by default, but I’ve added a few on top, and this blog post details what they are and how to get them, in no particular order… [Read More]

Snap Tips

As you may or may not be aware, I work for Canonical on Snapcraft and Ubuntu. I use Ubuntu as my daily driver, and spend a lot of time maintaining snap packages, and listening to developers and users talk about software packaging, publishing, delivery and use. Over time I’ve collected a bunch of virtual notes in my head. Much of it has been turned into documentation, but often the information is rather spread out. [Read More]

Multiple GPUs in a Skull Canyon NUC

This article previously appeared on listed.to. I’ve moved it here to consolidate my blogging Every 3 years at Canonical we get a laptop refresh fund. With it we can buy whatever devices we need to work. I used my last one to buy a ThinkPad T450. The most recent one arrived in November this year. I was considering replacing the ThinkPad with a desktop computer of some kind. I can certainly keep the T450 for portable work, but I mostly sit at the same desk all day, so figure I may as well get a desktop rather than a laptop. [Read More]

Straightforward Linux Backups with rsnapshot

This article previously appeared on listed.to. I’ve moved it here to consolidate my blogging I hang around in technical support back-alleys. All too often a new person turns up asking for urgent help. Their system is catastrophically broken and they have no easy way to fix it. With a bit of help they can usually come to a fork in the road. Do they wipe and re-install, or keep fighting with the computer to get it working. [Read More]

Spotify on the Raspberry Pi 400

I recently ordered a Raspberry Pi 400, I couldn’t resist. I’ve bought a few Raspberry Pi’s over the years, with a couple installed around the house. The Pi 400 struck me as quite the game-changer though, with a built in keyboard-enclosure and accessible connectors. The fact it reminded me of my youth with memories of the Sinclair Spectrum where everything is housed inside the keyboard helped a bit. One omission which struck me as odd was the lack of audio jack. [Read More]

New Ubuntu Community Hub Launched

A while back I proposed that we replace the old static Ubuntu Community site, which looked a bit like this, with something a little more dynamic. So today we are replacing the static site with an instance of discourse, which looks a bit like this You can go back and read that blog post for the full rationale but essentially it boils down to two aims: We want to improve community communication We want to smooth the onboarding process for new contributors. [Read More]