27th July 2010

Elliot Murphy: Lazy test loading to deal with conflicting django settings

by statik at 5:41

At work I have a bunch (ok, 3) different django projects in the same big code tree. Yes, I know we should split them up, thanks for pointing that out. Anyway, we are running python unit tests using the trial testrunner from twisted, because it’s very nice and we also have some twisted servers in this same code tree.

I have a problem with Django settings. There are some conflicting settings in the settings file used by different Django servers. The solution seems easy – run tests for each Django server in a separate subprocess. The excellent subunit library should do just the trick, it even has IsolatedTestSuite and IsolatedTestCase classes that take care of forking and running in a separate process.

Except this doesn’t work. Because when python modules are imported for test discovery, they also indirectly end up importing django.settings, and when the IsolatedTestSuite forks to run tests in a separate subprocess, that subprocess inherits the already polluted python environment that has the (sometimes wrong) django.settings imported already.

I am convinced that this must be solvable, but have been banging my head against it for a while and don’t understand unittest discovery well enough to solve it. I’ve created a self-contained little example that demonstrates the problem in isolation here: https://code.edge.launchpad.net/~statik/+junk/subunit-demo/

I will gladly endure your taunts if you teach me a solution.

23rd July 2010

Martin Albisetti’s blog: Ubuntu One iphone client, source code released

by beuno at 0:45

We should have released the source for the iphone client right after we did the upload to the appstore, but a bunch of bureaucracy and crazy work deadlines postponed this until now.
We’re going to be doing some work for the Ubuntu 10.10 release on the iphone client as well as on a new Android client, both clients are going to be open source, like all our other Ubuntu One clients.
We’ve created the projects on Launchpad, pushed the initial source code for the iphone client, and will start pushing Android as soon as we get out of the exploration stage.

The projects are available at:

iphone:  https://launchpad.net/ubuntuone-ios-client
android: https://launchpad.net/ubuntuone-android-client

Stay tuned for more on our new mobile services!

22nd July 2010

Ubuntu One iphone client, source code released

by beuno at 23:45

We should have released the source for the iphone client right after we did the upload to the appstore, but a bunch of bureaucracy and crazy work deadlines postponed this until now.
We’re going to be doing some work for the Ubuntu 10.10 release on the iphone client as well as on a new Android client, both clients are going to be open source, like all our other Ubuntu One clients.
We’ve created the projects on Launchpad, pushed the initial source code for the iphone client, and will start pushing Android as soon as we get out of the exploration stage.

The projects are available at:

iphone:  https://launchpad.net/ubuntuone-ios-client
android: https://launchpad.net/ubuntuone-android-client

Stay tuned for more on our new mobile services!

6th July 2010

Elliot Murphy: Teambuilding and culture in a distributed workplace

by statik at 17:17

Matt tells me that company culture isn’t the imaginary thing you are trying to create, it’s what you actually end up with based on a million little things that happened in real life. You can’t fake it, you can’t wish it better, you have to accept the reality and look at the way things ended up despite what the policy said.

That’s not an argument against trying to change things, but it means that none of us individually can completely control the end result, we only get to contribute little pieces. As a manager who feels responsible for doing everything I can to contribute to a healthy, positive, sustainable work environment and an employee who wants to work in such a place, one of the most amazing feelings is seeing other people take up the challenge, and make little gestures which pull everyone together in feeling like a team, like we are interconnected. You know, that whole Ubuntu thing.

I want to tell you a true story. For Ubuntu One, the server development team that writes the code is a completely separate department from the operational sysadmin team that deploys the code. This sysadmin team also services Launchpad and all the other websites that Canonical operates. There are some natural tensions between stability and feature development, we have different managers, the sysadmin team is much smaller and spread around the world in terms of timezones, the Ubuntu release schedule deadlines are carved in wiki stone, and we all want to get rid of downtime on the site. All of these things are forces which would tend to drive the teams apart, rather than together. We talk about devops ideas, but that ideal doesn’t change the reality of people working together under pressure with somewhat conflicting goals. We call this particular group of sysadmins “LOSA”. We do much of our real time collaboration over IRC, and the sysadmins are usually idling in a number of IRC channels, one per product team that they support. Because we’re not always sure who will be on duty at a given time, we ended up with a convention of saying “losa ping” on the IRC channel when we needed something done: kicking off a planned code update, running an ad-hoc test query against the staging or production DB, etc.

losa ping love online services

Losa Ping

After a particularly exhausting few months where it felt like we were saying losa ping every 30 minutes, the losa team went off duty for a week to have an in person meetup, and do some of their planning and teambuilding out of reach of the daily barrage of phone and IRC interruptions. Philip had an idea for a joke, and arranged for a cake to be secretly delivered.

As you can imagine, it was a hit, and everyone felt a little closer together. But the story doesn’t end there.

Losa pong

Months have gone by and we all forgot about the cake. Last week the Ubuntu One team gathered for an in person meeting. We were just as remote, the sysadmin team wasn’t there, we were sequestered away from laptops and IRC. The last day we had our afternoon break for coffee, and were amazed to see another cake! Later Michael confessed, and everyone had this silly grin on their face that just wouldn’t go away.

Two departments spread over several countries and dozens of different cities. Different backgrounds, different daily pressures, different opinions on the right way to do things. And yet, two cakes over several months make everyone feel connected. The cake is a symptom of the culture. You can’t prescribe it, you can’t control it, but you can contribute to it and you sure can enjoy it. What a fantastic crew.

6th July 2010

Rodrigo Moya: Ubuntu One SyncDaemon API

by rodrigo at 14:04

Ubuntu One’s SyncDaemon (the process that takes care of synchronizing your files between the cloud and the desktop) has a DBus interface for applications to control and get notifications from it about what it is doing. This interface was being used in the Nautilus plugin and other desktop tools contained in ubuntuone-client itself. Even though powerful and straightforward, we haven’t seen many applications using it, since usually 3rd party applications don’t want to be dealing with the low level DBus API themselves.

But this is now history, since I introduce you to libsyncdaemon, a GObject wrapper on top of the DBus API which makes it very easy to communicate with SyncDaemon, as well as improving a lot the performance compared to accessing the DBus API directly (thanks to its use of caches, to avoid DBus calls repeating when no needed) and containing high level functions that would allow applications to, for instance, publish a file on Ubuntu One with just one call:

SyncdaemonDaemon *daemon = syncdaemon_daemon_new ();
syncdaemon_daemon_publish_file (daemon, "/home/user/myphoto.jpg");

But before you run to another place after seeing this C code, note that it includes bindings for many languages (Python, JavaScript, etc) for free, thanks to gobject-introspection. So, the same code in Python, for instance, would be:

daemon = Syncdaemon.Daemon ()
daemon.publish_file ("/home/user/myphoto.jpg")

So now, the next step is to start adding support for sharing/publishing files in Ubuntu One to many desktop applications, like, for instance (ideas stolen from Stuart Langridge):

  • Publish screenshots directly from gnome-screenshot tool
  • Sharing photos from f-spot/shotwell/etc
  • etc…

This, along with the already existing desktop APIs (desktopcouch, couchdb-glib, libubuntuone), makes integration of 3rd party applications into Ubuntu One a very easy thing.

23rd June 2010

Ubuntu One on mobile for Maverick

by beuno at 21:01

A few months back the Ubuntu One team launched mobile contacts syncing, our first step into the mobile world. After a few initial rocky Beta days of cleaning up some scaling rough edges, it’s been a smooth ride since. It turned out to be a very popular service, which has us excited, and reinforced our eagerness to build more mobile services for Maverick.
While the full roadmap hasn’t been set in stone yet, we’ve had a lot of feedback about offering a separate, feature-rich mobile service at a lower price, as well as integration into Android.
We’ve decided to take on some of these challenges, and are committed to delivering more and more mobile services, some of which we will introduce around the Ubuntu Maverick release in October.

In the meantime, we’ve decided to extend the 30-day trial period for mobile contact sync until the Maverick release, where we will re-instate it as part of a bigger, juicier and with more native integration, mobile package.

This is effective now, so if you’ve signed up for our paid account exclusively for mobile sync, feel free to downgrade to the free plan, we will notify all mobile users before the 30-day trial is turned on again.

As we finish our research and initial development, we will announce the features that will be rolled out and probably open up for testing in our alpha phase to a small group of lucky people.

It seems to be the case every release, but, the future is exciting!

17th June 2010

Looking for an awesome new team member

by beuno at 22:41

We have very exciting and challenging plans for the future of the new web+mobile Ubuntu One team (more on this soon), and we’re looking for an exceptional web engineer to join us.

The summary for this position is:

We are looking for an exceptional engineer to work on Ubuntu One’s web infrastructure with a proven track record for exceptional problem solving and integration into third-party systems. This person should help the team design, build, and deploy web and mobile applications with a high degree of quality and passion. If you’re the type of person who gets excited about delivering cutting-edge technology to hundreds of thousands of users, in a lean and friendly environment, we are looking for you!

If this sounds like you, check out the full job description and send us your CV!

16th June 2010

Ubuntu One Music Store Top Sellers

by Matt Griffin at 1:07

Search the Ubuntu One Music Store for these top selling albums and singles. All items listed may not be available for purchase in all regional stores. Sorry about that.

Top albums

  1. Jack Johnson – To The Sea
  2. Gorillaz – Plastic Beach
  3. Ministry of Sound – Chilled Acoustic
  4. The National – High Violet
  5. Zac Brown Band – The Foundation
  6. Train – Save Me, San Francisco
  7. The Rural Alberta Advantage – Hometowns
  8. LCD Soundsystem – This Is Happening
  9. Green Day – International Superhits!
  10. Lady Antebellum – Need You Now

Top singles

  • Jack Johnson – You And Your Heart
  • Train – Hey, Soul Sister
  • Shakira featuring Freshlyground – Waka Waka (This Time for Africa) – It’s the Official World Cup song!
  • Katy Perry – California Gurls (featuring Snoop Dogg)
  • Ke$ha – Your Love Is My Drug

New & Noteworthy

  • Twilight – The Twilight Saga: Eclipse
  • Christina Aguilera – Bionic – A Deluxe Version with 23 songs is available.
  • Devo – Something For Everybody – The guys from Akron, Ohio are back with a new album!
  • Tom Petty & the Heardbreakers – Mojo
  • Sarah McLachlan – Laws of Illusion – Catch her on tour this summer throughout North America.
  • Oasis – Time Flies… 1994-2009 – 27 fantastic songs.
  • Drake – Thank Me Later
  • The Steve Miller Band – BINGO! – Also don’t forget the Steve Miller Band – Greatest Hits: 1974-1978. It’s like Frampton Comes Alive – everyone needs it.
  • Morcheeba – Blood Like Lemonade
  • Wilco – A.M. – Wilco’s first album. Heard this last night at a pizza place and it brought back some great memories :)

7th June 2010

Ubuntu One Music Store Top Sellers

by Matt Griffin at 22:12

Search the Ubuntu One Music Store for these top selling albums and singles.

Top albums

  1. Jack Johnson – To The Sea
  2. Lady Antebellum – Need You Now
  3. LCD Soundsystem – This Is Happening
  4. Green Day – International Superhits!
  5. Pink Floyd – Wish You Were Here
  6. Stone Temple Pilots – Stone Temple Pilots
  7. The Black Keys – Brothers
  8. Lady GaGa – The Fame Monster
  9. Florence + The Machine – Lungs
  10. Band Of Horses – Infinite Arms

Top singles

  • Rush – Caravan
  • La Roux – Bulletproof
  • Katy Perry featuring Snoop Dog - California Gurls
  • Lena – Satellite

29th April 2010

New Ubuntu One features for Ubuntu 10.04 LTS

by Matt Griffin at 21:14

Ubuntu 10.04 LTS is now available. With this release of Ubuntu, there are many new Ubuntu One features. Here are just a few.

Ubuntu One Music Store
Ubuntu users have access to purchase popular music from all of their favorite artists that make up an expanding catalog of millions of songs available in the Ubuntu One Music Store. Select from top pics and new releases or search for your favorite artist, album or song. Ensure that your computer is setup for sync and launch the store in Rhythmbox for a cloud-enabled shopping experience.

Mobile Contacts Sync
Synchronize your mobile phone address book with your Ubuntu One personal cloud and Evolution on your Ubuntu desktops. Mobile Contacts Sync also enables subscribers to synchronize your Ubuntu One contacts with Thunderbird, Outlook on Windows, and the Mac Address Book.

Ubuntu One Preferences
All subscribers now have more control over their synchronization settings. Launch the Ubuntu One Preferences application to view current personal cloud storage usage, link to support options, manage synchronizing computers, and even control which Ubuntu One features are synchronized on the machine you are currently using.

Sync any folder in your home directory
Right-click on any folder and choose “Synchronize on Ubuntu One”. All of your Ubuntu 10.04 LTS computers can now synchronize your default folders like Documents, Pictures and Music.

Publish files
Easily share files with anyone directly from your Ubuntu desktop. We even provide you with a short URL to use on services like identi.ca, twitter, and facebook.

Infrastructure upgrades
Not only do we have many new features for Ubuntu 10.04 LTS, the Ubuntu One team spent a great deal of time improving the infrastructure. Subscribers should see faster file and folder synchronization on their desktops as well as a website tools that are snappier.

Ubuntu One provides a free subscription with 2 GB of storage for everyone and a monthly subscription that includes more storage and additional features.

Learn more about all of the great Ubuntu One features and subscription plans.