Linux OS
- By Litux Man
- 2 November, 2011
- No Comments
Here’s all the goodies for the week:
Updates this past week:
vUDS
- Charm Auditing! Marco will be providing list of things and charms not up to snuff, post to list in order to get fixes (or eventually remove from store)
Blueprints Discussed:
Please check out the blueprints, there’s a ton of detail there!
Charm Tools
- Fixed dependency to recommend juju-core or juju, fixes Jono’s bug.
- charm-helpers being split into it’s own project: https://launchpad.net/charm-helpers
- Rewriting a bunch of them into python instead of a mishmash of bash and python, gives us cross-OS compatability, better templating, easier testing.
- Rolling out a single charm-helpers package
Docs
- Pre-beta live site (Nick hates it when we link it. :))
- http://www.evilnick.org/juju/getting-started.html
- Current docs not generating, filed RT, IS to complete by the end of this week.
- Code: lp:~evilnick/juju/go-juju-docs -[arosales] Todo to make a better docs staging site
Charm Testing
- Rewriting the
jitsu testcode so it works as a juju plugin to enable easier testing. - lp:juju-plugins
Charm Framework Updates
- node.js - Jeff Pihach linked up with Mims, experienced node.js dev. Good things on the roadmap here. We’ll get a better status when Mims returns from Gluecon
- rails/rack - Follow up with Pavel?
- Django, someone mentioned in UDS that it’s nearly ready to be submitted to the store.
CFPs & Upcoming Events
- Mark Mims is at Gluecon! Go get em!
- Submitted to Strata in NYC. (mims)
- Strata in London submission in progress (jamespage)
- TexasLinuxFest, arosales to present.
Charm Schools
- Next Friday is Part 2 of “How to write a charm”
- We’d like to have a roadmap for charm schools
- Over the next day or so Jorge to publish a schedule for charm schools, will be on the Events.
- We’d like to be responsive to user needs.
- Keep biweekly cadence, be flexible enough to do on-the-spot charm schools.
- Jorge to add more detail to charm schools on the web page, show what topics were covered in more detail.
capture the IRC Logs (duh!).
Topics people want: Puppet/Juju, Charming from Scratch, Improving an existing charm (including the workflow to submit it back)
Packages for the release of KDE SC 4.10.3 are available for Kubuntu 13.04, 12.10 and 12.04. You can get them from the Kubuntu Updates PPA for 13.04 and from the Backports PPA for 12.10 and 12.04.
Bugs in the packaging should be reported to kubuntu-ppa on Launchpad. Bugs in the software to KDE.
A New Release
Today, I am happy to announce the release of Homerun 1.0.0. This new version comes with a few new features.
Let's start with the biggest one: favorite reordering by drag and drop. This is one of the most wanted feature requests for Homerun. It lets you reorder your favorite applications and places by holding down the left mouse button and dragging items around.
This short video demonstrates how it works:
This was surprisingly difficult to get right with QtQuick 1, so I am glad it's now done.
Note that while this feature is currently only available for the "Favorite Applications" and "Favorite Places" Homerun sources, it is actually possible for any source to provide reordering via drag and drop if it makes sense for this source to do so.
Another new feature is the ability to customize shortcuts. This started with the idea of creating a cheatsheet of Homerun shortcuts, but I was worried the list in the cheatsheet would not be kept up to date with the actual shortcuts so I looked into generating the content of the cheatsheet from the code handling the shortcuts. At one point I realized kdelibs already provided what I wanted and more in the form of the standard shortcut dialog, so I scraped my code and went for exposing the standard KDE shortcut dialog. You can reach it from the configure menu in the top-right of the screen.
Finally, other minor improvements have been made:
- The context menu of the "Trash" folder now has an "Empty Trash" entry,
- When an application or place is marked as a favorite, a short message appears on the top of the screen, reassuring you that your request has been taken into account.
As usual, this new release is available on download.kde.org.
Moving On
This release is my last Homerun release: I am passing over maintenance to Eike Hein, who you may know as the man behind Konversation and Yakuake. I am confident Homerun is in good hands with him.
As for me, I am going to return to what I enjoy most: working on applications. In the next months I plan to get more involved in KDEPIM, starting with what I do best: obsessing beyond reason about widgets layouts and margins. Once I feel familiar enough with the code base, I'll try to get a bit out of my comfort zone and help fixing underlying bugs.
Silvia Bindelli and Cheri Francis worked to prepare the Ubuntu Women session at the virtual Ubuntu Developer Summit last week where the following was covered:
Plans for an information-based online scavenger-hung competition that the team will be doing in the coming months. We’re currently seeking volunteers to assist coming up with questions related to women in tech and Ubuntu and to work with us when “grading” the answers that come in.
A user poll to see how the team could be most effective in serving our audience of women interested in Ubuntu. We have found that the project needs a bit of an adjustment every couple of years to refocus on our current targets as Ubuntu and the open source ecosystem evolves.
Finally, much of the session was spent discussing our intention to further collaborate with other groups seeking to encourage women in open source (and in technology in general). A couple of our members will be attending Ada Camp in San Francisco next month and hope to make some connections there. We’re also reaching out to our current community members who are involved in other groups.
Thanks to everyone who participated and we’re looking forward to continuing discussions and work on all these items in the coming months.
Video from our session is available here:
Blueprint for the next few months can be found here: https://blueprints.launchpad.net/ubuntu-women.org/+spec/community-1305-ubuntu-women
Recently we had our online Ubuntu Developer Summit where we discussed a range of topics, defined next steps, and documented work items. The very last session at the event was an overall summary of the tracks (you can watch the video here), but I wanted to blog an overall summary too. These notes are quick and to the point, but they should give an overall idea of decisions made.
Client
Content Handling -
- Siloing apps.
- Main applications will define a “main repo” and provide an API to deliver, share and access the data in the main repo.
X.org
- Want to update to 1.14 or even 1.15 if the video ABI doesn’t change.
System Settings
- Focus on the phone settings defined here.
Scopes
- Scopes that didn’t land in 13.04 should land within 2 weeks.
- Several scopes will be migrated from Python to either C++ or Go for memory purposes.
Chromium
- Expressed interest in moving to Chromium as default for a better user experience. Gathered feedback on the possible move. Next steps are to take discussion to the mailing list.
Unity 8/Mir Preview in 13.10
- Want to have a preview of Ubuntu 8 (Phablet UI) running on Mir as an optional session (installable from universe or PPA, most likely).
Foundations
- Reviewed the current 13.10 release schedule found several changes made in 13.04 that mistakenly hadn’t been carried over, such as later freeze dates and one fewer alpha; Adam Conrad will be syncing all this up and sending mail to the ubuntu-release list for review.
- We discussed the positioning of the development release in light of some conversations last cycle, and put some more flesh on the design for making it easier for people to follow along with the development release all the time.
- This cycle, we’ll be bringing up a new 64-bit ARM architecture based on cross-building work done last cycle, and we’ll update developers on that once we get closer to the point of starting up builds in Launchpad.
- Moving forward with click packages. Fleshed out ideas on source package provision, integrating with existing client package management stacks, and clarifying some other things like the security model.
- For image based upgrades, the team held a demo and Q&A for the current proposed solution, which is split into client, server, and upgrader; client is going well and expected to land by the end of June, server is currently blocked on infrastructure but should be ready around the same time, and Ondrej Kubik has been making good progress at tweaking the CyanogenMod recovery environment for the upgrader.
- Firmed up the plan for packaging Android components for Ubuntu Touch images.
- Upstart will be used as the standard way of spawning desktop apps for Unity on touch devices and ideally on desktop too (Unity 7 and 8). This will let us make sure we only have one instance per app, and will make it easy to apply AppArmor, seccomp and cgroup confinement consistently to all apps.
- Defined a goal to reduce the amount of time it takes to prepare, test and make a Checkbox release, automating more of the process. This will benefit people who use the Checkbox tool as part of their daily work. It’s possible that Checkbox may move to Universe, although this needs some more discussion.
- The server certification tools are being reengineered to use the new plainbox engine as their core. This will preserve the existing UI, but we’ll have co-installable packages with the new core, and will eventually switch over to the new tools.
- The cert tools and test suite are being upgraded to work well on ARM for our hyperscale and mobile work, fixing any issues so we can get full, clean test runs on ARM servers. MaaS will be used for provisioning, and tested as a part of the ARM server solution.
- We will be basing the primary kernels for 13.10 on Linux 3.10, but will strongly consider 3.11 depending on timing. For Ubuntu Touch devices, we already have kernels available for Nexus 4 and 7, and plan to also bring up kernels for Galaxy Nexus and Nexus 10. We’ll provide a 13.04 hardware enablement kernel in the 12.04.3 point release.
- In terms of Ubuntu Touch power management, we have some preliminary baselines against Android on Nexus 4 and will replicate those on other devices, although they won’t be entirely meaningful until things like Mir land. We’ve written some new utilities such as eventstat to track down problems here. On power management policy, we agreed key requirements for the system power manager and we’ll extend powerd to serve our immediate needs.
Community
Community Roundtable:
- Approved LoCo teams are no more, will be verified teams.
- Bringing back fortnightly leadership meetings.
- Ubuntu Advocacy Kit is driving to 1.0.
- Gathered UDS feedback.
Ubuntu Community Website
- Great discussion which clarified everybody’s involvement in the project.
- Clear roadmap for completing the content and design in the next few weeks.
- Design and web team have the templates we need to finish the work.
- No discussion with IS yet around deployment – this will be coordinated next week.
Ubuntu Womens Session
- Several events planned to get more people involved and the word out (Career Days, UOW, etc.).
- Discussion about a women in technology themed event at CLS.
Ubuntu Status Tracker
- The status tracker is many things to many different teams, but we managed to figure out a number of issues we can tackle, which should make everybody’s lives easier.
- Removal of kanban view.
- Add links from team pages to milestones pages.
- Set up a meeting to discuss setting up an “ongoing” dev series.
Ubuntu On Air! Discussion
- Issues with supporting multiple hosts.
- Discussion about building support into summit and re-using vUDS components to support more shows and multiple hosts.
- We want to open it up to more contributors, so we get more variety into the shows.
Development Onramp for Touch / Unity Next
- Goals to improve docs.
- We will track contributions to all the projects to see how we improve.
- Increased focus on testing, coordination with the SDK team.
Documentation Team
- Update Getting Started Page, review current docs and previous mailing list feedback.
- Regular doc review cadence and more health check meetings.
- Focus on content in the UAK.
Ubuntu Enterprise Desktop Discussions
- Another meeting will be planned to get more input from users of enterprise desktops.
- Some common issues were identified and discussed:
- outdated cfengine package
- access to Firefox/Thunderbird packages before publication (resolved)
- support for livemeeting/linc
More Ubuntu Touch images
- We identified the current blockers and will simplify thingsby using an image without firmware blobs, so they can be added by a local tool afterwards.
- After the rebase to saucy we will also update the docs accordingly.
- Kernel images for devices will first live in PPA, afterwards probably in universe.
Regular Ubuntu Development Updates
- Organise regular Ubuntu on Air Hangouts to which we invite people from news sites as moderators.
- Briefly summarise work from the last week(s).
- Ask engineers to demo/showcase interesting developments.
- Do Q&A sessions.
- Also invite members of governance teams along.
Cloud and Server
Openstack Next Steps
- Looked at some high level areas for this cycle, avoiding digging into areas covered by other sessions. We decided that at current, moving over to Git for our packaging work doesn’t add value. We also agreed to clean up on some cruft within the packaging branches.
Cloud Archive Status Check
- Decided we had to support Grizzly for 12 months, which exposes a 3 month support gap from the backing Raring release. Need to discuss with the security team about how to fill this gap. Reviewed proposal for SRU cadence and tentatively rubber stamped.
- Better co-ordination around trumping by Security dates, specifically if it covers more than one project.
- Looked at using updates as a reason to increase our messaging.
12.04.x images with LTS Enablement Kernel
- The cloud images currently only contain the Precise (3.2) kernel. Discussed adding the kernel HWE stack to cloud images. We need to document how to enable backports, clearly state the support, and possibly tool cloud-init to handle updating the kernel on boot if folks need a more recent kernel on boot.
- We will not be creating new images with the HWE kernel for the default images. The HWE kernel will be used for Clouds that have a high velocity of change in the Hypervisor (i.e. Windows Azure). For the regular images, we will investigate tooling in cloud-init and other places to make the ingestion of the HWE kernels easier, such as enhancing the documentation, allowing for easier enablement of backports, and making it easier to enable the HWE kernel at boot time.
Cloud-Init for Vagrant
- We will create a good Ubuntu development workflow for Vagrant users (cross platform OSX, Windows). Ben Howard will investigate cloud-init tooling as well as the best method to enable the DKMS modules.
Cloud Init & Cloud Image Development for Saucy
- We will define the development work to improve cloud-init and cloud images for the saucy cycle.
- Discussed work on pre-cloud init phase, vendor hooks, cloud init plugin, and rebuding tools.
Juju Core Development
- 1.10 version of juju available in backports for 13.04, and should be available in precise backports soon.
- Look for releases in juju/dev ppa updating weekly, juju PPA monthly, and have stable release go into backports (couple of times per cycle).
OpenStack Hypervisors
- HyperV support is currently untested.
- VMWare support in charms, but not primary supported charms.
- We need a matrix to demonstrate interoperability and support of each variation.
- Need to work out additional hardening support.
Openstack QA
- Building on our great history, moving away from per commit hardware testing to a more fluid multi virtualised separated environment, allowing greater interoperability testing. Hardware Cert term showed interest in getting more involved. The scope of this will be ratified when the interop matrix is created.
Flag Bearer Charms
- Will improve flag bearer charm integration testing.
- Implement list of reference charms.
- Develop Percona backup XtraBackup flag bearer charm.
- Document flag bearer and reference charm criteria in best practices.
- Discuss flag bearer charms on mailing list.
Charm Policy Review
- Add into policy for a charm to provide a config option to specify the version. The other items such as installation location (ie /srv), implementation of common subordinates, backups are to be added to best practices. The 3 ack on charm reviews is still under discussion.
- Split Juju docs best practices and policy sections.
Audit Charms
- Discussed re-reviewing the current charms in the charm store to ensure accurate readmes, tests, functionality, rating, categories, and icons. The workflow was discussed for queues, and which charms to tackle first.
Charm Development Tooling
- Discussed gathering all the different charm development tools into one central package. These charm development tools include charm-tools, charmsupport, juju-gui,openstack-charm-helpers. Folks also discussed how the tools could be improved, and used as a singular set.
Juju Framework Charm for Server Application Technologies
- Discussed further building out of the Django, Rails, Node.js, and possibly Java.
Improve Juju Documentation
- Make a better user and charm developer experience for juju.ubuntu.com/docs. Discussed getting a permanent beta site going, methods to get documentation contributions. Hopefully a revamped docs will be in production in the next couple of weeks, and if not we’ll have a beta site very shortly (days).
Juju Charm Testing
- Currently jenkins.qu.u.c has graph testing showing reliable results. Marco will be landing integration soon (days), with a more formal testing framework to follow (weeks).
- Some ideas discussed were to gate charm store commits on testing, showing testing status in the GUI, and pre-deployment testing. Test examples will be made available along with a charm testing school.
Add User Feedback loops and Social Networking to Charm Store Charm Pages
- Discussed making sure users have a method to give and receive feedback on a per charm basis. We currently have social networking (+1s, Likes, Tweets) in addition to downloads, quality rating, bug links, and testing status. Some ideas were to get clarification from design on showing social networking numbers, as well as a ‘leave feedback’ form.
Juju GUI Development
- Discussed development done, and upcoming work. Covered ideas such as design, bundles, diagnostics, user data, juju feature parity, maintenance and support.
Improving QA for seeded server packages
- Established three distinctive areas of testing, these are upstream test suites which typically run at build-time, integration tests via dep8 and service level testing which often requires multiple nodes and is conducted using juju.
- We established that there is the regression test suite that can be included in many of the packages directly, with the requirement that we package some of the common ubuntu testing libraries.
- Discussed some areas of standardisation for dep8 testing.
Fastpath installer work for 13.10
- Established what FPI is, and the processes which are part of it.
- Fast Path installer will be delivered as a installable package in Ubuntu, most likely in python. The interface to it will we yaml formatted configuration.
OpenStack Charm work for Saucy/Havana
- Migrate all charms to be python based.
- Consolidation into new charm-helpers nextgen library.
- Complete SSL/HTTPS support into charms.
- Integration of wiki and help documentation, upstream series aligned with upgrading notes.
- Design around how proprietary+1 plugins will be integrated into core charms for Cinder and Quantum.
Investigate alternatives to mysql
- Agreed that the best course of action was to maintain mysql for this cycle, and try and support other flavours of mysql getting into Ubuntu via Debian.
Ceph activities for Saucy
- Dumpling release will be out in August (co-incides with FF for Saucy) so will be target for this release.
- Lots of incremental improvements in efficiency and performance, full RESTful API for RADOS Gateway admin features, block device encryption for data at rest.
- ceph-deploy (upstream cross platform deploy tooling) will be packaged.
- Implementation of more automated testing during Saucy.
HA Openstack charms V2
- Reviewed the current state of HA support in Openstack charms. Percona has volunteered to charm their offering, allowing great coverage by their mysql HA variant for active/active clustering.
- Work also on active/active and brokerless messaging options (ZeroMQ) and incremental improvements for service check monitoring in load balancers.
- Cluster stack (Corosync/Pacemaker) to be reviewed and upgraded for Saucy in preparation for 14.04.
MongoDB activities for Saucy
- File Main inclusion report for Mongo to support Ceilometer and Juju use cases. Raise a Micro Release Exemption (MRE) to the techboard, as point releases are bug fix only.
- Upstream armhf enablement patches. Re-sync with Debian. OpenSSL license exception.
Virtualization Stack Work for Saucy
- If debian libcgroup maintainer finds time, we’d like to merge cgroup-lite into libcgroup. For per-user configuration, first make it default-off optional, conditional on userns sysctl being enabled.
- LXC work is going well on track to 14.04 (and lxc 1.0) roadmaps. For this cycle, we’d like to get user namespaces enabled in the saucy kernel with a new off-by-default sysctl controling unprivileged use, and complete the ability to create and start basic containers without privilege; add console, attach and snapshot to the API, complete the create API function, and convert all of the lxc-* programs to use the API; write a libvirt driver based upon the API, and a patch to enable testing it with openstack; write loopback and qcow2 block device drivers; Get the subuid (user namespace enablement) patches into the shadow package; discuss with the community the maintenance of stable trees; improve the API thread safety; and work our distro lxc tests into the upstream package (akin to how it is done in netcf).
- In edk2, we want to contribute to the implementation of the ability to save and restore nvvars from the ovmf bios from qemu. We’ll fix the apparmor bug preventing the block device mounting in libvirt-lxc, which is blocking use of that feature by openstack.
- We intend to merge libvirt at least at version 1.0.6, qemu at 1.5, and hopefully xen 4.3. We’ll follow up on citrix’ plans for xcp. The blueprint lists additional xen work planned. We’ll also look into default use of openvswitch bridges in libvirt.
Quality Assurance
Core Apps
- Autopilot testcases written for ubuntu core applications will be checked to ensure they pass before auto-landing updates in the ubuntu touch images.
- The quality community team will help core application developers develop a suite of manual testcases for each ubuntu core application. These will be run as part of the verification process for the 1.0 stable release of each application.
Testcases
- Add testcases so all default desktop applications for each flavor are covered.
- Expand and improve server testcases to allow more participation by those who might lack domain specific knowledge and/or hardware.
Growth/Experience
- Make available documentation more accessible by linking to it from the tools we use for testing, like the qatracker.
- Continue holding testing ‘how-to’ and knowledge sharing sessions during UDW, UOW, as part of UGJ, and on ubuntu on air.
- Add testing achievements to the ubuntu accomplishments project.
Ubuntu Touch
- Ubuntu Touch images will be smoke tested using the pending/current model already in use for other images. This ensures no image is published for general consumption that doesn’t pass a set of tests ensuring basic functionality of the image.
- Current Ubuntu Touch autopilot tests for the core applications will be investigated for use as part of these smoke tests.
- The concept of smoke test is going to be expanded to cover a no regression build.
Autopilot
- Autopilot 1.3 is now released and will be available in raring and saucy. No quantal support is planned. Precise support is being examined, but requires further investigation and backporting work.
- Autopilot developers will now be available on #ubuntu-autopilot — no need to always ping thomi!
Mir
- Planned tests for stressing mir to ensure good behavior during stressed conditions for things like OOM, memory leaks and race conditions.
- Stress tests targeted to be run as often as possible, but might be limited due to time constraints of wanting to run the tests over a longer period of time.
UTAH
- UTAH will be expanded to include automated upgrade testing capabilities. UTAH jobs will be created for bootstrapping base images, for performing upgrades, and running post-upgrade tests. The old auto-upgrade-testing tool can still be used by flavors if desired.
Dashboard
- Create high-level views of the state of quality in ubuntu by aggregating results of test runs. This will allow for ‘problem’ areas within ubuntu to be more easily identified and targetted for further testing or investigation by interested parties. You can follow this work on the QA dashboard here.
Upstream
- autopilot-gtk will now be maintained by the upstream QA team. Bug fixes and outstanding issues will be solved in order to allow for the autopilot desktop tests to run
- Once running properly, the autopilot desktop tests will become a part of daily image testing
- Continue development on umockdev to add support for more exotic networking tests (eg, 3G) and research sound testing
As ever, you can track progress on work items on status.ubuntu.com and we hope to see you at the next UDS in three months.
Meeting Minutes
IRC Log of the meeting.
Meeting minutes.
Agenda
ARM Status
Q/master: lp1176977 (“XFS instability on armhf under load”) – working with
upstream on this one: i already backported a fix that turn the vmalloc() exhaustion
and fs shutdown to an -ENOSPC error, and this second error seems to be triggered
by the tiny fs used in these tests (~2GB). Still working to get it
properly fixed.
R/master: lp1171582(“[highbank] hvc0 getty causes random hangs”) -
the jtag console has a 1-char producer-consumer buffer and if there’s no
real hw attached to the board, any subsequent write turn into an endless loop
waiting for a consumer. The situation is worsened by the fact
that before writing to this register a tty spinlocked is taken, and
any subsequent tentative to pick this spinlock makes the thread hang -
got a confirmation of the problem, some info about the hw, and i’m working on this.
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
Milestone Targeted Work Items
The burn down charts have not yet been reset for 13.10, so disregard the
second link posted abovefor now. I’ll be cleaning up and adding work
items for 13.10 so that the +upcomingwork link will be more accurate.
Next week I’ll have the usual nag table available.
Status: Saucy Development Kernel
For now, we’ll plan on targetting the v3.10 kernel for Saucy but will
strongly re-evaluate a move to v3.11 in the coming months. We’ve just
rebased Saucy to v3.10-rc2 and are still cleaning up some of the
carnage. I don’t anticipate we’ll upload until a later -rc which will
hopefully provide more stability.
Importand upcoming dates:
Thurs June 20 – Alpha 1 (opt in)
Status: CVE’s
== 2013-05-21 (28 days) ==
Currently we have 63 CVEs on our radar, with 8 CVEs added and 17 CVEs retired in the last 28 days.
See the CVE matrix for the current list:
-
http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html
Overall the backlog has decreased slightly this week:
-
http://people.canonical.com/~kernel/status/cve-metrics.txt
-
http://people.canonical.com/~kernel/cve/pkg/CVE-linux.txt
Status: Stable, Security, and Bugfix Kernel Updates – Raring/Quantal/Precise/Oneiric/Lucid/Hardy
Support for Oneiric and Hardy expired on May 9th.
Status for the main kernels, until today (May. 21):
- Lucid – In Testing;
- Precise – In Testing; 2 upstream releases;
- Quantal – In Testing; 2 upstream releases;
-
Raring – In Testing; 3 upstream releases;
Current opened tracking bugs details: -
http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html
For SRUs, SRU report is a good source of information:
-
http://people.canonical.com/~kernel/reports/sru-report.html
Future stable cadence cycles:
-
https://wiki.ubuntu.com/RaringRingtail/ReleaseInterlock
Open Discussion or Questions? Raise your hand to be recognized
Thanks everyone
For a while, I have been wanting to write about MAAS and how it can easily deploy workloads (specially OpenStack) with Juju, and the time has finally come. This will be the first of a series of posts where I’ll provide an Overview of how to quickly get started with MAAS and Juju.
What is MAAS?
I think that MAAS does not require introduction, but if people really need to know, this awesome video will provide a far better explanation than the one I can give in this blog post.
Components and Architecture
MAAS have been designed in such a way that it can be deployed in different architectures and network environments. MAAS can be deployed as both, a Single-Node or Multi-Node Architecture. This allows MAAS to be a scalable deployment system to meet your needs. It has two basic components, the MAAS Region Controller and the MAAS Cluster Controller.
Region Controller
The MAAS Region Controller is the component the users interface with, and is the one that controls the Cluster Controllers. It is the place of the WebUI and API. The Region Controller is also the place for the MAAS meta-data server for cloud-init, as well as the place where the DNS server runs. The region controller also configures a rsyslogd server to log the installation process, as well as a proxy (squid-deb-proxy) that is used to cache the debian packages. The preseeds used for the different stages of the process are also being stored here.
Cluster Controller
The MAAS Cluster Controller only interfaces with the Region controller and is the one in charge of provisioning in general. The Cluster Controller is the place the TFTP and DHCP server(s) are located. This is the place where both the PXE files and ephemeral images are being stored. It is also the Cluster Controller’s job to power on/off the managed nodes (if configured).
The Architecture
As you can see in the image above, MAAS can be deployed in both a single node or multi-node. The way MAAS has being designed makes MAAS highly scalable allowing to add more Cluster Controllers that will manage a different pool of machines. A single-node scenario can become in a multi-node scenario by simply adding more Cluster Controllers. Each Cluster Controller has to register with the Region Controller, and each can be configured to manage a different Network. The way has this is intended to work is that each Cluster Controller will manage a different pool of machines in different networks (for provisioning), allowing MAAS to manage hundreds of machines. This is completely transparent to users because MAAS makes the machines available to them as a single pool of machines, which can all be used for deploying/orchestrating your services with juju.
How Does It Work?
MAAS has 3 basic stages. These are Enlistment, Commissioning and Deployment which are explained below:
Enlistment
The enlistment process is the process on which a new machine is registered to MAAS. When a new machine is started, it will obtain an IP address and PXE boot from the MAAS Cluster Controller. The PXE boot process will instruct the machine to load an ephemeral image that will run and perform an initial discovery process (via a preseed fed to cloud-init). This discovery process will obtain basic information such as network interfaces, MAC addresses and the machine’s architecture. Once this information is gathered, a request to register the machine is made to the MAAS Region Controller. Once this happens, the machine will appear in MAAS with a Declared state.
Commissioning
The commissioning process is the process where MAAS collects hardware information, such as the number of CPU cores, RAM memory, disk size, etc, which can be later used as constraints. Once the machine has been enlisted (Declared State), the machine must be accepted into the MAAS in order for the commissioning processes to begin and for it to be ready for deployment. For example, in the WebUI, an “Accept & Commission” button will be present. Once the machine gets accepted into MAAS, the machine will PXE boot from the MAAS Cluster Controller and will be instructed to run the same ephemeral image (again). This time, however, the commissioning process will be instructed to gather more information about the machine, which will be sent back to the MAAS region controller (via cloud-init from MAAS meta-data server). Once this process has finished, the machine information will be updated it will change to Ready state. This status means that the machine is ready for deployment.
Deployment
Once the machines are in Ready state, they can be used for deployment. Deployment can happen with both juju or the maas-cli (or even the WebUI). The maas-cli will only allow you to install Ubuntu on the machine, while juju will not only allow you to deploy Ubuntu on them, but will allow you to orchestrate services. When a machine has been deployed, its state will change to Allocated to <user>. This state means that the machine is in use by the user who requested its deployment.
Releasing Machines
Once a user doesn’t need the machine anymore, it can be released and its status will change from Allocated to <user> back to Ready. This means that the machine will be turned off and will be made available for later use.
But… How do Machines Turn On/Off?
Now, you might be wondering how are the machines being turned on/off or who is the one in charge of that. MAAS can manage power devices, such as IPMI/iLO, Sentry Switch CDU’s, or even virsh. By default, we expect that all the machines being controlled by MAAS have IPMI/iLO cards. So if your machines do, MAAS will attempt to auto-detect and auto-configure your IPMI/iLO cards during the Enlistment and Commissioning processes. Once the machines are Accepted into MAAS (after enlistment) they will be turned on automatically and they will be Commissioned (that is if IPMI was discovered and configured correctly).. This also means that every time a machine is being deployed, they will be turned on automatically.
Note that MAAS not only handles physical machines, it can also handle Virtual Machines, hence the virsh power management type. However, you will have to manually configure the details in order for MAAS to manage these virtual machines and turn them on/off automatically.
If you're running an Android device with GNU userland Linux in a chroot and need a full network access over USB cable (so that you can use your laptop/desktop machine's network connection from the device), here's a quick primer on how it can be set up.When doing Openmoko hacking, one always first plugged in the USB cable and forwarded network, or like I did later forwarded network over Bluetooth. It was mostly because the WiFi was quite unstable with many of the kernels.
I recently found out myself using a chroot on a Nexus 4 without working WiFi, so instead of my usual WiFi usage I needed network over USB... trivial, of course, except that there's Android on the way and I'm a Android newbie. Thanks to ZDmitry on Freenode, I got the bits for the Android part so I got it working.
On device, have eg. data/usb.sh with the following contents.
On the host, execute the following:#!/system/xbin/sh
CHROOT="/data/chroot"
ip addr add 192.168.137.2/30 dev usb0
ip link set usb0 up
ip route delete default
ip route add default via 192.168.137.1;
setprop net.dns1 8.8.8.8
echo 'nameserver 8.8.8.8' >> $CHROOT/run/resolvconf/resolv.conf
This works at least with Ubuntu saucy chroot. The main difference in some other distro might be whether the resolv.conf has moved to /run or not. You should be now all set up to browse / apt-get stuff from the device again.adb shell setprop sys.usb.config rndis,adb
adb shell data/usb.sh
sudo ifconfig usb0 192.168.137.1
sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.137.0/24
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo iptables -P FORWARD ACCEPT
Update: Clarified that this is to forward the desktop/laptop's network connection to the device so that network is accessible from the device over USB.
For graphics testing on Ubuntu I typically ssh into one or more test machines, fiddle with them, reboot them, and then re-ssh into them. Since the machine won’t accept ssh connections until it’s pretty far along in boot, I often have to re-ssh multiple times. Instead, I made a script that retries ssh until it succeeds.
#!/bin/bash
# pingssh
if [ -z "${1}" ]; then
echo "Usage: pingssh "
fi
host=$1
while : ; do
count=50
while ! ping -qc1 -W1 $host > /dev/null; do
echo -n "?"
sleep 0.2
count=$(( count - 1 ))
done
echo
ssh ${host}
ret=$?
if [ $ret = 0 ]; then
exit 0
elif [ $ret = 255 ]; then
sleep 0.5
fi
echo -n "!"
done
Looking through a nice blog by Andreas Schilling, I found this classic linked:The results are in. The Kubuntu Council is selected from among and by Kubuntu members. There are six council members. Each serves a two year term, so we elect half the council each year. The winners are:
- Philip Muskovac (yofel)
- Rohan Garg (shadeslayer)
- Valorie Zimmerman (valorie)
Congratulations and welcome. All three are first time council members.
The Kubuntu Council is the governing body of Kubuntu. The Kubuntu Council has three primary roles:
- Approve development plans for future Kubuntu releases
- Approve Kubuntu membership applications
- Resolve disputes within the Kubuntu project
Fortunately, we had our own mini vUDS today so we’ve now got a good idea what we want to have the new council approve.
![]()
Welcome to the Ubuntu Weekly Newsletter. This is issue #317 for the week May 13 – 19, 2013, and the full version is available here.
In this issue we cover:
- Announcing the Ubuntu Billboard Photo Contest
- Ubuntu Developer Summit 13.05 Closing Plenary and Track Summaries
- Ubuntu Open Week for Raring: Almost Here!
- Ubuntu Stats
- Getting the Ubuntu Advocacy Kit to 1.0
- Raring Party in Barcelona
- Daniel Holbach: Our Community Website
- Canonical Design Team: Ubuntu.com update
- Jono Bacon: Video Demo of Unity 8 on Mir and on a Galaxy Nexus
- The Fridge: Gandi now offers discounts for Ubuntu Members
- Canonical Design Team: System Settings for Ubuntu Phone
- Xubuntu: Looking towards Xubuntu 13.10
- Jono Bacon: Dogfooding the Ubuntu Phone: My (Early) Experience
- Ringtail from scratch
- Exploring Ubuntu Touch, the other Linux OS for your phone
- Google Glass rooted and hacked to run Ubuntu live at Google I/O
- What to Expect from Unity in Ubuntu 13.10
- In The Blogosphere
- Other Articles of Interest
- Upcoming Meetings and Events
- Updates and Security for 10.04, 12.04, 12.10 and 13.04
- And much more!
The issue of The Ubuntu Weekly Newsletter is brought to you by:
- Elizabeth Krumbach Joseph
- Paul White
- John Kim
- Benjamin Kerensa
- David Morfin
- Amber Graner
- The Alpaca Herder
- Jim Connett
- And many others
If you have a story idea for the Weekly Newsletter, join the Ubuntu News Team mailing list and submit it. Ideas can also be added to the wiki!
Except where otherwise noted, content in this issue is licensed under a Creative Commons Attribution 3.0 License BY SA Creative Commons License
Since Jack was born my music has taken something of a back seat. Recently I got the itch to write a new song and here is my first metal tune since he was born. It is an instrumental named after his onesie with chimp feet. I wanted to enjoy writing a song that spins around a little bit without the need to make it radio-length. As such it weighs in at just under 7 1/2 minutes. Anyone want to make a music video for it.
I wrote and recorded this in my home studio and played the guitars and bass; drums are programmed this time around. Licensed as CC-BY-SA.
It’s been a manically busy few weeks so I’m not going to write much today, just share some photos from some of the engagement sessions that I’ve photographed recently. In no particular order.
Rachel and Dan are getting married later this year in Cambridge. We went to a nature reserve near Basingstoke for their photo session.
Sarah and Marcus are getting married next month. For their photo session we revisited the site of their first date, and where Marcus had proposed. Right there on that very bench!
Andrew and Callum are getting married this week. When I went into their flat and saw the rows of Doctor Who DVDs on their shelves I knew we were going to get along. We went to a Doctor Who location for this photo session.
Lucy and James got married at the Tithe Barn in Petersfield, but we went to the Queen Elizabeth Country Park for their engagement photo session. The morning sun poured through the mist and created some rather special lighting.
Pin ItIn just nine years, Ubuntu has become one of the most popular Linux distributions in the world with millions of users and a thriving community. Ever wondered what all the fuss is about? How have we achieved such a great feat in such a short space of time? Here’s where you can find out. Ubuntu Open Week is a week of IRC tuition and Q+A sessions all about getting involved in the rock-and-roll world that is the Ubuntu community. We organise this week for the beginning of a new release cycle to help new contributors get involved.
Ubuntu Open Week takes place in #ubuntu-classroom on irc.freenode.net (#ubuntu-classroom-chat for questions), on May 20th-21st, from 13 to 18 UTC each day. We will be having people from different teams in, such as the Quality team, the Development team, the News team, and more! We are also going to have an “Ask Mark!” session with Mark Shuttleworth, the Ubuntu Community founder!
During the “Ask Mark!” session, community members are invited to ask Mark Shuttleworth (sabdfl) questions about the Ubuntu project. You will ask your questions in #ubuntu-classroom-chat with the prefix QUESTION: and philipballew will be selecting specific questions to pass along to Mark in the main #ubuntu-classroom channel.
To check out the full schedule and learn more about the event, visit the Ubuntu Open Week page on the Ubuntu wiki (we’re finishing to nail the schedule!)
We hope to see you there! But if not, as always, logs will be available after each session, and linked to the schedule at the end of each day.
I've got a project going to utilize Salesforce.com api over json and oauth rather than soap. Today I uploaded the package to the cheeseshop in hopes to pull in some interest from the community.
Right now the library contains authorization over OAuth 1.0a and client methods for retrieving basic Account, Case, and Asset information. My goal is to be api complete by the end of the year.
I would love to have contributors join the project in order to shape this young project into a well documented, tested, and easy to use library. As far as I can tell there isn't another python library like this that doesn't utilize SOAP for its endpoints.
Using the library is pretty straight forward, currently, I have 2 scripts that provide a simple way to authorize yourself and communicate with the endpoints.
sf-exchange-auth provides a local ssl enabled web server for going through the OAuth process and storing your token/secret.
sf-cli provides some arguments for pulling in rudimentary account and case information. Usage documentation is provided for this script.
The current focus is to stick to the YAGNI principles and utilize OO when it makes sense. This may or may not be the way to go so I am open to ideas and patches :D.
You can currently install python-salesforce through pip
$ pip install python-salesforce
The project page is located at
http://python.salesforce.astokes.org
Looking forward to hearing from you.
I've got a project going to utilize Salesforce.com api over json and oauth rather than soap. Today I uploaded the package to the cheeseshop in hopes to pull in some interest from the community.
Right now the library contains authorization over OAuth 1.0a and client methods for retrieving basic Account, Case, and Asset information. My goal is to be api complete by the end of the year.
I would love to have contributors join the project in order to shape this young project into a well documented, tested, and easy to use library. As far as I can tell there isn't another python library like this that doesn't utilize SOAP for its endpoints.
Using the library is pretty straight forward, currently, I have 2 scripts that provide a simple way to authorize yourself and communicate with the endpoints.
sf-exchange-auth provides a local ssl enabled web server for going through the OAuth process and storing your token/secret.
sf-cli provides some arguments for pulling in rudimentary account and case information. Usage documentation is provided for this script.
The current focus is to stick to the YAGNI principles and utilize OO when it makes sense. This may or may not be the way to go so I am open to ideas and patches :D.
You can currently install python-salesforce through pip
$ pip install python-salesforce
The project page is located at
http://python.salesforce.astokes.org
Looking forward to hearing from you.
Jono has written a very good post on his blog about respect in the community. I agree with the importance of respect in a community. It was also important to clarify that having different opinions or perspectives are not a sign of disrespect and are very important in a community even if consent cannot always be found. That is life, but not issuing different perspectives will disadvantage a community.
However, respect is a two-directional proposition. It is difficult to maintain respect, if every time there is a disagreement and passion creates tension, it is the fault of the community. In particular the vast differences in power create different points of breaking points and hence it sometimes may be far too easy to make comparisons on an equal level, or use objective tests to try to rationalise or use relativism. Pontifications of cult leaders rarely lead to respect, more often it is rather dissension or fear that are the result. This post is not supposed to in any way contradict the points Jono made in his blog post, but rather add another perspective to it.
This week's episode is brief and is the first after the close of the production suspension. A rough transcript is presented below for the avoidance of doubt.
Download here (MP3) (ogg) (FLAC), or subscribe to the podcast (MP3) to have episodes delivered to your media player. We suggest subscribing by way of a service like gpodder.net.
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/.
And we're back...
Welcome to the Burning Circle. The production suspension has now concluded. For release on Monday, May 20th, this is episode 113.
I have sent to the e-mail list and posted elsewhere a notes update to bring everybody up to speed as to what is going on. I will not reiterate it here. If you need a link to it you will be able to find such in Ubuntu Weekly Newsletter 317. You are subscribed to the Ubuntu Weekly Newsletter, aren't you?
We've had three folks attempt to join our community. I have disapproved two already and one remains in the pool. As a rule of thumb, I do ask that if I e-mail you that you please respond to me within a week. Within that amount of time, even a postcard can reach me via the United States Postal Service. Two people seeking to join did not contact me within a week's time and after multiple e-mails greeting them. One person remains in the queue with four day left to say something even if it is to tell me to go away. As a local community we have to be about more than just collecting a stylized Ohio flag logo on your Launchpad page. My biggest fear is that that has been the case a couple hundred times already.
We're heading into the Saucy Salamander cycle. We're way, way too quiet across the state. We have a mailing list. We have an IRC channel. We have a voicemail drop box to contact the leader. We need to speak up more as a community.
From the south shores of Lake Erie in the border port community of Ashtabula Township, this program has been brought to you over the facilities of the Internet Archive and Ubuntu Ohio by Erie Looking Productions. Our producer, Gloria "The Half Million Dollar Woman" Kellat, remains on medical leave. Our owner and engineer is Mike Kellat. I am the head writer, Stephen Michael Kellat. This program is released under a Creative Commons Attribution Share-Alike 3.0 United States license.
Thank you for joining us.

There may not be a native solution, but Google Music All Access is available in Ubuntu 13.04 today as a web app.
Turn On Notifications
To fully enjoy the Google music experience, notifications should be present. I am only going to turn on notifications within Chrome but you may explore a more intimate integration at this webupd8 blog post.

The first step is to load Google Music using the Chrome browser. I am using the beta version 27.0.1453.81. Press the setting button located in the upper right quadrant of the browser window and select Music Labs.
Find Desktop Notifications from the list and click enable.

Add Google Music as a Web App
Although you may run this directly from the Chrome browser, the secret to an enhanced user experience is adding Google Music as a Ubuntu web app. For the details on how to accomplish this see; Ubuntu – A Replacement for Chrome OS.
Enroll In Google Music All Access
You can stream music in your library to any device or computer via a browser on which you’re signed in. You can also download music in your library to any authorized device or computer. You can authorize up to a total of ten (10) devices or computers at any one time. At this time, only two Google accounts per computer can be used to add music with the Google Play Music Manager.
Click the Try It Free for 30 Days button to begin your registration. For your awareness a list of Authorized devices will be displayed for your consideration and you will be prompted to enter credit card payment info.
Start Playing Music

Ubuntu Integration
Enjoy : )
The post Ubuntu 13.04 – Enable Google Music All Access appeared first on j-Baer.
I use RSS feeds to keep up with academic journals. Because of an undocumented and unexpected feature (bug?) in my (otherwise wonderful) free software newsreader NewsBlur, many articles published over the last year were marked as having been read before I saw them.
Over the last week, I caught up. I spent hours going through abstracts and downloading papers that looked interesting or relevant to my research. Because I did this for hundreds of articles, it gave me an unusual opportunity to reflect on my journal reading practices in a systematic way.
On a number of occasions, there were potentially interesting articles in non-open access journals that neither MIT nor Harvard subscribes to and that were otherwise not accessible to me. In several cases where the research was obviously important to my work, I made an interlibrary request, emailed the papers’ authors for copies, or tracked down a colleague at an institution with access.
Of course, articles that look potentially interesting from the title and abstract often end up being less relevant or well executed on closer inspection. I tend to cast a wide net, skim many articles, and put them aside when it’s clear that the study is not for me. This week, I downloaded many of these possibly relevant papers to, at least, give a skim. But only if I could download them easily. On three or four occasions, I found inaccessible articles at this margin of relevance. In these cases, I did not bother trying to track down the articles.
Of course, what appear to be marginally relevant articles sometimes end up being a great match for my research and I will end up citing and building on the work. I found several suprisingly interesting papers last week. The articles that were locked up have no chance at this.
When people suggest that open access hinders the spread of scholarship, a common retort is that the people who need the work have or can finagle access. For the papers we know we need, this might be true. As someone with access to two of the most well endowed libraries in academia who routinely requests otherwise inaccessible articles through several channels, I would have told you, a week ago, that locked-down journals were unlikely to keep me from citing anybody.
So it was interesting watching myself do a personal cost calculation in a way that sidelined published scholarship — and that open access publishing would have prevented. At the margin of relevance to ones research, open access may make a big difference.
- “Open source is not a warzone. Not every man is a dick.” A lovely essay from Perl girls, I truly enjoyed reading it.
- “The water we swim in.” Valorie has nailed it with this: “most of the people discussing the issue seem to be talking past the folks they are hoping to connect with.” FWIW, I just think this whole shitstorm over the Community link is too overblown, too melodramatic, a whole tornado was created inside a small glass of water. The Hitler comparisons were ridiculous, unnecessary and embarrasing for the rest of us.
In all of these projects, communication and trust are paramount. Dialog which fosters creativity and progress is only possible when people enlarge their trust in one another. Along the way to the highest trust levels, many barriers will come down, as people allow them. Sometimes these barriers are invisible, until someone points them out.
I thought I'd seen a cartoon illustrating this story, but a web search tells me it's a story by David Foster Wallace:
Two young fish meet an older fish, who asks them “How’s the water?” The younger fish look at each other and say, “What the hell is water?”I was reminded of this story recently while observing the various reactions to the removal of the Community link on Ubuntu.com, the portal to the Ubuntu project. The link is coming back, so I'm not complaining. However, what I've noticed is that most of the people discussing the issue seem to be talking past the folks they are hoping to connect with. The emotions expressed range from puzzlement, to shock and outrage, with little understanding on the other "side" on the perceptions causing these reactions.
So how is the water? To me, the drama played out completely predictably, because any time you have one company selling a product, and volunteers working in that same project, you will have class issues, and class is like the water fish swim in. People are often not aware of it, and thus have difficulty dealing with their emotions around it, because they have been taught to ignore it, or even that it doesn't exist. So when the designers removed the link, it was felt as a slap to the face of community members, while the designers see it as just a step to a clean, functional design. The conversation about this change at the recent vUDS clearly betrays this lack of understanding of the other on all sides. http://summit.ubuntu.com/uds-1305/meeting/21740/community-1305-ubuntu-website-planning/
There is no such thing as a culture without class. There are always power imbalances, and privileges. However, that doesn't mean that class is the death of the Ubuntu project, or that volunteers and companies can't happily co-exist. They can, but the fact of class must be acknowledged, and those with privilege and power must realize what they have, and use them on behalf of the project.
A healthy culture has hierarchy, but not one based on domination. In fact, in FOSS that is part of what we are attempting to dislodge, right? We want our hierarchies to be constructed for function, not to rule over us. For instance, those who demonstrate their skill in packaging or coding are given the right to upload to the repositories. And those who grant them that right are those who already have built their reputations by using their skill and trustworthiness in that domain.
Recently there has been a breakdown -- or an apparent breakdown -- in that hierarchy of function in Ubuntu. And I think that both those inside Canonical and those outside, perceive that the other is the one causing that break. So, some repair is needed.
All of our differences can be overcome as we build (or re-build) trust. However, all sides of the issue will need to think about, process emotion about, and finally discuss openly what has gone on. The replacement of the Community link alone will not mend this breach, nor will brief virtual UDS sessions. In fact, I think the lack of in-person face-to-face interaction is allowing this divide to grow.
Folks, we don't want resentment and suspicion to grow, so we are all going to need to work on this if the Ubuntu project is going to continue to thrive as a free software enterprise. In my opinion, thinking about and discussing class issues are fundamental to that effort.
This blog appears on the Linuxchix, KDE and Ubuntu planets, and these issues of class appear in all teams. Health and progress are the goal, and honest dialog is the means. I propose we look one another in the eye and start a conversation. These are difficult dialogs, but our health is at stake.
For each Ubuntu release I spend a little time finding a toy or other representation of the codename animal to use at booths, Ubuntu Hours and other events. I wrote about Quetzals and Pangolins here and you may have seen Raring here.
When the salamander came up I was confident that a toy would be easy to find, and indeed they were! Even better, I found that the World Wildlife Fund offers a $50 Hellbender Salamander Adoption Kit that ships with 2 plush salamanders! Mine arrived yesterday, I’ll be keeping one to use at our events and will find a way to give away the other (perhaps as part of the Ubuntu Women contest we’re planning? Or at some LoCo event?).
Event decoration + helping to save the actual animal, hooray!
Oh, and it is a release late, but while I was in Mérida, Mexico we stopped in to Miniaturas where I picked up some adorable quetzal earrings:
I think I’ll wear them to our San Francisco Ubuntu Hour on June 12th, and bring along the salamander!
Globaleaks 0.2 Alpha is out.
Globaleaks is an open source project aimed at creating a worldwide, anonymous, censorship-resistant, distributed whistle-blowing platform. It enables organizations interested in running whistle-blowing initiatives to setup their own safe zone, where whistle-blowers and recipients can exchange data.
2 Years ago I helped out with the development of Globaleaks 0.1. And although I am not active anymore, I really support the initiative behind it. Now with the HERMES Center for Transparency and Digital Human Rights backing it up, it has grown a lot and shaped up to be a very organized and thought through project.
TL;DR:
- Full rewrite
- More flexible and extensible
- Linux ready-made system and network hardened installation
-
Written in python using twisted
- New Frontend
Try it out:
Try out the demo. It is pretty straight forward.
Help out:
As young project, Globaleaks can use some help fixing bugs. Just head to the wiki and read through it. It is pretty straight forward, and explains the modules, security concepts and set up instructions.
Globaleaks already has Debian and Ubuntu ready packages. An easy way to help out is to set up a PPA for us on Launchpad.
Get in touch:
You can contact the Globaleaks team at info () globaleaks org or on IRC on #globaleaks at irc.oftc.net
Here are some screenshots of the new frontend
As I’ve mentioned before, the 2013 Kubuntu Council elections are underway. You’ve got just over two days left to vote, so if you’ve been procrastinating, mission accomplished, now go vote.
Last Saturday, the Catalan LoCo Team did its Ubuntu Raring Ringtail Party at the Escola del Clot of Barcelona with some 80 people present in the different speeches and installs.
The day started with a little presentation about Ubuntu and Catalan LoCo Team. After that, there were two lectures from Sergi Grau: HTML5 and Android 4.2.
Simultaneously, on other room, it was the speech about the Free & Open Source Software Outreach for Women Program with Mònica Ramírez, Debian Developer.
After that, there were the talks about Metadistributions based on Ubuntu using Remastersys with Jordi Binefa and ChameleonPI (a Raspbian versions with games emulators for the Raspberry Pi) with its author Carles Oriol.
Joan de Gràcia presented the Linkat Edu 12.04, the official Catalan public school GNU/Linux distro, for the first time based on Ubuntu, and Jordi Binefa showed Free hardware with Ubuntu.
Meanwhile, on the install room, people worked on installations and clarification of doubts and we sold some LoCo Team T-shirts and gave away some Ubuntu installation and using guides.
As always, we ended the party with a draw of some T-shirts and an Ubuntu Handbook.
As you can see, after the party was completed, some of us went to lunch.
Since I left for my wedding and honeymoon a bunch of things happened! Ubuntu 13.04 was released, 13.10 was given the code name “Saucy Salamander” and Debian 7.0 Wheezy came out. Plus lots of exciting OpenStack development discussion that came out following the Summit (I left right after it). When I got back into the country on the 12th I had a lot to catch up on! I did my best to cram before sessions and certainly had to limit involvement to a handful of sessions that I was particularly keen on attending and so could get up to speed with quickly.
This was the first virtual UDS I was able to participate in, so it was all new to me. Essentially the the “fish bowl” (as seen here, I took this photo from my spot in the wider attendee seating) is replaced by a Google Hangout and the “wider attendee seating” is an IRC channel. For the 4 sessions I participated in this worked very well, session leads were pro-active about asking who wished to participate in the Hangout so everyone who wanted to was able to. A great deal of attention in all these sessions was given to the IRC channel, which is a contrast with in person UDS where the channel can sometimes get a bit left behind (even though it’s being projected, it was easy to forget once you get talking). I didn’t use the summit.ubuntu.com page for anything aside reference, preferring to pop out the etherpad and use my standard IRC client, but I appreciated it all being there as a resource (and I’m sure it was super helpful for newcomers to follow along!).

Cheri Francis and others in the Ubuntu Women session
I found the sessions I participated in to be productive and focused and when applicable resulted in a solid list of action items. I hope that the event also lessened the experience gap that was always present for in person vs. remote participants, we all got the same experience. Now I have to admit to not being a fan of using Google Hangouts for this (I like Google, but it is still a proprietary, closed-source tool that we have no control over), but I understand that the ease of use and immediate availability of videos on YouTube makes a compelling case. Perhaps my only other complaint is lack of cohesiveness that comes from an online event, I didn’t watch the introduction or the wrap up. I also didn’t participate in the “beer hangout” – I didn’t even know it was happening, and sitting in front of my computer with a beer in the middle of the day wasn’t particularly interesting to me. I only attended a few specific sessions and there was no “wandering into something that looks interesting” (instead I just went back to work) or the regular social down time we get to relax or sit down to hack on things. I do hope we can find some kind of replacement for the in-person events, it would be great to see something on the LoCo team level at conferences where we seek to have an expanded Ubuntu presence focused on contributors (perhaps an Ubucon with a participant track?).
And the venue… it was at home! In order to participate in the hangout I did feel the need to leverage my multiple monitors.
Now the sessions themselves…
– Planning for Ubuntu Community presence on the Ubuntu Website –
This was not a particularly productive session as far as action items were concerned, but it turns out that while I was gone the removal of the “Community” link from ubuntu.com took on a life of its own (and boy was I surprised to see my name end up in a recent Datamation article about it). Personally I was satisfied with Daniel Holbach’s blog post on the subject a day after the change was made, but it was nice to speak with with some folks from the Design team and allow everyone to confirm that no ill will was intended and that plans for a new and improved community site were moving forward. The session was kept short given the more structured session about the community site specifically planned for the following day.
YouTube video of the session here
– Ubuntu Women UDS-1305 Goals –
Huge thanks to Silvia Bindelli and Cheri Francis for doing all of the leg work for this session while I was gone, I felt very comfortable reviewing their pre-session notes and found a really great, collaborative environment upon joining in. The discussion began talking about an information scavenger-hung competition that the team will be doing in the coming months, seeking volunteers to assist. It then moved into a topic that I was really happy to see on the agenda – a user poll to see how the team could be most effective in serving our audience of women interested in Ubuntu. I find that the project needs a bit of an adjustment every couple of years to refocus on our current targets as Ubuntu and the open source ecosystem evolves, so I’m excited that we’re doing this. Finally, much of the session was spent discussing our intention to further collaborate with other groups seeking to encourage women in open source (and in technology in general).
YouTube video of the session here and I uploaded session notes here
– Revamping ubuntu.com/community –
Picking up from where discussion left off the previous day, this session was a focused on on concrete things that need to be done to get the proposed community website that was under development reviewed and published. I admit that job change + wedding planning had my attention diverted this past cycle so I wasn’t able to contribute to this project, but I made sure to spend time the night before to do a review of the content so I’d be prepared. I was able to go through some of my suggestions during the meeting and took a few action items to continue with a more thorough review and to collect some quotes and photos from the community to make the site more personal and approachable.
YouTube video of the session here and I uploaded session notes here
– Shaping a plan for the future of Ubuntu Documentation Team –
I can’t begin to say how pleased I was to see this session land on the agenda. The Ubuntu Doc team has been a very small team for a long time, and new contributors have struggled to participate as the docs for writing the docs got stale to a point where they were not useful. We’re at a very exciting time now where we have limited support from a couple of the (very busy!) former drivers of this team and at least two strong contributors who have committed to moving the project forward. The first thing on the agenda was addressing the updating of docs so that more contributors can get on-boarded. I was able to pitch in with a couple action items to nudge things along a bit, but I’m hopeful that this is the beginning of an exciting new phase for the team.
YouTube video of the session here and I uploaded session notes here
– Xubuntu –
Since the event was online, the Xubuntu team took advantage of the flexibility and ended up pulling their sessions from UDS proper and scheduling our sessions for the hour after UDS each day to tackle a series of blueprints designed for the coming months. I was able to use my YouTube account + Hangouts to replicate that portion of what main UDS was doing.
Discussion of most interest to me centered around our testing+release plans (should we do alphas? betas? which ones?) and documentation, but discussion of our limited developer force (want to grow it!), a proposal for a shortcut overlay and default applications also were discussed. A much better summary was posted on the Xubuntu website yesterday: Looking towards Xubuntu 13.10. Pasi Lallinaho also wrote bullet-point style summaries of Night 1 and Night 2 which include links to their respective YouTube videos.
In all, a productive UDS for me, I have a lot of work to do… :)

Thanks to DoctorMo for the hilarious photo. It’s just so good.
We’ve got Classes working, the usual fixes from the ‘crew, and native macros. Huzzah!
I’ve had to take the site down for now (well, stop updating it) because of a vulnerability I introduced (macros allow arbitrary code to run), which means, if anyone’s keen, they should add the sandboxing code to the Hy Site as well!
More coming soon!
Ubuntu Ohio Leader Notes for 2013-05-17
Continuing Attacks on freenode
Prior to the start of the recently concluded Ubuntu Developer Summit many saw freenode become subject to Denial of Service attacks. I first noticed such on May 11th. There recently has been a blog post made explaining the situation on freenode's administrative side.
As a bit of a contingency I am encouraging members of Ubuntu Ohio to update their Launchpad profiles by editing their listed Jabber (otherwise known as XMPP) IDs so that we have a bit of a roster there. We may end up considering a fall-back XMPP Conference Room if freenode hits heavier pockets of turbulence. For now the implementation of that conundrum is left as something for us as an interesting hypothetical to consider for the moment. Anybody who has ideas about how to implement such an XMPP Conference Room is encouraged to edit https://wiki.ubuntu.com/OhioTeam/XMPP on the Ubuntu Wiki Infrastructure to further collaboration.
Podcast Resumption
The two week suspension of Burning Circle should be wrapping up this week and a new episode is expected to be released on Monday, May 20th.
Ubuntu Developer Summit May 2013
The proceedings of Ubuntu Developer Summit May 2013 have concluded and I urge you to view the resulting YouTube videos created from the various Google Hangouts. One thing that was noted was that having this happen at the same time as Google I/O was a bad thing. The Xubuntu folks held some parallel sessions and published a blog post with summaries and an outline of their work plan for the Saucy Salamander cycle.
If this scheduling pattern continues the next summit should be held in August 2013. That will place it one month before Ohio Linux Fest 2013.
Ohio Linux Fest 2013
I have received a communication from Robert Ball concerning getting a table at Ohio Linux Fest 2013. I would like to deputize someone in our community located outside Ashtabula County to sign the contract for such and to handle that matter. Please contact me directly at skellat@ubuntu.com and we can discuss the matter.
An offer was received from Jorge Castro during a UDS session to bring in some people to assist with presenting an UbuCon. I still encourage members of our community to think of what they would like to present as we will get close to my issuing a call for topics. I do not currently have confirmation that space is available yet for us to do this but will be following up with Ohio Linux Fest organizers.
Ubuntu Ohio Projects For The Saucy Salamander Cycle
As a community we have three or four projects to consider during the Saucy Salamander cycle.
- Consider the creation of a fall-back XMPP Conference Room
- Prepare for Ohio Linux Fest 2013
- The Ubuntu Advocacy Kit
- Mentoring & Shepherding Community Members To Become Ubuntu Members
The first two items have been dealt with above. Jono Bacon and I engaged in a colloquy during an Ubuntu Developer Summit session about our community perhaps assisting in the development of the Ubuntu Advocacy Kit. Jono discussed further on his blog about the need for help with bringing the kit to version 1.0 and provides some basic instructions on how to get started. If there are community members who are interested in participating please follow the directions and dig in. If we need to spend time going over the mechanics of contributing using Bazaar, please let me know so that I can schedule an educational session.
The last project matter is one that I am taking on which is to help mentor and shepherd members of our community through the process of attaining Ubuntu Membership. Across the planet there are only 784 Ubuntu Members in the relevant Launchpad group at the time this is written. I want to help people grow in the community and become increasingly responsible for its growth and maintenance. This is an important step.
AND FINALLY...
NewsChannel 5 WEWS in Cleveland reports that the State of Ohio's average unemployment rate dropped by one-tenth of one percentage point to seven percent. The Ohio Department of Job and Family Services has a press release posted which provides a break-down of where employment shifted between March 2013 and April 2013. A table showing the changes by industrial group is also posted.
Inspired by Rick's recent blog posts, and keen to write a blog post with a ridiculously long title, I've been reading up on QML recently. Still bearing the scars from the XML horrors of working with J2EE in the early days, that 3-byte acronym ending in "ML" initially subconsciously somewhat filled me with trepidation. However, as soon as I actually saw some QML, I could see these fears were unfounded (! :-) And in fact I now love QML. It's clean, elegant, powerful, declarative and (OMG YAY!) you can even "%-bounce" on the braces in vim! :-) That said, the qtcreator IDE is extremely good, managing to provide just enough of what you want without requiring endless additional configuration.But it doesn't stop there. The Design Team have done some incredible work in creating the Ubuntu SDK components: not only do they look fantastic (if you have the ubuntu-ui-toolkit-examples package installed, try running /usr/lib/ubuntu-ui-toolkit/demos/launch_componentshowcase), they are also extremely flexible and powerful.
As Rick has mentioned, it does take a while to grok the "QML-ish" way of doing things. And if like me you spend most of your time writing in imperative languages, initially you just think "all this QML is wonderful, but where do I actually put the code?". But then you have the epiphany moment when you realise you're already writing "the code" - in many cases, you don't need anything beyond the declarative QML itself.
I Need an Itch to Scratch
The only real way to learn a new language is to use it. But what to do? I wanted to code something simple and fun, like a game. There are already few games on the Collections page so I needed to think of a really simple one that is also fun to play. How about a game that even children can appreciate? Of course - Noughts and Crosses (aka tic-tac-toe)!
Note that the code is pretty rudimentary right now, but it's just about usable ;-)
Design
This is a simple game so we only need a few objects: Cell, Game and MainView.The MainView is the container for the application and includes a Page and the actual Game object. The only property we specify for the game is the boardSize of 3 giving us a 3x3 board. Technically, we don't actually even need to specify this since -- as we're about to see -- 3x3 is the default board size anyway. So, the Game object could be specified minimally as "Game {}". However, I've left it specified as a reminder to myself that ultimately I'd like to pass a variable to allow the board size to be specified at game creation time.
Here is a slightly simplified version of the MainView (noughts-and-crosses.qml):
import QtQuick 2.0
import Ubuntu.Components 0.1
MainView {
Page {
title: "Noughts and Crosses"
id: page
Game {
// change this to whatever value you want for an NxN-sized board
boardSize: 3
}
}
}
The Game object is a Column and comprises a Label, to show some text relating to the game, and a Grid to actually represent the game. There is some magic going on in the grid as it uses the very cool Repeater object to make laying out the grid easy: for a 3x3 board it creates 9 Cell objects and packs them into the grid. Here's a cut-down version of the Game object:
Column {
property alias boardSize: gameGrid.boardSize
Label {
id: text
text: "Noughts goes first"
}
Grid {
id: gameGrid
// Default to a 3x3 board (we only support square boards).
property real boardSize: 3
// toggled between "O" and "X". The value specified below denotes
// which side goes first.
property string player: "O"
columns: boardSize
rows: boardSize
// layout the appropriate number of cells for the board size
Repeater {
id: gridRepeater
model: boardSize * boardSize
Cell {
width: 100
height: width
}
}
}
}
Note the property alias for boardSize in the Column object - it exposes a boardSize variable which is just a way to access the real variable of the same name within the Grid object. Note too that we tell the Grid object its dimensions by setting its columns and rows properties.
The Game object also contains a chunk of Javascript in the form of the checkForWin() function to determine whether a move resulted in the game being won.
The Cell object is the most interesting object. A Cell represents an individual location on the board. It is constructed from a Rectangle and comprises a Text value. The text value is either a middle-dot (to denote the cell has not yet been selected), a "O" or a "X". It also includes a MouseArea that specifies the new cell state to apply when the cell is clicked. Initially, the state is middle-dot but when the cell is clicked, the state is changed to the value of the parent (Game) objects player property. The Cell object specifies 3 states to represent every possible value a Cell can display. What's neat here is that changing the cells state also toggles the parent (Game) objects player property which allows the game to proceed with each player taking a turn. Clicking a cell also calls the checkForWin()function to determine if a particular turn results in the game being won. Here's the complete Cell object:
Rectangle {
id: cell
state: gameGrid.defaultText
property alias textColor: cellText.color
Text {
id: cellText
text: parent.state
color: "silver"
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
font.pointSize: 48
}
states: [
State {
name: cell.parent.defaultText
PropertyChanges { target: gameGrid; player: "" }
},
State {
name: "O"
PropertyChanges { target: gameGrid; player: cell.state }
},
State {
name: "X"
PropertyChanges { target: gameGrid; player: cell.state }
}
]
// when clicked,
MouseArea {
anchors.fill: parent
onClicked: {
cell.state = (gameGrid.player == "O" ? "X" : "O");
gameGrid.numberTurns += 1
gameGrid.checkForWin();
}
}
}
Winning Algorithm
The approach I've taken is very simplistic: just scan each row, column and diagonal looking for a winning run. This isn't particularly efficient (we're scanning the board multiple times) but that's not a problem for small board sizes. However, it has two fairly compelling attributes:- It's simple to understand
- It works for arbitrary-sized boards.
My favourite alternative algorithm is to make use of the properties of Magic Squares. Using these, you can scan the board a single time to determine if a player has one. This is achieved by determining if a cell has been selected by a player and if so incrementing their counter based on the magic square value for that index. For a 3x3 board, if a players total equals 15, they win!
Screenshots
Start of a new game:
We have a winner!
Another winner on a 7x7 board (the person playing crosses needs more practice me thinks :-):
What's Next
- The javascript code is currently horrid and needs to be refactored with dynamite.
- Add ability to play "the computer".
- Config option to allow variable-sided playing grids.
- Once the game is stopped, we need to disallow further board clicks.
- Leverage more QML facilities to simplify the code further.
- Visual improvements (animation for a winning run maybe?)
- Ability to change player that starts.
- Score-keeping and "best of 'n' games " support (particularly useful when the kids beat you repeatedly ;-)
- Menu to start new game.
In Conclusion
My "clean-room" implementation is far from perfect at the moment, but it's been a fantastic learning exercise so far and a lot of fun!There are of course other QML noughts-and-crosses games out there. They come with varying licenses, some use C++ for the game logic, and most -- if not all -- are hard-coded to produce a 3x3 board only. Additionally, they generally use graphical representations for the noughts and crosses whereas here, I'm just using styled text. If you're interested, compare my github code with, for example, the Qt version to see the different approaches taken:
See Also
At the end of April, we set the goal to have Ubuntu Touch be dogfoodable on the Nexus and Nexus 4 phones. By that we mean, the goal is to make it so that we can use our phones exclusively as our phones. Today I chatted with some of the engineering managers involved to see how much progress we have made towards that. I am happy to say that it looks like we are still on track for this goal. However, there do appear to be some risky parts, so I am keeping my fingers crossed.
- You can make and receive phone calls: Done!
- You can make and receive sms messages: Done!
- You can browse the web on 3g data: Tony had been blocked on some technical issues, but thinks he's through them, so is in the debugging phase. He expects to have this done by end of May as per the dogfooding goal. For me, personally, this is the only missing part for me to be able to use the phone as my main phone around town. So, if Tony cracks this nut, then I will put away my old phone and start using my Ubuntu Phone exclusively.
- You can browse the web on wifi: Done! This has actually been done for quite a while.
- You can switch between wifi and 3g data: There are 2 parts to this work. There is low level networking code to get done, and then there is UI to enable it. That means that the Phone Foundations team and the Desktop team both have work to do. Both teams expect to get it done for May, but the work is not started yet.
- The proximity sensore dims the screen when you lift the phone to talk on it: There are two parts to this also. Gather the sensor data and then making the phone app use the sensor data. Work has not started for this part either.
- You can import contacts from somewhere, and you can add and edit contacts: There is some work done on this that imports from a *.csv file. I expect there will be some crude support for this in time for the May goal. It might be fun for someone to try out a more elegant implementation. Ubuntu Phone is using Evolution Data Server for the contacts store, so there may be folks out there who already have the experience to do this easily.
- When you update your phone your user data is retained, even if updating with phablet-flash: Done! This part being done makes the contacts import less important to me because as I add contacts they won't get blown away. On the other hand, it means it is worth it to import contacts, since you won't have to re-important as you update your phone each day (while it is in development).
sudo apt-get update
sudo apt-get install lttng-tools
LTTng was already recently added into the Ubuntu 13.10 Saucy kernel, however, with earlier releases one needs to install the LTTng kernel driver using lttng-modules-dkms as follows: sudo apt-get install lttng-modules-dkms
It is a good idea to sanity check to see if the tools and driver are installed correctly, so first check to see the available kernel events on your machine: sudo lttng list -k
And you should get a list similar to the following: Kernel events:
-------------
mm_vmscan_kswapd_sleep (loglevel: TRACE_EMERG (0)) (type: tracepoint)
mm_vmscan_kswapd_wake (loglevel: TRACE_EMERG (0)) (type: tracepoint)
mm_vmscan_wakeup_kswapd (loglevel: TRACE_EMERG (0)) (type: tracepoint)
mm_vmscan_direct_reclaim_begin (loglevel: TRACE_EMERG (0)) (type: tracepoint)
mm_vmscan_memcg_reclaim_begin (loglevel: TRACE_EMERG (0)) (type: tracepoint)
..
Next, we need to create a tracing session: sudo lttng create examplesession
..and enable events to be traced using: sudo lttng enable-event sched_process_exec -k
One can also specify multiple events as a comma separated list. Next, start the tracing using: sudo lttng start
and to stop and complete the tracing use: sudo lttng stop
sudo lttng destroy
and the trace data will be saved in the directory ~/lttng-traces/examplesession-[date]-[time]/. One can examine the trace data using the babeltrace tool, for example: sudo babeltrace ~/lttng-traces/examplesession-20130517-125533
And you should get a list similar to the following: [12:56:04.490960303] (+?.?????????) x220i sched_process_exec: { cpu_id = 2 }, { filename = "/usr/bin/firefox", tid = 4892, old_tid = 4892 }
[12:56:04.493116594] (+0.002156291) x220i sched_process_exec: { cpu_id = 0 }, { filename = "/usr/bin/which", tid = 4895, old_tid = 4895 }
[12:56:04.496291224] (+0.003174630) x220i sched_process_exec: { cpu_id = 2 }, { filename = "/usr/lib/firefox/firefox", tid = 4892, old_tid = 4892 }
[12:56:05.472770438] (+0.976479214) x220i sched_process_exec: { cpu_id = 2 }, { filename = "/usr/lib/libunity-webapps/unity-webapps-service", tid = 4910, old_tid = 4910 }
[12:56:05.478117340] (+0.005346902) x220i sched_process_exec: { cpu_id = 2 }, { filename = "/usr/bin/ubuntu-webapps-update-index", tid = 4912, old_tid = 4912 }
[12:56:10.834043409] (+5.355926069) x220i sched_process_exec: { cpu_id = 3 }, { filename = "/usr/bin/top", tid = 4937, old_tid = 4937 }
[12:56:13.668306764] (+2.834263355) x220i sched_process_exec: { cpu_id = 3 }, { filename = "/bin/ps", tid = 4938, old_tid = 4938 }
[12:56:16.047191671] (+2.378884907) x220i sched_process_exec: { cpu_id = 3 }, { filename = "/usr/bin/sudo", tid = 4939, old_tid = 4939 }
[12:56:16.059363974] (+0.012172303) x220i sched_process_exec: { cpu_id = 3 }, { filename = "/usr/bin/lttng", tid = 4940, old_tid = 4940 }
The LTTng wiki contains many useful worked examples and is well worth exploring.As it stands, LTTng is relatively light weight. Research by Romik Guha Anjoy and Soumya Kanti Chakraborty shows that LTTng describes how the CPU overhead is ~1.6% on a Intel® CoreTM 2 Quad with four 64 bit Q9550 cores. With measurements I've made with oprofile on a Nexus 4 with 1.5 GHz quad-core Snapdragon S4 Pro processor shows a CPU overhead of < 1% for kernel tracing. In flight recorder mode, one can generate a lot of trace data. For example, with all tracing enabled running multiple stress tests I was able to generate ~850K second of trace data, so this will obviously impact disk I/O.
After three Nights of Xubuntu, the Xubuntu team is able to present you a quick overview of some of the planned features and improvements for Xubuntu 13.10. Enjoy!
Software and development
On the software side, apt-offline will be included in our default installation after a few cycles of preparing and writing documentation for it. This will help our users who have impaired-bandwidth situations and usage documentation is already present in the 13.04 offline documentation. The team is also considering the possibility to add a keyboard shortcuts overlay to help new (and why not old) users with their shortcuts-fu. Finally, the team is looking to improve the Pavucontrol user interface to make it more intuitive.
The team also discussed if a heads-up display (HUD) would fit to the Xubuntu paradigm and if it would be viable to implement. The team decided that including or working with one should be postponed until after the long-term support (LTS) release since there isn’t a proof of concept of a HUD suitable for Xubuntu ready and developing one would take a lot of developer time. Further inquiry can take place, though.
Besides the additions and improvements to software, the team roughly discussed including a Xubuntu core meta package which would include only a basic system without various applications seen in the current default installation. Some team members are working on drafts for the contents for the package as you read this article. The meta package would be installable instead of the Xubuntu desktop package during installation.
Documentation
The team is keeping the pressure up on the documentation improvements. The team is looking to extend the re-written Xubuntu documentation from a few releases ago even further as well as to get the infrastructure rights to enable translations for the documentation.
In addition, another goal is to get started with the 12.04 documentation review to supply a more up-to-date version via a stable release update for the LTS users as well.
Community
As with the previous cycles, we will keep on focusing on community. One of our targets this cycle is to get several people new upload rights to the Xubuntu package set. We also hope the prospective developers can help create processes with the newly appointed QA team lead to help reinforce the QA team as well as help with their testing duties.
Milestone participation
As usually, Xubuntu is following the Ubuntu release schedule. While the release schedule is far from final, the Xubuntu team is planning to release one alpha and both betas. At the moment the alpha participation looks pretty certain but the details depend on the Xfce 4.12 release. We will keep sending updates as soon as we have any news.
Summary
In the end, this is a final tune-up before we head into developing the LTS release that is expected to be unleashed in April 2014. Xubuntu presents a conservative desktop choice among the Ubuntu flavours. As we head into the Saucy Salamander development cycle, we will be striving for excellence once more.
To read the full notes from the three meetings, refer to the following URLs: night 1, night 2, night 3. If you are interested in the original agenda for the nights, refer to the following URLs: development and milestone participation, forward-looking issues, software.
It feels like Friday! Why? I think it's because I am tired. I am tired because Virtual UDS turns out to be surprisingly intense.
Power to People
So, that is to say, the second Virtual UDS is over. After experience my second vUDS, I think vUDS is really a boost for the transparency of the Ubuntu Project for a few reasons.- Frequency. We can do it every 3 months instead of every 6 months. As I mentioned in the opening plenary, this is important because we don't actually plan only every 6 months anymore. Like any modern software project, we are continuously planning. The 3 month cadence for vUDS means that there will be less time between detecting a need to change plans and discussion about how to make those necessary changes. I pushed very hard to have the first vUDS quickly, because there was a lot of planning for Ubuntu Touch that was backed up and needed proper discussion. If we waited until now, a lot of the work would have started without a good opportunity for discussion.
- Access. Folks don't have to travel to wherever UDS is. People with specific interests can rock those interests with a laser focus, without having to dedicate a whole week away from home. Let's face it, traveling for 2 weeks a year to participate in UDS is something that only a few privileged people can swing. Many many more people can join a hangout.
- Persistence. The sessions are streamed live, but then instantly available for reviewing, along with the white board, links to blueprints, etc... Try it. Go to Summit for the UDS that just ended. Find a session. Click on the session. It's like you are there live. Discussions that used to exist only in the memories of a select few with some written traces are now persisted and available.
Personal Faves
I won't go into a run down of the results, because that job is taken. However, here are some of my personal favorite discussions at this vUDS. These are my favorites based only on personal interests of mine. These are by no means the most important decisions or discussions. Just things that interest me a lot personally.Rolling Release
After the unfortunate kerfufle last cycle when I pushed hard to move Ubuntu to a model of LTSs with rolling releases in between, it was niceto close in on one nice outcome. Namely, Colin has a technical solution that will allow users to subscribe to essentially the tip of development. Instead of using "raring" or "saucy" in your sources lists, you'll subscribe to a new name which is symlinked to whatever is the current development release. In this way, each day you will be on the latest. Even the day after a development release becomes a stable release, because the symlink will just point to the next development release.I ended up with a couple of action items from this session. Mostly, to come up with a name and bring it to the next Tech Board meeting for approval. I'm very much leaning to "rolling", but I am open to discussion ;) This would mean you could say "I am on Raring", or "I am on Precise", or "I am on Rolling". "I am on Rolling" means that you are on the tip of development. Fun!
Touch Image Testing
I've been very keen to get Ubuntu Touch out of "preview" mode and into our standard development processes so that they inherit all of the daily quality tools that we have in place. This means moving all the code of out PPAs and into the real archives, so that we get the benefits of all the efforts we have put into place around -proposed and archive maintenance. It also means getting smoke testing and regression testing automated on the Touch images. I loved hearing from the Phone Foundations team and the QA team about their vision for "not accepting regressions". We should have dog-foodable touch images as early as the end of this month. Then if we can keep the images fully usable with minimal regressions each day, we will go very fast towards completion.Ubuntu Status Stracker
I am partial to this topic because the status tracker started out as a labor of love for me. The first real bit of code that I wrote after joining canonical was to render my version of burndown charts. If I am not mistaken this code is still in use. In any case, status.ubuntu.com is critical to maintaining our planning, and ensuring that the status of the project is visible to all.Unity 8 in 13.10
While 13.10 is very very focused on Ubunty Touch for phones, we all know that the real prize is the fully converged client OS. With that in mind, I think it's important to get the code up on as many device types as possible as soon as possible. There was a rich discussion about the steps to offer Unity 8 on top of Mir as an option in 13.10. Now, keep in mind that the result will only be the Phone UI on the desktop, and the default will be the Unity that we know and love today (with Smart Scopes and other enhancements of course!). Still in all, I am betting that basing Unity 8 on QML means that it will be surprisingly functional on a desktop even though it won't have any real desktop support in terms of things like workspace switching, etc..Following on from the first event in March of this year where we had a great day of talks covering varying topic I am very happy to announce the next HacknTalk will take place on the 29th June at the Google Campus again in London.
For those who missed it we had a great turn out and had talk on “Documenting tools for Tech Events“, “How to get kids more involved in open source in Education“,” Exceptional Money“, “Using MVC in Game Design” and we learned about STEMNET. There were other talks, lots of demonstrations and hands on help from members of the community helping one another with their questions.
We hope to reproduce the fun and informative day again in June. Learn about more great projects that are happening in the varying open source communities and meet new people. Since HacknTalk is an unconference, the speaking/demo schedule will be set on the day and everyone is free to propose a talk themselves. You are of course free to come along, sit back and listen to other people’s talks but we’d like to encourage everyone to take part and talk on something they are passionate about in technology. There is lots of space, wifi, and power sockets to go around. Break out areas to work on your hacking or demoing and hanging out with people.
If you want to come along please do remember places are limited so you need to sign up. If you can’t make the event, let other people in your community know about it and remember there will be another event in 3-4 months again. You can follow @hackntalk for more updates.
We’re back with the twelfth episode of Season Six of the Ubuntu Podcast from the UK LoCo Team! Alan Pope, Mark Johnson, Tony Whitmore, Laura Cowen and The Podcats are all set in Studio A with cake and an interview.
In this week’s show:-
- We interview Rick Spencer, VP of Ubuntu Engineering at Canonical, about engineering Ubuntu.
- We share some Command Line Lurve:
gpg --multifile
- We chat about attending an Ubuntu development sprint in Oakland, more Doctor Who stuff at the British Film Institute (it is the 50th anniversary year!), and going to watch the Reduced Shakespeare Company reducing Shakespeare to 90 mins (including an interval).
- And, of course, we go over your marvellous feedback.
Please send your comments and suggestions to: podcast@ubuntu-uk.org
Join us on IRC in #ubuntu-uk-podcast on Freenode
Leave a voicemail via phone: +44 (0) 203 298 1600, sip: podcast@sip.ubuntu-uk.org and skype: ubuntuukpodcast
Follow our twitter feed http://twitter.com/uupc
Find our Facebook Fan Page
Follow us on Google Plus
Leave us some segment ideas on the Etherpad
In late 2008, I sketched initial designs for what became Gnome’s System Settings utility. This centralized most operating system settings in a single window, without the need to reopen menus or switch between multiple windows if you didn’t find the setting you were looking for the first time. It made Ubuntu, and other Gnome-based systems, much easier to configure.
Five years later, we’re building a phone operating system. So once again, we need a centralized system settings interface.
What other phone OSes do
The first step in designing this was a competitor evaluation of how other phone systems present system settings.

iOS 6.1.4.
iOS is highly consistent in using a hierarchy of list items for Settings. But their design is rather awkward in three ways. First, the top-level Settings screen is very long, usually containing 30 or more top-level categories. Second, Apple originally tried to include application-specific settings inside the system-wide Settings, which made them hard to find while using the app. Some apps (including nearly all the default ones) still do that, but nowadays most put settings in their own UI. And third, the top-level “General” settings category is a bit of a junk drawer — containing subcategories for everything from auto-lock to accessibility, software updates to Siri.

Android 4.2: Tapping “Set mobile data limit” checks the checkbox. Tapping “Mobile data” flashes the switch label, but does nothing else. Tapping “⋮” opens a menu of more settings.
Android’s Settings similarly uses a hierarchy of lists, though some sections use dialogs instead. It has other consistency problems, too. Sometimes checkboxes are on the left, sometimes on the right. Tapping a checkbox label toggles the checkbox, but tapping a switch label doesn’t toggle the switch — sometimes it navigates to a different screen, other times it does nothing at all. Sometimes a screen’s heading contains a Back button, sometimes it doesn’t. Sometimes it contains a “⋮” dropdown menu of more settings, and sometimes it doesn’t. All this shows the importance of system settings having, if not a single designer, at least strong design guidelines.
An impressive aspect of Android’s Settings is that they can display in either portrait or landscape mode.

Windows Phone 8.
The Windows Phone design emphasizes typography and visual simplicity. It’s a bit rough around the edges: for example, the “photos+camera” settings screen uses ten font variations, and the main heading doesn’t fit on the screen. Windows Phone also groups “system” and “applications” settings on separate screens, but the separation needs work: for example, the voicemail sound effect is set in one of the “system” screens, while the voicemail number is set in one of the “applications” screens.
A nice detail in Windows Phone’s Settings is the use of summary values. The row you would tap, to navigate to a settings screen, often contains a line of small text summarizing the current settings values. This can save you from having to visit the other screen at all.
Learning from others
This competitor evaluation revealed three main issues. First, the difficulty of organizing system settings versus application settings. Apple tried to group them all together in iOS, but that lacks in-app discoverability. Microsoft used “system” and “applications” categories in Windows Phone, but suffers from poor sorting. It seems more likely that we can solve the sorting problem than the discoverability problem. So, as with Ubuntu for PC, Ubuntu Phone will have “System Settings”, not just “Settings”. Applications will be responsible for presenting their own settings.
Second, there is a tension between categorizing settings, and promoting frequent or urgently used settings. Categorizing by itself is tricky enough: different people might look for the same setting in different places. (For example, iOS sometimes mirrors subcategories of settings inside multiple categories.) A search function may help, but is not a complete answer, because people still need to know what settings are available in the first place. Categorization becomes even trickier when trying to provide quick access to settings like flight mode or orientation lock. Indicators at the top of the screen may help with this, by providing quick access to frequently used functions, like they do on Ubuntu for PC.
Third, it can be useful to reveal current state of settings as part of the navigation to those settings. This is usually done in text, with summary values, but an icon could work too. For example, a Bluetooth settings icon might be dull when Bluetooth is off, bright when it is on, and have an emblem when it is paired to any device.
User journeys
Two user journeys influenced the design of the System Settings interface.
The primary journey is someone wanting to solve a problem. Maybe their Internet connection is not working. Maybe they’re wondering if they can save battery. Maybe a cabin attendant has asked them to put the phone into flight mode. Maybe a friend has been messing around with their phone and they want to stop it from happening again. This person usually will be in a hurry, and sometimes irritated. They’ll want to get in and out as quickly as possible.
The secondary journey is an adventurous new owner, starting out with their phone, wanting to explore what it is capable of. They have more time to read explanations, and to explore cross-references between categories.
Designing the overview
Next, I sketched out nine possible layouts for the overview screen — the first thing people would see when they entered System Settings.
Selecting the most promising elements from each of the nine layouts, I passed them on to one of our visual designers, Rosie Zhu. She produced mockups of three possibilities, and with help from Marcus Haslam we decided on one final layout.
The design promotes frequently- and urgently-needed settings at the top, categorizes other settings compactly, and places bureaucratic stuff (“About This Phone” and “Reset Phone”) right at the bottom.
This is far from a final mockup. We need to finalize the icon style, and fine-tune control sizes, use of color, use of lines, and so on. But the basic layout is in place for engineers to start work. (Contact Sebastien Bacher if you’d like to help out with the code.)
Designing individual screens
Meanwhile, I have been busy designing individual settings screens. This has helped reveal missing controls in the UI toolkit, so they can be implemented for app developers to use them too.

Links to designs for the individual screens, as well as the design for the overview screen, are on the System Settings wiki page. Your feedback on any of the designs is welcome, either here, or on the ubuntu-phone@ mailing list.
For several years, Randall Ross has been now on the war path about the structure of Ubuntu LoCo teams.
However, everything that is raised in his post seems nothing more than a storm in the teapot.
Time does fly, and we’re alread on the last day of the Ubuntu Developer Summit. Lots of content covered and still lots of interesting discussions to be had. We’re thrilled to bring you the summary on what’s on today on the App Development track.

Here’s the list of app development sessions for today at UDS:
- At 14:00 UTC: App Development Roundtable
- At 14:00 UTC: SDK UI Toolkit Responsive Layouting
- At 15:05 UTC: Core Apps plans for 13.10
- At 15:05 UTC: Contact Service for Ubuntu Touch
- At 16:05 UTC: LoCo Team Coding Challenge
- At 16:05 UTC: Refocus the Ubuntu App Developer site to go mobile
- At 18:05 UTC: Building a set tutorials for App Developers
- At 19:00 UTC: Closing Plenary and Track Summaries
Hope to see you there!

















































