news aggregator

Jonathan Riddell: Kubuntu Utopic Kickoff Meeting

Planet Ubuntu - Mon, 2014-05-12 11:43
KDE Project:

A new cycle and lots of interesting possibilities! Will KF5 and Plasma 5 be supreme? All welcome at the Kubuntu kickoff meeting this european evening and american afternoon at 19:00UTC.

Install mumble, get a headset with headphones and microphone, adjust volumes to be sane and join us on mumble server
Chat in #kde-devel

Add items to discuss at the meeting notes and review the TODO items on Trello.

See you there!

Ronnie Tucker: Ubuntu AIO DVD Has All Ubuntu 14.04 LTS Flavors on One Disk

Planet Ubuntu - Mon, 2014-05-12 04:21

Ubuntu AIO DVD (all-in-one), a collection of the most important Ubuntu 14.04 LTS flavors made available on April 17, 2014, is now ready for download.

The Ubuntu AIO DVD was put together by Milan Rajčić and helps users have all the major Ubuntu spins on a single DVD: Ubuntu 14.04 LTS, Kubuntu 14.04 LTS, Ubuntu GNOME 14.04, Xubuntu 14.04 LTS, and Lubuntu 14.04 LTS.

As you can imagine, this is a very large compilation and it holds the official images that you can also download from the Canonical servers. The difference is that users have a single image that holds them all.


Submitted by: Silviu Stahie


Andrew Pollock: [debian] Day 103: Today's Debian efforts

Planet Ubuntu - Mon, 2014-05-12 02:15

I had a really productive day today actually working on Debian, as planned for my Mondays.

I'm still working through my list of packages, trying to get them all vaguely up to date for jessie. It's mostly just addressing Lintian issues that mostly revolve around old standards versions, with the occasional new upstream release. I've also been doing bug triage where the bugs aren't overwhelming.

Today I made uploads for pssh (a new upstream release), pymetrics (mostly just a rebuild), rcs-blame (mostly just a rebuild) and simpleproxy (mostly just a rebuild).

I need to revisit simpleproxy, because I'm having problems convincing the resulting binary to be linked correctly for relro. It's weird, because I'm doing everything I'm supposed to be doing and I can see all the other hardening flags being passed in except for this one.

I really like simplifying down debian/rules using dh, that really makes things readable. You can see the useful stuff without losing it in all the boilerplate. For some reason I was never a fan of CDBS, but I'm quite liking dh. I think it's because it's less opaque than CDBS.

Benjamin Mako Hill: Google Has Most of My Email Because It Has All of Yours

Planet Ubuntu - Mon, 2014-05-12 02:11

For almost 15 years, I have run my own email server which I use for all of my non-work correspondence. I do so to keep autonomy, control, and privacy over my email and so that no big company has copies of all of my personal email.

A few years ago, I was surprised to find out that my friend Peter Eckersley — a very privacy conscious friend who is Technology Projects Director at the EFF — used GMail. I asked him why he would willingly give Google copies of all his email. Peter pointed out that if all of your friends use GMail, Google has your email anyway. Any time I email somebody who uses GMail — and anytime they email me — Google has that email.

Since our conversation, I have often wondered just how much of my email Google really has. This weekend, I wrote a small program to go through all the email I have kept in my personal inbox since April 2004 (when GMail was started) to find out.

One challenge with answering the question is that many people, like Peter, use GMail to read, compose, and send email but they configure GMail to send email from a “From” address. To catch these, my program looks through each message’s headers that record which computers handled the message on its way to my server and to pick out messages that have traveled through,, or Although I usually filter them, my personal mailbox contains emails sent through a number of mailing lists. Since these mailing lists often “hide” the true provenance of a message, I exclude all messages that are marked as coming from lists using the (usually invisible) “Precedence” header.

The following graph shows the numbers of emails in my personal inbox each week in red and the subset from Google in blue. Because the number of emails I receive week-to-week tends to vary quite a bit, I’ve included a LOESS “smoother” which shows a moving average over several weeks.

From eyeballing the graph, the answer to seems to be that, although it varies, about a third of the email in my inbox comes from Google!

Keep in mind that this is all of my personal email and includes automatic and computer generated mail from banks and retailers, etc. Although it is true that Google doesn’t have these messages, it suggests that the proportion of my truly “personal” email that comes via Google is probably much higher.

I would also like to know how much of the email I send goes to Google. I can do this by looking at emails in my inbox that I have replied to. This works if I am willing to assume that if I reply to an email sent from Google, it ends up back at Google. In some ways, doing this addresses the problem with the emails from retailers and banks since I am very unlikely to reply to those emails. In this sense, it also reflects a measure of more truly personal email.

I’ve broken down the proportions of emails I received that come from Google in the graph below for all email (top) and for emails I have replied to (bottom). In the graphs, the size of the dots represents the total number of emails counted to make that proportion. Once again, I’ve included the LOESS moving average.

The answer is surprisingly large. Despite the fact that I spend hundreds of dollars a year and hours of work to host my own email server, Google has about half of my personal email! Last year, Google delivered 57% of the emails in my inbox that I replied to. They have delivered more than a third of all the email I’ve replied to ever year since 2006 and more than half since 2010. On the upside, there is some indication that the proportion is going down. So far this year, only 51% of the emails I’ve replied to arrived from Google.

The numbers are higher than I imagined and reflect somewhat depressing news. They show how it’s complicated to think about privacy and autonomy for communication between parties. I’m not sure what to do except encourage others to consider, in the wake of the Snowden revelations and everything else, whether you really want Google to have all your email. And half of mine.

If you want to run the analysis on your own, you’re welcome to the Python and R code I used to produce the numbers and graphs.

Aurélien Gâteau: Yokadi 0.14.0

Planet Ubuntu - Sun, 2014-05-11 18:22

You may not have heard about Yokadi. It is a command-line based TODO list manager which I started some years ago and work on with a bunch of fellow contributors.

Yokadi is a side project for all of us, with occasional bursts of development activities when we find an itch to scratch or foolishly think we finally figured out the missing feature which is going to save us from procrastination :), therefore development is a bit slow. We usually run the latest version from the master branch, but not everybody is comfortable with such a way to work, so it is good to have releases. Version 0.13.0 was released 3 (three!) years ago, it was high time we got a new version out. Last week we finally released version 0.14.0.

If you are a command-line aficionado looking for a way to manage your tasks, Yokadi might be the tool you need. Head over to to learn more and get the latest version. We look forward to your feedback!

Adnane Belmadiaf: How to use Oxide in your Ubuntu QML application

Planet Ubuntu - Sun, 2014-05-11 10:30

Oxide is a Qt5/QML binding based on the Chromium Content API, it's intended to replace qtwebkit for the touch browser, webapps and the UbuntuWebView.

So what does Oxide provide for developers ? It does provide a good chunk a usefull functions :

  • Basic navigation
  • Incognito mode
  • Multiple browser contexts
  • User scripts
  • Message API
  • Dialog support
  • Accelerated compositing

To declare a Webview using Oxide you need to use to components, WebView from com.canonical.Oxide

import com.canonical.Oxide 1.0 [...] WebView { id: webview width: parent.width height: parent.height Component.onCompleted: { url = "" } }

The WebView comes with a preferences property which allows to set a list of attributes :

  • allowFileAccessFromFileUrls (bool)
  • allowScriptsToCloseWindows (bool)
  • allowUniversalAccessFromFileUrls (bool)
  • appCacheEnabled (bool)
  • canDisplayInsecureContent (bool)
  • canRunInsecureContent (bool)
  • caretBrowsingEnabled (bool)
  • databasesEnabled (bool)
  • defaultEncoding (QString)
  • defaultFixedFontSize (uint)
  • defaultFontSize (uint)
  • fixedFontFamily (QString)
  • hyperlinkAuditingEnabled (bool)
  • javascriptCanAccessClipboard (bool)
  • javascriptEnabled (bool)
  • loadsImagesAutomatically (bool)
  • localStorageEnabled (bool)
  • minimumFontSize (uint)
  • objectName (QString)
  • passwordEchoEnabled (bool)
  • remoteFontsEnabled(bool)
  • sanSerifFontFamily (QString)
  • serifFontFamily (QString)
  • shrinksStandaloneImagesToFit (bool)
  • standardFontFamily (QString)
  • tabsToLinks (bool)
  • textAreasAreResizable (bool)
  • touchEnabled (bool)
Exampleimport com.canonical.Oxide 1.0 [...] WebView { id: webview width: parent.width height: parent.height Component.onCompleted: { url = "" } preferences.localStorageEnabled: true preferences.loadsImagesAutomatically: false preferences.passwordEchoEnabled: true } WebContext

Oxide also provides a WebContext which allow to set other settings

  • acceptLangs (QString)
  • cachePath (QUrl)
  • cookiePolicy (CookiePolicy)
  • dataPath (QUrl)
  • objectName (QString)
  • popupBlockerEnabled (bool)
  • product (QString)
  • sessionCookieMode
  • storageAccessPermissionDelegate
  • userAgent (QString)
  • userAgentOverrideDelegate
  • userScripts

This example shows how you can use the WebContext to override the default UserAgent

UserAgentimport com.canonical.Oxide 1.0 [...] WebContext { id: webcontext userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3" } WebView { id: webview width: parent.width height: parent.height context: webcontext Component.onCompleted: { url = "" } } networkRequestDelegate

You can also override the http request headers by using the networkRequestDelegate, in this example i am adding a Do Not Track (DNT) an HTTP header field on the fly.

import com.canonical.Oxide 1.0 [...] WebContext { id: webcontext networkRequestDelegate: WebContextDelegateWorker { source: Qt.resolvedUrl("dnt.js") } } WebView { id: webview width: parent.width height: parent.height context: webcontext Component.onCompleted: { url = "" } } /* dnt.js Made by Adnane Belmadiaf <daker AT ubuntu DOT com> */ exports.onBeforeSendHeaders = function(event) { event.setHeader("DNT", 1); }; UserScripts

Oxide supports Greasemonkey-style user scripts, here is an example to do some DOM manipulation.

import com.canonical.Oxide 1.0 [...] WebContext { id: webcontext userScripts: [ UserScript { context: "oxide://" url: Qt.resolvedUrl("oxide_dom.js") incognitoEnabled: true matchAllFrames: true } ] } WebView { id: webview width: parent.width height: parent.height context: webcontext Component.onCompleted: { url = "" } } // ==UserScript== // @name Dom Manipulation // @namespace // @description Oxide UserScript demo // ==/UserScript== function oxide_dom() { var div = document.createElement('div'); div.innerHTML = '<h1>Content inserted using Oxide UserScript!</h1>'; = 'red'; document.getElementById("nav-global").insertBefore(div); } window.addEventListener('load', oxide_dom, true); Message API

Oxide does also provide a message API, in this example the script will send a message to Oxide and Oxide will reply back.

import com.canonical.Oxide 1.0 [...] WebContext { id: webcontext networkRequestDelegate: WebContextDelegateWorker { source: Qt.resolvedUrl("message-api.js") onMessage: console.log("Message from Oxide : ", message.msg) Component.onCompleted: { sendMessage({ msg: 'ping' }) } } } WebView { id: webview width: parent.width height: parent.height context: webcontext Component.onCompleted: { url = "" } } /* message-api.js This script will send a message to Oxide on every request */ var response_msg = ""; oxide.onMessage = function(msg) { if ("msg" in msg) { if (msg["msg"] == 'ping') { response_msg = "pong"; } } }; exports.onBeforeSendHeaders = function(event) { oxide.sendMessage({msg: response_msg}); };

Daniel Pocock: Is Uber on your side?

Planet Ubuntu - Sun, 2014-05-11 07:40

Crowdsourcing ventures with disruptive business models are a regular point of contention these days.

In London, taxi drivers are threatening to create gridlock as part of an anti-Uber protest. In Melbourne, Uber drivers have been issued with $1,700 fines for operating without a taxi license. San Francisco city officials, despite being the birthplace of many of these ventures, are debating whether AirBNB should be regulated.

An orderly society or an old-school protection racket?

Just what exactly is it that established players in these industries are trying to achieve through their protests and lobbying efforts?

In the case of apartment rentals, many people have sympathy for respecting the wishes of neighbourhoods over those of individual landlords. In the case of car pooling schemes, the arguments tend to come not from motorists at large but from those who are afraid of competition.

Without competition, could things be any worse?

Melbourne actually provides the perfect backdrop for this debate. Only a couple of years before Uber came on the scene, the government had made a detailed study into the taxi industry. One of Australia's most prominent economic experts, a former chairman of the Australian Competition and Consumer Commission spent 18 months studying the industry.

One of the highlights of the incumbent system (and the reason I suggest Melbourne is the perfect backdrop for this debate) is the way licenses are issued to taxi drivers. There are a fixed number of licenses issued by the government. The licenses are traded on the open market so prices can go up and down just like real-estate. Under the rules of Australia's pension scheme, people have even been able to use money from their pension fund to purchase a taxi license as an investment. It goes without saying that this has helped rampant speculation and the price of a license is now comparable to the price of a house.

The end result is that no real taxi driver can afford a license: most of them have to rent their license from one of the speculators who bought the license. These fixed rental fees have to be paid every month whether the driver uses their car or not. Consequently, taxi drivers have cut back on other expenses, they are often criticised for failing to keep their cars clean and the industry as a whole is criticised due to the poor quality of drivers who don't even know their way around the city. The reason, of course, is simple: by the time some newly arrived immigrant has learnt his way around Melbourne he has also figured out that the economics of driving a taxi are not in his favor. Realizing there is no way to break even, they take other jobs instead.

It was originally speculated that the government review would dramatically reduce or abolish these speculative practices but ultimately lower license charges have only been used for the issue of 60 new licenses, barely 1% of the taxi fleet in the city today. Furthermore, the new licenses were only available to existing players in the industry.

Uber to the rescue?

Uber drove into the perfect storm as they launched their service in Melbourne in 2013.

Uber drivers get a significant benefit over their competitors in traditional taxis. In particular, as they don't have the fixed monthly payment to rent a taxi license, they don't have to work every day and can even take holidays or take time to clean the cars. These things may simultaneously benefit road safety and passenger comfort.

Meanwhile, those people who speculated on the old taxi licenses have tried hunger strikes and all kinds of other desperate tactics to defer the inevitable loss of their "investment".

The reality is that crowdsourcing is here to stay. Even if Uber is stopped by bullying and intimidation, the inefficiency of Melbourne's taxi system is plain for all to see and both customers and drivers will continue looking for alternatives. Other car-pooling apps based on barter or cost sharing will continue to find ways to operate even if the Uber model is prohibited.

It is interesting to note that the last great reform of Melbourne taxis, under Premier Jeff Kennett in the 1990s, simply resulted in a change of paint with the aim of making them look like those in New York City. Disruptive services like Uber (with their numerous technology-powered innovations to save time and money) appear to be doing far more to improve the lives of passengers and drivers.

The hidden cost

That said, large scale schemes like Uber do also have a down side for customer privacy. Hailing cabs in the street leaves no records of your movements. This new model, however, is leaving a very detailed trail of breadcrumbs that can be used for both marketing purposes or extracted (lawfully or otherwise) by some third party who wishes to monitor a particular customer's past or future movements. This is the trade-off that arises when we benefit from the efficiencies of any cloud-based service.

Ronnie Tucker: Debian 7.5 “Wheezy” Live CD Now Available for Download

Planet Ubuntu - Sun, 2014-05-11 04:20

The Debian project has released the new Live CD images for the latest version of Debian 7.5 “Wheezy,” that was made available a week ago. When a new point release of Debian is made available, the Live CD version of that distro is not accessible to users right away. It usually takes about a week for the Debian Live CD team to put together the new releases. All the Debian flavors have gotten their own Live Cd, including LXDE, GNOME, KDE, and the Rescue CD. The default implementation is Xfce.


Submitted by: Silviu Stahie

Paul Tagliamonte: First test deployment of Lenin

Planet Ubuntu - Sun, 2014-05-11 03:16

Hello, World!

I’ve deployed my first instance of lenin to my backup VCS (, and it’s going great.

(Screenshot of the first few instances for good measure)

I’m excited to see how it develops!


Subscribe to Free Software Magazine aggregator