PostgreSQL 9.0 RC1 available for testing

PostgreSQL 9.0 with a whole lot of new features and improvements is nearing completion. The first release candidate was just announced.

As with the beta versions, I uploaded RC1 to Debian experimental again. If you want to test/use them on Ubuntu 10.04 (Lucid Lynx), you can get packages from my “PostgreSQL backports for stable Ubuntu releases” PPA. Please let me know if you need them for other releases.

Just for the records, both Debian 6.0 “Squeeze” and Ubuntu 10.10 “Maverick Meerkat” will release and officially support 8.4 only, as 9.0 is too late for the feature freezes of both. Also, it will take quite some time to update all the packaged extensions to 9.0. As usual, 9.0 will be provided as official backports for both Debian and Ubuntu.

Happy testing!

Tags: , , ,

Klettersteig, Level 2

Vor etwa einem Jahr war ich auf meiner ersten Klettersteigtour auf dem Innsbrucker Klettersteig, was mich damals schon recht beeindruckt hat. Dieses Jahr haben wir, d. h. mein Vater, mein Schwager, und ich, die Schwierigkeit um ein oder zwei Stufen erhöht, und sind letzten Samstag auf den Elferkofel geklettert.

Die Tour begann an der Seilbahn-Bergstation in Neustift, wo wir zunächst ein mal eine Handvoll Paraglider-Fans beim konzentrierten Entfitzen und Sortieren der Schnüre und Planen beobachteten. Diesen bunten Schirmen sahen wir tagsüber so ziemlich überall, es muss dort eine prima Thermik herrschen.

Am Anfang stand erst einmal ein etwa 80minütiger strammer Aufstieg, so dass wir beim Beginn der Kletterfelsen schon ganz gut durchgewärmt waren. Wir begannen schon so zeitig wie möglich – die Seilbahn öffnet um 8:30 Uhr – aber die Vorhersagen für den bisher wärmsten Tag des Jahres (bis 38 Grad in München) waren nicht übertrieben, und selbst in so großer Höhe war es noch sehr gut warm.

Dann standen wir vor einer fast senkrechten Wand, wo der Kletterspaß begann. Nun standen etwa vier Stunden Felsen, Seile, Haken, und Ösen vor uns, mit einigen Schwierigkeiten meisterten wir sie alle. Zum Glück waren nicht allzu viele Leute unterwegs, so dass wir uns Zeit lassen konnten. Insbesondere manche Abstiege hatten es ganz schön in sich, ich sympathisiere mit jeder Katze im Baum! Die Aussicht dabei war wieder mal gigantisch: Bizarre Felsen, die manchmal wie willkürlich übereinandergestapelt aussahen und manchmal durch Abstürze in tiefere Felsspalten eingeklemmt waren, und dazwischen vertikale Steilwände. All das umgeben von einem herrlichen Alpen-Gebirgspanorama. Siehe Fotos, Bilder sagen mehr als tausend Worte.

Am Schluss der Elferspitze und des Elferkofels liefen wir dann wieder per pedes den Abstieg zurück zur Seilbahn, wo wir dann gut durchgeschwitzt und fußmüde ankamen. Ach ja, ein Eis und einen kühlen Saft gab es zwischendurch noch auf der Hütte. :-)

Ich freue mich schon auf nächstes Jahr!

Tags: , , , , ,

Apport crash processing now enabled for Maverick

The Debian import freeze is settled, the first rush of major changes went into Maverick, and the dust now has settled a bit. Thus it’s time to turn back some attention to crashes and quality in general.

This morning I created maverick chroots for the Apport retracers, and they are currently processing the backlog. I also uploaded a new Apport package which now enables crash reporting by default again.

Happy segfaulting!

Tags: , , , , , , ,

gudev Vala bindings

I just learned about vapigen to build a Vala .vapi interface from gobject introspection. Unfortunately it seems that through the way of g-ir-scanner some information gets lost and gir cannot transmit information such as the semantics of arrays (null-terminated or with length, etc.). I played with a “metadata” file for an hour (as described upstream), but it seems to be ignored entirely.

So for now I committed a manually adjusted vapi for gudev. This now makes it easy to write code that queries and listens to udev in Vala.

Small example:

using GUdev;

void
print_device(GUdev.Device d)
{
    stdout.printf("%s → %s\n", d.get_device_file(), d.get_sysfs_path());
    foreach (string s in d.get_device_file_symlinks())
        stdout.printf("  link: %s\n", s);
}

void
on_uevent(GUdev.Client client, string action, GUdev.Device dev)
{
    stdout.printf("[%s] ", action);
    print_device(dev);
}

int main(string[] args)
{
    var uc = new GUdev.Client({"usb"});

    print_device(uc.query_by_device_file(args[1]));

    stdout.printf("---- all block devices ---\n");
    GLib.List devs = uc.query_by_subsystem("block");
    foreach (GUdev.Device d in devs)
        print_device(d);

    stdout.printf("---- usb events ---\n");
    uc.uevent.connect(on_uevent);
    new GLib.MainLoop().run();
    return 0;
}

Build with valac --pkg gudev-1.0 udev.vala, and perhaps specify --vapidir if you keep the gudev-1.0.vapi file somewhere locally.

Update: I reverted the commit upstream for now, since Vala 0.8 already ships a gudev vapi. I must have overlooked that when I played with vapigen.. In the long run it’s probably better to generate vapis in the projects themselves to avoid API skew, but as long as the vapi can’t be generated automatically it does not make sense to have it in udev. Above code was updated for the vala provided one (which is lacking a return type specification for query_by_subsystem()).

Tags: , , ,

Celebrating the 1000th postgresql-common commit

I just did the 1000th commit of postgresql-common, the Debian/Ubuntu PostgreSQL management utilities. Wow, what started as a small hack in December 2004 to be able to install several major PostgreSQL versions in parallel has turned out to be a > 600 kB project providing a comprehensive tool set for uniformly setting up, upgrading, and maintaining PostgreSQL database instances from version 7.4 up to the just announced 9.0 beta-1, with a comprehensive test suite that I’m really proud of (it tests just about every aspect, option, and corner case of the installation, integration, upgrade, locale support, and error handling, and takes about half an hour on my system).

The actual commit is rather dull though, it’s just the release/upload tag for version 107 which I just uploaded to Debian unstable (it will hit Ubuntu maverick and backports soon). 107 introduces support for PostgreSQL 9.0, and I fixed up the scripts and tests enough so that all the tests pass now, and thus it’s good for public release.

I also uploaded the 9.0 beta 1 server itself now. It’ll be in Debian’s NEW queue for a bit, and hit experimental in a few days (or hours; recently the ftpmasters have been awesome!) It has a few cool new features (see the announcement), and upstream really appreciates testing and feedback. So, bug reports appreciated!

In particular, if you have existing 8.4 clusters you can just try to pg_upgradecluster them to 9.0 beta 1. Remember, if anything goes wrong, the cluster of the previous version is still intact and untouched, so you can run upgrades as many times as you like and only pg_dropcluster the old one when you’re completely satisfied with the upgrade.

Tags: , , , , ,

Viva Bavaria!

Netti WG-Zimmer

“Grüß Gott!” zusammen aus dem Land südlich des Weißwurstäquators! Auch wenn ich selbige Würste bisher noch nicht verkosten konnte, steht dies ganz oben auf dem Programm!

Ich bin am Samstag gut in München angekommen, wo mich Netti gleich am Hauptbahnhof abgeholt hat. Da wir nun schon mal im Zentrum waren, haben wir die Zeit auch gleich für einen Spaziergang über den Viktualienmarkt und dann für eine Stunde Stadtrundfahrt genutzt, um schon mal einen Überblick zu bekommen. Das richtige bajuvarische Lebensgefühl stellte sich dann im Englischen Garten ein, der bei diesem tollen Sommerwetter natürlich gut gefüllt war. Insbesondere natürlich der Biergarten, mit stimmungsvoller Musik, vielen “Moaß”, und Brezeln die gefühlte 10 Kilo schwer sind (wir haben uns allerdings mit einem Krautsalat und Eis begnügt :-) ).

Nettis WG-Zimmer ist klein aber fein; meine Luftmatratze passt auch perfekt zwischen Bett und Kommode, und sonst ist mittlerweile auch alles drin was rein soll. Dafür ist bei 8 Frauen im Haus auch immer was los! Und es ist richtig schön gelegen, viel Grün in der Nähe in dem man herrlich spazieren und auch laufen gehen kann (Das hab ich heute morgen gleich mal ausprobiert. Wenn man schon mal auf Taekwondo verzichten muss..)

Gestern am Sonntag war es dann so richtig tolles Sommerwetter. Der erste Tag im T-Shirt und Sandalen, juchuu! Wir haben den Zoo besucht, und danach die Auer Dult, ein süßer und gut besuchter Markt mit Volksfest (siehe Fotos).

Zoo Muenchen - Elefant

Ab heute geht es dann wieder etwas mehr seinen gewohnten Gang. Ich habe mir in Nettis Zimmer mein Büro eingerichtet (aka den Laptop aufgeklappt) und bin fleissig dabei, Ubuntu 10.04 den letzten Schliff zu verleihen, bevor es dann am Donnerstag vom Stapel läuft.

Tags: , ,

Auf in ein neues Jahrzehnt


Es ist mal wieder diese Zeit im Jahr – und diesmal ist es gleich die Grosse Drei-Null, die mich gestern heimsuchte!

Netti hat mir einen gaaanz tollen und leckeren Schokokuchen gebacken, mit weissen Schokoladenplätzchen mit einem Kinderfoto von mir drauf. Über die philosophischen Konsequenzen, seine eigene Jugend aufzuessen, muss ich mir noch tiefere Gedanken machen, zunächst hab ich mir es erstmal schmecken lassen.

Der gestrige Tag ist auch eine gute Gelegenheit für einen Rückblick. In den vergangenen zehn Jahren ist ja doch einiges passiert, einige Höhepunkte die mir einfallen:

  • 2001 hab ich die Frau meines Lebens getroffen. Danke Netti! Ich liebe Dich!
  • 2004 schloss ich mein Informatikstudium mit einem tollen Diplom ab. Ich lernte viele interessante Leute, neue Tätigkeiten, und neues Wissen kennen.
  • Ebenfalls 2004 bekam ich meinen ersten “richtigen” (Vollzeit-)Job bei Canonical, um aus meinem langjährigen Hobby einen Beruf zu machen. Go, Ubuntu, go!
  • 2005 war ich das erste (und bisher einzige) Mal in meinem Leben auf der anderen Seite des Planeten in Sydney, Australien.
  • 2006 habe ich meine erste Taekwondo-Gürtelprüfung bestanden (8. Kup, gelb)
  • 2007 schließlich heiratete ich meine Traumfrau. Danke, Netti!
  • 2009 meine erste Klettersteig-Tour.

Mal sehen, was das nächste Jahrzehnt so bringt. Kinder? Umzug in eine andere Stadt wenn Netti nächstes Jahr mit dem Studium fertig wird? Reicht es noch zum Taekwondo-Meister? Die Zukunft bleibt spannend, und ich freue mich darauf!

Tags: , ,

PostgreSQL bug fix releases up for testing in Ubuntu

PostgreSQL did microrelease updates three weeks ago: 8.4.3, 8.3.10, and 8.1.20 are the ones relevant for Debian/Ubuntu. There haven’t been reports about regressions in Debian or the upstream lists so far, so it’s time to push these into stable releases.

The new releases are in Lucid Beta-2, and hardy/jaunty/karmic-proposed. If you are running PostgreSQL, please upgrade to the proposed versions and give feedback to LP #557408.

Updates for Debian Lenny are prepared as well, and await release team ack.

On a related note, I recently fixed quite a major problem in pg_upgradecluster in postgresql-common 106: It did not copy database-level ACLs and configuration settings (Debian #543506). Fixing this required some reenginering of the upgrade process. It’s all thoroughly test case’d, but practical feedback would be very welcome! Remember, if anything goes wrong, the cluster of the previous version is still intact and untouched, so you can run upgrades as many times as you like and only pg_dropcluster the old one when you’re completely satisfied with the upgrade.

Thanks,

Martin

Tags: , , , , ,

ubuntu-bug audio

Thanks to the work of David Henningsson, we now have a proper Apport symptom for audio bugs. It just got updated again to set default bug titles, which include the card/codec name and the problem, so that Launchpad’s suggested duplicates should work much more reliably.

So from now on you are strongly encouraged to report sound problems with

$ ubuntu-bug audio

instead of trying to guess the package right.

Tags: , , , , , , ,

GNOME commit powers

I finally listened to Sebastien Bacher and applied for GNOME commit rights yesterday, after hassling Seb once more about committing an approved patch for me. Surprisingly, it only took some 4 hours until my application was approved and my account created, wow! Apparently 71 patches are enough. :-)

With my new powers, I fixed a crash in gdm, and applied two stragglers into gvfs’ build system today.

More to come!

Tags: , , , , ,