Yesterday's blogdowntown

blogdowntown got mentioned in the LA Times yesterday. It also had its strongest day of the last few weeks, with visits up 1/3 and page views up even a bit more. Whereas a normal day lately has had about 50% new visitors, yesterday that was up to 66%. I have to figure those numbers are connected.

Referrer numbers don't give the whole jump, though they do seem close to the new visitor jump. calendarlive.com and latimes.com together drove about 13% of visits yesterday.

Interestingly, you can also see the correlation looking at page views by hostname. Normally 60 - 70% of pages are served through blogdowntown.com, with the rest going through www.blogdowntown.com (which I never use, so that's just people making the broken assumption that web site = www). The Times used the www host, and yesterday that was closer to 50% of pages.

Fun with Web Design

I hate Flash. Sort of. I hate when sites use it poorly, and I particularly hate the ways the Flash plugin breaks the client user interface experience (stealing key focus breaks arrow key scrolling and keyboard shortcuts, etc). But today I found myself implementing sIFR (Scalable Inman Flash Replacement) on a site I was getting paid to design. The site has little text and is very look driven, so it makes sense to use the superior text rendering in Flash and the ability to remote deliver a font using sIFR. I got it working, and after banging my head against the wall for a bit I actually even got it working right.

But still I had a problem. The site design has the replaced text over a light background image, which needs to show through like it would on normal text. Flash has some support for that via the wMode attribute, but it's a bit flaky and doesn't work at all under Linux.

That got me thinking: I know the background image I want to lay under the text. To figure out a width and height for the text, sIFR's javascript looks at the DOM to determine the width and height of the text being replaced. Conceivably I could similarly look to the DOM to tell me where my content is on the page. With those bits of information, could I then pull the background image into the sIFR Flash movie and pan it to the appropriate spot so that the movie looks transparent without actually using wMode?

That's the question for tomorrow.

On a related topic, I today renewed my distaste for Internet Explorer and its broken box model.

Some eThreads Changes over at blogdowntown

I installed some new eThreads code tonight. Nothing earth-shattering, but I implemented a couple fun new bits over on blogdowntown.

First, author information is now includes with posts (as evidenced in the little "By e;" on all the posts). That may seem like a no-brainer, but oddly it required creating the idea of symlinks in eThreads' internal tree of values to implement cleanly (if 20 posts all have the same author we only want one copy of the author's info in memory).

Second, I added the title of the post to the "Recent Comments" list in the right sidebar. This again sounds easy, but eThreads keeps blog stuff and comments completely separate. The comments code doesn't care what you're responding to, and the blog code has no conception of comments. This can let you do really funky things like having two looks for a blog, and having each look tie a different set of comments onto the blog posts. In this case I solved the bridge problem by allowing the user to pass a 'titles' argument to the RecentComments plugin and having the plugin look up the title in the appropriate place from that.

I also made a few CSS changes to the site, but nothing major. I do like getting rid of the colored links in the sidebar lists and doing the rollover coloring instead. I think that's less distracting from the content.

PHP and I Have Made Peace

PHP and I have been fighting for the last three months. And that really hasn't mattered much to me, since I'm a Perl guy and I had very little I was actually using it for. It all started back in August, when some manual changes I made to Apache caused mod_php4 to start segfaulting. Then about a month ago I tried to make peace, but PHP wanted to go nuclear and get rid of my kernel.

The other day I got around to trying again, and worked through the apt dependency issues. I had to enable Force-LoopBreak (from the man page: SUCH A LOOP SHOULD NEVER EXIST AND IS A GRAVE BUG) and ask for e2fslibs, e2fsprogs, initrd-tools and libc6 to upgrade. Then everything was ok. But still mod_php4 segfaulted for me.

And now, finally, today I got PHP to play nice. I found error messages (when the module was installed but not enabled) suggesting that a pair of .so files were missing. I ran apt-get with the --reinstall option to make sure all the appropriate php files were in place, and all of a sudden things started working.

All this to get a piece of forum software working. If only I still wrote forum software.

Christmas Time Travel

One month from today I fly to South Carolina, where I'll be spending Christmas. In the week before Christmas I anticipate having some free time, and planning for the trip I thought it would be fun to figure out a way to bring my bike along and do some riding.

The problem? Transporting a bike is neither cheap nor especially easy. United charges $80 each way for bicycle transport. Plus baggage handlers and screeners aren't the most delicate of people, so some rugged packaging adds cost to the venture.

I had almost given up on trying to figure out a way to make this work. Then I found USA Cycling and their free bike vouchers. So now I'm a member of USA Cycling (which I guess means I could race in 2006 if I felt so inclined) and have sitting on my desk two "Check Your Bike for Free" vouchers.

That still leaves the question of a case. Right now I'm looking at the Thule Round Trip. At $329 it isn't cheap, but it looks to be built to last and I could see myself getting a good bit of use out of it over the next twenty years.

Now all that's left is to figure out some good South Carolina cycling, preferably centered out of Sumter. Some interesting distances out of Sumter: Charleston, 99 miles; Myrtle Beach, 95 miles. I think I could be up for a century by then.