dryer lint

My team at work has been focused on snaps this year and one thing we’ve tried to do internally is establish a set of best practices for snap packaging software. Toward that end I’ve been working on a little tool I’m calling snaplint to encode those practices and verify that we’re following them.

Right now you can run snaplint against your snapcraft project directory
and it will scan the prime subdirectory for the following things:

  • copyright (basically that you included usr/share/doc/*copyright*) for
    any stage-packages
  • developer cruft (things like header and object files or static libs
    that might have made their way into your snap)
  • libraries (examine the ELF files in your snap and look for libraries
    which aren’t used)

The next things I’m planning on adding are:

  • checking for copyright info from apps/parts themselves.
  • checking for mixing of incompatible licenses

I would love to hear suggestions on further improvements.

You can find the source at https://github.com/ssweeny/snaplint

And, of course if you’re running Ubuntu 16.04 or later you can try it on your own machine with:
$ snap install snaplint
$ snaplint path/to/your/project

Ubuntu 14.10

I’m at a sprint in Washington, DC with my fellow Canonicalers gearing up for the commercial release of our phone OS (more on that later) but that doesn’t mean we’ve forgotten about the desktop and cloud.

Yesterday was another Ubuntu release day! We released Ubuntu 14.10, codenamed the Utopic Unicorn. Look for lots of subtle improvements to the desktop as we prepare some big things to come soon.

As usual, you can take a tour or go straight to the download page.

And while we’re at it, here’s to another 10 years of Ubuntu!

Trusty TahrAnother very exciting release of Ubuntu for desktops and phones (oh, and I guess servers and cloud too) is out the door!

This is a Long Term Support release, which means it’s supported for five years, and it’s the release I’ll be trying to install on friends’ and family’s computers at every opportunity.

As usual, you can take a tour or go straight to the download page.

Smarter and Faster

This is a very exciting release for me, not least because it’s the first official release of Ubuntu for Phones, which was the big focus for my team at Canonical this cycle. We worked on making it easy to spin up your own custom build of Ubuntu and helped out with fixing bugs wherever we could.

If you’re comfortable flashing your phone you can install Ubuntu with these instructions.

Of course, Ubuntu still rocks your socks on your desktop or laptop, so take the tour or go grab it!

After having my desktop computer shut down for a week while my father-in-law was building a ceiling for our basement (thanks, Barry!) I started it up tonight and ran through the absurd amount of raring updates that I’d missed, then on a whim decided to fire up the Steam client and check for updates there too. As it happens there was an update, and look what I found when it finished:

Indicator for Steam!
Indicator for Steam!

Just adding to the insanity.

Avoid the pain of Windows 8I want to congratulate my friends and colleagues at Canonical and in the Ubuntu community on another great release. 12.04 was a tough act to follow but the spit and polish they put into 12.10 is really showing.

Don’t just take my word for it, grab it and try for yourself!

I’ve already got one patch in line for the next Ubuntu release, 13.04 (codename Raring Ringtail) and I hope it’s just the first of many. Let’s do this thing.

Closing Party BannerFriday was a light day as far as sessions were concerned (at least sessions which I found interesting). The first session was about multi-monitor support in Unity. This has been a big pain point for some users in the last couple of releases so I’m happy to see it given some priority. The primary focus this cycle will be two displays (two monitors, or one monitor + one projector), which is the most common case. There was some design work done on how to place the launcher (along which edges and what to do if the user wants to move “through” the edge) and how to decide which is the “primary” display. There was a six-monitor demo set up in the hall which we could play with to get an idea of how it will work. It was just a prototype so it took no time at all for users to break it. 🙂 (blueprint, notes)

Next up for me was a discussion on making sure that there is a base set of packages which will be cross-compilable to ARM. This is a big one for my group since much of our target hardware is ARM-based and our current options for building packages (slow ARM hardware or even slower virtual machines) make development challenging. I’m definitely looking forward to seeing this one accomplished. (blueprint, notes)

After lunch were a set of “lightning talks”, 5-minute talks about whatever interesting subject the speaker could come up with. I could detail them here, but it’s likely that you won’t care. On the off-chance that you do you can watch them yourself:


The only other session I attended was on finding and fixing the regressions in boot speed in the last couple of releases. Martin Pitt showed off some boot charts from lucid and maverick looking for specifics on where things have slowed down. It looks as if compiz and nautilus are the worst offenders, but there will be plenty of cleanups to go around. (blueprint, notes)

Super CEO

In the evening was the much-beloved after party which had a super hero theme this time around. I spotted The Hulk stomping around the room and our CEO gave her “thanks for all the hard work” speech dressed as Supergirl. The party itself was loads of fun, with the Ubuntu All-Stars playing some classic tunes (can’t go wrong with “Wish You Were Here”) and lots of alcohol-inspired dancing.

After an exhausting week it was time for one more sleep then the a short plane ride home.