Planet Ubuntu
Subscribe to Planet Ubuntu feed
Planet Ubuntu - http://planet.ubuntu.com/
Updated: 3 hours 41 min ago

Elizabeth Krumbach Joseph: Adopt a Salamander

Sat, 2013-05-18 21:47

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!

Seif Lotfy: Globaleaks 0.2 Alpha

Sat, 2013-05-18 21:25

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

Congratulations you are using Tor

Receiver selection page

The submission receipt

Configuring a receiver

Configuring a context

Scott Kitterman: Polls Closing Soon – Kubuntu Council Elections 2013

Sat, 2013-05-18 19:20

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.


Rafael Carreras: Raring Party in Barcelona

Sat, 2013-05-18 10:04

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.

Elizabeth Krumbach Joseph: Virtual Ubuntu Developer Summit 1305

Sat, 2013-05-18 03:42

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.


My desk is a bit chaotic

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


A Slimy Salamander (wait, you said Saucy?)

– 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… :)

Paul Tagliamonte: Hy: recent developments and some work from doctormo

Sat, 2013-05-18 01:58

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!

Stephen Michael Kellat: An Update in Notes

Sat, 2013-05-18 00:00
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.

  1. Consider the creation of a fall-back XMPP Conference Room
  2. Prepare for Ohio Linux Fest 2013
  3. The Ubuntu Advocacy Kit
  4. 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.

Jono Bacon: Dogfooding the Ubuntu Phone: My (Early) Experience

Fri, 2013-05-17 22:38

As many of you will know, our goal is to get the Ubuntu phone in a state where it can be used on a daily basis for testing, and importantly, finding bugs, UI issues, and other details that help us to refine the overall Ubuntu Touch experience. Progress is on-track for the end of May.

I decided to start dogfooding a little early (please remember, we are shooting for the beginning of July to be broadly in shape for dogfooding, so if you try, don’t expect things to be ready right now), so today I put my SIM card in my Galaxy Nexus with Ubuntu Touch and things are working pretty well so far. It seems that my data is no longer getting wiped on image updates, which helps testing significantly, so I am regularly upgrading with the daily images.

As ever, if you decide to test, you are doing so at your own risk…don’t be surprised to see bugs, crashes, and potential data loss (although I have not seen any data loss so far).

Some notes about my experience dogfooding:

  • Making and recieving phone calls works well. I am using T-Mobile as my network.
  • Sending and recieving texts works well too. Messages appear chronologically.
  • Contact syncing is not in place but Sergio blogged about how to sync your contacts from Google. This has made my phone infinately more useful and rather nicely, it pulls in the avatars too so I can see who is calling me.
  • Browsing and connecting to wireless networks works well.
  • The browser works well overall, although currently requires wifi (3G browsing coming soon).
  • Camera works well (for still photos, video not implemented yet) and I can browse my pictures in the gallery.
  • Many of the community-written core apps are present and working. Calendar lets me save and browse calendar events (although syncing with a calendar service is not there yet). Weather showes me the weather for my area right now and a week long forcast. Calculator is working and largely feature-complete. Other core apps are on their way to the daily image soon.
  • Overall the core Unity UI is working well. I can search for apps, load them, quit them, multi-tasting works well, and the indicators work (for adjusting volume etc).

The primary blockers in my way right now for normal use out and about are:

  • The screen does not auto shut-off. This means if the screen gets turned on in my pocket it never turns off and the battery dies.
  • Speakerphone not wired into the UI yet.
  • Can’t set the time on the phone yet. Also, the alarm feature in the clock doesn’t work; I need this to get me up in the morning.
  • Not so much a blocker, but the phone is still filled with example material and contacts. They need to be removed.

All of these are on the TODO list for complettion by the end of the month.

I have been filing bugs for a bunch of the issues I am seeing on a day to day basis and the team are working hard to hit the end of May goal. Overall progress is looking good.

Although I have been using the daily images for quite some time on a phone without a SIM card, using as an actual phone is even more motivating than before. I can feel the phone coming together and when we get many of these issues fixed, it is going to deliver a far superior experience than the Android phone I was using before.

James Hunt: A simple two-player QML game for Ubuntu Touch using the Ubuntu SDK: noughts and crosses (aka tic-tac-toe)!

Fri, 2013-05-17 18:37
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 So, what does it look like at this early beta stage...?

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.
The code is on github, so get forking!

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

Rick Spencer: Dogfood Update

Fri, 2013-05-17 18:07

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).


Colin King: Kernel tracing using lttng

Fri, 2013-05-17 14:47
LTTng (Linux Trace Toolkit - next generation) is a highly efficient system tracer that allows tracing of the kernel and userspace. It also provides tools to view and analyse the gathered trace data.  So let's see how to install and use LTTng kernel tracing in Ubuntu. First, one has to install the LTTng userspace tools:
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.

Valorie Zimmerman: Tea and cookies for your new team members

Fri, 2013-05-17 09:42
What does every development team want? New contributors!

I'd like to suggest a simple process that can turn visitors to your website, list or IRC channel into a successful part of the development team. When people actually contribute, they quickly feel like a valuable part of the group. New people bring fresh energy, and new ideas.

At your next sprint or meeting, start dreaming. Is your user documentation well-written and up-to-date? Do you need promotion, or video guides? How about art or diagrams for your website? Speaking of your website, when was the last time all the links were tested, and it was checked for spelling and grammar? Create a nice, friendly list of tasks for your newcomers.

Could your codebase use some grooming, for common misspellings, for instance? (EBN is a great source for these). When you run across a bit of code which needs pruning or refactoring, or normalizing signal-slot stuff, the easy thing is to fix it while it's in front of your eyes. Instead, consider which of these small tasks can be filed as a "Junior Job", created for the purpose of getting those knowledgeable people to move from faithful user, to part of the team.

The Bugsquad and Quality Control teams can likely suggest more ideas, too.

KDE Junior Jobs can be easily found: http://kde.org/jj. Teams can create their own shortcut links too, such as Amarok has done, listed in the #amarok IRC channel topic: http://tinyurl.com/amarokjjs. Other tasks can be blogged about, posted on a trello, on the Community wiki; whatever your team likes to use. For more ideas, see http://community.kde.org/Getinvolved.

The Kubuntu team has a list of tasks in Trello, which works well.

So, when you feel like not fixing a little issue, don't feel lazy. Feel responsible! File a bug, make it a JJ, and call attention to those issues when new folks show up and ask, how can I help?


PS: Thanks to the #kde-www team for suggesting this blog. Einar77, neverdingo, mamarok; you are wonderful.

PPS: How LibreOffice does it: https://wiki.documentfoundation.org/Development/Easy_Hacks

Xubuntu: Looking towards Xubuntu 13.10

Thu, 2013-05-16 23:45

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.

Rick Spencer: Feel Like Friday (post-vUDS)

Thu, 2013-05-16 21:21

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 PeopleSo, 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 FavesI 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 ReleaseAfter 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 TestingI'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 StrackerI 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.10While 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..

Scott Kitterman: New ipaddress module in python3.3

Thu, 2013-05-16 20:43

Back in 2010 I packaged Google’s ipaddr module because I needed a light weight IP address manipulation library that supported both IPv4 and IPv6 and (at the time) python-subnettree was IPv4 only.  Well, ipaddr is all grown up now and included in python3.3 as the ipaddress manipulation module in the standard library.  You can find details, as well as some description of the differences, in PEP 3144.

I just converted one package that I’m upstream for to use either ipaddr (for python2.6/2.7/3.2) or ipaddress instead of some custom code.  It turned out to be pretty easy to make it work with either.  Other than the name, the only difference I ran into was the removal of the common, generic IPAddress and IPNetwork functions that are replaced by ip_address and ip_network.


-import ipaddr
+try:
+    import ipaddress
+except ImportError:
+    import ipaddr as ipaddress

-    address = ipaddr.IPAddress(ip)
-    if isinstance(address, ipaddr.IPv4Address):
+    try:
+        address = ipaddress.ip_address(ip)
+    except AttributeError:
+        address = ipaddress.IPAddress(ip)
+    if isinstance(address, ipaddress.IPv4Address):

Currently, python3-ipaddr has no reverse-dependencies in the archive (python-ipaddr does).  Once python3.2 is dropped from Jessie, I think I’ll drop the python3-ipaddr binary on the assumption people newly coding for python3.3 should use ipaddress.  The python-ipaddr module will stick around for use with python2.7.


Laura Czajkowski: June HacknTalk event – London

Thu, 2013-05-16 20:03

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.

Ubuntu Podcast from the UK LoCo: S06E12 – Django Ubuntu

Thu, 2013-05-16 18:29

We’re back with the twelfth episode of Season Six of the Ubuntu Podcast from the UK LoCo Team! Alan PopeMark JohnsonTony WhitmoreLaura Cowen and The Podcats are all set in Studio A with cake and an interview.

 Download OGG  Download MP3 Play in Popup

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

                          

Canonical Design Team: Shorts, the RSS reader app

Thu, 2013-05-16 15:19

As you can see in the image above, I have spent some time looking at different types and contexts of reading, trying to understand what the reading experience might be for Ubuntu. The contexts of reading varies from libraries to magazine stands to the sofa in your lounge, and these each have an impact on how and what you read.

Something we all know (from a healthy bit of stalking field research on public transport) is that reading on a phone means you are probably doing something else at the same time. You are waiting for your friends in a restaurant, or on a busy train on your way to work. You open the reader app to quickly check some news.

Meet “Shorts”: leaf through your news while you wait

Paul is in the station, waiting for a train. He has 5 minutes until it arrives.

He launches Shorts. The app opens up with a view that shows short snippets of articles on the topics that interest him. The items are laid out on the page in the organic grid, similar to the grid that is used for the gallery app.

It is going to rain tonight. Paul decides to stay in and cook a meal with his flatmates. All he needs is a recipe. He navigates to one of his topics, Food.

Paul selects a recipe and reads through it. He decides it is too elaborate and returns to the topic.

He looks further through the topic and taps on another article. This recipe is perfect for tonight! Paul saves it so he can easily find it later.

Check out this video too:

See how this concept also fits with our Design Vision and the other ritual apps?

Next steps

We will be connecting the dots and working on key journeys for Shorts. Follow development progress on Google+, the Ubuntu Phone mailing list and IRC channel.

One last thing

What do you think of the name?

Canonical Design Team: System Settings for Ubuntu Phone

Thu, 2013-05-16 14:30

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.

Ralph Janke: Why is there this never ending discussion of what an Ubuntu team is?

Thu, 2013-05-16 13:58

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.

Pages