<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Martin Pitt &#187; conference</title>
	<atom:link href="http://www.piware.de/tag/conference/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.piware.de</link>
	<description>addicted to Ubuntu development</description>
	<lastBuildDate>Fri, 03 Feb 2012 07:03:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Happy Birthday Ubuntu!</title>
		<link>http://www.piware.de/2011/10/happy-birthday-ubuntu/</link>
		<comments>http://www.piware.de/2011/10/happy-birthday-ubuntu/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 07:40:41 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[anniversary]]></category>
		<category><![CDATA[birthday]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[oxford]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[uds]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=526</guid>
		<description><![CDATA[7 years ago, The Ubuntu 4.10 &#8220;The Warty Warthog&#8221; was announced. A huge congrats to the community, Canonical, and especially Mark for getting so far from &#8220;there&#8221; to &#8220;here&#8221;. This brings back old memories of my first conference in Oxford in August, the great-great-grandfather to what is UDS these days. Back then, there was no [...]]]></description>
			<content:encoded><![CDATA[<p>7 years ago, The <a href="https://lists.ubuntu.com/archives/ubuntu-announce/2004-October/000003.html">Ubuntu 4.10 &#8220;The Warty Warthog&#8221;</a> was announced. A huge congrats to the community, Canonical, and especially Mark for getting so far from &#8220;there&#8221; to &#8220;here&#8221;.</p>
<p>This brings back old memories of my first <a href="http://piware.de/fotos/Warthogs-Conference-Aug2004/07%20-%20Warty%20Hack%20room.html">conference in Oxford in August</a>, the great-great-grandfather to what is UDS these days. Back then, there was no company, no Launchpad, no Blueprints, no work items, no detailled plans, just a bunch of ideas, BoFs, and this was a third of the <em>entire</em> crowd:</p>
<p><a href="http://piware.de/fotos/Warthogs-Conference-Aug2004/.slide_07%20-%20Warty%20Hack%20room.jpg"><img alt="Warty Hack Room" src="http://piware.de/fotos/Warthogs-Conference-Aug2004/.slide_07%20-%20Warty%20Hack%20room.jpg" title="Warty Hack Room" width="300"/></a></p>
<p>Back then we worked on the famous TRLS technology (&#8220;Totally Rad Laptop Support&#8221;) and were proud when we got the ThinkPads to suspend once. During that conference I wrote <a href="http://packages.debian.org/sid/pmount">pmount</a> to provide automatic mounting of USB sticks in a safe manner. Those were the days&#8230; <img src='http://www.piware.de/wp/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>But I can also safely say that there are some things that haven&#8217;t changed. Even though both the community and the company (which changed away from <code>www.no-name-yet.com</code> recently) grew by two magnitudes since then, we still have the same serious attitude, stern look, and formal attire as we had back then:</p>
<div class="wp-caption alignnone" style="width: 310px"><a href="http://piware.de/fotos/Warthogs-Conference-Aug2004/.slide_06%20-%20Rob%2C%20Daniel%2C%20Scott%2C%20Jeff.jpg"><img alt="We are professionals, really!" src="http://piware.de/fotos/Warthogs-Conference-Aug2004/.slide_06%20-%20Rob%2C%20Daniel%2C%20Scott%2C%20Jeff.jpg" title="We are professionals, really!" width="300"/></a><p class="wp-caption-text">We are professionals, really!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2011/10/happy-birthday-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Na zdraví PyGI!</title>
		<link>http://www.piware.de/2011/01/na-zdravi-pygi/</link>
		<comments>http://www.piware.de/2011/01/na-zdravi-pygi/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 10:44:20 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[brmlab]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gobject-introspection]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[hackfest]]></category>
		<category><![CDATA[prague]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[pygobject]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=435</guid>
		<description><![CDATA[(Update: Link to Tomeu&#8217;s blog post, repost for planet.gnome.org) Last week I was in Prague to attend the GNOME/Python 2011 Hackfest for gobject-introspection, to which Tomeu Vizoso kindly invited me after I started working with PyGI some months ago. It happened at a place called brmlab which was quite the right environment for a bunch [...]]]></description>
			<content:encoded><![CDATA[<p>(<strong>Update:</strong> Link to Tomeu&#8217;s blog post, repost for <a href="http://planet.gnome.org/">planet.gnome.org</a>)</p>
<p>Last week I was in Prague to attend the <a href="http://live.gnome.org/Hackfests/Python2011">GNOME/Python 2011 Hackfest for gobject-introspection</a>, to which Tomeu Vizoso kindly invited me after I <a href="http://www.piware.de/2010/11/gtk-3-0gir-application-porting-successes-and-problems/">started working with PyGI some months ago</a>. It happened at a place called <a href="http://brmlab.cz/place">brmlab</a> which was quite the right environment for a bunch of 9 hackers: Some comfy couches and chairs, soldering irons, lots of old TV tubes, chips, and other electronics, a big Pirate flag, really good Wifi, plenty of Club Mate and Coke supplies, and not putting unnecessary effort into mundane things like wallpapers.</p>
<p>It was really nice to get to know the upstream experts John (J5) Palmieri and Tomeu Vizoso (check out <a href="http://blog.tomeuvizoso.net/2011/01/wrap-up-python-gnome-hackfest-2011.html">Tomeu&#8217;s blog post</a> for his summary and some really nice photos). When sitting together in a room, fully focussing on this area for a full week, it&#8217;s so much easier to just ask them about something and getting things done and into upstream than on IRC or bugzilla, where you don&#8217;t know each other personally. I certainly learned a lot this week (and not only how great Czech beer tastes <img src='http://www.piware.de/wp/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )!</p>
<p>So what did I do?</p>
<h3>Application porting</h3>
<p>After already having ported four Ubuntu PyGTK applications to GI before (<a href="https://launchpad.net/apport">apport</a>, <a href="https://launchpad.net/jockey">jockey</a>, <a href="https://launchpad.net/aptdaemon">aptdaemon</a>, and <a href="https://launchpad.net/language-selector">language-selector</a>),<br />
my main goal and occupation during this week was to start porting a bigger PyGTK application. I picked <a href="http://cyberelk.net/tim/software/system-config-printer/">system-config-printer</a>, as it&#8217;s two magnitudes bigger than the previous projects, exercises quite a lot more of the GTK GI bindings, and thus also exposes a lot more GTK annotation and pygobject bugs. This resulted in a new <a href="http://git.fedorahosted.org/git/?p=system-config-printer.git;a=shortlog;h=refs/heads/pygi">pygi s-c-p branch</a> which has the first 100 rounds of &#8220;test, break, fix&#8221; iterations. It now at least starts, and you can do a number of things with it, but a lot of functionality is still broken.</p>
<p>As a kind of &#8220;finger exercise&#8221; and also to check for how well pygi-convert works for small projects now, I also <a href="https://code.launchpad.net/~pitti/computer-janitor/pygi/+merge/46779">ported computer-janitor</a>. This went really well (I had it working after about 30 minutes), and also led me to finally <a href="http://git.gnome.org/browse/pygobject/commit/?id=7a0548dbfbdfe481f75315b6bc7824a9f1a8a87b">fixing</a> the unicode vs. str mess for GtkTreeView that you got so far with Python 2.x.</p>
<h3>pygobject and GTK fixes</h3>
<p>Porting system-config-printer and computer-janitor uncovered a lot of opportunities to <a href="http://git.gnome.org/browse/pygobject/log/pygi-convert.sh?qt=author&amp;q=martin.pitt">improve pygi-convert.sh</a>, a big &#8220;perl -e&#8221; kind of script to do the mechanical grunt work of the porting process. It doesn&#8217;t fix up changed signatures (such as adding missing arguments which were default arguments in PyGTK, or the ubiquitous &#8220;user_data&#8221; argument for signal handlers), but at least it gets a lot of namespaces, method, and constant names right.</p>
<p>I also fixed three <a href="http://git.gnome.org/browse/gtk+/log/?qt=author&amp;q=martin.pitt">annotation fixes in GTK+</a>. We also collaboratively reviewed and tested <a href="http://git.gnome.org/browse/gtk+/log/?qt=author&amp;q=Pavel+Holejsovsky">Pavel&#8217;s annotation branch</a> which helped to fix tons of problems, especially after Steve Frécinaux&#8217;s excellent <a href="http://git.gnome.org/browse/pygobject/commit/?id=f0a0b6c2eda89622de2b1e5ebb6a48103ad72a42">reference leak fix</a>, so if you play around with current pygobject git head, you really also have to use the current GTK+ git head.</p>
<p>Speaking of which, if you want to port applications and always stay on top of the pygobject/GTK development without having to clutter your package system with &#8220;make install&#8221;s of those, it works very well to have this in your ~/.bashrc:</p>
<pre>export GI_TYPELIB_PATH=$HOME/projects/gtk/gtk:$HOME/projects/gtk/gdk
export PYTHONPATH=$HOME/projects/pygobject</pre>
<h3>Better GVariant/GDBus support</h3>
<p>The GNOME world is moving from the old dbus-glib python bindings to GDBus, which is integrated into GLib. However, dbus-python exposed a really nice and convenient way of doing D-Bus calls, while using GDBus from Python was hideously complicated, especially for <a href="https://bugzilla.gnome.org/show_bug.cgi?id=639939">nontrivial arguments</a> with empty or nested arrays:</p>
<pre>from gi.repository import Gio, GLib
from gi._gi import variant_type_from_string

d = Gio.bus_get_sync(Gio.BusType.SESSION, None)
notify = Gio.DBusProxy.new_sync(d, 0, None, 'org.freedesktop.Notifications',
    '/org/freedesktop/Notifications', 'org.freedesktop.Notifications', None)

vb = GLib.VariantBuilder()
vb.init(variant_type_from_string('r'))
vb.add_value(GLib.Variant('s', 'test'))
vb.add_value(GLib.Variant('u', 1))
vb.add_value(GLib.Variant('s', 'gtk-ok'))
vb.add_value(GLib.Variant('s', 'Hello World!'))
vb.add_value(GLib.Variant('s', 'Subtext'))
# add an empty array
eavb = GLib.VariantBuilder()
eavb.init(variant_type_from_string('as'))
vb.add_value(eavb.end())
# add an empty dict
eavb = GLib.VariantBuilder()
eavb.init(variant_type_from_string('a{sv}'))
vb.add_value(eavb.end())
vb.add_value(GLib.Variant('i', 10000))
args = vb.end()

result = notify.call_sync('Notify', args, 0, -1, None)
id = result.get_child_value(0).get_uint32()
print id</pre>
<p>So I went to making the GLib.Variant constructor work properly with <a href="http://git.gnome.org/browse/pygobject/commit/?id=6d8ff4d5bdda5480089543869535cc3ee83da2f5">nested types</a> and <a href="http://git.gnome.org/browse/pygobject/commit/?id=e97e28048efb966ecc1a03277d36cbaa81b8db7d">boxed variants</a>, adding <a href="http://git.gnome.org/browse/pygobject/commit/?id=b1a98083cdc50653e1d7bfb809bdf089f833df3d">Pythonic GVariant iterators and indexing</a> (so that you can treat GVariant dictionaries/arrays/tuples just like their Python equivalents), and finally a <a href="http://git.gnome.org/browse/pygobject/commit/?id=ecb9f824c503c529d43e585b4cdb4c1c9ab14593">Variant.unpack()</a> method for converting the return value of a D-Bus call back into a native Python data type. This looks a lot friendlier now:</p>
<pre>from gi.repository import Gio, GLib

d = Gio.bus_get_sync(Gio.BusType.SESSION, None)
notify = Gio.DBusProxy.new_sync(d, 0, None, 'org.freedesktop.Notifications',
    '/org/freedesktop/Notifications', 'org.freedesktop.Notifications', None)

args = GLib.Variant('(susssasa{sv}i)', ('test', 1, 'gtk-ok', 'Hello World!',
    'Subtext', [], {}, 10000))
result = notify.call_sync('Notify', args, 0, -1, None)
id = result.unpack()[0]
print id</pre>
<p>I also prepared another patch in <a href="https://bugzilla.gnome.org/show_bug.cgi?id=640181">GNOME#640181</a> which will provide the icing on the cake, i. e. handle the variant building/unpacking transparently and make the explicit call_sync() unnecessary:</p>
<pre>from gi.repository import Gio, GLib

d = Gio.bus_get_sync(Gio.BusType.SESSION, None)
notify = Gio.DBusProxy.new_sync(d, 0, None, 'org.freedesktop.Notifications',
    '/org/freedesktop/Notifications', 'org.freedesktop.Notifications', None)

result = notify.Notify('(susssasa{sv}i)', 'test', 1, 'gtk-ok', 'Hello World!',
            'Subtext', [], {}, 10000)
print result[0]</pre>
<p>I hope that I can get this reviewed and land this soon.</p>
<p><img class="alignleft" src="http://live.gnome.org/Travel/Policy?action=AttachFile&amp;do=get&amp;target=sponsored-badge-shadow.png" alt="" width="138" height="138" /></p>
<h3>Thanks to our sponsors!</h3>
<p>Many thanks to the <a href="http://foundation.gnome.org/">GNOME Foundation</a> and <a href="http://www.collabora.co.uk">Collabora</a> for sponsoring this event!</p>
<p><img src="http://www.collabora.co.uk/logos/collabora-logo-big.png" width="25%" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2011/01/na-zdravi-pygi/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Linux Plumbers Conference</title>
		<link>http://www.piware.de/2008/09/linux-plumbers-conference/</link>
		<comments>http://www.piware.de/2008/09/linux-plumbers-conference/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 20:42:55 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[lpc]]></category>

		<guid isPermaLink="false">http://martinpitt.wordpress.com/?p=21</guid>
		<description><![CDATA[I spent the last week in Portland, Oregon, at the Linux Plumbers Conference. Since several people asked, here is my travel report: Tuesday This was not an official conference day yet, I just arrived early due to flights being cheaper. I spent the entire day with the LinuxFoundation driver backports work group, with Ram Pai [...]]]></description>
			<content:encoded><![CDATA[<p>I spent the last week in Portland, Oregon, at the <a href="http://linuxplumbersconf.org/2008">Linux Plumbers Conference</a>.  Since several people asked, here is my travel report:</p>
<h3>Tuesday</h3>
<p>This was not an official conference day yet, I just arrived early due to flights being cheaper.</p>
<p>I spent the entire day with the LinuxFoundation driver backports work group, with Ram Pai (IBM), Jon Masters (Red Hat), and Andreas Gruenberger (Novell). Novell&#8217;s orginal member (Susanne Oberhauser) works on other projects now, so we gave a quick summary of the status quo, and the results from Austin to Andreas. We discussed some outstanding questions and the next steps, including</p>
<ul>
<li> online driver DB: per-distro and/or central, synchronization between them</li>
<li>various ways of using DKMS to build driver packages</li>
<li>various problems in drivers why they can&#8217;t/wouldn&#8217;t use the standard KBuild system</li>
<li>we finally need to get some whitepapers written to provide an end-to-end vision/tutorial about the entire driver workflow</li>
</ul>
<p>The afternoon was spent on hacking on the online device DB, which we almost, but not quite, got to talk correctly with Jockey.</p>
<h3>Wednesday</h3>
<p>I met a lot of people in the morning and had some casual chatting.</p>
<p>The keynote was done by Greg KH about an overview of the Linux ecosystem, which was by and large how many patches various contributors got into Linux, binutils, gcc, and other low-level stuff (e. g. dbus was already too high in the stack to be considered), and half of his presentation was bashing Canonical for how they not submit patches upstream. According to some critical questions from the audience, they took it with the right grain of salt. Nothing technically interesting here really, and the matter has been discussed at length in public now.</p>
<p>In the morning I attended half of the audio track. Lennart Poettering started with an overview of the current audio APIs and Pulseaudio, which was a nice summary. That was followed by a presentation of Takashi Iwai about current problems and plans in ALSA, and a following discussion; this was pretty much over my head, so I returned to the main room. Had some interesting one-to-one discussion there, amongst it with Simon McVittie about a <a href="https://bugs.freedesktop.org/show_bug.cgi?id=16668">dbus-glib bug</a> which has annoyed me a looong time and is a major blocker for Jockey/PackageKit integration. We did not find an easy workaround, unfortunately.</p>
<p>In the afternoon I listened to the presentation of various tracing and debugging technologies in current and future Linux. Roland McGrath pointed out why ptrace() is both badly written and hard to maintain, as well as not very convenient and flexible for userspace programs, and thus should get a replacement. He introduced &#8220;utrace&#8221;, a low-level kernel API which provides an abstraction of hardware capabilities and register access, and other low-level basics for tracing engines. It is not a replacement for ptrace itself; quoting him, &#8220;utrace is for a new tracing engine like the block device layer for file systems; it makes writing the latter tractable&#8221;. Next talk demonstrated improvements in &#8220;dynamic ftrace&#8221;, for run-time instrumentation of code to track kernel syscalls without measurable overhead; veeery deeply technical and utterly fast (time pressure), so it was very hard to follow. The following systemtap was more interesting for non-kernel-hackers like me; it is a very powerful system to track down bugs, which would probably help us in lots of situations (if only it would work out of the box on Ubuntu, we need to fix that).</p>
<p>In the early evening I listened to Linus Torvald&#8217;s git tutorial, mostly because it happened in the main hall and I hoped to understand some of the rather weir^Wunique design concepts. It was quite helpful for git noobs like me, who just have used git for and entire three commits so far. Honestly, this just reinforced my love to bzr, though.</p>
<p>After that we went to the Portland Art Museum for a cocktail/dinner party.</p>
<h3>Thursday</h3>
<p>Thursday&#8217;s keynote started off with Jonathan Corbet giving a summary of recent kernel development. Was nice to start us up in the morning, although nothing surprising here.</p>
<p>The following &#8220;boot and init&#8221; miniconf was really great. It started off with Arjan van de Ven demonstrating how to boot a netbook with Linux and XFCE in just 5 seconds. His general approach is fairly generic, although of course he has an advantage there by being able to make assumptions about the hardware, partitioning, and use cases. He was followed by a talk of Kyle McMartin who looked in to optimizing various stages of the current general disto boot process, which was very applicable to Ubuntu as well. There was a great amount of discussion going on, inter-distro cooperation at its finest <img src='http://www.piware.de/wp/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>It is nice to see that work and those talks fall into a time when we want to massively clean/speed up Ubuntu&#8217;s boot process as well.</p>
<p>I followed half of the afternoon session about power management on the OLPC in particular and Linux in general, but stopped when the more intricate implementation discussion happens. I rather had some random conversations and did some email catchup.</p>
<p>In the evening we had a dinner with us Canonical folks in an old brewery, which I enjoyed a lot.</p>
<h3>Friday</h3>
<p>Conference wise this only was a half day, which I spent in the desktop plumbing track. This consisted of William McCann introducing session management and the challenges of the ancient PAM/VT/NSS layers we still have to deal with, which resulted in some discussion of use cases and possible replacements. Scott followed with a mixed presentation/discussion session about upstart&#8217;s design goals, current status, and current ideas, which was received very well. In the end Marcel Holtman surprised me quite a bit with his annoucement of his work about integrating the D-BUS protocol and server functionality into the kernel itself, which would both help latency, ease implementation on the userspace side, and makes it more appropriate to rely on it even in upstart itself.</p>
<p>In the afternoon I met with Ram Pai again to work on the driver database. I got it up to the point where it would actually succeed in talking to Jockey \o/.</p>
<h3>Conclusion</h3>
<p>Although the conf was interesting for me, I could not contribute much, and the outcome/effort ratio was not too good for me personally.  So next year I&#8217;ll most probably not go again, and rather concentrate on the <a href="https://www.linuxfoundation.org/events/collaboration">LF collaboration summit</a>, which I <a href="http://www.piware.de/2008/04/07/howdy/">found much more productive</a> for the things I am working on. Seems that this is much more a home for people like Scott, who had a wealth of discussions and contributions.</p>
<p>Meeting my colleagues and other Linux hackers in person again was great, though, we had a good time together (including the jet boat tour on the Willamette river on Saturday <img src='http://www.piware.de/wp/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2008/09/linux-plumbers-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting ready for Austin</title>
		<link>http://www.piware.de/2008/04/hello-world-2/</link>
		<comments>http://www.piware.de/2008/04/hello-world-2/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 23:40:11 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[jockey]]></category>

		<guid isPermaLink="false">http://piware.de/blog/?p=47</guid>
		<description><![CDATA[I&#8217;m really looking forward to go to Austin next Saturday, for my first LinuxFoundation collaboration summit. I&#8217;m particularly interested in bringing forward the work of the Driver Backport workgroup, where my focus is on delivering drivers to the user.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m really looking forward to go to Austin next Saturday, for my first <a href="https://www.linux-foundation.org/events/collaboration">LinuxFoundation collaboration summit</a>. I&#8217;m particularly interested in bringing forward the work of the <a href="https://www.linux-foundation.org/en/Driver_Backport">Driver Backport</a> workgroup, where my focus is on <a href="https://launchpad.net/jockey">delivering drivers to the user</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2008/04/hello-world-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

