Previously… Back in February, I blogged about a series of scam Bitcoin wallet apps that were published in the Canonical Snap store, including one which netted a scammer $490K of some poor rube’s coin.
The snap was eventually removed, and some threads were started over on the Snapcraft forum
Groundhog Day Nothing has changed it seems, because once again, ANOTHER TEN scam BitCoin wallet apps have been published in the Snap Store today.
[Read More]
Exodus Bitcoin Wallet: Follow up 2.0
On Tuesday, I blogged about a series of Bitcoin scam apps published in the Canonical Snap store.
Edit: This section updated on 2024-02-23 to include a Canonical response as two new forum posts from sabdfl (Mark Shuttleworth, CEO of Canonical).
Two things! Three things!
Zerothly, today we have a response from Canonical.
There are actually two new posts from Mark. One in response to the thread asking whether crypto apps should be banned from the Snap store, and the other an acceptance that identity verification might need to be stronger on the Snap store.
[Read More]
Exodus Bitcoin Wallet: $490K Swindle
Edit: There’s a short follow-up to this post: Exodus Bitcoin Wallet: Follow up.
tl;dr: A Bitcoin investor was recently scammed out of 9 Bitcoin (worth around $490K) in a fake “Exodus wallet” desktop application for Linux, published in the Canonical Snap Store. This isn’t the first time, and if nothing changes, it likely won’t be the last.
This post turned out longer than I expected. So if you don’t have the time there’s a briefer summary at the bottom under “In summary (the tl;dr)” along with my suggestions on what Canonical should do now.
[Read More]
Ninety percent updated in a week
The other day I wrote about snapcraft metrics, a tool that enables publishers to extract application metrics from the snap store. Something I’ve noticed which I wanted to share, was how quickly automatic updates roll out to an application’s user base.
So I took the metrics from an application that I published in the snap store and scrubbed the names and version numbers. I charted below the speed that devices roll over from one release to the next.
[Read More]
Boot to BBC BASIC: Agon Edition
Agon and Agon Last month I visited the RMC Cave where we got a sneak peek at the Agon Console8 from Heber. The Agon Console8 is a consolised version of the more general-purpose Agon8 Computer. They come in a natty retro case, and features twin 9-pin joystick ports.
I’d not heard about the Agon line of Open Source devices before, but they tickled something in me. I’m somewhat fascinated by computers that boot directly into BASIC.
[Read More]
Snapcraft metrics
I was a guest host on Late Night Linux podcast, episode 249 last week, filling in for Will. We each bring along a ‘discovery’, I brought snapcraft metrics to talk about. I thought I’d write up how I use them, for listeners of the show as it’s hard to articulate this very well verbally.
My snaps I have about twenty snaps in the snap store. Some, like Bombsquad and ncspot have been published for years now.
[Read More]
Fixing a broken snap build - part two
I wrote previously about debugging a broken x16emu snap. In short, something went wonky with ld. I started a thread on the snapcraft forum and Ken VanDine came to my assistance with an answer and a pull request.
I grabbed that pr, and it did indeed build successfully..
$ snapcraft --use-lxd Launching instance... Executed: pull alsa-pulseaudio Executed: pull gnome/sdk Executed: pull x16-roms Executed: pull x16-emulator Executed: build alsa-pulseaudio Executed: build gnome/sdk Executed: build x16-roms Executed: skip pull x16-roms (already ran) Executed: skip build x16-roms (already ran) Executed: stage x16-roms (required to build 'x16-emulator') Executed: skip pull alsa-pulseaudio (already ran) Executed: skip build alsa-pulseaudio (already ran) Executed: stage alsa-pulseaudio (required to build 'x16-emulator') Executed: build x16-emulator Executed: skip stage alsa-pulseaudio (already ran) Executed: stage gnome/sdk Executed: skip stage x16-roms (already ran) Executed: stage x16-emulator Executed: prime alsa-pulseaudio Executed: prime gnome/sdk Executed: prime x16-roms Executed: prime x16-emulator Executed parts lifecycle Generated snap metadata Created snap package x16emu_b16509b_amd64.
[Read More]
Fixing a broken snap build
I thought I’d “live blog” (not live) my way through fixing a snap which I noticed was broken this morning. How did I notice? I happened to look at the build page for it. Maybe my spidey sense was tingling, because I wouldn’t ordinarily have zoned in on this particular snap.
I could have some kind of alert that lets me know when this happens, but I currently don’t. I might use my new-found love of GitHub Actions, but that sounds like a future blog post!
[Read More]
Monitor bandwidth usage with bandwhich
Back in 2020 I stumbled on Bandwhich, a “Terminal bandwidth utilization tool”, written in Rust.
More recently, I was looking for a tool to identify which processes on a box were using bandwidth, and how much. I remembered Bandwhich and took another look. I wanted an easy way to install Bandwhich on a variety of machines, running a variety of Linux distributions across different architectures.
So I built a snap of bandwhich.
[Read More]
Disabling snap Autorefresh
Preamble Until recently, I worked for Canonical on the Snap Advocacy Team. Some of the things in this blog post may have changed or been fixed since I left. It’s quite a long post, but I feel it’s neccessary to explain fully the status-quo. This isn’t intended to be a “hit piece” on my previous employer, but merely information sharing for those looking to control their own systems.
I’ve previously provided feedback in my previous role as Snap Advocate, to enable them to better control updates.
[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]
Let's Go Snapping
Last year ( 😄 ) I wrote an article called Snap Along With Me in which I detailed how I approached snapping a rust application called t-rec. Well, I’m back with another “Snap Along”, this time we’re snapping an application written in Golang.
During a meeting to on-board a new member of the team at work today, I went through a similar process as my last blog post. This time I chose a different application, so I thought I’d write it up here.
[Read More]
Late Night Linux Extra: 14 - Transcription
I was recently interviewed by Joe Ressington for Late Night Linux Extra episode 14. Here’s a transcription I typed up, which may be useful. I used an automated tool to create the transcription, then tidied it up myself. If you spot anything which doesn’t match the audio, and is materially important, do feel free to propose an edit on GitHub (link at the top of the page).
Joe: This episode is about snaps, quite the controversial topic in some circles, and who better to talk about it than Alan Pope - “popey” as he’s affectionately known by almost everyone.
[Read More]
Snapcraft GNOME Extension Update
This is an early PSA aimed at developers who publish snaps in the Snap Store. They can probably skip this preamble, but for anyone else here’s some backstory in case you’re bored interested.
Preamble Snaps are confined software packages for Linux. They were originally designed / intended for IoT use cases so are optimised for size, bundling dependencies, are compressed on disk and auto update. They can also be used to package server software, like NextCloud, and desktop software like Signal Desktop.
[Read More]
Check for Outdated Snaps
I don’t consider myself a ‘Developer’ but I maintain a bunch of snaps in the Snap Store, and threw together a shell script which I’m sharing here in case it’s useful to other publishers. The goal of the script is to go through each snap and check to see if there’s a newer version of it upstream than currently published in the store. As such it’s not meant for end-users, but for people like me who publish multiple snaps from different places, and want to keep on top of them.
[Read More]
Snap Along With Me
Every so often I find myself with an idle hour and decide to use that time to package some new software for Linux. A common activity among nerds, I’m sure ;). This blog post is a write up of what I did, and why, which may be useful to others with time on their hands.
I keep meaning to live stream when I do, but on this occasion I had a bad hair day was also listening to and engaging with a podcast, so it wasn’t practical.
[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]
Building Apps for Linux without Linux
It’s now super easy to build Linux software packages on your Windows laptop. No VM required, no need for remote Linux hosts.
I spend a lot of my day talking to developers about their Linux software packaging woes. Many of them are using Linux desktops as their primary development platform. Some aren’t, and that’s their (or their employers) choice. For those developers who run Windows and want to target Linux for their applications, things just got a bit easier.
[Read More]