Friday the 13th

I spent a cer­tain pro­por­tion of Fri­day morn­ing watch­ing the web­cast of the Scott and Steve show — the update of the col­lab­or­a­tion work that Microsoft and Sun star­ted a year ago. Lots of oth­er people have blogged about what was shown and the implic­a­tions (try Tim, Eve, Pat, Robin, Greg and Jonath­an for some dif­fer­ing Sun views; CNET, The Register, and Slash­dot for some out­side-Sun views).

I had a spe­cial interest in watch­ing the demo (starts at 17:19) as I did the CSS for the Sun part. What happened was, I’m new to all this iden­tity man­age­ment stuff, and asked wheth­er I could help in pre­par­ing the demo for the eGov for­um at the Liberty Alli­ance meet­ing in Dub­lin in April, in part to help me try to get the con­cepts straight. Pat said the inter­face to the demo could do with some work; I took a CSS that I’d done for my blog (really must move it into WP 1.5 format some time to reuse it!), spiffed it up a bit, and voila! a CSS cus­tom-built for iden­tity man­age­ment demos. So it made sense for me to con­tin­ue spiff­ing up the demos for this press event. Unfor­tu­nately you only see about 2 seconds of the actu­al demo on the web­cast and it’s pretty blurry (the web­cast shows more of the demo presenters than the demo they were present­ing), but Pat assures me it looked great on the big screens in real life.

I took what I’d done for the eGov for­um, made some changes to make sure it would work on IE 6 on Win­dows XP as well as the JDS browser on Sol­ar­is (which, being basic­ally Moz­illa, does­n’t have the CSS “incon­sist­en­cies” that IE 6 has) and then pinched the col­ours from the new Sun brand­ing. Pat sug­ges­ted using some of the Sun images to add some piza­zz to the site, while Tim made the fake com­pany logos. 

Joint demo devel­op­ment takes a lot of coordin­a­tion. We dis­cussed small things like which logos we should show (we settled on Sun + Sol­ar­is / Microsoft + Win­dows) as well as big things like the pre­cise script that would be used, which defined how many links should be act­ive, and how many dif­fer­ent web pages each com­pany needed to pre­pare, which determ­ined how much cod­ing needed to be done. And a bunch of oth­er stuff, of course. We had daily phone calls with­in the Sun demo team, and daily phone calls with the Microsoft demo team, just to nail down all those little details.

In the end, we got there, the demo looked good and worked, and, I hope, made sense to people. Spiffy CSS or fancy images aren’t much use if people don’t get what’s being demon­strated. The write-ups I’ve seen indic­ate that they did. 

New XML Conference Site

Up till now, the XML Con­fer­ence web sites have been HTML-based with no con­tent man­age­ment fea­tures. For this year, we decided to take the plunge, so we can more eas­ily add fea­tures such as RSS feeds, col­lab­or­at­ive pages, and news aggreg­a­tion from spon­sors, exhib­it­ors, and speakers. 

With help from Bor­is Mann we have a Drupal-based site, hos­ted by Bryght. The site has been up for a week, and I think we’ve caught most of the bugs, but let Dave Kunkel know if you find any problems.

I’ve been look­ing for­ward to hav­ing these fea­tures for a while. We have aggreg­at­ors that hook to Pub­Sub feeds on “xmlconference.org” and “XMLConf2005”, so if you use one of those your blog entry should show up in the aggreg­at­or. We have an RSS feed for the front page to make it easi­er to keep up with changes. We can put up sub-sites for exhib­it­ors or speak­ers a lot more eas­ily than before. There are lots more fea­tures that we’re still fig­ur­ing out how best to use; sug­ges­tions on what we should do to make the site more use­ful to exhib­it­ors, speak­ers, and attendees, are welcome!

Enabling Thumbnails

A few pit­falls on the way to enabling the thumb­nail func­tion­al­ity in WordPress.

I decided I finally wanted to track down why I could­n’t get the thumb­nails work­ing on Word­Press. I always get the mes­sage “File type not sup­por­ted. Thumb­nail not cre­ated.” even when the file­type is sup­por­ted. I run a stand­ard Debi­an stable sys­tem, with a back­port of MySQL, so my first assump­tion was that it should work. A long week­end is a good chance to try to track down these things, espe­cially when it’s rain­ing as much as it is this week­end in Van­couver. Of course, I start at the Word­Press sup­port for­ums. This leads me to try apt-get install libgd2; the thumb­nails don’t work. As a next approx­im­a­tion, try apt-get install php4-gd2; this also does­n’t work.

I dig a bit deep­er in the for­ums and find that a new­er ver­sion of PHP might solve the prob­lem; the Debi­an stable ver­sion is 4.1.2 and a ver­sion > 4.3 is recom­men­ded as the GD lib­rary is included by default. The oth­er advant­age to upgrad­ing PHP4 is that there are quite a few secur­ity holes fixed in ver­sion 4.3.9 and up; these may have been back­por­ted to 4.1.2, of course. So I look in backports.org because I already know how to use those; no new­er ver­sion of php4 there. Next I try dotdeb.org; this back­port site has a new­er ver­sion of PHP4 and a new­er ver­sion of MySQL. I add the magic line deb http://packages.dotdeb.org ./ to the /etc/apt/sources.list file. I also change the pin pri­or­ity in the pref­er­ences file to use dotdeb.org rather than backports.org. This upgrades my MySQL to dot­de­b’s 4.0 ver­sion nicely, but does­n’t touch the PHP4 install­a­tion. Seems odd to me since they should both be upgraded in the same way, I would have thought. Edd Dum­bill (Debi­an guru) gives me a couple of oth­er things to try in the pref­er­ences file; noth­ing seems cap­able of rais­ing the pri­or­ity of the dot­deb php4 install over the cur­rent stable installed ver­sion. Edd sug­gests installing each .deb by brute force; that breaks on unmet dependencies.

So I think about installing the unstable ver­sion of PHP4; maybe that will work bet­ter. I set up the pin pri­or­it­ies in the preferences file, and use apt-get -t unstable install php4. It threatens to install lots of things, so I decide to install a little at a time and make sure noth­ing breaks, or at least ensure I know what has broken if it does. First off, I make backups of httpd.conf, access.conf, the fire­wall script, and the PPPOE set­tings. Just in case. Not that I’m para­noid or anything.

  1. I install the unstable ver­sion of libexpat1; this installs libc6 and talks about hav­ing to restart the X11 serv­er. Since I’m not run­ning X, this isn’t a prob­lem. Then it decides it also needs to restart apache but the restart fails so I have to start apache by hand. For a while it looks like that failed too and I’m men­tally curs­ing but it does even­tu­ally restart.
  2. Then I decide, rather than the piece­meal approach, to do the full install with apt-get -t unstable install php4. As a side-effect it looks like I also get perl updated to 5.8.4, and it upgrades apache (just as well I saved those conf files!). The install script tells me about changes to apache con­fig files, which has me a little wor­ried… I decide to install the pack­age main­tain­er­’s ver­sion of httpd.conf and add in any needed changes later. Everything seems to keep on run­ning after­wards, though, so this upgrade was bet­ter than the last dist-upgrade I did, which did­n’t apply my changes to httpd.conf.

Now phpinfo.php shows that I have php4.3.10 installed on my sys­tem; time to try out the thumb­nail func­tion­al­ity. It still does­n’t work. Rein­stall php4-gd2. Thumb­nails still don’t work. Try apt-get -t unstable install php4-gd, which also seems to uninstall/reinstall/install a whole bunch of pack­ages. I con­sole myself that I’m half-way to sarge, if and when that ver­sion of Debi­an ever makes it to stable. Hmm, the install script just asked me what size paper should be the default on my sys­tem. I guess it has some reas­on for want­ing to know.

Since the thumb­nail gen­er­a­tion still does­n’t work, and I have no idea what to try next, I decide to give up and post on the Word­Press sup­port for­um. I hope someone there knows what the prob­lem might be! In the mean­time I cre­ate the thumb­nail I need using Imagema­gick­’s convert func­tion. This takes one com­mand line and approx­im­ately 0.01 seconds.

Later… on the Word­Press sup­port for­um someone tells me to search the for­ums. Since I’d star­ted by doing that (and quoted for­um searches in my post), that was­n’t par­tic­u­larly help­ful. Then I remem­ber I have SpamKarma installed, which has a captcha script (not that I want to use it, but it should be a good test). The error mes­sage on the captcha test page says the GD lib­rary isn’t enabled. A bit of Googling turns up the idea that maybe I need to restart apache yet again. I had­n’t thought of this before because the Debi­an upgrade/install pro­cess usu­ally restarts everything that needs to be restar­ted, includ­ing apache. I run apachectl restart and find I can finally click the magic but­ton on image upload to cre­ate thumbnails!

So the les­son appears to be: if in doubt, restart apache. Three times, prefer­ably. Any less just may not work.

Corporate Blogs/Wikis Article

The art­icle I wrote on some of the busi­ness uses for blogs and wikis has been pub­lished, under the title Blogs & Wikis: Tech­no­lo­gies for Enter­prise Applic­a­tions?.

I’d like to thank every­one acknow­ledged in the art­icle (Bob DuCh­arme, Lex­is­Nex­is; Chris­ti­an Wat­son, Seattle Children�s Hos­pit­al; Chris­toph­er Mahan, Health Net Inc.; Dave Pawson, RNIB; Derek Miller, Nav­arik; Jordan Franks, Trac­tion Soft­ware; Leigh Dodds, Ingenta; Mal­colm Tredin­nick, CommSe­cure; Norm Walsh, Sun Microsys­tems; Richard Tal­lent, Envir­on­ment­al Resources Man­age­ment; Robert Scoble, Microsoft; Ross May­field, Social­text; Tim Bray, Sun Microsys­tems; and Tony Coates, Lon­don Mar­ket Sys­tems). They all spent time writ­ing com­ments or emails in response to my request or talk­ing to me about what they, their com­pan­ies, or their cus­tom­ers are or aren’t doing with blogs and wikis. The tim­ing of the art­icle also meant I could put stuff in from the North­ern Voice conference.

Before doing my research for the art­icle I had­n’t real­ised just how wide­spread the use of blogs and wikis and hybrid sys­tems is in the busi­ness world. Even if wikis are only used for bursts of activ­ity, like organ­ising a one-off meet­ing, or used by one per­son for research notes, they’re still being used. Blog sys­tems are being used for sites, such as the Seattle Chil­dren’s Hos­pit­al web site which don’t look like blogs in any way; they’re a cheap, easy to use pub­lish­ing sys­tem. Blogs are being used for quick coordin­a­tion of tasks, such as at UBC’s Careers Online Pro­ject Web­log (this one did­n’t make it into the art­icle). There is a lot of blog- or wiki-based coordin­a­tion and col­lab­or­a­tion going on in the busi­ness world, much of it prob­ably unbe­knownst to people high­er up in these com­pan­ies, a bit like the way intranets star­ted. It’ll be inter­est­ing to see where this band­wag­on goes next.

Upgrading MySQL on Debian

I’ve been wait­ing patiently for the updated Word­Press to come out. Once it did, I decided I should really update MySQL as well, so that I could finally serve pages prop­erly as UTF‑8. I’d been run­ning MySQL 3.23, and so I needed to upgrade to 4.0 to get real UTF‑8 sup­port. I also con­tem­plated upgrad­ing to MySQL 4.1.

The pro­cess was just com­plic­ated enough that I figured I should do the backup brain thing and dump the pro­ced­ure here; it might help someone else to have the gory details doc­u­mented, and it will cer­tainly help me when I come to upgrade!

I haven’t really used a Unix sys­tem since I had to move to Win­dows in 1996; for­tu­nately Debi­an makes upgrad­ing and installing really easy (who­ever came up with the apt-get sys­tem deserves lots of praise). I run the stable ver­sion of Debi­an because it was set up on stable in the first place and I’ve nev­er really needed to change that and I’d rather have the secur­ity patches be applied auto­mat­ic­ally. Except for, the Debi­an stable ver­sion of MySQL is, of course, 3.23 and not 4.0. The best solu­tion to this seemed to be to install the back­port of MySQL 4.0 from backports.org. In the­ory this is really easy, of course in prac­tice it does take a cer­tain know­ledge of how Debi­an works. This is because Debi­an Does Everything Dif­fer­ently (DDED). I’m sure there is lots of logic in how Debi­an does things, I just have nev­er quite taken the time to fig­ure it out. And up till now, I did­n’t need to. I did have one big advant­age though, Edd Dum­bill was online and was able to help me fig­ure out those little details that make the dif­fer­ence between frus­tra­tion and success.

So here’s the step-by-step upgrade details I needed. Debi­an experts have no need to read any further…

  1. Add the line deb http://www.backports.org/debian stable mysql-dfsg into your /etc/apt/sources.list file (I don’t know why it’s called dfsg and I’m not sure I want to know).
  2. Run apt-get update and then apt-get upgrade, or apt-get dist-upgrade.
  3. Find that although the pack­age list gets updated, noth­ing hap­pens and the mes­sage is “0 to install”
  4. Edd sug­gests check­ing the policy with apt-cache policy mysql-server.
  5. This shows that Sur­prise! the upgrade isn’t being installed.
  6. To increase the pri­or­ity, we need to pin the back­port. Edd tells me the magic incant­a­tion, which is to cre­ate a /etc/apt/preferences file with the contents
    Package: *
    Pin: release a=backports.org
    Pin-Priority: 995
  7. apt-get upgrade now works! Hurrah!
  8. Next to run mysql_fix_privilege_tables to fix the GRANT tables etc. Except for, the MySQL data­base root account has spaces in the pass­word and this script does­n’t like that. Even hard­cod­ing the pass­word in the script does­n’t work.
  9. Use mysqladmin to change the root pass­word so it no longer has spaces in it (BTW, does any­one else find it annoy­ing that some MySQL things use executable u=username and oth­ers use executable u username? For­tu­nately PHPMy­Ad­min makes most of my MySQL admin duties much easier).
  10. Suc­cess! The blog still works, the tables appear to have been fixed, and life goes back to nor­mal. I decide to not upgrade to MySQL 4.1 just yet, since I don’t really need to. This box in the base­ment acts as my fire­wall, DSL con­nec­tion, and web­site host; stick­ing with a stable con­fig­ur­a­tion strikes me as being a good idea most of the time.

Northern Voice

The North­ern Voice blog­ging con­fer­ence was on Sat­urday. I was on the organ­iz­ing com­mit­tee and I was glad that all our efforts paid off. People seemed to really enjoy them­selves, chaos did­n’t even threaten to take over, and because some registered attendees did­n’t show up, we even man­aged to fit every­one in without exceed­ing the fire depart­ment reg­u­lated capa­city! There’s some­thing relaxed about put­ting on a con­fer­ence that only costs $CAD 20 to attend (of which a quarter went on the cof­fee and tea, so it was nice that we were praised for the tea selec­tion). We also had a good num­ber of spon­sors.

The con­fer­ence con­tents have been exhaust­ively covered in oth­er post­ings — I have nev­er been to an event that was so logged, blogged, and pho­to­graphed in my life! The first posts and pho­tos were going up 15 minutes in to the con­fer­ence — just check out the 566 pho­tos on Flickr, the Pub­Sub feed, the Tech­nor­ati feed, or the del.icio.us list­ing to get a fla­vour of the day. 

This was a small. light­weight con­fer­ence with lots of scope for people to talk. At $20, people could afford to come who knew little about tech­no­logy (e.g., the woman who asked Tim Bray what Sun Microsys­tems does, as she’d nev­er heard of it) but we also had people from way out­side Van­couver (Bay area, the UK, Toronto…) which I would­n’t have expec­ted. And they all seemed to get some­thing from it and star­ted ask­ing about next year. 

Per­son­al take-aways: I should­n’t be so form­al in what I write; writ­ing more rather than being per­fect is what I should focus on (I blame too many years spent writ­ing form­al sci­entif­ic papers). The RSS excerpt vs full feed debate goes on; one way to make sure Robert Scoble does­n’t read what you write is to only put head­lines in your feed, for example, and short excerpts are also likely to get your blog dumped from his feed list (one could per­haps think about wheth­er this is an advant­age or not, depend­ing on wheth­er you want someone in Microsoft pay­ing atten­tion to what you write). The biggest buzzwords were authen­ti­city and trans­par­ency and how to find the line between reveal­ing enough of your­self to be your­self, without com­prom­ising your or oth­er people’s pri­vacy. I also dis­covered that even in a con­fer­ence with only two tracks you can miss out on a lot and pod­casts only go so far in alle­vi­at­ing that. And that if people enjoy the day, they want to buy the t‑shirt.