cover image

Your first robot: A beginner's guide to ROS and Ubuntu Core [1/5]

UPDATE: I’m leaving this series up for historical purposes, but please note that I no longer recommend Ubuntu Core or snaps for use in robotics. Some time ago I created a blog/video series that walked the reader through creating a prototype using the Robot Operating System (ROS) and taking it to production using Ubuntu Core. However, that series was intended more for robotics professionals; it assumed quite a bit of ROS knowledge, and required some costly equipment (the robot was about $1k)....

December 17, 2017 · 8 min · Kyle
cover image

Snap configuration: the configure hook

You’ve heard it a million times: snaps bundle their dependencies. People seem to understand and accept the technical aspects of this, but today I want to talk about a more philosophical aspect. If you’re used to more traditional packaging, then you’re used to each project being standalone, e.g. Apache is its own package, with its own configuration; PHP is its own package, with its own configuration; and so on. As you begin creating a snap, perhaps one that bundles Apache, it’s easy to automatically gravitate toward wanting to make those config files available to your users as well....

September 12, 2017 · 7 min · Kyle
cover image

Snap install-time setup: the install hook

When it comes to developing snaps, there’s a particular confusion out there that I see over and over again: build-time versus run-time. For example: “I’m building a snap, but I can’t seem to convince Snapcraft to place my config file in $SNAP_DATA.” In this post, I want to show you how to get the results you want. First of all, we need to clear something up. Snapcraft can’t actually do this for you....

September 11, 2017 · 8 min · Kyle
cover image

Ubuntu Core: Making a factory image with private snaps

This is a follow-up to the ROS prototype to production on Ubuntu Core series to answer a question I received: “What if I want to make an image for the factory, but don’t want to make my snaps public?” This question is of course not robotics-specific, and neither is its answer. In this post we’ll cover two ways to do this. Before we start, you’ll need a little bit of an Ubuntu Core imaging background....

July 6, 2017 · 6 min · Kyle
cover image

How to use Snapcraft v2 on Trusty

As of this writing there are two major versions of Snapcraft: v1 and v2. Snapcraft v1 creates snaps that target Ubuntu Core 15, and Snapcraft v2 creates snaps that target Ubuntu Core 16. Series 16 snaps are much more widely used, being supported not only in Ubuntu Core 16 but also classic Ubuntu Xenial (desktop and server) and more recently even Trusty! It’s also supported across a range of other Linux distributions....

June 8, 2017 · 6 min · Kyle