Six months of crashes in Ubuntu

tl;dr: I downloaded the application crash data for my work Laptop. To probably nobody’s surprise, Zoom is the most crashy thing in the last six months on my laptop. New laptop When I joined Axiom at the end of 2022, I was given some budget to buy a work laptop. My friend and co-presenter of Linux Matters Podcast, Martin Wimpress was looking for a new company laptop around the same time. [Read More]

i386 in Ubuntu won't die

(yet) tl;dr In a recent thread on Mastodon, it was revealed that Ubuntu 23.04 users can’t install the Steam deb package from the Ubuntu archive without jumping through some technical hoops. It turns out this was a mistake, a bug was filed, and future builds shouldn’t have this problem. It’s not immediately apparent whether the (currently ‘broken’) ISO images for Ubuntu 23.04 will be rebuilt (unlikely) or if this will stay broken in 23. [Read More]

Only good vibes

Just a few thoughts about the origin of Linux Matters podcast. Prior art Over the thirteen years of the Ubuntu Podcast the presenter lineup, format, duration and frequency changed here and there. In the early days, we would record a segment, have a cup of tea, and then record another one. It was a long and laborious process that took up most of a Sunday afternoon. After a little while we tweaked things and settled into our stride. [Read More]

LXD - Container Manager

Preamble I recently started working for InfluxData as a Developer Advocate on Telegraf, an open source server agent to collect metrics. Telegraf builds from source to ship as a single Go binary. The latest - 1.19.1 was released just yesterday. Part of my job involves helping users by reproducing reported issues, and assisting developers by testing their pull requests. It’s fun stuff, I love it. Telegraf has an extensive set of plugins which supports gathering, aggregating & processing metrics, and sending the results to other systems. [Read More]

Linux Application Summit: Call For Papers

The last event I went to before The Event was Linux Application Summit (LAS) in Barcelona, Spain back in November 2019! Time flies. LAS is a community organised event, sponsored and supported by the GNOME and KDE projects. The conference is “designed to accelerate the growth of the Linux application ecosystem by bringing together everyone involved in creating a great Linux application user experience.”. In November 2020, the LAS team organised a virtual version of the event. [Read More]

Desktop Webapps

I appreciate many people already know how to do this, but I’m surprised how many don’t, or don’t realise what it does. Forgive me if you know about this feature of Google Chrome. A little while back I managed to win two separate eBay auctions for 16GiB DDR3 SODIMMs to install in my ThinkPad T450. This took it from the previously installed 16GiB to the expansive 32GiB. Then I opened Google Chrome. [Read More]

Learning Dart & Flutter

I’ve said many times, I don’t consider myself a software developer. Much like I don’t consider myself a professional chef. I can write code, just as I can cook. What I make isn’t ground breaking, but it won’t poison anyone either, and I enjoy doing it. Coding for me started on the ZX81 in BASIC then on to the Spectrum and other 8-bit microcomputers. I dabbled with Z80 and 6502 assembly language. [Read More]

Finding Ubuntu Crash Reports

This post is more an aide-mémoire for myself, but may be useful to others. I recently wrote a little story about bugs, the crash reporter and errors website in Ubuntu. Sometimes a user will want to look for their crash reports, and in fact that question came up today on the Ubuntu Discourse. Back when we shipped Unity desktop as the default desktop environment in Ubuntu, there was a simple button to take a user to their previously uploaded crash reports. [Read More]

Updating Snap Bases

This is a bit of a dayjob post, but as I maintain a bunch of snaps in my own time, I figured it’s not out of place here. Typically when I (or indeed any developer) uses snapcraft to build a snap, a snapcraft.yaml drives the process. I’ll integrate some kind of CI or build system, and start publishing to the Snap Store. Usually, once created, the yaml doesn’t need much in the way of changes. [Read More]

Snapcraft Clinic Successes

On Thursday I mentioned we were restarting the Snapcraft Clinic. Basically we stand up a regular video call with engineers from the snap and snapcraft team & us from Snap Advocacy. Developers of applications and publishers of snaps are invited to join to troubleshoot. There was nothing especially secret or private discussed, but as we don’t record or stream the calls, and I don’t have direct permission to mention the applications or people involved, so I’ll keep this a little vague. [Read More]

Snapcraft Clinic

At work we have a forum where developers can discuss packaging Linux applications, specifically as snaps. Sometimes developers just want to pair through a problem to get it either resolved for themselves, or for whatever is blocking to be handed off to the right people. One strategy for supporting developers we found effective was via regular live video conference. So last year we started the Snapcraft Clinic. On a semi-regular basis we dedicate time to join with anyone who has technical issues with snapping, to help them. [Read More]

Jamming with Sonobus

Before last week, I’d never heard of SonoBus. While on holiday I’d packaged up Spot - a Gtk Spotify client, which I wrote about recently. The next day I made a snap of SonoBus too! I did this because while there were binary builds for Windows and Mac, there was no binary release for Linux, other than in the Arch User Repository. For those that, like me, didn’t know about SonoBus, it’s an “easy to use application for streaming high-quality, low-latency peer-to-peer audio between devices over the internet or a local network”. [Read More]

Scanning Frustration

“Printers are devices for causing pain and frustration. They also sometimes print stuff out.” - Me, many times over the years. I have an HP LaserJet 100 MFP M175nw networked laser printer / scanner / copier. I’ve had it since 2013 where it’s generally worked okay most of the time. We don’t print a ton of things in this house, but when we do, it’s typically urgently required for work or school. [Read More]

Spotty Connection

I had a few days off work this week. It was very enjoyable to spend a bit more time with the family, doing some jobs around the house, going for walks, and generally nothing else, thanks to The Event. However, in the quiet moments I still find myself browsing around, stumbling on new software I know will be enjoyed by my friends on Linux, and feel compelled to package it up, as a snap. [Read More]

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]

The Allure of The Terminal

Why is this interface so alluring? Okay, so that blank window might not be, let’s fill it with something more interesting. How about top. … or htop … … or bpytop … … or Dwarf Fortress? Ignore for a moment it’s a GNOME Terminal window on Ubuntu with the Yaru theme, it’s the contents of the window that’s alluring to me. That and the IBM Plex font showing it off so well. [Read More]

Chromium on Linux

Rumours are swirling in Linux circles that some prominent distributions are preparing to remove the Open Source Chromium web browser from their archives. This appears to have come about because of a change being made by Google, which reduces functionality in third party chromium-based browsers. Chromium (perhaps unsurprisingly) falls into this category. While the proprietary Google Chrome is built on the same technology as the open source Chromium browser, they’re not the same. [Read More]