April 26, 2015

I’m back!

Jhosman Lizarazo


Several years ago did not write them, I was working on many things, but I’m back! Soon I will publish new post about Ubuntu and novelties. You can see the news from my website at: http://www.jhosman.com/en

As a bonus track, Ubuntu will sponsor Flisol Bogotá 2015. We are grateful to the community! http://www.flisolbogota.org


on April 26, 2015 04:25 AM

LibreOffice 5.0 avañe’ẽme!

Adolfo Jayme Barrientos

Among all of the great new features that will ship in the upcoming LibreOffice 5.0, there is one that I’m especially excited about: this will be the first release that will include a brand new translation into Guarani, the millenary language of approximately eight million people in South America, mainly in Paraguay.

As you may know, I’m a translator and an activist who supports language preservation. This is also one of the principles supported by the Document Foundation, which aims to provide the world with free tools for document creation and preservation to all the world’s peoples, regardless of their economic status or social situation, helping to make the world a bit more egalitarian towards those sectors of the population that are still being discriminated due to their knowledge of a different tongue, and fighting towards lessening the digital divide.

What makes this so groundbreaking is that there are no other professional software tools available in Guarani yet, and hopefully we will help convince other software makers to push towards supporting this and other “indigenous” languages—which are our own, in contrast with the languages that the destructive European colonialism left us with.

I would like to thank Giovanni Caligaris, the volunteer translator who is driving this effort forward.

on April 26, 2015 03:15 AM

April 25, 2015

I was surprised to find that in the UOS announcement there was no mention of work on defining the development of an actual Linux distribution.  Here’s the tracks:

  • App & scope development: the SDK and developer platform roadmaps, phone core apps planning, developer workshops
  • Cloud: Ubuntu Core on clouds, Juju, Cloud DevOps discussions, charm tutorials, the Charm, OpenStack
  • Community: governance discussions, community event planning, Q+As, how to get involved in Ubuntu
  • Convergence: the road to convergence, the Ubuntu desktop roadmap, requirements and use cases to bring the desktop and phone together
  • Core: snappy Ubuntu Core, snappy post-vivid plans, snappy demos and Q+As
  • Show & Tell: presentations, demos, lightning talks (read: things that break and explode) on a varied range of topic
  • App & scope development: Supporting upstream development
  • Cloud: Tools for using Ubuntu in a cloud environment
  • Community: Important, but not distribution development
  • Convergence: Unity upstream development
  • Core: Development of an alternative to Ubuntu
  • Show & Tell: Interesting, but still not development

I’ve been involved in Ubuntu development for over 8 years now.  Except for Community, none of that looks anything like the Ubuntu I knew.

The last few UOS there has been a session to coordination Qt5 planning between Kubuntu and Canonical’s developers that use Qt5 (I’ve lost track of what they’re called and I also know they don’t all work for Canonical, but close enough).  I have no idea what track that would even be a part of now.  Kubuntu has never really used UOS.  It’s simpler for us just to schedule our own online meeting (in addition to in person meetings at Akademy for some of us), but it’s been a useful coordination point with other teams in the Ubuntu ecosystem.  I’m not sure how that’ll even work now.

on April 25, 2015 03:58 PM

Ubuntu Online Summit
The 15.04 release frenzy over, but the next big event in the Ubuntu calendar is just around the corner. In about a week, from the 5th to 7th of May, the next edition of the Ubuntu Online Summit is taking off. Three days of sessions for developers, designers, advocates, users and all members of our diverse community.

Along the developer-oriented discussions you’ll find presentations, workshops, lightning talks and much more. It’s a great opportunity for existing and new members to get together and contribute to the talks, watch a workshop to learn something new, or ask your questions to many of the rockstars who make Ubuntu.

While the schedule is being finalized, here’s an overview (and preview) of the content that you should expect in each one of the tracks:

  • App & scope development: the SDK and developer platform roadmaps, phone core apps planning, developer workshops
  • Cloud: Ubuntu Core on clouds, Juju, Cloud DevOps discussions, charm tutorials, the Charm, OpenStack
  • Community: governance discussions, community event planning, Q+As, how to get involved in Ubuntu
  • Convergence: the road to convergence, the Ubuntu desktop roadmap, requirements and use cases to bring the desktop and phone together
  • Core: snappy Ubuntu Core, snappy post-vivid plans, snappy demos and Q+As
  • Show & Tell: presentations, demos, lightning talks (read: things that break and explode) on a varied range of topics

Joining the summit is easy, you’ll just need to follow the instructions and register for free to the Ubuntu Online Summit >

UOS highlights: back to the desktop, snappy and the road to convergence

This is going to be perhaps one of the most important summits in recent times. After a successful launch of the phone, followed by the exciting announcement and delivery of snappy Ubuntu Core, Ubuntu is entering a new era. An era of lean, secure, minimal and modular systems that can run on the cloud, on Internet-enabled devices, on the desktop and virtually anywhere.

While the focus on development in the last few cycles has been on shaping up and implementing the phone, this doesn’t mean other key parts of the project have been left out. The phone has helped create the platform and tools that will ultimately bring all these projects together, into a converged code base and user experience. From desktop to phone, to the cloud, to things, and back to the desktop.

The Ubuntu 15.10 cycle begins, and so does this exciting new era. The Ubuntu Online Summit will be a unique opportunity to pave the road to convergence and discuss how the next generation of the Ubuntu desktop is built. So the desktop is back on the spotlight, and snappy will be taking the lead role in bringing Ubuntu for devices and desktop together. Expect a week of interesting discussions and of thinking out of the box to get there!

Participating in the Ubuntu Online Summit

Does this whet your appetite? Come and join us at the Summit, learn more and contribute to shaping the future of Ubuntu! There are different ways of taking part in the online event via video hangouts:

  • Participate or watch sessions – everyone is welcome to participate and join a discussion to provide input or offer contribution. If you prefer to take a rear seat, that’s fine too. You can either subscribe to sessions, watch them on your browser or directly join a live hangout. Just remember to register first and learn how to join a session.
  • Propose a session – do you want to take a more active role in contributing to Ubuntu? Do you have a topic you’d like to discuss, or an idea you’d like to implement? Then you’ll probably want to propose a session to make it happen. There is still a week for accepting proposals, so why don’t you go ahead and propose a session?

Looking forward to seeing you all at the Summit!

The post Announcing the next Ubuntu Online Summit appeared first on David Planella.

on April 25, 2015 07:14 AM

April 24, 2015

As I said in this post, I renamed “The Ubuntu Sense”, to (drum roll please) to “The Sense of Openness”. I started with voluteering in the Ubuntu in July 2013 and within six months, I recieved my Ubuntu Memebership. But I started to extend invoulment into Open Science, since I’m a biologist. I noticed that I started to post/talk about non-Ubuntu things on my everything-Ubuntu-related blog and decided to open up a “new” (I imported my old one) one that emcompasses everything that is Open * related. Also, I’m keeping the “sense” theme.

To accomplish this, before exporting the old content from the old blog, I organized the categories into six main ones (that may change, as I have some that I’m not sure of) and within the categories, I have sub-categories that relate to the groups that I’m in (Ubuntu Women in Ubuntu and Center of Open Science in Open Science are two examples). This will allow me to only use categories for RSS feeds for the Planets in order to stay on topic.

Also, I broke down my “About” page into three pages, one that explains who I am, one for FOSS, and one for Open Science.  These pages will explain what the topic is, what groups that I am in, and what roles, that I take up, in those groups are.  These pages will act like my “resume” because I want to show the world what I have done within the communities and my skills, as it’s scattered around the web.

I want to thank Rafael Laguna for creating me the logos (wordless and with words) below:

logo2 logo

on April 24, 2015 09:56 PM

It has arrived. Quite possibly the biggest issue ever. A whopping 63 pages of FCM goodness!


This month:
* Command & Conquer
* How-To : Program in Python, LibreOffice, Using LaTeX, and [NEW!] Programming JavaScript
* Graphics : Inkscape.
* [NEW!] Chrome Cult
* Linux Labs: OwnCloud
* [NEW!] Ubuntu Phones – Interview with Cristian Parrino
* Review: Precision m3800 DE laptop
* Ubuntu Games: Cities: Skylines
plus: News, Arduino, Q&A, and soooo much more.


on April 24, 2015 06:56 PM

April 23, 2015

Another 6 months of development has come and gone and we have a new Xubuntu release!  This release includes the hotly anticipated Xfce 4.12, released on February 28, as well as all of the typical application, appearance, documentation, and translation updates.

Left: Xubuntu 14.10, Right: Xubuntu 15.04

What’s New?

With the release of Xfce 4.12, this list is a bit longer than usual…


  • Xfce 4.12, and all of the wonderful things it includes!
  • A new application, LightDM GTK Greeter Settings, has been included to configure the login screen.
  • Light Locker is now configured through Xfce Power Manager
  • New “Xubuntu Light” and “Xubuntu Dark” colorschemes in Mousepad and Xfce Terminal
    • Xubuntu Light is the new default Mousepad scheme
    • Xubuntu Dark is a refreshed version of the previous terminal scheme
  • QT applications now look better out of the box


  • abiword 3.0.1
  • apt-offline 1.6
  • blueman 1.99
  • exo (Xfce support library) 0.10.4
  • firefox 37.0
  • garcon (Xfce menu library) 0.4.0
  • gnumeric 1.12.18
  • inxi 2.2.16
  • light-locker 1.6
  • lightdm-gtk-greeter 2.0
  • lightdm-gtk-greeter-settings 1.1.0
  • mousepad 0.4.0
  • parole 0.8.0
  • pavucontrol 2.0.3
  • ristretto 0.8.0
  • thunar 1.6.6
  • thunderbird 31.6
  • tumbler (Xfce thumbnailer) 0.1.31
  • xfce4-appfinder 4.12.0
  • xfce4-dev-tools 4.12.0
  • xfce4-indicator-plugin 2.3.3
  • xfce4-netload-plugin 1.2.4
  • xfce4-panel 4.12.0
  • xfce4-places-plugin 1.7.0
  • xfce4-power-manager 1.4.3
  • xfce4-screenshooter 1.8.2
  • xfce4-session 4.12.1
  • xfce4-settings 4.12.0
  • xfce4-systemload-plugin 1.1.2
  • xfce4-taskmanager 1.1.0
  • xfce4-weather-plugin 0.8.5
  • xfce4-whiskermenu-plugin 1.4.3
  • xfce4-xkb-plugin 0.7.1
  • xfconf 4.12.0
  • xfdesktop4 4.12.0
  • xfwm4 4.12.1


Login Screen Firefox and Thunderbird Office Applications Xfce Applications LightDM GTK Greeter Settings Xubuntu Light and Dark Desktop

Known Issues

  • Catfish: Authentication in live session accepts any value as password (LP: #1395720)
    • A minor issue since the live session does not use a password.
  • Xfce Panel: Dragging applications in the task bar causes repaint errors (LP: #1397095)
  • Xfce Notes/Panel: When upgrading, the notes plugin is removed from the panel (LP: #1446598)
    • No data is lost here, simply add the plugin back to your panel.
  • Power Indicator: indicator-power icons are incorrect after upgrade (LP: #1446605)
  • Virtualbox/VMWare: Shutdown/Restart of live session guest does not work (LP: #1447038)
    • The installation completes and no data is lost. Simply restart your virtual machine.


Head over to the Xubuntu website to grab the latest LTS or stable version here.

on April 23, 2015 11:41 PM

The Ubuntu GNOME Team is glad to announce the release of Ubuntu GNOME 15.04 (Vivid Vervet).

Ubuntu GNOME is an official flavour of Ubuntu, featuring the GNOME desktop environment. Ubuntu GNOME is a mostly pure GNOME desktop experience built from the Ubuntu repositories. Two years ago, Ubuntu GNOME has started as unofficial flavour to Ubuntu – see the release notes of 12.10 – and 6 months after that, Ubuntu GNOME has become an official flavour. So, 13.04, 13.10, 14.04 LTS, 14.10 and today, 15.04 so let’s find out more about Ubuntu GNOME 15.04 (Vivid Vervet).

Release Notes

Please read the Release Notes before Downloading Ubuntu GNOME 15.04:

The Official Announcement on the mailing list


Get Ubuntu GNOME 15.04

There are important steps you need to be aware of before installing Ubuntu GNOME 15.04 so please read carefully: Download Ubuntu GNOME 15.04


Ubuntu GNOME 15.04 (Vivid Vervet) is supported for 9 months only. This is our Non-LTS Release. If you seek stability and long support, please consider Ubuntu GNOME 14.04 (Trusty Tahr) LTS Release. If you seek the latest software/packages that we can offer, then go ahead and use Ubuntu GNOME 15.04 (Vivid Vervet).

Contact Us

Please, see the full list of our communications channels

Thank you everyone

To each and everyone who participated, helped, supported and contributed to Ubuntu GNOME this cycle; big thanks to all of you. Special thanks to our testers who did a unique great job – as always – to make Ubuntu GNOME better.

Thank you for choosing and using Ubuntu GNOME.

on April 23, 2015 08:34 PM
Another short term release is out. Not much is new, but some of the most obvious changes are: new meta package: ubuntustudio-audio-core (includes all the core stuff for an audio oriented installation) XFCE 4.12 If you want to know more, please have a look at our release notes. You can find the downloads at our […]
on April 23, 2015 07:31 PM
As expected, the next version of Lubuntu is here. It's known as a bug release, as we're preparing the next generation Qt based desktop. Lots of bugs have been fixed, and there're many improvements. Artwork has been redesigned too, with a smoother and unified overall look and feel.

Remmarkable changes are:
  • General bug fix release as we prepare for LXQt
  • Many LXDE components have been updated with bug fix releases
  • An update of the artwork (more icons, theme update, more compatibilities ...)

Check out the full list of included applications. More data at the official website.
You can read the release notes here. Grab it while it's hot here.
on April 23, 2015 07:10 PM
The first 'official' release of Ubuntu MATE is here! :)
Ubuntu MATE 15.04

If you miss the old GNOME 2 or you want a fast, easy and nice desktop, this could be your flavor!

For a retrospective future


Caja File Browser and calendar panel
Choose your favorite layout

Download Ubuntu MATE 15.04 now!



And... Ubuntu MATE 15.04 is also available for PowerPC and the Raspberry Pi 2 too!!


on April 23, 2015 06:19 PM
An amazing Entroware ultrabook for just 499£

Apollo ultrabook
CPU i3 | 4GB RAM | 500GB HD | 13,3" | Ubuntu preinstalled > Buy here.

Via Martin.

on April 23, 2015 06:19 PM
A prototype is worth a thousand meetings -- Words to live by!
A couple of weeks ago, I had the pleasure of attending the 1stBuild Hackathon -- Hack the Home -- sponsored by GE, Canonical, and a host of other smart companies in the IoT space.

Over 250 makers -- hardware and software geeks much like myself -- competed for cash prizes in teams all night long in a 36 hour event at the amazing hackerspace hosted by 1stBuild and the University of Louisville in Kentucky.

Mark Shuttleworth recorded this message, played in the kickoff keynote, to start the hackathon:

Several entries did in fact use Snappy Ubuntu as the base operating system, including the 3rd Place entry, a Smart Crockpot!

I'll quote Jason Chodynieki, on the team that built that device, since I couldn't write it any better:
"I wanted to highlight that this project makes use of Snappy Ubuntu Core! Using Snappy, we were able to create a very modular application that could easily be updated across multiple devices if this project ever made it to production. Snappy provided us with the ability to use popular frameworks very easily and to package our application up as a Snap to make it accessible to the world. With Snappy and the associated CrockWatch snap, we are capable of dropping CrockWatch onto any device that is receiving sensor data from a Crockpot. Because of this, the CrockWatch application can not only run on the webserver (on a Raspberry Pi 2) we used for this project, but it can also be used on other devices. Imagine if your set top box on your TV could help show you what's cooking in the Crock Pot or if the screen on your fridge was capable of displaying this information! With Ubuntu Snappy, these thoughts could soon become reality!"

My wife absolutely loves this idea!  She often starts cooking dinner in the morning, in our slow cooker, and then spends the rest of the day running around town, dropping our kids off and picking them up from two different schools.  She would love the ability to remotely "check in" on the food, look at it from a camera, and adjust the temperature and pressure while out and about around town!

GE had a whole array of appliance available at the event, any of which could be controlled through a special interface, and a Raspberry Pi 2 running Snappy, including this fridge.

All in all, it was a fantastic event.  A big thanks to our hosts at 1stBuild and our colleagues at GE that introduced us to the event.  And an even bigger thanks to all the participants that worked with Ubuntu on their devices and to my colleague Massimo who helped them out!

Happy Hacking,
on April 23, 2015 04:43 PM

And, it is official

Kubuntu Wire

Softpedia was one of the first to break the news, with the headline, “Kubuntu 15.04 Officially Released, Based on Beautiful Plasma 5 Desktop”. They write:

Kubuntu developers don’t usually integrate a custom KDE experience, so Kubuntu is the perfect opportunity to test and see what the developers want to achieve with latest and best of KDE. This is close to what the makers of this great desktop environment are really trying to achieve, so you can easily use Kubuntu as a standard by which any other KDE-powered OS can be judged.


on April 23, 2015 03:58 PM

Codenamed "Vivid Vervet", 15.04 continues Ubuntu’s proud tradition of integrating the latest and greatest open source technologies into a high-quality, easy-to-use Linux distribution. The team has been hard at work through this cycle, introducing new features and fixing bugs.

Under the hood, there have been updates to many core packages, including a new 3.19-based kernel, a new glibc, and much more.

One of the larger changes this cycle is a switch from upstart to systemd as the default for managing boot and system service startup.

Ubuntu Desktop has seen incremental improvements, with newer versions of GTK and Qt, updates to major packages like Firefox and LibreOffice, and stability improvements to Unity.

Ubuntu Server 15.04 includes the Kilo release of OpenStack, alongside deployment and management tools that save devops teams time when deploying distributed applications – whether on private clouds, public clouds, x86 or ARM servers, or on developer laptops. Several key server technologies, from MAAS to Ceph, have been updated to new upstream versions with a variety of new features.

This release also includes the first release of snappy Ubuntu Core, a new distribution model based on transactional updates. To find out more about snappy and how to try it out, see the developer pages:


Continuing the excitement of new and interesting products, Ubuntu 15.04 also welcomes Ubuntu MATE to the party as an official community flavour. Please give them a warm welcome to the family.

The newest Kubuntu, Xubuntu, Lubuntu, Ubuntu GNOME, Ubuntu Kylin, and Ubuntu Studio are also being released today. More details can be found for these at their individual release notes:


Maintenance updates will be provided for 9 months for all flavours releasing with 15.04.

To get Ubuntu 15.04

In order to download Ubuntu 15.04, visit:


Users of Ubuntu 14.10 will be offered an automatic upgrade to 15.04 via update-manager. For further information about upgrading, see:


As always, upgrades to the latest version of Ubuntu are entirely free of charge.

We recommend that all users read the release notes, which document caveats, workarounds for known issues, as well as more in-depth notes on the release itself. They are available at:


Find out what’s new in this release with a graphical overview:


If you have a question, or if you think you may have found a bug but aren’t sure, you can try asking in any of the following places:

#ubuntu on irc.freenode.net

Help Shape Ubuntu

If you would like to help shape Ubuntu, take a look at the list of ways you can participate at:


About Ubuntu

Ubuntu is a full-featured Linux distribution for desktops, laptops, netbooks and servers, with a fast and easy installation and regular releases. A tightly-integrated selection of excellent applications is included, and an incredible variety of add-on software is just a few clicks away.

Professional services including support are available from Canonical and hundreds of other companies around the world. For more information about support, visit:


More Information

You can learn more about Ubuntu and about this release on our website listed below:


To sign up for future Ubuntu announcements, please subscribe to Ubuntu’s very low volume announcement list at:


Originally posted to the ubuntu-announce mailing list on Thu Apr 23 15:19:05 UTC 2015 by Adam Conrad

on April 23, 2015 03:54 PM

We’ve released Kubuntu 15.04, thanks to all who helped.

And thanks to Lucas from the VDG we have a pretty video to introduce the world to the new desktop – Plasma 5.

facebooktwittergoogle_pluslinkedinby feather
on April 23, 2015 03:48 PM
Xubuntu 15.04 Vivid VervetXubuntu 15.04 Vivid Vervet

The Xubuntu team is pleased to announce the immediate release of Xubuntu 15.04!

The release is available for download by torrents and direct downloads from http://xubuntu.org/getxubuntu/.

As the main server will be very busy in the first days after the release, we recommend using the Torrents wherever possible.

For support with the release, navigate to Help & Support for a complete list of methods to get help.

Highlights and Known Issues


Xubuntu now uses Xfce 4.12, which was released on February 28. The new release has brought both some new features and many bug fixes over the old 4.10/4.11 components. For a complete changelog for Xfce 4.12, see the 4.12 changelog on Xfce.org.

In addition to the new Xfce release, the 15.04 release has the following highlights:

  • New/Updated Xubuntu Light/Dark colorschemes in Mousepad, Terminal
  • Mousepad colorscheme set to Xubuntu Light by default
  • Better appearance for QT applications out of the box (default to GTK theme)
  • Redundant File Manager (Settings) menu entry removed

Known Issues

When upgrading, the notes plugin is removed from the panel (Bug 1446598) To work around this, simply add the notes plugin back to the panel. Your data is kept intact.

For a complete changelog between Xubuntu 14.10 and 15.04, including a list of new package versions, please refer to the Release Notes.

on April 23, 2015 03:25 PM
The Snappy OVA images are nothing more than the Ubuntu Snappy Cloud images that have been wrapped up in an OVA container. Snappy Cloud Images expect to be running within a Cloud environment where a meta-data source is provided.

But since OVA is a virtualization appliance format, users have expressed some confusion as how they can use it on Virtualbox or VMware Fusion/Workstation.

Option 1: Create a Cloud-Config ISO/VMDK

In order to use the OVA images you need to prepare a Cloud-Config ISO. On Ubuntu the steps are:

# Create the cloud-config
$ cat >> user-data <<"EOF
    ssh_enabled: true
password: passw0rd
chpasswd: { expire: False }
ssh_pwauth: True
# Create the meta-data
$ cat >> meta-data <<EOM
instance-id: $(uuidgen)
local-hostname: ubuntu-snappy
# To make the cloud-config big enough...Otherwise VMware
# won't respect the VMDK
$ dd if=/dev/zero of=bloat_file bs=1M count=10
# Generate the ISO image
$ genisoimage \
-output seed.iso \
-volid cidata \
-joliet -rock \
user-data meta-data bloat_file
# Convert the ISO to a VMDK (if you want)
$ qemu-img convert -O vmdk seed.iso seed.vmdk

After importing the OVA image using a VMware, Citrix or Virtualbox platform, attach the VMDK or ISO image. Cloud-init will find the CDROM and read the values. At that point you can login as "ubuntu" with the password you have set.

Option 2: Cheat with the Vagrant images

In addition to the OVA images, we publish Vagrant Images. These images are targeted at the VirtualBox/Vagrant community but are easily re-purposed by the mischevious.

Technically speaking, the Vagrant images are nothing more than an OVA that have been pre-configured using insecure and well-known SSH keys with an attached cloud-config.  In fact, the Vagrant Snappy images use an attached "cloud-config" drive created similiar to the steps in Option 1.

These images are _NOT_ production quality. If you don't care about security and will only be using this on localhost network then you can simply:
  • Fetch the most current image:, i.e.
         $ wget -O cheating.ova http://goo.gl/DO7a9W
  • Import "cheating.ova" using your Virtualization platform
  • Boot up the image
  • Login as "ubuntu" with a password of "ubuntu"

    on April 23, 2015 10:32 AM
    I am pleased to announce initial Vagrant images [1, 2]. These images are bit-for-bit the same as the KVM images, but have a Cloud-init configuration that allows Snappy to work within the Vagrant workflow.

    Vagrant enables a cross platform developer experience on MacOS, Windows or Linux [3].

    Note: due to the way that Snappy works, shared file systems within Vagrant is not possible at this time. We are working on getting the shared file system support enabled, but it will take us a little bit to get going.

    If you want to use Vagrant packaged in the Ubuntu archives, in a terminal run::

    • sudo apt-get -y install vagrant
    • cd <WORKSPACE>
    • vagrant init http://goo.gl/DO7a9W 
    • vagrant up
    • vagrant ssh
    If you use Vagrant from [4] (i.e Windows, Mac or install the latest Vagrant) then you can run:
    • vagrant init ubuntu/ubuntu-15.04-snappy-core-edge-amd64
    • vagrant up
    • vagrant ssh

    These images are a work in progress. If you encounter any issues, please report them to "snappy-devel@lists.ubuntu.com" or ping me (utlemming) on Launchpad.net


    [1] http://cloud-images.ubuntu.com/snappy/15.04/core/edge/current/core-edge-amd64-vagrant.box
    [2] https://atlas.hashicorp.com/ubuntu/boxes/ubuntu-15.04-snappy-core-edge-amd64
    [3] https://docs.vagrantup.com/v2/why-vagrant/index.html
    [4] https://www.vagrantup.com/downloads.html
    on April 23, 2015 10:30 AM

    S08E07 – The Starfighters - Ubuntu Podcast

    Ubuntu Podcast from the UK LoCo

    It’s Episode Seven of Season Eight of the Ubuntu Podcast! Alan Pope, Laura Cowen, Mark Johnson, and Martin Wimpress are connected and speaking to your brain.

    In this week’s show:

    That’s all for this week, please send your comments and suggestions to: show@ubuntupodcast.org
    Join us on IRC in #ubuntu-podcast on Freenode
    Follow us on Twitter
    Find our Facebook Fan Page
    Follow us on Google+

    on April 23, 2015 08:36 AM

    This is a quick introduction on extending Juju with plugins. What we’ll cover:

    • Setting up your Go environment
    • Getting the Juju source code
    • Writing a basic plugin named juju-lyaplugin short for (juju-learnyouaplugin)
    • End result will be a plugin that closely resembles what juju run would do.


    • Running on Ubuntu 14.04 or above
    • Go 1.2.1 or above (Article written using Go 1.2.1)
    • A basic understanding of the Go language, package imports, etc.

    Setting up your Go environment

    This is all a matter of preference but for the sake of this article we’ll do it my way :)

    Install Go

    On Trusty and above:

    sudo apt-get install golang

    Go dependency management

    2 projects I use are:


    $ cd /tmp && git clone https://github.com/pote/gvp.git && cd gvp && sudo ./configure && sudo make install
    $ cd /tmp && git clone https://github.com/pote/gpm.git && cd gpm && sudo ./configure && sudo make install

    Feel free to check out their project pages for additional uses.

    Create your project directory

    $ mkdir ~/Projects/juju-learnyouaplugin
    $ cd ~/Projects/juju-learnyouaplugin

    Setup the project specific Go paths

    $ source gvp in

    This will setup your $GOPATH and $GOBIN variables for use when resolving imports, compiling, etc.

    $ echo $GOPATH
    $ echo $GOBIN

    From this point on all package dependencies will be stored in the project’s .godeps directory.

    Get the Juju code

    From your project’s directory run:

    $ go get -d -v github.com/juju/juju/...

    Writing the plugin

    Now that all the preparatory tasks are complete we can begin the fun stuff. Using your favorite editor open up a new file main.go. Within this file we need to define a few package imports that are necessary for the plugin.

    import (
        _ "github.com/juju/juju/provider/all"

    Let’s go through the imports and list why they are required.

    • github.com/juju/cmd - This import gives us access to the run context of a command DefaultContext
    • github.com/juju/juju/cmd/envcmd - Provides EnvCommandBase for creating new commands and giving us access to the API Client for making queries against the Juju state server.
    • github.com/juju/juju/apiserver/params - Provides access to 2 types RunParams and RunResults for executing the api call to Run and return the executed results.
    • github.com/juju/juju/juju - Provides access to InitJujuHome for initializing the necessary bits like charm cache and environment. Required before running any juju cli command.
    • github.com/juju/loggo - Provides access to juju’s logging api
    • github.com/juju/names - This package provides some convenience functions in particular we’ll use IsValidMachine
    • launchpad.net/gnuflag - Provides the interface for our command definition like setting arguments, usage information, and execution.
    • github.com/juju/juju/provider/all - Registers all known providers (amazon, maas, local, etc)

    With that said let’s spec out the plugin type. This will hold our embedded command base and cli arguments.

    type LYAPluginCommand struct {
        out      cmd.Output
        timeout  time.Duration
        machines []string
        services []string
        units    []string
        commands string
        envName string
        description bool

    Once defined we can spec out our cli command and its functions.

    The info function

    First part of the command is the Info() function which returns information about the particular subcommand, in our case that is lyaplugin

    var doc = `Run a command on target machine(s)
    This example plugin mimics what "juju run" does.
    juju lyaplugin -m 1 -e local "touch /tmp/testfile"
    func (c *LYAPluginCommand) Info() *cmd.Info {
        return &cmd.Info{
            Name:    "lyaplugin",
            Args:    "<commands>",
            Purpose: "Run a command on remote target",
            Doc:     doc,

    SetFlags function

    Next we’ll define what arguments are available to this new subcommand (lyaplugin).

    func (c *LYAPluginCommand) SetFlags(f *gnuflag.FlagSet) {
        f.BoolVar(&c.description, "description", false, "Plugin Description")
        f.Var(cmd.NewStringsValue(nil, &c.machines), "machine", "one or more machine ids")
        f.Var(cmd.NewStringsValue(nil, &c.machines), "m", "")
        f.StringVar(&c.envName, "e", "local", "Juju environment")
        f.StringVar(&c.envName, "environment", "local", "")

    Here we are providing a –description argument to satisfy a Juju plugin requirement. In addition a target argument -m/–machine MACHINEID and the ability to define which juju environment to execute this in -e/–environment defaults to local environment.

    Init function

    Here we’ll parse the cli arguments, do some basic sanity checking to make sure the passed arguments validate to our liking.

    func (c *LYAPluginCommand) Init(args []string) error {
        if c.description {
        if len(args) == 0 {
            return fmt.Errorf("no commands specified")
        if c.envName == "" {
            return fmt.Errorf("Juju environment must be specified.")
        c.commands, args = args[0], args[1:]
        if len(c.machines) == 0 {
            return fmt.Errorf("You must specify a target with --machine, -m")
        for _, machineId := range c.machines {
            if !names.IsValidMachine(machineId) {
                return fmt.Errorf("(%s) not a valid machine id.", machineId)
        return cmd.CheckEmpty(args)

    Notice the names.IsValidMachine(machineId) which was imported above as this is the only place where we make use of that particular package.

    Run function

    To the heart of the command where the execution based on the cli arguments take place. I’ll describe inline what is happening:

    func (c *LYAPluginCommand) Run(ctx *cmd.Context) error {

    Set the environment name pulled from our arguments list so we known which environment to run our command against.

        client, err := c.NewAPIClient()
        if err != nil {
            return fmt.Errorf("Failed to load api client: %s", err)
        defer client.Close()

    Grab the api client for the current environment.

        var runResults []params.RunResult
        logger.Infof("Running cmd: %s on machine: %s", c.commands, c.machines[0])
        params := params.RunParams{
            Commands: c.commands,
            Timeout:  c.timeout,
            Machines: c.machines,
            Services: c.services,
            Units:    c.units,

    Prepare the RunParams for passing to the api’s Run function.

        runResults, err = client.Run(params)
        if err != nil {
            fmt.Errorf("An error occurred: %s", err)
        if len(runResults) == 1 {
            result := runResults[0]
            logger.Infof("Result: out(%s), err(%s), code(%d)", result.Stdout, result.Stderr, result.Code)
        return nil

    Execute the api Run function and return the results from the executed command on the machine.


    The last bit of code is our main function which ties everything together.

    func main() {
        err := juju.InitJujuHome()

    Initialize the Juju environment based on the default paths or if $JUJU_HOME is defined.

        if err != nil {
        ctx, err := cmd.DefaultContext()
        if err != nil {

    Set the proper command context

        c := &LYAPluginCommand{}
        cmd.Main(c, ctx, os.Args[1:])

    Pass our plugin type/command into the supplied command Context and off you go.


    With the code written, build and run the command.

    $ go build -o juju-lyaplugin -v main.go

    Place the executable somewhere in your $PATH $ mv juju-lyaplugin ~/bin

    See if Juju picks it up

    $ juju help lyaplugin
    usage: lyaplugin [options] <commands>
    purpose: Run a command on remote target
    --description  (= false)
        Plugin Description
    -e, --environment (= "local")
        Juju environment
    -m, --machine  (= )
    Run a command on target machine(s)
    This example plugin mimics what "juju run" does.
    juju lyaplugin -m 1 -e local "touch /tmp/testfile"

    See it in your list of plugins, requires juju-plugins to be installed:

    $ juju help plugins
    Juju Plugins
    Plugins are implemented as stand-alone executable files somewhere in the user's PATH.
    The executable command must be of the format juju-<plugin name>.
    git-charm        Clone and keep up-to-date a git repository containing a Juju charm for easy source managing.
    kill             Destroy a juju object and reap the environment.
    lyaplugin        Run a command on target machine(s)

    This should hopefully give you a better idea where to start when you decide to dive into writing a juju plugin :)

    Full source code for juju-learnyouaplugin

    on April 23, 2015 02:52 AM

    April 22, 2015

    To me it’s the sexiest distro around.

    on April 22, 2015 08:12 PM

    The Ubuntu Community Council is the primary community (i.e., non-technical) governance body for the Ubuntu project. In this series of 7 interviews, we go behind the scenes with the community members who were elected in 2013 serve on this council with Mark Shuttleworth.

    In this, our seventh and final interview, we talk with YokoZar who talks about his contributions to wine and how even small contributions are multiplied to benefit millions of users of Ubuntu.


    What do you do for a career?

    I work as a Site Reliability Engineer at Google. Prior to that, I did some consulting work for various start-ups, centered mostly around Ubuntu and Wine.

    What was your first computing experience?

    I vividly remember playing Ernie’s Big Splash somewhere around age 5 on an old DOS machine. It was one of those water flowing from a pipe games, except the goal was to get water for Ernie (of Bert and Ernie)’s bathtub. It was only a few years before I ended up programming at summer camp.

    How long have you been involved with Ubuntu? And how long on the Ubuntu Community Council?

    I’ve been reporting bugs for Ubuntu from the very beginning – I remember sharing a failed kernel upgrade issue in #ubuntu-devel during the first Warty beta, and I’ve been contributing in some form ever since. I began packaging Wine within a year or so, attending UDS a couple years later, and from there community involvement was a natural result. This is my second term on the Community Council, which means I’ve been serving for four years now.

    What are some of the projects you’ve worked on in Ubuntu over the years?

    Looking back, I’ve touched a surprising number of things. There’s Wine and it’s related bits like winetricks, but I’ve also had my hand in a whole lot of technical infrastructure too, including the now defunct ia32-libs. I even put together packaging for custom Ubuntu card backs into Solitaire at one point.

    What is your focus in Ubuntu today?

    Keeping the Wine packages healthy and reasonable. These days Wine is mostly about playing video games, but for a great number of users that’s mostly the point of PCs in general.

    Do you contribute to other free/open source projects? Which ones?

    I like to be a good citizen regarding bug reports and feedback for most software I use. Most of my personal engineering contributions have gone towards Ubuntu, however.

    If you were to give a newcomer some advice about getting involved with Ubuntu, what would it be?

    It’s a very wide project, so there are many places to find something you like doing. Everything helps — translations, bugs, design, packaging, documentation, user support. And not just directly in Ubuntu itself, but also for our many upstreams.

    Do you have any other comments else you wish to share with the community?

    What we do matters. If you can make Ubuntu just a tiny bit better, that benefit is multiplied across millions of people. There are few opportunities in life where you can have that big of a positive impact on other human beings.

    It can be a bit hard to deal with that reality. I have trouble believing it myself – I have millions of users of my packages, but less than a few dozen have ever even emailed me. Contributing to open source may not be as obvious a way of helping fellow humans as volunteering at a soup kitchen or giving blood, and it may be vastly more thankless and frustrating, but it’s absolutely worth doing. Because what we do matters.

    New to this series? Check out our previous Community Council interviews:

    on April 22, 2015 07:02 PM

    Kubuntu 15.04


    Kubuntu 15.04 has been released.
    on April 22, 2015 04:37 PM

    Packages for the release of KDE's desktop suite Plasma 5.3 beta are available for Kubuntu Vivid. You can get it from the Kubuntu Beta PPA.

    Bugs in the packaging should be reported to kubuntu-ppa on Launchpad. Bugs in the software to KDE.

    on April 22, 2015 10:26 AM

    April 21, 2015

    A few months back (and to some extent even now) there was a lot of turmoil and heated debates of about which init system Debian would be going with. It is an important low level plumbing layer that requires a extensive discussion. However in the midst of all this, there are some who cross the line and just start hating on everything which they don't agree with. My Google+ stream was filled with posts where people insult open source developers1 leading to a very frustrating experience. And I guess it showed the open source community in a bad light where everyone just insults and criticizes one other. I have been hanging around mostly in the #ubuntu-app-devel, #ubuntu-touch and have been fortunate to be part of such a friendly community of people who go out of their way to help you. Today I was fortunate to experience the friendly face of the Ubuntu Community which motivates me to do my part for Ubuntu Touch.

    For the past few days I have been emailing translators requesting them to help translate Podbird2 to different languages. I got a reply to one of various emails I had sent which really resonates to how friendly people are in the Ubuntu Community,

    Hi Nekhelesh,

    I have translated the remaining strings. Do not hesitate to email me for future releases or any other app, it is always a pleasure to translate a free software.
    Congratulations for your hard work!

    Cheers, Anne3

    Here is this person thanking me for my work while in reality she was the one who contributed to the French translations. Thanks Anne for your support! I have noticed this with few other translators as well who are thankful for informing them about strings that require translating.

    The Ubuntu Translators group has been spot on with helping out translate everything that ships with Ubuntu and they deserve this spotlight. What we as app developers could do to make their life easier would be to,

    • Make our apps translatable which in turn also benefits our users
    • Regardless of whether your app is shipped by default or not, decide on a string freeze date beyond which strings are not changed before reaching out to the ubuntu translators to translate your app.
    1. Lennart Pottering, systemd developer

    2. Podbird is a podcast manager for Ubuntu Touch

    3. Anne, French Translator

    on April 21, 2015 07:41 PM


    For the past 6 months, Serge Hallyn, Tycho Andersen, Chuck Short, Ryan Harper and myself have been very busy working on a new container project called LXD.

    Ubuntu 15.04, due to be released this Thursday, will contain LXD 0.7 in its repository. This is still the early days and while we’re confident LXD 0.7 is functional and ready for users to experiment, we still have some work to do before it’s ready for critical production use.

    LXD logo

    So what’s LXD?

    LXD is what we call our container “lightervisor”. The core of LXD is a daemon which offers a REST API to drive full system containers just like you’d drive virtual machines.

    The LXD daemon runs on every container host and client tools then connect to those to manage those containers or to move or copy them to another LXD.

    We provide two such clients:

    • A command line tool called “lxc”
    • An OpenStack Nova plugin called nova-compute-lxd

    The former is mostly aimed at small deployments ranging from a single machine (your laptop) to a few dozen hosts. The latter seamlessly integrates inside your OpenStack infrastructure and lets you manage containers exactly like you would virtual machines.

    Why LXD?

    LXC has been around for about 7 years now, it evolved from a set of very limited tools which would get you something only marginally better than a chroot, all the way to the stable set of tools, stable library and active user and development community that we have today.

    Over those years, a lot of extra security features were added to the Linux kernel and LXC grew support for all of them. As we saw the need for people to build their own solution on top of LXC, we’ve developed a public API and a set of bindings. And last year, we’ve put out our first long term support release which has been a great success so far.

    That being said, for a while now, we’ve been wanting to do a few big changes:

    • Make LXC secure by default (rather than it being optional).
    • Completely rework the tools to make them simpler and less confusing to newcomers.
    • Rely on container images rather than using “templates” to build them locally.
    • Proper checkpoint/restore support (live migration).

    Unfortunately, solving any of those means doing very drastic changes to LXC which would likely break our existing users or at least force them to rethink the way they do things.

    Instead, LXD is our opportunity to start fresh. We’re keeping LXC as the great low level container manager that it is. And build LXD on top of it, using LXC’s API to do all the low level work. That achieves the best of both worlds, we keep our low level container manager with its API and bindings but skip using its tools and templates, instead replacing those by the new experience that LXD provides.

    How does LXD relate to LXC, Docker, Rocket and other container projects?

    LXD is currently based on top of LXC. It uses the stable LXC API to do all the container management behind the scene, adding the REST API on top and providing a much simpler, more consistent user experience.

    The focus of LXD is on system containers. That is, a container which runs a clean copy of a Linux distribution or a full appliance. From a design perspective, LXD doesn’t care about what’s running in the container.

    That’s very different from Docker or Rocket which are application container managers (as opposed to system container managers) and so focus on distributing apps as containers and so very much care about what runs inside the container.

    There is absolutely nothing wrong with using LXD to run a bunch of full containers which then run Docker or Rocket inside of them to run their different applications. So letting LXD manage the host resources for you, applying all the security restrictions to make the container safe and then using whatever application distribution mechanism you want inside.

    Getting started with LXD

    The simplest way for somebody to try LXD is by using it with its command line tool. This can easily be done on your laptop or desktop machine.

    On an Ubuntu 15.04 system (or by using ppa:ubuntu-lxc/lxd-stable on 14.04 or above), you can install LXD with:

    sudo apt-get install lxd

    Then either logout and login again to get your group membership refreshed, or use:

    newgrp lxd

    From that point on, you can interact with your newly installed LXD daemon.

    The “lxc” command line tool lets you interact with one or multiple LXD daemons. By default it will interact with the local daemon, but you can easily add more of them.

    As an easy way to start experimenting with remote servers, you can add our public LXD server at https://images.linuxcontainers.org:8443
    That server is an image-only read-only server, so all you can do with it is list images, copy images from it or start containers from it.

    You’ll have to do the following to: add the server, list all of its images and then start a container from one of them:

    lxc remote add images images.linuxcontainers.org
    lxc image list images:
    lxc launch images:ubuntu/trusty/i386 ubuntu-32

    What the above does is define a new “remote” called “images” which points to images.linuxcontainers.org. Then list all of its images and finally start a local container called “ubuntu-32″ from the ubuntu/trusty/i386 image. The image will automatically be cached locally so that future containers are started instantly.

    The “<remote name>:” syntax is used throughout the lxc client. When not specified, the default “local” remote is assumed. Should you only care about managing a remote server, the default remote can be changed with “lxc remote set-default”.

    Now that you have a running container, you can check its status and IP information with:

    lxc list

    Or get even more details with:

    lxc info ubuntu-32

    To get a shell inside the container, or to run any other command that you want, you may do:

    lxc exec ubuntu-32 /bin/bash

    And you can also directly pull or push files from/to the container with:

    lxc file pull ubuntu-32/path/to/file .
    lxc file push /path/to/file ubuntu-32/

    When done, you can stop or delete your container with one of those:

    lxc stop ubuntu-32
    lxc delete ubuntu-32

    What’s next?

    The above should be a reasonably comprehensive guide to how to use LXD on a single system. Of course, that’s not the most interesting thing to do with LXD. All the commands shown above can work against multiple hosts, containers can be remotely created, moved around, copied, …

    LXD also supports live migration, snapshots, configuration profiles, device pass-through and more.

    I intend to write some more posts to cover those use cases and features as well as highlight some of the work we’re currently busy doing.

    LXD is a pretty young but very active project. We’ve had great contributions from existing LXC developers as well as newcomers.

    The project is entirely developed in the open at https://github.com/lxc/lxd. We keep track of upcoming features and improvements through the project’s issue tracker, so it’s easy to see what will be coming soon. We also have a set of issues marked “Easy” which are meant for new contributors as easy ways to get to know the LXD code and contribute to the project.

    LXD is an Apache2 licensed project, written in Go and which doesn’t require a CLA to contribute to (we do however require the standard DCO Signed-off-by). It can be built with both golang and gccgo and so works on almost all architectures.

    Extra resources

    More information can be found on the official LXD website:

    The code, issues and pull requests can all be found on Github:

    And a good overview of the LXD design and its API may be found in our specs:


    LXD is a new and exciting project. It’s an amazing opportunity to think fresh about system containers and provide the best user experience possible, alongside great features and rock solid security.

    With 7 releases and close to a thousand commits by 20 contributors, it’s a very active, fast paced project. Lots of things still remain to be implemented before we get to our 1.0 milestone release in early 2016 but looking at what was achieved in just 5 months, I’m confident we’ll have an incredible LXD in another 12 months!

    For now, we’d welcome your feedback, so install LXD, play around with it, file bugs and let us know what’s important for you next.

    on April 21, 2015 05:30 PM

    Meeting Minutes

    IRC Log of the meeting.

    Meeting minutes.


    20150421 Meeting Agenda

    Release Metrics and Incoming Bugs

    Release metrics and incoming bug data can be reviewed at the following link:

    • http://people.canonical.com/~kernel/reports/kt-meeting.txt

    Status: Vivid Development Kernel

    Our Vivid kernel remains based on the upstream v3.19.3 stable kernel.
    We do not intend any additional uploads before release this Thurs. We
    have started to queue the v3.19.4 and v3.19.5 stable patches for our
    first Vivid kernel SRU.
    Important upcoming dates:
    Thurs Apr 23 – 15.04 Release (2 days away!)

    Status: CVE’s

    The current CVE status can be reviewed at the following link:


    Status: Stable, Security, and Bugfix Kernel Updates – Utopic/Trusty/Precise/Lucid

    Status for the main kernels, until today:

    • Lucid – None (no update)
    • Precise – Testing & Verification
    • Trusty – Testing & Verification
    • Utopic – Testing & Verification

      Current opened tracking bugs details:

    • http://kernel.ubuntu.com/sru/kernel-sru-workflow.html

      For SRUs, SRU report is a good source of information:

    • http://kernel.ubuntu.com/sru/sru-report.html


      Current cycle: 10-Apr through 02-May
      10-Apr Last day for kernel commits for this cycle
      12-Apr – 18-Apr Kernel prep week.
      19-Apr – 02-May Bug verification; Regression testing; Release
      ** NOTE: Support for Lucid ends on April 30.

    Open Discussion or Questions? Raise your hand to be recognized

    No open discussions.

    on April 21, 2015 05:10 PM

    What's coming next…

    Sujeevan Vijayakumaran

    Yesterday I have finally finished my Bachelor (yay!) after roughly 3,5 years. Therefore, I've got a bit more time to focus my work on different open source projects (next to my full time job). In this blog post I'm sharing my current plans.

    Taskwarrior for Android

    In 2012 I've started the development of a Taskwarrior compatible app for Android. Taskwarrior is a really cool CLI tool to manage your todo list. After I didn't have much time to continue the development, I've stopped developing the app in late 2013.

    A few days back I finally got time to restart the development. I've already done a few commits. Anyway, I started from scratch - again. This happened for several reasons, mainly the code was a big mess and the Android API changed in different ways. One bigger mistake was, that I wanted to include too many features of the original Taskwarrior.

    My current plan is, that the app can sync with the task server and have a nice, simple to use user interface with the most important Taskwarrior features. The minimum required Android Version will be 4.0.3 (Ice Cream Sandwich).

    Time will tell, when the first release will be ready…

    Taskwarrior for Ubuntu Phone

    After I've got my Ubuntu Phone at the Ubuntu Phone Insiders Launch Event, it's a good reason to also develop a Taskwarrior app for Ubuntu Phone. This might happen after I released the Android-App. Hopefully not too far away from today. :-)

    Ubucon Germany

    It's the first time that I will be the head of the organization team of the German Ubucon. Sadly we don't have any date or place to announce yet, so we might don't have an Ubucon this year in Germany. The Ubucon took place in different places in Germany since 2007. This year would be the 8th Ubucon.

    Anything else?

    Beside of the above new projects I will continue my work on my other projects, like my team membership at the German Ubuntu website ubuntuusers.de. And I will also travel to different events to support the Ubuntu Booth. :-)

    on April 21, 2015 04:20 PM

    It's Show and Tell Time!

    Nicholas Skaggs

    Err, show and tell?
    Who remembers their first years of schooling? At least for me growing up in the US, those first years invovled an activity called 'Show and Tell'. We were instructed to bring something in from home and talk about it. This could be a picture or souvenir from a trip or unique life event, something we made, another person who does interesting things, or just something we found really interesting. It was a way for us to learn more about each other in the classroom, as well as share cool things with each other.

    Online Summit
    Ok, snapping you back to reality, it's nearing time for UOS 15.05. UOS is the Ubuntu Online Summit we hold each cycle to talk about what's happening in ubuntu. UOS 15.05 will be on May 5th - May 7th.

    So what does the childhood version of me reminiscing about show and tell have to do with UOS? Well, I'm glad you asked! There is a 'Show and Tell' track available to everyone as a platform for sharing interesting and unique things with the rest of the community. These sessions can be very short (5 or 10 minutes) and are a great way to share about your work within ubuntu.

    With that in mind, it's a perfect opportunity for you to participate in 'Show and Tell' with the rest of the community. I encourage you to propose a session on the 'Show and Tell' track. This track exists for things like demos, quick talks, and 'show and tell' type things. It's perfect to spend 5 or 10 minutes talking about something you made or work on. Or perhaps something you find interesting. Or just a way to share a little about the team you work with or a project you've done. For those of you who may have been a part of the 'lightning talks' during the days of the physical UDS, anything that would have been considered a lightning talk is more than welcome in this track.

    Cool, where do I signup?
    Proposing a session is simple to do, and there's even a webpage to help! If you really get stuck, feel free to contact me, Svetlana Belkin, Marco Ceppi, or Allan Lesage who are your friendly track leads for this track. Once it's proposed the session will be assigned a date and time. Myself or another track lead will follow-up with you before UOS to ensure you are ready and the date and time is suitable for you.

    Is there another way to participate?
    Yes! Remember to checkout the show and tell sessions and participate by asking questions and enjoying the presentations. I guarantee you will learn something new. Maybe even useful!

    Thanks for helping make UOS a success. I'll see you there!

    on April 21, 2015 12:16 PM

    April 20, 2015

    Build an HTML5 Game

    Matthew Helmke

    No Starch Press has published a number of programming books that impress me, both in their depth and in their accessibility.

    Build an HTML5 Game is intended for people who already have a basic familiarity with HTML, CSS, and JavaScript. This book takes you beyond the typical “let’s introduce tags and build basic web pages” stuff you usually see and walks the reader through building an entire browser-based game, start to finish. The programming starts immediately in Chapter 1, which is cool. All the important facets are covered from sprite animation, transitions and transforms, game logic, levels and sound, and quite a bit more.

    The reader who is most likely to benefit is the one who has at least a little programming experience, but wants to broaden their skills with an entry into game development. To that end, I suggest you already have a little experience making web sites and using JavaScript and jQuery. If you have previous experience developing Flash games and want to move to the present and future with HTML5, you will also find this book useful and an enjoyable way to get started.

    I really enjoyed reading Build an HTML5 Game. The writing is clear and easy to follow, the examples are good, and the concepts provide a solid foundation on which you can build. This is not a comprehensive “everything you will ever need or want to know about game programming” sort of book, but rather a clean and enjoyable entry that helps you over the first hurdle of writing that first game. It then gives you ideas and tips to help you know what else is out there so you have a bit of a roadmap to continue learning as you figure out what sorts of games you want to create.

    Disclosure: I was given my copy of this book by the publisher as a review copy. See also: Are All Book Reviews Positive?

    on April 20, 2015 11:15 PM

    I am delighted to share my new music project: Chimp Foot.

    I am going to be releasing a bunch of songs, which are fairly upbeat rock and roll (no growly metal here). The first tune is called ‘Line In The Sand’ and is available here.

    All of these songs are available under a Creative Commons Attribution ShareAlike license, which means you can download, share, remix, and sell them. I am also providing a karaoke version with vocals removed (great for background music) and all of the individual instrument tracks that I used to create each song. This should provide a pretty comprehensive archive of open material.

    Please follow me on SoundCloud and/or on Twitter, Facebook, and Google+.

    Shares of this would be much appreciated, and feedback welcome for the music!?

    on April 20, 2015 04:22 PM

    Thanks to the Debian France community for putting on another very successful mini-DebConf in Lyon recently.

    It was a great opportunity to meet more people for the first time and share ideas.

    On the first day, I gave a talk about the current status of WebRTC and the Debian WebRTC portal. You can now watch the video of the talk online.

    Unfortunately, we had some wifi problems that delayed the demonstration but we did eventually see it work successfully towards the end of the talk.

    on April 20, 2015 12:15 PM

    The Ubuntu OpenStack Engineering team is pleased to announce the general availability of the first release candidate of the OpenStack Kilo release in Ubuntu 15.04 development and for Ubuntu 14.04 LTS via the Ubuntu Cloud Archive.

    Ubuntu 14.04 LTS

    You can enable the Ubuntu Cloud Archive for OpenStack Kilo on Ubuntu 14.04 installations by running the following commands:

     sudo add-apt-repository cloud-archive:kilo
     sudo apt-get update

    The Ubuntu Cloud Archive for Kilo includes updates for Nova, Glance, Keystone, Neutron, Cinder, Horizon, Ceilometer and Heat; Ceph (0.94.1), RabbitMQ (3.4.2), QEMU (2.2), libvirt (1.2.12) and Open vSwitch (2.3.1) back-ports from 15.04 development have also been provided.

    Note that for Swift we’re still at version 2.2.2 – we’re currently reviewing whether to include 2.3.0 for release.

    Ubuntu 15.04 development

    No extra steps required; just start installing OpenStack!

    New OpenStack components

    In addition to Trove, Sahara and Ironic we have now added Designate and Manila to the Ubuntu universe pocket.

    Neutron Driver Decomposition

    As of Kilo RC1, Ubuntu are only tracking the decomposition of Neutron FWaaS, LBaaS and VPNaaS from Neutron core in the Ubuntu archive; we expect to add additional packages for other Neutron ML2 mechanism drivers and plugins early during the Liberty/15.10 development cycle – we’ll provide these as backports to OpenStack Kilo users as and when they become available.

    OpenStack Kilo Release

    We have the slightly exciting situation this cycle in that OpenStack Kilo releases a week after Ubuntu 15.04; The Ubuntu OpenStack Engineering team will be working on a stable update for all OpenStack projects as soon as OpenStack Kilo is released.  I’d anticipate that these updates should be available around a week after the kilo release date.

    Reporting bugs

    Any issues please report bugs using the ‘ubuntu-bug’ tool:

     sudo ubuntu-bug nova-conductor

    this will ensure that bugs get logged in the right place in Launchpad.

    Thanks and have fun!

    on April 20, 2015 09:49 AM

    Now that the BQ phone is on the market and people are actually posting technical support questions regarding it, the Forum Council felt that there was a real need to create a venue to target this specific variant of Ubuntu.

    Therefore a new sub-forum has been created in the Ubuntu Specialised Support area of the Forums, Ubuntu Phone and Tablet, providing support for smartphones, tablets, and anything to do with Ubuntu mobile technology.

    The old Mobile Technology Discussions sub-forum will remain live for the time being, while the Forum Council decides how the needs of the forum membership is best met in the chat areas of the forum.

    on April 20, 2015 09:07 AM

    Beyond The Tracks

    Stephen Michael Kellat

    As strange as it feels to wind up really writing this: Yes, I still exist.

    Circumstances are not playing in my favor right now. Work is still a not very happy place. My involvement in Xubuntu had to be curtailed to mostly ISO testing on live hardware as that was what I could spend off-duty hours on. My involvement in Ubuntu Ohio has been set back quite a bit as I have been in a very difficult work environment with some new anomalous happenings as of late to still rectify. Losing my home this month, though, resulted in my having to make some changes.

    If anybody watches my wiki.ubuntu.com page they might notice it occasionally gets updated. The wiki even allows you to subscribe to pages to watch for updates, too. The absence of any reference to ARM boards like the now-ancient BeagleBoard-xM and the venerable Raspberry Pi Model B simply means that they're in cold storage. I needed firm, reliable software so my laptop was downgraded from testing Vivid Vervet back to 14.04 to have a stable base to work from.

    I'm in a temporary yet undisclosed location as I look to secure a new home. For now things are secure. I still go to my day job even. Things are just greatly in flux right now.

    Now, if I could just get back to LoCo Council affairs properly...

    on April 20, 2015 12:00 AM

    April 19, 2015

    If you consider yourself as a serious developer, you know writing good commit messages is important. You don't want to be that guy:

    XKCD #1296: Git Commit

    XKCD #1296

    This applies to source comments as well: good comments save time, bad comments can be worse than no comments.

    For a long time, I usually favored source comments over commit messages: whenever I was about to commit a change which needed some explanations, I would often start to write a long commit message, then pause, go back to the code, write my long explanation as a comment and then commit the changes with a short message. After all, we are told we should not repeat ourselves.

    Recently I was listening to Thom Parkin talking about rebasing on Git Minutes #33 (Git Minutes is a great podcast BTW, highly recommended) and he said this: "Commits tell a story". That made me realize one thing: we developers read code a lot, but we also read a lot of commit histories, either when tracking a bug or when reviewing a patchset. Reading code and reading history can be perceived as two different views of a project, and we should strive to make sure both views are readable. Our readers (which often are our future selves...) will thank us. It may require duplicating information from time to time, but that is a reasonable trade-off in my opinion.

    So, "Write extensive source comments or extensive commit messages?" I'd say: "Do both".

    Flattr this

    on April 19, 2015 09:29 PM

    BQ Phone Insiders Edition

    Nekhelesh Ramananthan

    Canonical hosted the insider's Ubuntu Phone Launch Event on February 6th where they handed over BQ devices to the people who were invited to the event. I was invited to the event but couldn't make it unfortunately due to personal reasons. A few days back I got around to emailing Canonical with the necessary details to get it shipped to my house. I received the package by post the next day!

    In the past few years, we have seen the rise of Android and iOS amongst other mobile OSes like Symbian, Blackberry, Windows Phone etc. They have all been around for some time to become what they are today. Do note that they all started small. Hell the first release of iOS didn't even support 3rd party apps until 6 months later! Even Android acquired by Google in 2005, was shipped by HTC only in 2008. Keeping that in mind, Ubuntu Touch 1.0 is a great release!

    I am honoured to have been a part of Ubuntu Touch from the beginning by being the clock app developer. It has been a long journey, but things are only going to get better from here on.

    As such I was really excited to receive the phone and also see the package, enclosed letter all having distinct suru styles that I have come to like on the phone UI.

    I have attached a few screenshots below showing the packaging,

    BQ Pic 1 BQ Pic 2 BQ Pic 3

    It is really nice to see Canonical put this amount of polish and attention to detail for the Insiders event. A few years down the line, I will still remember my experience with the world's first Ubuntu Phone.

    BQ Pic 5 BQ Pic 4 BQ Pic 6 BQ Pic 7

    I have added my day-to-day SIM and intend on using the Ubuntu Phone as my daily device. Sure I will miss Whatsapp, but I have a secondary phone just for that purpose. Otherwise, Ubuntu Touch covers pretty much all my use cases.

    on April 19, 2015 11:05 AM

    Why I Play The Lottery

    Stuart Langridge

    There is a persistent meme that lotteries are a tax on people who can’t do maths and are stupid. I don’t think I’m stupid1 and I’m OK2 at maths, and I play the lottery. This is why.

    Basically, my desire for money is not linear, because I’m not homo economicus.3 My laws of desire for money are more Einsteinian than Newtonian: linear desire for money works at small amounts, but as they get higher it gets weird. I might desire £4 twice as much as £2, true enough; small amounts, Newton’s sensible laws. But I don’t desire £2 million twice as much as £1 million, because having a million would be enough and what would I do with the second million? I desire a million quite a lot more than a hundred times as much as £10,000, because a million quid is amazing and ten grand is a new car. The lottery gives me, for a negligible outlay, an outside chance of having a million quid, which would be radically life-changing (because I’d never have to work again).

    There’s no other way I’ll get a million pounds. Sure, my chances of winning the lottery are at pretty adverse odds (roughly, 1 in 14 million chance of winning; when I win I get somewhere in between 2 and 6 million pounds). But having a million quid is a goal I’d like to hit. I can attempt that with almost no work.

    Imagine that I wanted a million, and I started with a pound. Perhaps I should play roulette instead, which has a much more favourable edge than the lottery (although it’s still unfavourable; 5 5/19% for the bank and against me). So I stick my quid on black 17, and it comes up; a chance of 1/38, and I get £36 back for a total of £37. I let that £37 ride, and black 17 comes up again, so I now have £1369. Ride again4 for £50653, and again for £1.8 million, which is retirement money and so I stop. The chances of that happening; 1 in 2 million or so. So playing roulette is very roughly equivalent to playing the lottery (chances of getting a million quid: one in some millions). And the lottery is a lot easier to do; you don’t have to put on a dinner jacket and walk to the casino, and you can play for a pound.5

    This is the point. I won’t miss the money, it’s very easy to do, and it might end up changing my life, so why not do it? If I were actually good at maths, maybe I’d plot a graph of some sort of quotient made up of “amount spent” vs “effort required” vs “amount won”. I bet the lottery looks quite a lot better than “working for a living”, on that graph.

    I should note here that the second part of the meme which is often quoted alongside it is that lotteries are a tax on the poor; that is, people who will miss that hundred pounds a year. This is completely correct. I would not notice the half-a-pint a week that the lottery costs me; this is not the case for others, and lotteries being a tax on the poor is entirely correct.

    1. not all the time, anyway
    2. ish
    3. People aren’t identical and spherical, either
    4. ignore table limits here
    5. there are casinos which will let you put a quid on a roulette wheel spin, but good luck finding a table which allows wagering a quid and allows wagering fifty grand
    on April 19, 2015 10:54 AM

    April 17, 2015

    Ubuntu 15.04, otherwise known as the vivid vervet, is nearing release. We are now in the final week before the release on April 23rd. That means it's time to test some images!

    Everyone can help!
    For the final images, I'd like to extend the call for testing beyond those brave souls willing to run alpha and beta software. I encourage everyone to make a backup (as always!) and upgrade / install vivid. Then report your results on the tracker. Positive results are extremely helpful for this milestone, so please report those too. As a bonus, you can enjoy vivid a few days before the rest of the world (there's no need to re-install the final image), and avoid the upgrade rush after release.

    How can I help?
    To help test, visit the iso tracker milestone page for the final milestone.  The goal is to verify the images in preparation for the release. The information at the top of the page will help you if you need help reporting a bug or understanding how to test. 

    There's a first time for everything! Check out the handy links on top of the isotracker page detailing how to perform an image test, as well as a little about how the qatracker itself works. If you still aren't sure or get stuck, feel free to contact the qa community or myself for help.

    Thanks and happy testing everyone!
    on April 17, 2015 01:57 PM