Archive for the ‘General’ Category

Launchpad Configuration Migration

Friday, April 18th, 2008

Hi,

Since the last Launchpad release you may have noticed a few emails and blog
posts referring to unexpected issues with Launchpad. I thought you might
like to know more about what was causing them, and how we are addressing them.

Launchpad’s operational environment is hosted on several machines in order to
provide adequate response times given our user load. Previously, we had to
maintain separate, and complex, configuration settings for each of the servers.
This was not very conducive to developing and deploying new features, nor
supporting the existing infrastructure. The situation was becoming
unmaintainable, and we had made careful plans to resolve these problems.

To address this limitation, we migrated the existing configuration settings
over to a standard, site-wide, hierarchical system. We’re confident that this
new configuration system will also provide us with a much more robust, stable
and maintainable operational environment. However, the rollout of this new
system has resulted in an undesirable level of shake-out due to the
complexities of the Launchpad services involved and the complexities of the
old configuration system.

On behalf of the entire Launchpad Development Team, I’d like to offer our
sincerest apologies for any inconvenience this may have caused you. We ask you
for your continued understanding as we seek to improve the Launchpad service.

Joey Stanford
Launchpad Releases Team Manager

Using Launchpad accounts to manage your local ssh logins: launchpadduser.py

Saturday, March 22nd, 2008

Glyph posted an interesting script to the launchpad-users mailing list that I thought was definitely worth sharing:

Quite often, I’ve discovered that I want to add someone (who already has an account on launchpad) to my system so they can log in and attach to my ‘screen’ session; however, I will inevitably screw up typing in the finger information, setting permissions on their .ssh directory, assigning them a bogus password, etc. Here’s a simple Python script that will add a user to your system with the same username as on Launchpad, and with their SSH keys already set up so they can log in, but no system password.

You can download the script from http://people.ubuntu.com/~kiko/launchpadduser.py.

It requires adduser, wget and python. You’re expected to run this as root, so the usual warnings apply, but it’s simple enough for you to audit on your own. And there is no error handling! A usage example:

root@beetle:~# python launchpadduser.py kiko
Adding user `kiko' ...
Adding new user `kiko' (1012) with group `users' ...
Creating home directory `/home/kiko' ...
Copying files from `/etc/skel' ...
--09:43:36--  https://launchpad.net/~kiko/+sshkeys
           => `/home/kiko/.ssh/authorized_keys'
Resolving launchpad.net... 91.189.90.211
Connecting to launchpad.net|91.189.90.211|:443... connected.
HTTP request sent, awaiting response... 200 Ok
Length: 860 [text/plain]

100%[=============================================>] 860           --.--K/s             

09:43:38 (9.49 MB/s) - `/home/kiko/.ssh/authorized_keys' saved [860/860]

And presto:

kiko@anthem:~$ ssh beetle
Linux beetle 2.6.22-14-generic #1 SMP Tue Feb 12 07:42:25 UTC 2008 i686
kiko@beetle:~$ 

Logo competition closing soon!

Monday, March 17th, 2008

This past few weeks, we’ve had a whole load of high quality entries to our logo competition. We’re heading fast towards the 31st March deadline, so if you want to take part you’d best fire up Inkscape pretty sharpish!

Back in January I shared a couple of the entries we’d had at that time. As a bit of inspiration, in case your arty side is twitching, here are some of the proposed logos we’ve had since.

Donn Ingle’s sixth entry to the competition introduces a touch of the natural world:

Leaf logo

Siim Sindonen’s stylised blue rockets show the community support between projects, people and teams in Launchpad:

Light blue rocket piggybacking on a darker blue rocket

Thorsten Wilms offers this shiny green rocket:

Green rockets

And Marco Tessarotto’s entry puts me in mind of Marvin the Martian but I’m not sure why:

Dark green rocket

See all the entries on our submissions page!

February’s users meeting

Wednesday, February 20th, 2008

It’s coming up to the end of the month again and so it’s almost time for the Launchpad users meeting!

When: 09.00 – 10.00 27th February UTC.
Where: #launchpad-meeting on Freenode.
Find out more: Add your items to the agenda.

The Great Source Code Supermarket

Wednesday, February 13th, 2008

Launchpad is kinda hard to describe. When I’m asked what it is, I normally use three or more of the words “open source free software support project Q&A code registration bugs management listing bazaar planning hosting”. Most people make comparisons to Sourceforge, Savannah, Berlios and Google code hosting, and while those are useful, it’s only a part of the picture. The other part, which is perhaps not as well understood, is that it’s also a public project registration service, similar to Freshmeat. Well, except for a twist.

Launchpad’s source code directory

In addition to providing a project registration service open to the public for free (with probably the best Google juice out there; this has caught some people off-guard before!), Launchpad takes this to a next step, and actually provides a unified interface for interacting with each project registered. The most obvious unified service that you can use today is our code directory, which I want to introduce here.

Now Launchpad provides some key features related to source code for free software projects:

  • Project registration: you can register any free software project on Launchpad (and separately, of course, have it hosted here — if you own it and want to).
  • Bazaar hosting: you can host Bazaar branches for any project, and you can fetch code using the bzr client.
  • Code imports: we allow you to request code imports for any externally-hosted project that uses CVS or Subversion.

There’s a really cool thing that falls out of the combination of code imports, branch mirrors and Bazaar: you can use bzr and Launchpad to fetch any piece of software we have registered code for. And Bazaar even provides a little shortcut that makes it even easier to grab the default branch for any project: bzr branch lp:<projectname>.

An open source supermarket

The effect is that you can, right now, pull a /lot/ of software in less than 30 keystrokes, without knowing or caring about what its native version-control system is, or where it’s hosted. Want to grab the Python source code? Just do bzr branch lp:python. How about Storm? bzr branch lp:storm. In fact, there are thousands of native Bazaar branches and over one thousand imported branches. Here are just a few examples of major projects you can pull right now:

  • Ruby on Rails:
    bzr branch lp:rails
  • Blender:
    bzr branch lp:blender
  • F-Spot:
    bzr branch lp:f-spot
  • Grub:
    bzr branch lp:grub
  • Twisted:
    bzr branch lp:twisted
  • Bazaar itself:
    bzr branch lp:bzr
  • GCC:
    bzr branch lp:gcc

Couldn’t find a branch listed for the project you want? We can sort this out for you, too. If it’s in CVS or Subversion elsewhere, you can just follow the instructions for setting up an import. If it’s a Bazaar branch, just register it and we’ll hook it up with the project’s mainline series record.

More on project branches

If you visit https://code.launchpad.net/ you’ll notice that it has an abbreviated project cloud, which lists all the projects with branches in Launchpad. The project’s name is rendered in different sizes and intensities according to how active the actual project is; the size of the name in the cloud is defined by the number of branches that the project has, and the intensity of the tag in the cloud is determined by how recent the last commit to any active branch is. And green indicates that there’s a default branch for the project, which means that the bzr branch lp:foo abbreviation works for it. There’s a also a page with the full code cloud.

So each of those projects has active source code branches that you can pull from Launchpad using Bazaar. For instance, to check the source code for Apport, you could click on its entry in the listing and getting there you could inspect the branches available and select one of them for pulling. For instance, if you chose Will Woods’ Fedora support branch you get instructions on how to pull it: bzr branch http://bazaar.launchpad.net/~wwoods/apport/fedora or even just
bzr branch lp:~wwoods/apport/fedora

Imports and today’s deliveries

Import requests are handled in a queue by Launchpad code ninjas; normally this it Michael Hudson’s responsibility but starting today I’ll be helping out too. Of the import requests I handled today, the following succeeded and are ready for grabbing in the great bzr-get-lp-colon fashion:

I’ll keep you posted on new imports as they come online. Meanwhile, go grab some branches and post some comments telling me what you think. If you have any problems or questions about our code hosting service, feel free to ask on the Launchpad code section in answers.launchpad.net.

PyRoom: a WriteRoom clone in Python

Monday, February 4th, 2008

You could argue that the free software world isn’t short of a text editor or two. With some people already pretty attached to their preferred choice, you might wonder if we really need another.

Some time ago, I read a newspaper article complaining that today’s computer desktop dangles too many distractions in front of professional writers. The author presented two solutions:

  • a return to typewriters
  • and Hog Bay Software’s WriteRoom.

WriteRoom is a big black box with green text. Basically, think Windows Notepad but with fancier marketing and a $24.95 price tag. Nonetheless, its simplicity has struck a chord with many; not least of all me.

That’s why I was delighted when Bruno Bord told me about PyRoom. It’s one of several WriteRoom clones that grew out of a thread on the Ubuntu forums and, as you might expect, is written in Python.

If you have Bazaar, you can get hold of PyRoom with:

bzr branch http://bazaar.launchpad.net/~brunobord/pyroom/trunk

Writing this post in PyRoom almost makes me nostalgic for my Amstrad PCW days. It’s is a work in progress so give it a try and file bug reports. Bruno’s also on the look-out for translators.

Launchpad users meeting for January

Tuesday, January 29th, 2008

30th January 17.00 UTC in #launchpad

Launchpad isn’t just about source code, bugs, or translations. Nor packages, specifications, community support or file downloads.

Launchpad’s about people. Okay, that sounds a bit cheesy but it’s true: every new feature or improvement we make to Launchpad is designed to make it easier for you, me and anyone else to work together.

That’s why we hold monthly user meetings: talking to people who use Launchpad is absolutely the best way to find out what we can improve and what works well. You can find the Launchpad team in #launchpad and on the launchpad-users list just about any time but these meetings give you a focused opportunity to talk directly to members of the Launchpad team.

Come along to this month’s meeting on 30th January at 17.00 UTC in #launchpad on Freenode. Add your question or any other item to the agenda or simply speak up during the meeting. See you there 🙂

Logo contest update

Wednesday, January 23rd, 2008

Over the past couple of weeks we’ve been accepting entries to our Launchpad logo competition.

Rather than store up the entries until the deadline (31st March, by the way), I thought I’d share a couple of those we’ve had so far. Of course, you don’t have to wait for me to pop up here to see what people are submitting. If you want to get an email whenever a new logo is put forward, click Subscribe on the submissions page.

Launchpad logo competition entry - Damián VilaI like the flow of Damián Vila’s design, which maintains a green feel similar to the present Launchpad site design. The rocket flying off from the Launchpad logo-text puts me in mind of Launchpad as just that – a launching point for work on free software projects.

Launchpad logo competition entry - Donn IngleDonn Ingle says he “tried to capture the fun spirit of the overall Launchpad design”. His is the first logo to move away from green and I think he does capture a sense of fun in his design. I’d love to see an animated version.

Do go see the other entries in the competition. Better still, fire up Inkscape and create your own!

This post doesn’t imply any particular favourites, by the way 🙂

Help design the new Launchpad logo!

Wednesday, January 9th, 2008

Announcing the Launchpad Logo Community Design Contest.

What: Design a new logo for Launchpad
When: Now through 31 March 2008
How: See http://help.launchpad.net/logo for more details and official rules
Prize: Winner will receive an Ubuntu Messenger Bag

Zope CMF and LibMMS switch to Launchpad

Thursday, December 20th, 2007

Another part of the Zope project – the Zope Content Management Framework (CMF) – has joined both Zope 2 and Zope 3 in using Launchpad to track bugs, making it much easier for all three to work together on common bugs.

Similarly, Soren Hansen is now using Launchpad to track bugs and host code for LibMMS, a library for connecting to Window Media streams. He told me why he wanted to host the code in Launchpad:

“I have a couple of other projects on Launchpad that I pretty much just put there to share them with co-workers and such, but out of nowhere, branches popped up with new features from people I’ve never talked to (neither before nor since).

“It’s really distributed revision system at it’s best. One of the things that could have gone wrong when people started adopting distributed version control was that changes would never flow back upstream. Adding Launchpad to the workflow makes it all come together naturally.”