news aggregator

Ubuntu Women: Evaluating Call Number Two!

Planet Ubuntu - Thu, 2014-01-23 00:30

So far, only two people left feedback and more would help us to evaluate if it is needed or not.  This why Call Number Two is being posted.

Several years ago the Harvest project was launched.

Harvest makes it easy to find low-hanging opportunities in Ubuntu. It aggregates the mass of todo lists we use every day so it’s simple to find and coordinate work.

Unfortunately in spite of efforts by Daniel Holbach and others on the project, it never really took off.

It is still a priority for us even a few months later since some of the major take-aways from our survey results and identified that a lot of folks still struggle on the technical side to find something small to work on. Silvia Bindelli remembered the Harvest project and in collaboration with me launched Project Harvest, an effort to evaluate the running harvest site. Once the evaluation is complete we will have a better idea of whether it will fit our needs and work to improve it.

Our current plan is as follows for evaluation stage:

  1. Find several people who are interested in getting involved and willing to be test subjects
  2. Have them visit and start browsing
  3. Once they’ve had a look through, have them report back about whether they find it intuitive to use and useful for finding things to work on
  4. Bugs (from “I can’t figure out how to use it” to “this feature would help a lot!”) can be reported to the Ubuntu Women mailing list (please sign up), in the Feedback section of the wiki page or directly to the bug tracker at

Please sign up and contact us on the mailing list or by adding your name to the wiki if you wish to get involved and join the discussion. We also often hang out in #ubuntu-women (unlogged) and #ubuntu-women-project (logged) on freenode.

Stuart Langridge: Notes on footnotes

Planet Ubuntu - Wed, 2014-01-22 16:53

I use footnotes quite a bit in my posts. Normally for snarky asides, I grant you, but I picked that habit up from Terry Pratchett.

They’re easy to add to WordPress; I use Andrew Nacin’s Simple Footnotes WP plugin, and then all you have to do is drop [ref]footnote text here[/ref] into the text of your post 1 and it takes care of numbering the footnote, displaying it at the bottom of the page, allowing you to link back and forth.

However, as Jake Archibald pointed out on Twitter, footnotes at the bottom of the page feel rather like a print media sort of thing. That’s useful, if someone prints your page out, or if they run it through some sort of “easy reading” service such as Readability or iOS Reader, or if your page gets turned into an ebook — we don’t want to remove that capability. But, as noted, scrolling down to the bottom of the page to read a footnote and then scrolling back up again is stupid. The Simple Footnotes plugin gets half a point for this by making the footnote number (a superscript 1, or whatever) be a link which jumps to the footnote for you, and each footnote has its own “return” link which takes you back to where you were. That’s great on a touch device. If you’ve got a pointer, we have the ability to hover, and this is what tooltips are for, so if we add title="text of the footnote" to the footnote number link, you can see the text of the footnote without having to click and jump around the page at all by just mousing over the number.

Footnotes with a properly-sized hit target

That superscript 1 is a pretty tiny target though, either to click or to hover over. It would be nice if the mouse target were bigger, but we don’t want a bunch of white space around the number. So, a little CSS:

a.simple-footnote { text-decoration: none; position: relative; color: rgba(255,0,0,0.7); /* cater for WP putting too much left spacing in before footnote numbers */ margin-left: -.2em; } a.simple-footnote::after { content: " "; position: absolute; display: inline-block; padding: 1em; margin-left: -1.3em; margin-top: -.3em; border: 1px solid transparent; border-radius: 2px; } a.simple-footnote:hover::after { background: rgba(0,0,0,0.2); border: 1px solid rgba(0,0,0,0.4); }

which I added to Admin > Appearance > Edit CSS in WordPress. Now you get a nice large hit target for your mouse, which lights up when you’re over it, and a tooltip, but your page still contains its footnotes properly when run through Readability or printed (which it might not if you were to use some sort of JavaScript popover library rather than the stuff that’s just built in to the browser and understood by accessibility tools).


  1. like this!

Aurélien Gâteau: What to do after the last image?

Planet Ubuntu - Wed, 2014-01-22 14:58

If you have used Gwenview before KDE SC 4.11 you might be familiar with the following situation: you are running Gwenview in fullscreen mode, pressing Space to go through a folder full of images. At one point, pressing Space does not do anything anymore... What's wrong? A quick move of the mouse to bring up the fullscreen bar reveals that you are on the last image.

A first solution

This would happen to me quite often, so during KDE SC 4.11 development period I decided to do something about it.

I initially wanted to show an on-screen notification to the user when trying to go past the last image, but it turned out to be complicated to do. If you are familiar with Qt development, you know behaviors such as going to the next image are centralized using QAction. You define the QAction once and then plug it in the menubar and toolbar. The QACtion also lets you define a keyboard shortcut. Why is it a problem? Because when you reach the last image, the action to go to the next image (let's call it goToNext) is disabled, which means its shortcut (rightfully) does not trigger anything, making it impossible to be notified of user attempts to go past the last image.

In 4.11 I settled for an alternative: the goToNext action would always be enabled, triggering it while on the last image would go to the first image and show an on-screen notification to let the user know he was now looking at the first image.

Not satisfied

After using this setup for a while, I was not satisfied with it: I realized I never want to go back to the first image, I just want to know I reached the end. Still it was nevertheless better than not getting any feedback at all, so I let it in. A post on Gwenview forum made me think about that again. The behavior change of the previous and next action broke user "bob p" workflow because the next and previous buttons were now always enabled.

So I set out to look at that annoyance again, and finally figured out a (hackish) way to get notified of shortcut presses when an action is disabled. This makes it possible to keep the goToNext action disabled while showing an on-screen notification to let the user know he reached the end of the image list.

The nitty-gritty details

To implement this I created a class named DisabledActionShortcutMonitor. This class monitors an action changes through an event filter. When the action is disabled, its shortcut is assigned to a QShortcut. When the action is enabled, the QShortcut shortcut is reset. It's not pretty, but it does the work.

disabledactionshortcutmonitor.h looks like this:

class DisabledActionShortcutMonitor : public QObject { Q_OBJECT public: /** * parent must be a widget because we need to create a QShortcut on it */ DisabledActionShortcutMonitor(QAction* action, QWidget* parent); ~DisabledActionShortcutMonitor(); Q_SIGNALS: void activated(); protected: bool eventFilter(QObject* object, QEvent* event); private: QShortcut* mShortcut; };

And here is disabledactionshortcutmonitor.cpp:

DisabledActionShortcutMonitor::DisabledActionShortcutMonitor(QAction* action, QWidget* parent) : QObject(parent) { mShortcut = new QShortcut(parent); connect(mShortcut, SIGNAL(activated()), SIGNAL(activated())); action->installEventFilter(this); } DisabledActionShortcutMonitor::~DisabledActionShortcutMonitor() { delete mShortcut; } bool DisabledActionShortcutMonitor::eventFilter(QObject* object, QEvent* event) { if (event->type() == QEvent::ActionChanged) { QAction* action = static_cast<QAction*>(object); if (action->isEnabled()) { // Unset the shortcut otherwise we get a dialog complaining about // ambiguous shortcuts when the user tries to trigger the action mShortcut->setKey(QKeySequence()); } else { mShortcut->setKey(action->shortcut()); } } return false; }

You use it like this:

QAction* myAction = /*...*/; // ... DisabledActionShortcutMonitor* monitor = new DisabledActionShortcutMonitor(myAction, QApplication::activeWindow()); connect(monitor, SIGNAL(activated()), SLOT(doSomething()));

doSomething() will be called whenever the user uses myAction shortcut while myAction is disabled.

That's it, I hope it helps you if you are in this peculiar situation. Comments on how to improve the current implementation are welcome.

PS: Code for this feature is currently in a review request on Gwenview reviewboard. If you are a KDE developer with a few minutes to spare, why not have a look at it?

Sean Davis: MenuLibre 2.0 Released, Trusty PPA Available

Planet Ubuntu - Wed, 2014-01-22 13:01

It’s been quite a while since I’ve had an update on the progress of MenuLibre.  Today, the advanced menu editor celebrates it’s 2.0 release.  Normally there’d be a change log after the break, but this really is a brand new application.  Read on to learn more.

The latest version of MenuLibre, 2.0!

What is MenuLibre?

MenuLibre is an advanced menu editor, similar to the Alacarte Menu Editor.  With MenuLibre, you can easily add, remove, and rearrange launchers, directories, and separators.  Powered by Python 3 and Gtk 3, it is the complete toolbox for editing menus in Linux.  It was developed to support every popular Gtk desktop environment, and has been verified to support Cinnamon, GNOME, LXDE, MATE, Unity, and Xfce.

  • Menu Management: Features expected of a “menu editor”
    • Easily rearrange menu items, submenus, and separators
    • Add new launchers, directories, and separators
    • Installed applications and directories can be hidden from the menu with the flip of a switch.
  • Adaptive Interface: A consistent look in any environment
    • In the GNOME desktop environment, the application menu is used to blend in as a typical GNOME application.
    • In Unity, the application can be controlled using the global menu and HUD.
    • Other environments will have basic application controls available within a “cog” menu.
  • Application Editor: Complete control over how your programs look and work
    • Includes each key outlined in the Desktop Menu Specification.
    • Tooltips provide additional information about each setting.
    • An easy to use icon selection dialog helps quickly customize each menu item.
Screenshots Getting MenuLibre

Ubuntu 14.04 users can install MenuLibre 2.0 from the Stable PPA using the following instructions.

sudo add-apt-repository ppa:menulibre-dev
sudo apt-get update
sudo apt-get install menulibre

For everyone else, the source package is available from here.  To install for a single user,

python3 install --user

To install system-wide,

sudo python3 install

Known Issues

There are a few things that haven’t quite been worked out yet.

  • Adding new launchers to the topmost menu level in Xfce
  • Certain combinations of gnome menu and python3.3 (such as the combo in Ubuntu 13.10) tend to crash after making a change.  It’s verified to be fully functional in 14.04

If you find any more bugs, please report them at the Launchpad Bugs page.

Mathieu Trudel: Call for testing: urfkill / Getting flight mode to rock on Ubuntu and Ubuntu Touch

Planet Ubuntu - Wed, 2014-01-22 00:17
Last month, I blogged about urfkill, and what it's meant to be used for.

The truth is, flight mode and proper killswitch (read: disabling radios on devices) handling is something that needs to happen on any device that deems itself "mobile". As such, it's one thing we need to look into for Ubuntu Touch.

I spent the last month or so working on improving urfkill. I've implemented better logging, a way to get debugging logs, flight mode (with patches from my friend Tony Espy), persistence, ...

At this point, urfkill seems to be in the proper state to make it, with the latest changes from the upstream git repository, into the distro. There is no formal release yet, but this is likely to happen very soon. So, I uploaded a git snapshot from the urfkill upstream repository into Trusty. It's now time to ask people to try it out, see how well it works on their systems, and just generally get to know how solid it is, and whether it's time to enable it on the desktop.

In time, it would be nice to replace the current implementation we have of killswitch persistence (saving and restoring the state of the "soft" killswitches) currently in two upstart jobs — rfkill-store and rfkill-restore — with urfkill as a first step, for the 14.04 release (and to handle flight mode on Touch, of course). In the end, my goal would be to achieve convergence on this particular aspect of the operating system sooner than later, since it's a relatively small part of the overall communications/networking picture.

So I call on everyone running Trusty to try to install the urfkill package, and file bugs or otherwise get me feedback on the software. :)

Benjamin Kerensa: Now we do know know…

Planet Ubuntu - Tue, 2014-01-21 22:15

Some months back Mark Shuttleworth blogged “At least we know now who belongs to the Open Source Tea Party ;)” and it inspired Lennart a developer to print some shirts and I decided I needed one too and so I had some made. Although the shirt for me is tongue in cheek expression I think its disappointing and absolutely contrary to open source culture to ridicule people who share their opinions on free software.

If we all agreed on how things should be done or what the better stack is then we wouldn’t have so much great free and open source software. There would be no MariaDB because everyone would be content with MySQL there would be no Kubuntu because everyone would be satisfied with Ubuntu and so on.

Victor Tuson Palau: [Ubuntu Touch] Update to Logviewer

Planet Ubuntu - Tue, 2014-01-21 19:49

I am pleased to announced that Logviewer is now published in the Ubuntu Touch store.  The app no longer runs unconfined but users “read_path” pointing to “/var/log/” and “/home/phablet/.cache/”. If you think there is another interested log path let me know and I will try to include it.

Also, one feature that landed by popular request is submitting a selected section of a log to pastebin , thanks to Popey for the image:

Ubuntu Kernel Team: Kernel Team Meeting Minutes – January 21, 2014

Planet Ubuntu - Tue, 2014-01-21 17:15
Meeting Minutes

IRC Log of the meeting.

Meeting minutes.


20140121 Meeting Agenda

ARM Status

Nothing new to report this week.

Release Metrics and Incoming Bugs

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


Milestone Targeted Work Items

No new update this week.

Status: Trusty Development Kernel

No new update this week.

Status: CVE’s

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

Status: Stable, Security, and Bugfix Kernel Updates – Saucy/Quantal/Precise/Lucid

Status for the main kernels, until today (Nov. 26):

  • Lucid – Holding
  • Precise – Holding
  • Quantal – Holding
  • Saucy – Holding

    We are in a holding pattern waiting to see if any regressions show up that would cause us
    to respin before the 12.04.4 release goes out.

    Current opened tracking bugs details:


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


    Note: Raring hit EOL and is no longer supported. However, the lts-backport-raring kernel
    *WILL* continue to be supported until the first point release of the next LTS (14.04.1).

Open Discussion or Questions? Raise your hand to be recognized

No meeting next week due to the kernel team sprint.
The next meeting is scheduled for February 4th, 2014.

Mattia Migliorini: Melany 1.1: looking for new features

Planet Ubuntu - Tue, 2014-01-21 16:32

During the last months, Melany raised a great interest in WordPress users that look for a simple theme based on Twitter Bootstrap for their blog. Some of them contributed with translations, suggestions and bug reports. First of all I’d like to thank all of them (who, I hope, are reading this post).

But now, let’s bring it further. I’d like Melany to become a theme fully supported by the community, because we don’t need only to update Bootstrap, but also making it more complete. The first step to take in this project is to make it well structured. I’m working on it and Melany 1.2 will come with a complete documentation. But, before that, version 1.1 must come.

I already selected a list of features that have to be introduced in Melany 1.1, codenamed Silver Weiro. What I ask you is to propose new features. What you’d like to see in the next version of this Bootstrap-based theme? What you’d like to be changed or improved?

Head on to the official website to see a list of proposed features and suggest your own. I need you to serve what you really like. Are you ready to help yourselves?


Read the official announcement

David Planella: Announcing the first Ubuntu App Dev Schools

Planet Ubuntu - Tue, 2014-01-21 15:30

Following the call for volunteers to organize App Dev Schools across the globe, we’re excited to say that there are already events planned in 3 different countries. Every single App Dev School will help growing our community of app developers and drive adoption of our favourite free OS on all devices, everywhere.

Our LoCo community has got an incredible track record for organizing release parties, Ubuntu Hours, Global Jams, and all sorts of meet-ups for Ubuntu enthusiasts and folks who are new to Ubuntu. Ubuntu App Developer Schools are very new, but in the same way LoCos are, they’re going to become crucial in the new era of mobile devices and convergence. So we would like to see more of them and we need your help!

You can run an App Dev School too

If you’ve already organized an event, you already know the drill, but if it’s your first one, here are some guidelines on how you can put one together:

  1. Find a place to run an event and pick a date when to run it.
  2. Find some other folks in your LoCo who would be interested in helping.
  3. To promote it, remember to add it to the LoCo Directory
  4. Get the material and tune it for your event if needed.
  5. Promote the event locally and encourage people to join.
  6. Practice the material a few times before the big day, then show up, run the class and have fun.
  7. Take lots of pictures!

The ever awesome José Antonio Rey has made it even easier for Spanish-speaking LoCos to run events by having translated the materials into Spanish, so do get in touch with him if you’d like to use them.

And finally, for those of you who don’t have mobile devices to show Ubuntu on, the emulator is a nice alternative to use for app development and presentations. To help you get started, I’ve put together a quickstart guide to the Ubuntu emulator.

If you’re thinking about organizing one and you’ve got questions or need help, get in touch with me at

Looking forward to seeing all your App Dev Schools around the world!

The post Announcing the first Ubuntu App Dev Schools appeared first on David Planella.

Eric Hammond: Installing AWS Command Line Tools from Amazon Downloads

Planet Ubuntu - Tue, 2014-01-21 00:16

When you need an AWS command line toolset not provided by Ubuntu packages, you can download the tools directly from Amazon and install them locally.

In a previous article I provided instructions on how to install AWS command line tools using Ubuntu packages. That method is slightly easier to set up and easier to upgrade when Ubuntu releases updates. However, the Ubuntu packages aren’t always up to date with the latest from Amazon and there are not yet Ubuntu packages published for every AWS command line tools you might want to use.

Unfortunately, Amazon does not have one single place where you can download all the command line tools for the various services, nor are all of the tools installed in the same way, nor do they all use the same format for accessing the AWS credentials.

The following steps show how I install and configure the AWS command line tools provided by Amazon when I don’t use the packages provided by Ubuntu.


Install required software packages:

sudo apt-get update sudo apt-get install -y openjdk-6-jre ruby1.8-full rubygems \ libxml2-utils libxml2-dev libxslt-dev \ unzip cpanminus build-essential sudo gem install uuidtools json httparty nokogiri

Create a directory where all AWS tools will be installed:

sudo mkdir -p /usr/local/aws

Now we’re ready to start downloading and installing all of the individual software bundles that Amazon has released and made available in scattered places on their web site and various S3 buckets.

Download and Install AWS Command Line Tools

These steps should be done from an empty temporary directory so you can afterwards clean up all of the downloaded and unpacked files.

Note: Some of these download URLs always get the latest version and some tools have different URLs every time a new version is released. Click through on the tool link to find the latest [Download] URL.

EC2 API command line tools:

wget --quiet unzip -qq sudo rsync -a --no-o --no-g ec2-api-tools-*/ /usr/local/aws/ec2/

EC2 AMI command line tools:

wget --quiet unzip -qq sudo rsync -a --no-o --no-g ec2-ami-tools-*/ /usr/local/aws/ec2/

IAM (Identity and Access Management) commmand line tools:

wget --quiet unzip -qq sudo rsync -a --no-o --no-g IAMCli-*/ /usr/local/aws/iam/

RDS (Relational Database Service) command line tools:

wget --quiet unzip -qq sudo rsync -a --no-o --no-g RDSCli-*/ /usr/local/aws/rds/

ELB (Elastic Load Balancer) command line tools:

wget --quiet unzip -qq sudo rsync -a --no-o --no-g ElasticLoadBalancing-*/ /usr/local/aws/elb/

AWS CloudFormation command line tools:

wget --quiet unzip -qq sudo rsync -a --no-o --no-g AWSCloudFormation-*/ /usr/local/aws/cfn/

Auto Scaling command line tools:

wget --quiet unzip -qq AutoScaling-*.zip sudo rsync -a --no-o --no-g AutoScaling-*/ /usr/local/aws/as/

AWS Import/Export command line tools:

wget --quiet sudo mkdir /usr/local/aws/importexport sudo unzip -qq -d /usr/local/aws/importexport

CloudSearch command line tools:

wget --quiet tar xzf cloud-search-tools*.tar.gz sudo rsync -a --no-o --no-g cloud-search-tools-*/ /usr/local/aws/cloudsearch/

CloudWatch command line tools:

wget --quiet unzip -qq CloudWatch-*.zip sudo rsync -a --no-o --no-g CloudWatch-*/ /usr/local/aws/cloudwatch/

ElastiCache command line tools:

wget --quiet unzip -qq AmazonElastiCacheCli-*.zip sudo rsync -a --no-o --no-g AmazonElastiCacheCli-*/ /usr/local/aws/elasticache/

Elastic Beanstalk command line tools:

wget --quiet unzip -qq AWS-ElasticBeanstalk-CLI-*.zip sudo rsync -a --no-o --no-g AWS-ElasticBeanstalk-CLI-*/ /usr/local/aws/elasticbeanstalk/

Elastic MapReduce command line tools:

wget --quiet unzip -qq -d elastic-mapreduce-ruby sudo rsync -a --no-o --no-g elastic-mapreduce-ruby/ /usr/local/aws/elasticmapreduce/

Simple Notification Serivice (SNS) command line tools:

wget --quiet unzip -qq SimpleNotificationServiceCli-*.zip sudo rsync -a --no-o --no-g SimpleNotificationServiceCli-*/ /usr/local/aws/sns/ sudo chmod 755 /usr/local/aws/sns/bin/*

Route 53 (DNS) command line tools:

sudo mkdir -p /usr/local/aws/route53/bin for i in; do sudo wget --quiet --directory-prefix=/usr/local/aws/route53/bin \$i sudo chmod +x /usr/local/aws/route53/bin/$i done cpanm --sudo --notest --quiet Net::DNS::ZoneFile NetAddr::IP \ Net::DNS Net::IP Digest::HMAC Digest::SHA1 Digest::MD5

CloudFront command line tool:

sudo wget --quiet --directory-prefix=/usr/local/aws/cloudfront/bin \ sudo chmod +x /usr/local/aws/cloudfront/bin/

S3 command line tools:

wget --quiet unzip -qq sudo mkdir -p /usr/local/aws/s3/bin/ sudo rsync -a --no-o --no-g s3-curl/ /usr/local/aws/s3/bin/ sudo chmod 755 /usr/local/aws/s3/bin/

AWS Data Pipeline command line tools:

wget --quiet unzip -qq sudo rsync -a --no-o --no-g datapipeline-cli/ /usr/local/aws/datapipeline/

Now that we have all of the software installed under /usr/local/aws we need to set up the AWS credentials and point the tools to where they can find everything.

Set up AWS Credentials and Envronment

Create a place to store the secret AWS credentials:

mkdir -m 0700 $HOME/.aws-default/

Copy your AWS X.509 certificate and private key to this subdirectory. These files will have names that look something like this:


Create the file $HOME/.aws-default/aws-credential-file.txt with your AWS access key id and secret access key in the following format:

AWSAccessKeyId=<insert your AWS access id here> AWSSecretKey=<insert your AWS secret access key here>

Create the file $HOME/.aws-default/aws-credentials.json in the following format:

{ "access-id": "<insert your AWS access id here>", "private-key": "<insert your AWS secret access key here>", "key-pair": "<insert the name of your Amazon ec2 key-pair here>", "key-pair-file": "<insert the path to the .pem file for your Amazon ec2 key pair here>", "region": "<The region where you wish to launch your job flows. Should be one of us-east-1, us-west-1, us-west-2, eu-west-1, ap-southeast-1, or ap-northeast-1, sa-east-1>", "use-ssl": "true", "log-uri": "s3://yourbucket/datapipelinelogs" }

Create the file $HOME/.aws-secrets in the following format:

%awsSecretAccessKeys = ( 'default' => { id => '<insert your AWS access id here>', key => '<insert your AWS secret access key here>', }, );

Create a symbolic link for s3curl to find its hardcoded config file and secure the file permissions

ln -s $HOME/.aws-secrets $HOME/.s3curl chmod 600 $HOME/.aws-default/* $HOME/.aws-secrets

Add the following lines to your $HOME/.bashrc file so that the AWS command line tools know where to find themselves and the credentials. We put the new directories in the front of the $PATH so that we run these instead of any similar tools installed by Ubuntu packages.

export JAVA_HOME=/usr export EC2_HOME=/usr/local/aws/ec2 export AWS_IAM_HOME=/usr/local/aws/iam export AWS_RDS_HOME=/usr/local/aws/rds export AWS_ELB_HOME=/usr/local/aws/elb export AWS_CLOUDFORMATION_HOME=/usr/local/aws/cfn export AWS_AUTO_SCALING_HOME=/usr/local/aws/as export CS_HOME=/usr/local/aws/cloudsearch export AWS_CLOUDWATCH_HOME=/usr/local/aws/cloudwatch export AWS_ELASTICACHE_HOME=/usr/local/aws/elasticache export AWS_SNS_HOME=/usr/local/aws/sns export AWS_ROUTE53_HOME=/usr/local/aws/route53 export AWS_CLOUDFRONT_HOME=/usr/local/aws/cloudfront for i in $EC2_HOME $AWS_IAM_HOME $AWS_RDS_HOME $AWS_ELB_HOME \ $AWS_CLOUDFORMATION_HOME $AWS_AUTO_SCALING_HOME $CS_HOME \ $AWS_CLOUDWATCH_HOME $AWS_ELASTICACHE_HOME $AWS_SNS_HOME \ $AWS_ROUTE53_HOME $AWS_CLOUDFRONT_HOME /usr/local/aws/s3 do PATH=$i/bin:$PATH done PATH=/usr/local/aws/elasticbeanstalk/eb/linux/python2.7:$PATH PATH=/usr/local/aws/elasticmapreduce:$PATH PATH=/usr/local/aws/datapipeline:$PATH export EC2_PRIVATE_KEY=$(echo $HOME/.aws-default/pk-*.pem) export EC2_CERT=$(echo $HOME/.aws-default/cert-*.pem) export AWS_CREDENTIAL_FILE=$HOME/.aws-default/aws-credential-file.txt export ELASTIC_MAPREDUCE_CREDENTIALS=$HOME/.aws-default/aws-credentials.json export DATA_PIPELINE_CREDENTIALS=$HOME/.aws-default/aws-credentials.json

Set everything up in your current shell:

source $HOME/.bashrc Test

Make sure that the command line tools are installed and have credentials set up correctly. These commands should not return errors:

ec2-describe-regions ec2-ami-tools-version iam-accountgetsummary rds-describe-db-engine-versions elb-describe-lb-policies cfn-list-stacks cs-describe-domain mon-version elasticache-describe-cache-clusters eb --version elastic-mapreduce --list --all sns-list-topics --keyname default | xmllint --format - --keyname default | xmllint --format - --id default | xmllint --format - datapipeline --list-pipelines

Are you aware of any other command line tools provided by Amazon? Let other readers know in the comments on this article.

[Update 2012-09-06: New URL for ElastiCache tools. Thanks iknewitalready]

[Upate 2012-12-21: Added AWS Data Pipeline command line tools. May break Elastic MapReduce due to Ruby version conflict.]

Original article:

Sam Hewitt: Basic Pizza Dough Recipe

Planet Ubuntu - Tue, 2014-01-21 00:00

I make pizza fairly often and as such I feel that I have perfected my dough recipe –having said that I never know the exact measurements as I eyeball it nearly all the time.

As such, the pizza dough I make has that right amount of elasticity –that we know and love in pizza– with a hint of sweetness, so I add honey.


    This recipe yields enough dough for about three 30-centimetre-ish pizzas, depending on how thin you roll it of course.

  • 3 cups all-purpose or bread flour (or a combination thereof)
  • scant 1 tablespoon kosher salt
  • ~1⅓ cup warm water, 40-45 degrees Celcius (104-113 Fahrenheit)
  • ~1 tablespoon dry inactive yeast
  • ~1 tablespoon sugar
  • ~1/4 cup olive oil
  • ~1 tablespoon honey (optional –for sweetness)
  1. If you have a stand mixer with dough hook: great. Otherwise mix, with another method, the salt and flour
  2. Dissolve the yeast and sugar in the warm water. Let stand until the yeast is activated (~10 minutes).
  3. Make a well in your flour-salt combination pour in the yeast mixture, olive oil and honey.
  4. Mix together until the dough has formed into a ball and is slightly sticky to the touch.
  5. Remove, shape into a neat ball and lightly oil it.
  6. Loosely cover the dough in a bowl with a dampish cloth and let rise until doubled in volume (1-2 hours depending on the environment).
  7. When risen, ideally divide, and knead*.
  8. Shape each smaller ball into a pizza shape for baking.
When kneading ensure to use a consistent folding motion –what you're essentially doing is aligning the gluten protein strands to achieve optimum elasticity.

I have come across an alternative method for making dough that I am now a huge fan of: in a food processor. Not only does it minimize mess, but the food processor does all the kneading for you.

    Alternative Method:
  1. Using a food processor (with the regular blade), combine the flour and salt.
  2. Like above, dissolve the yeast and sugar in the warm water and wait ~10 minutes until the yeast is activated.
  3. Stir the honey and olive oil into the yeast solution.
  4. While the food processor is on and going, pour the liquid through the feeding tube of the food processor.
  5. Stop when the dough comes together into a sort-of ball
  6. Remove, roll into a neater ball and place in a loosely covered container to rise, until it has approximately doubled in size.
  7. When risen, divide and shape into pizza crusts(s) for baking.

The Fridge: Ubuntu Weekly Newsletter Issue 351

Planet Ubuntu - Mon, 2014-01-20 22:31

Tony Whitmore: Big Finish Day 4

Planet Ubuntu - Mon, 2014-01-20 22:27

I had a great time at the weekend, taking photographs at Big Finish Day 4. The event is for fans of the audio production company, who make audio plays of Doctor Who, The Avengers, Dark Shadows, Blake’s 7 and much more. I’ve listened to Big Finish audio plays for years, mostly their Doctor Who range (of course!). The production standards are superb and one of their recent releases is up for a BBC audio drama award. I’ve been lucky enough to do some work for them over the last few months, and was asked to go along to capture some of the event.

In the morning I was wandering around taking candid shots of people enjoying the convention and the panels. It was rather like taking wedding photographs although slightly more relaxed. There are so many different moments to capture in a short time during a wedding ceremony, but a convention panel is a little more static and a good deal longer. Fortunately the urbane Nick Briggs kept the crowd laughing through the morning, and there was a really great atmosphere through the whole event.

In the afternoon I set up a portable studio to take some photos of various Big Finish actors. I was rather pleased with this set up, especially as it all managed it fit in my car! Apart from the background roll.

I really enjoyed working at Big Finish Day, catching up with some of the very nice people I’ve met at recording sessions, and hope to be asked back again!

Pin It

Marcin Juszkiewicz: The story of Qt/AArch64 patching

Planet Ubuntu - Mon, 2014-01-20 17:16

In over a year of my work as AArch64 porter I saw a lot of patches. But Qt one has the most interesting history.

Around year ago when I was building whatever possible during my Linaro work we got to the point when Qt jumped into a queue. Build failed but fixing was quite easy — all I had to do was to take “webkitgtk” patch written by Riku Voipio and apply it to Qt 4. Resulting file landed in “meta-aarch64″ layer of OpenEmbedded and is still there.

Time passed. More common distributions like Debian, Fedora, OpenSUSE, Ubuntu (alphabetical order) started working on their AArch64 ports. And one day Fedora and Ubuntu started working on building Qt 4. I do not know who wrote QAtomic stuff but I saw few versions/iterations of it and it took me quite long time (first on model, then on real hardware) to get it fully working in Fedora — used Ubuntu version of patches.

Up to this moment it was over 9 months and still no upstreaming was done. So one day I decided to go for it and opened QTBUG #35442. Then reopened issue #33 in “double-conversion” project (which is used in few places in Qt) as they got good fix and merged wrong one (but it is fixed now). For that one I opened a request to update to newer version of “double-conversion” as QTBUG #35528.

But story did not end there. As Qt 4 development is more or less ended I was asked to provide fixes for Qt 5. Took me a while. Had to create a graph of build time dependencies between Qt 5 components (had to break few in meantime) and slowly module after module I got most of it built.

There were 3 components which required patching:

First one is solved upstream and waits for Qt guys. I was told that 5.3 will get it updated. Second one is already reviewed and merged. Last one left and here is a problem as it looks like the only person who does QtWebKit code reviews is Allan Sandfeld Jensen but he can not review code he sent. I am not able to do that due to Qt Contributor License Agreement which needs to be signed and (due to legal stuff) I can not do that.

So how it looks now? I would say that quite good. One 3rd party project needs update (in two places of Qt 5) and one patch needs to get through code review. I still need to send package updates to Fedora bug tracker. Ubuntu will need to merge patches when they move to 5.2 version.

All rights reserved © Marcin Juszkiewicz
The story of Qt/AArch64 patching was originally posted on Marcin Juszkiewicz website

Related posts:

  1. I miss Debian tools
  2. Going for FOSDEM
  3. AArch64 port of Debian/Ubuntu is alive!

David Planella: A quickstart guide to the Ubuntu emulator

Planet Ubuntu - Mon, 2014-01-20 14:24

Following a recent announcement, the Ubuntu emulator is going to become a primary Engineering platform for development. Quoting Alexander Sack, when ready, the goal is to

[...] start using the emulator for everything you usually would do on the phone. We really want to make the emulator a class A engineering platform for everyone

While the final emulator is still work in progress, this month we are also going to see a big push in finishing all the pieces to make it a first-class citizen for development, both for the platform itself and for app developers. However, as it stands today, the emulator is already functional, so I’ve decided to prepare a quickstart guide to highlight the great work the Foundations and Phonedations teams (along with many other contributors) are producing to make it possible.

While you should consider this as guide as a preview, you can already use it to start getting familiar with the emulator for testing, platform development and writing apps.


To install and run the Ubuntu emulator, you will need:

  • 512MB of RAM dedicated to the emulator
  • 4GB of disk space
  • OpenGL-capable desktop drivers (most graphics drivers/cards are)
Installing the emulator

If you are using Trusty Tahr, the Ubuntu development version, installation is as easy as opening a terminal, pressing Ctrl+Alt+T and running this command, followed by Enter:

sudo apt-get install ubuntu-emulator

Alternatively, if you are running a stable release such as Ubuntu 13.10, you can install the emulator by manually downloading its packages first:

Show me how

  1. Create a folder named emulator in your home directory
  2. Go to the goget-ubuntu-touch packages page in Launchpad
  3. Scroll down to Trusty Tahr and click on the arrow to the left to expand it
  4. Scroll further to the bottom of the page and click on the ubuntu-emulator_* package corresponding to your architecture (i386 or amd64) to download in the ~/emulator folder you created
  5. Now go to the Android packages page in Launchpad
  6. Scroll down to Trusty Tahr and click on the arrow to the left to expand it
  7. Scroll further to the bottom of the page and click on the ubuntu-emulator_runtime_* package corresponding to download it at the same ~/emulator folder
  8. Open a terminal with Ctrl+Alt+T
  9. Change the directory to the location where you downloaded the package writing the following command in the terminal: cd emulator
  10. Then run this command to install the packages: sudo dpkg -i *.deb
  11. Once the installation is successful you can close the terminal and remove the ~/emulator folder and its contents

Installation notes
  • Downloaded images are cached at ~/.cache/ubuntuimage –using the standard XDG_CACHE_DIR location.
  • Instances are stored at ~/.local/share/ubuntu-emulator –using the standard XDG_DATA_DIR location.
  • While an image upgrade feature is in the works, for now you can simply create an instance of a newer image over the previous one.
Running the emulator

The ubuntu-emulator tool makes it again really easy to manage instances and run the emulator. Typically, you’ll be opening a terminal and running these commands the first time you create an instance (where myinstance is the name you’ve chsen for it):

sudo ubuntu-emulator create myinstance
ubuntu-emulator run myinstance

You can create any instances you need for different purposes. And once the instance has been created, you’ll be generally using the ubuntu-emulator run myinstance command to start an emulator session based on that instance.

There are 3 main elements you’ll be interacting with when running the emulator:

  • The phone UI – this is the visual part of the emulator, where you can interact with the UI in the same way you’d do it with a phone. You can use your mouse to simulate taps and slides. Bonus points if you can recognize the phone model where the UI is in ;)
  • The remote session on the terminal – upon starting the emulator, a terminal will also be launched alongside. Use the phablet username and the same password to log in to an interactive ADB session on the emulator. You can also launch other terminal sessions using other communication protocols –see the link at the end of this guide for more details.
  • The ubuntu-emulator tool – with this CLI tool, you can manage the lifetime and runtime of Ubuntu images. Common subcommands of ubuntu-emulator include create (to create new instances), destroy (to destroy existing instances), run (as we’ve already seen, to run instances), snapshot (to create and restore snapshots of a given point in time) and more. Use ubuntu-emulator --help to learn about these commands and ubuntu-emulator command --help to learn more about a particular command and its options.
Runtime notes
  • At this time, the emulator takes a while to load. During that time, you’ll see a black screen inside the phone skin. Just wait a bit until it’s finished loading and the welcome screen appears.
  • By default the latest built image from the devel-proposed channel is used. This can be changed during creation with the --channel and --revision options.
  • If your host has a network connection, the emulator will use that transparently, even thought the network indicator might show otherwise.
  • To talk to the emulator, you can use standard adb. The emulator should appear under the list of the adb devices command. Due to a known bug, you’ll need to run adb kill-server; adb start-server on the host before you can see the emulator listed as a device.
Learn more and contribute

I hope this guide has whetted your appetite to start testing the emulator! You can also contribute making the emulator a first-class target for Ubuntu development. The easiest way is to install it and give it ago. If something is not working you can then file a bug.

If you want to fix a bug yourself or contribute to code, the best thing is to ask the developers about how to get started by subscribing to the Ubuntu phone mailing list.

If you want to learn more about the emulator, including how to create instance snapshots and other cool features, head out to the Ubuntu Emulator wiki page.

And next… support for the tablet form factor and SDK integration. Can’t wait for those features to land in the emulator!

The post A quickstart guide to the Ubuntu emulator appeared first on David Planella.

Riccardo Padovani: Development plans of calc app for Ubuntu Touch

Planet Ubuntu - Mon, 2014-01-20 08:00

As you probably know on April 17th, 2014 Ubuntu 14.04 ‘Trusty Tahr‘ will be relased. Also second stable version of Ubuntu Touch will be released and main goal for this version, for all the core-apps, is the desktop convergence.

Convergence it’s the revolutionary idea behind Ubuntu Touch: all the apps can run on desktop, tablet and phone (and maybe TV) not because have different implementation of same interface, but because interface adapts dinamically to the size of screen, as a responsive website. You can try this with the app SaucyBacon by randomcpp.

Now, let me explain what are the jobs to be done for the calculator from here to April:

  • For the convergence we need to enable keyboard support on desktop, so you can use the app with your keyboard and you are not forced to use the mouse. A basically implementation of this is landed: you can use key up and down to scroll, number keys to enter numbers and enter to do a calc. But some bugs are still open. We want to enable others shortcuts to edit label and to tear off calcs, and also we want to implement copy and paste;
  • Always for convergence we need to create an optimized tablet version and to fix some wrong behaviors on desktop;
  • We need to create a sidestage version of the app so on big screen you can place side by side two apps;
  • In our wishlist there is also to implement scientific function, but it isn’t a priority and I don’t know if and when this will be implemented.

If you want to follow the implementation of all this feature please see our blueprint.

If you want to help us in development (Why you should contribute to Ubuntu Touch) please join #ubuntu-app-devel or #ubuntu-calc-app on IRC and ping boiko, dpm, mihir, popey or I (WebbyIT).


This work is licensed under Creative Commons Attribution 3.0 Unported

Ubuntu Classroom: Ubuntu User Days coming up!

Planet Ubuntu - Mon, 2014-01-20 06:03

Next weekend, from Saturday the 25th at 14:30 UTC until Sunday the 26th at 01:00 UTC the Classroom team will be hosting the Ubuntu User Days!

User Days was created to be a set of chat-based classes offered during a two days period to teach the beginning or intermediate Ubuntu user the basics to get them started with Ubuntu. Sessions this cycle include:

  • Command line made easy
  • Unity: Tips, tricks and configuration
  • Equivalent Applications
  • Finding Support for Ubuntu

You can check the full schedule here:

The best thing is, everyone can come! If you want to participate, you just need to join #ubuntu-classroom and #ubuntu-classroom-chat on in your IRC client, or just click here for browser-based Webchat.

We hope to see you next weekend!

Jono Bacon: Bad Voltage in 2014

Planet Ubuntu - Sun, 2014-01-19 16:44

In 2013 we kicked off Bad Voltage, a fun and irreverent podcast about technology, Open Source, gaming, politics, and anything else we find interesting. The show includes a veritable bounty of presenters including Stuart Langridge (LugRadio, Show Of Jaq), Bryan Lunduke (Linux Action Show), Jeremy Garcia (LinuxQuestions Podcast), and myself (LugRadio, Shot Of Jaq).

We have all podcasted quite a bit before and we know it takes a little while to really get into the groove, but things are really starting to gel in the show. We are all having a blast doing it, and it seems people are enjoying it.

If you haven’t given the show a whirl, I would love to encourage you to check out our most episode. In it we feature:

  • An interview with Sam Hulick who writes music for video games (Mass Effect, Baldur’s Gate) as well as some of the Ubuntu sounds.
  • We discuss the Mars One project and whether it absolutely madness or vague possibility.
  • We evaluate how Open Source app devs can make money, different approaches, and whether someone could support a family with it.
  • Part One of our 2014 predictions. We will review them at the end of the year to see how we did. Be sure to share your predictions too!

Go and download the show in either MP3 or Ogg format and subscribe to the podcast feeds!

We also have a new community forum that is starting to get into its groove too. The forum is based on Discourse, so is a pleasure to use, and a really nice community is forming. We would love to welcome you too!

In 2014 we want to grow the show, refine our format, and grow our community around the world. Our goal here is that Bad Voltage becomes the perfect combination of informative but really fun to listen to. I have no doubt that our format and approach will continue to improve with each show. We also want to grow an awesome, inclusive, and diverse community of listeners too. Our goal is that people associate the Bad Voltage community as a fun, like-minded set of folks who chat together, play together, collaborate together, and enjoy the show together.

Here’s to a fun year with Bad Voltage and we hope you come and be a part of it.

Kubuntu Wire: Valve’s OpenGL Debugger Developed on Kubuntu

Planet Ubuntu - Sun, 2014-01-19 11:19

Valve make Steam, a platform for making computer games which got a lot of people excited when it was announced a couple years ago that it was being ported to Ubuntu.One of the developers has just announced a new OpenGL debugger.  It’s developed on Kubuntu and uses the Qt Creator IDE.  Best of all it’s going to be completely open source.  Lovely to know Kubuntu is helping bring the next generation of games on all platforms.  More details on Phoronix.


Subscribe to Free Software Magazine aggregator