Messing with the website

I finally got around to committing the code that I've been sitting on for the website. Hopefully, it shouldn't have much visible results for the end user (it's designed to look just the same), but it fixes several of the issues that used to be in the code:

  • Instead of including pages all over the place, each page is now it's own class, which is auto-loaded. It consists of a couple of virtual methods, that make it possible to actually use return in the code, instead of having to build insane if-else-ladders

  • Uses proper exception handling to deal with errors. So now we actually output http error codes when things break, instead of outputing a status code of ok with a text of "error: this or that". This is very important given that the mirror script will now not overwrite the entire site with empty pages in case things break - instead, it'll just leave the last working version alone.

  • Language code for translating news, events, quotes etc is fixed and appears to actually work now. It's a much-talked-about feature that it seems pretty much nobody has been using. But at least it's not broken anymore.

  • Loads and loads of code cleanup and minor bug fixes.

Given that it's a huge commit, I'm sure I managed to break something. If you spot something that's obviously broken and that used to be ok, please drop me a line so I can fix it.

Linuxforum roundup

So I'm back home from Linuxforum in Copenhagen. As usual, a very good conference, with many interesting talks. And we were well isolated from the riots that took place in parts of the city - barely noticed them. If you have a chance to go next year, you definitely should! It's not even expensive...

Noticeably absent from the whole thing, both talk and booth-wise, was MySQL. I have no idea why. Nice to see that Ingres had a talk, now that they're open sourced - and a very interesting one regarding open vs closed source in enterprise environments.

My talk was Saturday afternoon, and went pretty well I think. The room was more or less full - which was a good thing given that it meant a lot of people were interested, and a bad thing because there was pretty much zero ventilation in the room. My chairman almost fell asleep, but at least I didn't notice anybody else doing so.

The questions aside from the actual talk were mostly the usual one. One interesting thing to notice is that both me and the Ingres guy got a question about CONNECT BY. And neither of our databases have it (yet). It's possible they were from the same guy though - I didn't get a look at him during the Ingres talk.

Anyway, a big thanks to the coord team for having me over again this year - I had a great experience! And thanks to the other speakers with whom I spent a lot of time. Hope to see you all again next year!

Thank you JPUG!

The JPUG conference yesterday here in Tokyo went really well, I think. As I've come to expect, a well arranged conference, and a lot of interested people there to listen.

For me the day started when I realized I had not finished my slides(!) The slides themselves were finished, but I had some highlighting to do (on the screen shot slides), and I had to polish a few minor things. So the time after breakfast was well spent on that. Around 11:30, Ishikawa-san came to pick me up at the hotel and we went to the SGI conference room where the talks were.

The conference itself started with Hiroshi-san doing a presentation on npgsql. He also showed a video of Francisco giving a welcome speak (originally Fransisco was supposed to be at the conference, but he was unfortunately not able to make it). Some minor technical issues, such as the video playback hanging and repeating one word over and over again, but still nice... Can't say much for Hiroshis talk, given that I didn't understand a word (other than the code slides), but as usual he was very persuasive...

After that, it was my turn. It was a pretty big crowd, about 100 people according to the numbers I heard (see picture, as seen from where I was standing). I think the talk went pretty well, and people did seem interested. I had a translator who translated everything I said into Japanese. I'm was quite impressed by her - she knew nothing about PostgreSQL (or really about technology in general), just the language. But the way she was able to remember a set of three to four sentences and then translate it all, with just a few very quick notes, was very impressive. And from what I heard, the translation was good - can't verify that myself, of course. Last time I spoke here (with Dave and Andreas) we were talking from transcripts that were translated beforehand. This time, the translation was live.

Once my talk was over, I had an interview with a reporter from Nikkei Business Publications about PostgreSQL on Windows in particular and some general things about PostgreSQL. Hopefully, it will turn into a nice article.

The rest of the day was spent with talks by Enomoto Atsushi (from Ximian/Novell) about ADO.NET in Mono, and by Jun Kuwamura about using PostgreSQL for LDAP on Windows. (picture as seen from my position in the back of the room, during the LDAP talk. I confess to checking my email during the talk) Again, I can't really speak for the contents of the talk, as I didn't understand much. But there were pretty screen shots...

Once we packed up after the conference, we went for a JPUG dinner at a place called something-or-other Beer Station. In English! I understood what it said on the door. And given that it said Beer station, what could I do but approve... We had a nice dinner, and many interesting people from JPUG to talk to. It's very interesting to hear about PostgreSQL usage here in Japan - in some ways, it's way ahead of Europe. Also had the chance to do some more specific troubleshooting with a couple of guys who had specific problems. After that we were off to a sake-bar in the evening for some further drink and food. Good times were had by all...

Finally, no post about this conference and the surrounding activities would be complete without a picture of the guys who made it happen, so here it goes. There were a lot of people involved in making this a great conference for the people visiting, and a great trip in general for me, but these were AFAIK the main guys arranging it - Hiroshi Saito and Toshiyuki Ishikawa. So to you, and to all the others who helped out with it, a very big thank you! I've had a great time so far, and I'd certainly love to come back another time

With that, i have a meetup with Michael Glaesemann tonight, and then it's off to the airport tomorrow for one of those lovely way-too-long flights back home. I hope there are no unnecessary delays this time...

Hello JPUG

It wasn't without minor issues (FinnAir pilots got ill, had to replace crew, hello 2 hour delay. Missed bus at the airport, hello to another 45 minutes. Turned out the hotel was big enough to have three separate receptions - naturally, I didn't go to the right one), I managed to meet up with Hiroshi Saito at my hotel. It wasn't even too late for a quick lunch with him before he had to leave.

Got some email done, and some final polishing on my slides. Now I just need to figure out what to say...

Had dinner and a beer at the skybar. The Tokyo skyline is really impressive at night - especially for someone who lives in a country that has extremely few highrisers. And yes, I forgot my camera. Maybe another day.

The jetlag is starting to take it's toll now - I need to head to bed. It's about 28 hours ago since I got up "this morning"...

Tomorrow's the big day. See you in the reception, Ishikawa-san :-)

Google analytics makes pretty graphs

A couple of days ago, we enabled Google Analytics on the website (possibly temporary, haven't decided on that yet) to collect some statistics primarily about the languages our visitors have configured in their browsers. The method google uses (client-side javascript) makes it very easy to integrate in our distributed platform with 4 different mirrors handling the main site, spread across the world.

And I have to say, it certainly makes for some pretty graphs that I'm sure would impress the hell out of a lot of PHBs and market analysts. Take this, for example:

It shows the languages of people visiting the website, with a highlight on the people who prefer Japanese.

The statistics themselves are also very interesting - only (and I do think this is only) just over half the visitors have english configured as their primary language. No other languages are very big, but there are a lot of them (107 combinations in total). The most common other languages (German, Brazilian Portuguese, Japanese, Spanish, French) are not very surprising either, given how our community looks.

One interesting piece of statistics around the languages is that for the mailinglist archives, it's very different - English is of course even more common, almost all other languages are less common, but Spanish increases up to about 10%25. I have no explanation for this, but it's interesting..

When you instead look at the top URLs, there's some further interesting stuff going on:

Not surprising, the frontpage is the most loaded page. And the main docs page is second, with a couple of different download links following that. However, in 7th place with 1.6%25 of the total pagehits is the download for 8.2.3 win32 binaries. That's more than the people browsing for source, let alone those who download it. And this does not include the people who just grab it from their local mirror. Interesting.

The final piece of statistics today will be browsers and platforms used. First, browser:

Not really surprising, Firefox is the big leader, with well over 50%25. Internet Explorer has about a third of our visitors. Most other browsers are very small.

Now, moving on to platforms:

Slightly more surprising here. Even though PostgreSQL is very Unix-centric, we still have almost three quarters of our visitors using Windows. Unlike many other sites, though, we have a lot more Linux users than Mac - but that comes with the usage pattern.

We've also got NTT DoCoMo showing up as a top browser, which is also interesting. I beleive that's a mobile phone browser used in Japan. Our site is definitly not mobile-adapted, but obviously good enough for some.

That ends todays list of (possibly meaningless) statistics and pretty graphs.

Todays funny quote from the lists

This one was just so good I had to put it here - if you're already reading the pgsql-general list, just ignore this post. On a thread about stupid benchmarks (comparing databases with default settings without changing anything, comparing MyISAM with a transactional engine, etc), Tom Lane gave us this gem:

I think it's a fine analogy, precisely because they're both good in their respective problem domains. Try to carry 500 people from Los Angeles to Tokyo in an F-15. No? Try to win a dogfight in a 747. No? But they both fly, so it must be useful to compare them... especially on the basis of the most simplistic test case you can think of. For extra points, use only one test case. Perhaps this paper can be described as "comparing an F-15 to a 747 on the basis of required runway length".

That's a good one, Tom! And can we please have proper benchmarks instead of this kind. (I'm intentionaly not linking to the actual benchmark in question)

And so it begins

This is an indication of the first patch I've committed directly to the PostgreSQL source tree. Yes, that means I'm now a committer, something I find very exciting. It will give me a lot of opportunities to make brand new kinds of mistakes. Hopefully I will also be able to help take the load off the other committers as well.

To the guys who decided - thanks for the vote of confidence! I'll try not to mess up /mha/templates/default/img/emoticons/smile.png alt=":-)" style="display: inline; vertical-align: bottom;" class="emoticon" /

Fixed security releases out now

Unfortunately, the security releases published monday had a pretty bad regression in them that broke a lot of scenarios, affecting 8.0, 8.1 and 8.2. New releases out today fixes this.

So. If you installed the security fix Monday, be sure to get the new version. If you didn't, be even more sure to get the new version so you get the security fix!

Most of the major distributions have updated their packages with the fixed fixes by now, but make sure yours does - you might need to wait a day or two in some cases.

Docbot integration with websearch

Robert has committed the code to integrate the docbot (familiar to users in the #postgresql IRC channel) with the web search. Basically it does a very simple keyword matching against a limited set of keywords, and presents those hits before we show the full-text searches. Try it out for example by searching for lock.

Hopefully this will help out when people search for really ambigous things (like lock in the example) where a full text search can give too many and too unrelated results.

Thanks, Rob, now I didn't have to do that. But I'll steal your fame by blogging about it first.

Going home

I'm currently at the airport waiting for my flight home from SolutionsLinux (I really like how you an finally expect an airport to have proper wireless coverage in all seating areas in an airport, and not just a tiny wireless hotspot with 5 seats and 200 people. About time. It's not free yet, but hopefully that will also happen)

In summary, it was a really great show. Lots of interesting people to chat with, both from "the team" (meaning the postgresqlfr guys, Devrim, Greg and Heikki - group picture in Guillaumes blog), people in the other booths and the people who came to visit our booth. There were a lot of interesting situations people brought up that they needed help with. Everything from configuring tsearch2 for special-case usage in french (I learned a little more about the French language, but mostly that I really don't know enough about the language to help with that. And I could learn a few more things about tsearch2 as well there) to tuning postgresql and stored procs for loading large amounts of data (no, it's not acceptable that it takes 2-3 months to load six million rows of master data and related subdata, even if you do a whole lot of checks on it). Hopefully we could be of help to some of these people, and managed to refer the rest of them to the proper place to ask more.

I would also like to add that I think the business/non-profit mix in the PostgreSQL booth worked really well. I've heard some people who have concerns about PostgreSQL company representatives (in this case, Dalibo, CommandPrompt and EnterpriseDB) manning a non-profit booth. But really, I see no problem. They are all in "community first" mode. Sure, they get to hand out their little flyers and business cards (of course they do!), but the primary work is to help the users as a part of the community. I can see how people can feel it could be a problem in theory, but if you work with the right people (which I have the feeling that we generaly do in the PostgreSQL community, given the representatives I've met from the pg companies - both now and earlier) it's just not going to be a problem in reality. (But Greg, pouring coffee over the competition may not be an acceptable thing. Try not to make a habit out of it)

So to sign off from that, a big thanks to the french people at postgresqlfr for inviting me and making me feel really welcome here, to Dalibo for taking care of the travel costs, to Devrim for a nice couple of days hanging out, and to all the people I met here for having a great time! I will definitely do this again next year if given the chance /mha/templates/default/img/emoticons/smile.png alt=":-)" style="display: inline; vertical-align: bottom;" class="emoticon" /

Oh, and some free marketing for these guys for providing free wireless internet so we could communicate with the world, since our hotel didn't have one (hello, Gavin).


I speak at and organize conferences around Open Source in general and PostgreSQL in particular.


PGConf.DEV 2024
May 28-31, 2024
Vancouver, Canada


PGDay Chicago 2024
Apr 26, 2024
Chicago, USA
SCaLE 2024
Mar 14-17, 2024
Pasadena, USA
Nordic PGDay 2024
Mar 12, 2024
Oslo, Norway
Feb 2-4, 2024
Brussels, Belgium
PGConf.EU 2023
Dec 12-15, 2023
Prague, Czechia
More past conferences