Blog Posts

WordPress Performance Tuning

My blog often has fits of sucktacular performance. After digging around, and bugging DreamHost support for some ideas, I’ve made some progress.

I had been running wp-cache to enable file-based caching, thinking that would help optimize performance of the site (fewer database calls should equal better performance) - except that DreamHost apparently uses NFS-mounted storage for accounts. As a result, filesystem access is a bit laggy, so the file-based caching was actually (apparently) slowing the site down (as suggested by 4+1 ways to speed up wordpress). Disabled wp-cache and set define('WP_CACHE', false); in wp-config.php

Read More

Are we approaching social currency?

With all of this Web 2.0 activity still building, I’ve been thinking about Cory Doctorow’s concept of whuffie or social currency (from his great short story Down and Out in the Magic Kingdom) quite a bit. The idea being that you can “pay” others with a mythical currency based on reputation, not gold. Those with high reputations (creators of cool stuff, humanitarians, or shudder American Idle) gather whuffie, which they can use to purchase stuff. Those with low reputations (eBay scammers, spammers, or ideally American Idle) have less whuffie, and have to struggle to gain reputation in order to move back up the whuffie ladder.

Read More

Enterprise-Class WordPress

I’d been thinking that WordPress might be tricky to scale, but between WP-Cache and the newly announced HyperDB, I think WP might well have some legs in it.

WP-Cache stores pages as static files, and dramatically reduces the load on the database. This makes sites more responsive, and at least theoretically able to survive a Slashdotting or Digging.

Matt just announced the other side of the equation. Enterprise-level database connectivity. They’re releasing the (previously custom) database class that was developed for WordPress.com. It obviously works, as WordPress.com has something like 47 quajillion blogs hosted, with pretty decent performance.

Read More

Blogs and the Twitter Effect

While chatting with Scott at ETUG, he commented that he was frustrated with Twitter. Both because of the constant flakiness, and the negative effect it’s having on many people’s blog posting activity. I’m definitely posting less frequently since getting bitten by the Twitter bug.

At first, I didn’t see the problem, but then he explained it. If people are pumping their content and energy into Twitter, something that is by nature largely ephemeral and transient (both in server uptime and lifespan of content) then the blogosphere is effectively losing out. Yes, there are benefits - the conversations and serendipitous connections that happen via the always-on and always-shifting nature of Twitter streams are compelling because they are some of the most highly social public interactions on the internets. And that has helped me feel more closely connected with the 40-odd people in the strange, distributed, cosmopolitan set of folks I consider friends.

Read More

Hope for Peak Oil. Soon.

Things are getting out of hand, when Peak Oil - the end of cheap petroleum - is the only way I can see out of this mess. It would help reduce carbon emissions, and it would help reduce our environmental exposure to plastics and plastic byproducts like Bisphenol-A.

My friend Niran gave a rundown of how pervasive environmental plastics are, and the dangerous side effects of our constant exposure to them. Grey Goo, but as a result of Better Living Through Chemistry™

Read More

OpenID Server

OpenID Logo

OpenID appears to be gaining some momentum. It feels like the right approach to identity management - let individuals control their identity in a trusted way, rather than relying on federation through central brokers. Sun Microsystems just rolled out OpenID support for all of their employees. Stephen’s been talking about this kind of decentralized identity management for years (and most recently just yesterday).

But, it’s been a bit strange in that it hasn’t been very easy to run your own OpenID server. I mean, you could go through myopenid.com to get a free hosted OpenID, but that’s just a federated, centrally hosted identity. No different than a Yahoo! or Google account. The power of OpenID is that you can/should run your own OpenID server, so you control it. It’s not a decentralized, individual identity management system if we still hand control over it to central services. We need to be running our own OpenID servers. Which means it needs to be easy to set up. Ideally one-click easy. It’s not quite there yet, but it’s getting closer.

Read More

Why I love digital photography

I was poking around in my Aperture library after importing the latest batch of game photos from Evan’s U5 soccer team today, and I realized that I’ve kept 2345 photos so far this year (on pace to keep well over 6000 in 2007). At the average ratio of keeps-per-deletes, that means I’ve shot well over 10,000 photos so far this year - and the year’s not even half over yet - I might conceivably shoot over 30K photos in 2007.

Read More

A better WordPress category selection UI?

I have a lot of categories in this blog. 542, to be exact. I use them like tags, rather than a rigid hierarchy.

The WordPress Categories panel in the “Write Post” interface sucks with this many categories/tags. Having to scroll through a verrrrry long list to hunt for keywords is tedious. Here’s a screenshot of Drupal’s autocompleting text-entry interface, which makes it easy peasy to select existing categories/keywords and to add new ones all in one fell swoop. As you type keywords, an ajax call is sent to the blog, returning any categories that match the characters that have been typed, making it easy to select matches from a potentially infinite set of terms. This pattern is also used by del.icio.us very effectively.

Read More

How to migrate from Drupal 5 to WordPress 2

I migrated my blog from Drupal 5 to WordPress 2 nearly 2 weeks ago. The process wasn’t as painful as I thought it would be, thanks to a handy howto via vrypan.net. Another resource I refer to every time I get into tweaking MySQL rows is UrbanMainframe’s MySQL search and replace tipsheet. Thanks to both of these great resources for helping me through the migration.

This guide is intended only to document what I did. It’s not a polished howto or manual. There is no warranty. If you blow up your database because you didn’t work with offline backup copies, I won’t be able to help you. Actually, if you’re that silly, I won’t be willing to help you, either. Your mileage may vary.

Read More

Flocking Browsers.

I got really frustrated with how painfully slow Firefox gets when opening new tabs, so went through my seasonal try-every-browser-known-to-mankind phase last night and today. At the moment, I’m in Flock. It’s based on Firefox, but doesn’t seem to suffer from the glacially slow new tab/window creation problem I get in Firefox. I think I’ll try Flock for awhile. The integrated blog editor is nice, as well as built-in Flickr and del.icio.us love. I’ll stay with it at least until it pisses me off. I’m fickle that way.

Read More

Taking Small Pieces for Granted?

I’m wondering (out loud) if I’m guilty of taking the Small Pieces Loosely Joined concept for granted. It’s one of those things that can be talked about at length, but isn’t really understood until a gulp of SPLJ Kool-Aid has been swallowed and the approach has been tried on. Conceptually, it makes sense to talk about using a set of small, directed, task-oriented tools, each doing what they do best, then integrating the various tools to produce an organic, dynamic system that resembles a custom-designed software platform.

Read More