18 Feb 2007 robogato   » (Master)

Advogato Status Report

A new rev of mod_virgule code went live today. See the changelog for the details. Lots of minor bug fixes and a couple of more interesting changes. Even one hardware note: I've doubled the RAM on the server from 1GB to 2GB.

Long Lost Trust Certifications Restored

You may have noticed some additional inbound or outbound trust certifications on your page or slight changes in your certification level this week thanks to some repairs done to the XML datastore. This would be a good time to go through your certs and make sure you've certified everyone you want to and no one you don't want to.

Over the 8 years Advogato has been online, it has suffered through several semi-catastrophic events including disk failures and power supply failures. There was also a mod_virgule bug triggered under disk-full conditions that truncated many user account profiles a year or so ago. The result of these past catastrophies was the complete loss of a few user profiles and minor corruption of many others. Usually, enough of the profile XML file remained (or could be restored) to allow a user to log in but some or all of the trust metric certifications and other data were lost. For a while the corrupt profiles could cause mod_virgule to segfault during a trust metric update (that bug has been fixed for a while). The most noticeable side-effect is missing or incorrect certs on the profile page.

One of the interesting things about the way the trust certs are stored in the XML database is that each cert is recorded in the profile of both the issuer and subject. This means it's possible to reconstruct a lost cert provided one of the two records still exists. Well, I finally got a chance to write some code to do that. I've written a new mod_virgule function to analyze the user profiles, find these sorts of problems, and repair them when possible. In addition to restoring lost certs, the new code also looks for invalid XML, missing profiles, certs to or from non-existent accounts, and a few other forms of corruption that are known to occur occasionally.

The result?

1115 missing outbound certs records restored
1264 missing inbound certs records restored
17 other misc profile corruption problems fixed

One side effect of all this is that all those missing certs will now be included in the trust metric computations again. So there have probably been a few changes in certification levels.

Consistent Page Headers on the way

One persistent category of Advogato complaints I get is about the inconsistent page layout. Some pages have menus at the top, other pages have the menu at the bottom. Sometimes the menu is centered, sometimes it's right justified. Most pages don't have a logo or even the name of site on them, which makes it confusing if you arrive from a search engine anywhere but the index page. On the other hand I feel like I have to balance the need for an updated, consistent page layout with Advogato's historically minimal design. So I'll try to take things slow and not make any major changes overnight. I've created a standard page header and page layout that should address the consistency issues without drastically altering the appearance of the site.

Over time, I'll try to get the new header on every page so the site begins to look a little more consistent. There are still a few pages with hard-coded HTML generated by mod_virgule. Making these remaing pages template-based will require code changes. One other nice result of finally getting the last few parts of mod_virgule fully template-based is that we should be able to purge the last non-standard HTML and maybe even bring the site up to full XHTML standards compliance.

As part of the page header improvements, I've converted the Advogato logo from GIF to PNG. The new logo has the same dimensions but the filesize is about 20% smaller, saving us a little bandwidth. I've also added a Google Coop AJAX-based search widget to provide a site search function, another frequent request. The new layout can be seen on the people page and a few other pages so far. You may also notice some new stats on the people page - this is another handy use of the new user account analysis code.

Advogato Articles

I was pleased to get all the emails and comments on my GNU/FSF news summary. I'd still like to find a volunteer who's willing to put together a summary like this every month.

I was also very pleased to see other new articles posted by mjg59, fxn, and lkcl. The ACPI article got picked up by linux today and generated more hits than any other article in the last several months. If we could generate a few articles like that every month, we'd be well on the way to making Advogato a more interesting and useful site.

PyCon and Advogato

PyCon is coming to Dallas, where the Advogato site is hosted. Is anyone up for some type of Advogato get-together during the conference (Feb 23-25)? If you'll be in town and want to meet some fellow Advogato users, email me and we'll work out the details.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!