UDS, Internet people, get involved

UDS, Internet people, get involved

The Ubuntu Developer Summit has started, and don’t forget you can participate with VoIP and Gobby. Head to [this page](https://wiki.ubuntu.com/UbuntuDeveloperSummitMountainView) to find out how to take part. The schedule for the different [specs](https://features.launchpad.net/sprints/uds-mtv) are generated on each day, so check every day for the next week to see which specs are scheduled for each day.

Rock on

Rock on

Lovely email from Frank Armstrong:

> Hello Jono,

> My name is Frank Armstrong. I am very happy to tell you about how your wonderful list saved me tons of hours of frustration. Rich Johnson, from Chicago, has been a super help to me. I’m just now taking the time to learn the ropes for Kubuntu, and he has solved several amazing problems for me. I can’t tell you have happy I am to know there are real heroes left in this tech world. I will keep in touch with him and eventually, make myself available to assist newbies to the Linux way of life.

> Thank you so much for providing your wonderful resource list. Please encourage the updating of it. It will be a life-saver for many I’m sure. It is a real blessing.

Great work Rich! I agree with Frank. 🙂

It is people like these guys that are making our community kick ass every day. 🙂

Don’t trust him

Off to UDS

Tomorrow I fly out to San Francisco to the [Ubuntu Developer Summit](https://wiki.ubuntu.com/UbuntuDeveloperSummitMountainView). This is cool for two core reasons:

* The Ubuntu Developer Summit and its discussions, [people](https://launchpad.net/sprints/uds-mtv), [specs](https://features.launchpad.net/sprints/uds-mtv), and other fun stuff.
* San Francisco is the birthplace of [thrash metal](https://en.wikipedia.org/wiki/Thrash_metal).

’nuff said.

GStreamer Dynamic Pads, Explained

GStreamer Dynamic Pads, Explained

*(for an intro to GStreamer, see [my previous article](https://archivedblog.jonobacon.com/?p=750))*

You know, one thing that gets people confused in GStreamer is the idea of *Dynamic Pads*. Some elements, most notably the `decodebin` and `gnlcomposition` only have certain pads at certain times. This is because they figure out what kind of content they are processing, and apply the relevant pads where needed. This is often told to new users, but then they wonder how exactly these dynamic pads are handled.

Here is how it works, using `decodebin` as an example:

* When the pipeline is run, the `decodebin` generates a signal that says a new pad has been added. In the case of `decodebin` this is the `new-decoded-pad` signal, in the case of `gnlcomposition` this is a `pad-added` signal.
* You hook this signal up to your own callback, such as `OnDecodedPad()`.
* The signal passes your callback the pad that was added and some other stuff. You then link this pad to the next element along in the pipeline. So if your pipeline is `filesrc ! decodebin ! audioconvert ! alsasink`, the pad passed to your `OnDecodeBin()` method would be linked to the `audioconvert`.

To outline this, I have written a sample script to show how it works:

#!/usr/bin/python

import pygst
pygst.require(“0.10”)
import gst
import pygtk
import gtk

class Main:
def __init__(self):
self.pipeline = gst.Pipeline(“mypipeline”)

self.filesrc = gst.element_factory_make(“filesrc”, “source”)
self.pipeline.add(self.filesrc)
self.filesrc.set_property(“location”, “/home/jono/Desktop/jonobacon-voicesoffreedom.ogg”)

self.decode = gst.element_factory_make(“decodebin”, “decode”)
self.decode.connect(“new-decoded-pad”, self.OnDynamicPad)
self.pipeline.add(self.decode)

self.filesrc.link(self.decode)

self.convert = gst.element_factory_make(“audioconvert”, “convert”)
self.pipeline.add(self.convert)

self.sink = gst.element_factory_make(“alsasink”, “sink”)
self.pipeline.add(self.sink)

self.convert.link(self.sink)

self.pipeline.set_state(gst.STATE_PLAYING)

def OnDynamicPad(self, dbin, pad, islast):
print “OnDynamicPad Called!”
pad.link(self.convert.get_pad(“sink”))

start=Main()
gtk.main()

You can grab the script from [here](https://archivedblog.jonobacon.com/files/decodebin.py). Hope this helps some of you. 🙂

Don’t trust him

Wow

What more could you want? Christopher Lee on Breakfast on BBC1, talking about Manowar and Rhapsody. My house is filled with power metal right now…

*All men play on 10, never gonna turn down again.*

Jokosher Bugs now on Launchpad

Jokosher Bugs now on Launchpad

After some discussion earlier today, the Jokosher team have decided to use Launchpad as our bug tracking system. We have been having some troubles using trac’s ticketing system, and Launchpad has a number of benefits for us:

* Anyone can register and submit bugs.
* We can share triaging across a team of developers.
* The same login account can submit bugs and do translations with Rosetta.
* Malone is a pretty nice bug tracker – and is an easier screen on the eyes of bug reporters and flexible for developers.
* Better integration with Ubuntu submitted bug reports – this is quite important as many Jokosher users use Ubuntu.

go and [view the Jokosher bugs on Launchpad](https://launchpad.net/products/jokosher/+bugs). Aq is also working to import our trac bugs in if possible.

So **[report your Jokosher bugs here!](https://launchpad.net/products/jokosher/+filebug)** If you want to report bugs and don’t know how, [read this page](https://jokosher.python-hosting.com/wiki/ReportingBugs). 🙂

Jokosher Bugs now on Launchpad

Community Specs at the Ubuntu Developer Summit

Well, on Saturday I fly out to San Francisco with Scott James Remnant for the Ubuntu Developer Summit (UDS). As many of you will know, a bunch of specs have been suggested for the UDS, and I figured I should highlight some of the community based specs that some of you may be interested in. Remember, you can participate in these specs via the Internet, so you don’t have to be there in person. Some guys are working on the details about participation via the Internet, and they will appear on [this page](https://wiki.ubuntu.com/UbuntuDeveloperSummitMountainView/Participate) later this week.

These are the specs:

* **[Unifying LoCo Team Resources w/ Launchpad](https://features.launchpad.net/distros/ubuntu/+spec/unifying-loco-resources-with-launchpad)** – one of the problems with the current LoCo project is that many different teams need approximately the same resources (website, planet, mailing lists, user map etc). While many of these are unified, many are not. This spec is to unify these and use Launchpad to track additional information to make user groups more productive.
* **[Ubuntu Website Community Translations](https://features.launchpad.net/distros/ubuntu/+spec/ubuntu-website-community-translations)** – currently ubuntu.com is only available in English. An interesting possibility is to feed content from ubuntu.com into Rosetta and have our awesome LoCo collective translate the website. This then provides an excellent, centralised, multi-lingual resource at ubuntu.com, and makes our LoCo community central to that.
* **[Measuring Community Output](https://features.launchpad.net/distros/ubuntu/+spec/measuring-community-output)** – our community are doing all sorts of interesting things, but if cannot measure what the community is doing effectively, it can be difficult to direct attention to this good work and explore other opportunities. This spec is to discuss ideas and methods in which we can measure how well the community works, and to make it as effortless and flawless as possible.
* **[LoCo Mentoring](https://features.launchpad.net/distros/ubuntu/+spec/loco-mentoring)** – a while back a mentoring test occurred in which the .nz team were mentored by the .au team and it was very successful. This initial pilot was intended to test the scheme but to also get information and feedback about how the process worked to open it out on a wider scale. This session will discuss that feedback and how to develop a general LoCo mentoring programme.
* **[Coordinating with Country Teams](https://features.launchpad.net/distros/ubuntu/+spec/country-teams)** – the LoCo system has given us a good way to encourage local groups to form that perform advocacy, training, education, awareness and translation services to the Ubuntu community. We need to formalise our relationship with “countries”, though, so that we have a dedicated point of contact for the country, especially in the case where there are many LoCo teams in a given country. In particular we need a way to coordinate issues of language and translation, so this spec may turn into something as part of the translation leadership discussion.
* **[Ways to make bug reporting easier and more natural](https://features.launchpad.net/distros/ubuntu/+spec/community-bug-reporting)** – bug reporting is essential to Ubuntu, but many users and contributors don’t report enough. This spec is to discuss how to get more people submitting bug reports – community awareness, better docs, improving our systems, better education, encouraging people to test Ubuntu more effectively etc. The aim is to flesh out a roadmap to to improve education and make bug reporting better for the community.
* **[New developer approval process](https://features.launchpad.net/distros/ubuntu/+spec/new-developers)** – currently, new developers need to be reviewed and approved by the Technical Board before they can join the MOTU or core development teams. We would like to review this process to make it more efficient while retaining an emphasis on quality and skills in the developer team. We need to free the Tech Board to focus on architectural and feature planning issues, and develop systematic competence in mentoring, code review and developer approval in a dedicated process.
* **[Membership management](https://features.launchpad.net/distros/ubuntu/+spec/membership)** – the Ubuntu Membership are the superset of serious contributors to Ubuntu across all fields – advocacy, organisation, development, translation, documentation, artwork and so on. At the moment, the membership process is bottlenecked on the Community Council, and we would like to finalise a plan to delegate membership to teams closer to the working groups.
* **[Local community teams](https://features.launchpad.net/distros/ubuntu/+spec/loco-teams)** – the LoCo team system has been positive but is at this stage in a state of some disarray, with confusion over standards and expectations of governance, web infrastructure, support, translation, coordination etc. This topic is a placeholder for the discussion and the plan as to how we make that better.
* **[Ubuntu forums governance](https://features.launchpad.net/distros/ubuntu/+spec/forums-governance)** – we have been working with the Forums admins and moderators to bring the Forums governance into the formal Ubuntu system, with the admins and moderators accountable to the Community Council for this such as the Code of Conduct in the Forums. This topic is a placeholder for the discussion and the final description of the forums governance structure.
* **[2006 Community Council Nominations](https://features.launchpad.net/distros/ubuntu/+spec/cc-nominations)** – The Community Council and other leaders in the Ubuntu community will discuss candidates for nomination to the CC for 2006. we have a number of changes lined up, with some terms expiring, and a general need to expand the CC.

I will also be involved in various other specs, particularly to do with multimedia. And of course, there will be plenty of discussions in corridors, dinners and other places that will no doubt feed into additional specs, ideas and thoughts.

Don’t trust him

Highlight your fave open musician

This is an important blog post, and *everyone* should read it and think about it. That includes you, who is already tempted to skip over this blog post and read bash.org. Shame on you. Think of the children….

The whole ethos behind Jokosher is about making music production simple with Open Source, but part of this process is highlighting the great work of musicians who make music that is freely available, typically under the Creative Commons. We kicked this off in Jokosher 0.1 by including everyone’s favourite 80s robot imitation, J5, in our New Project dialog box. The photo of J5 was taken at GUADEC.

So, with 0.2 coming up soon, we want to put another notable musician with this open ethos into the dialog box. This is where we need your help. Let us know (reply to this blog entry, talk to us in the IRC channel, use the mailing list, shout out of a window) which musician you feel needs highlighting, and which photo we should use of them. Naturally, this photo will need to be under the same license as Jokosher (GPL v2) for inclusion, and you just let us know exactly why that person should be chosen. How have they helped the availability of *free* music?