Leaf blowers: Is there anything more futile? -Shatner
 
November 27th, 2009

Back to the Land

From the New York Times blog And the Pursuit of Happiness, Maira Kalman explores the relationship between agrarian societies, fast food culture, and how “the fabric of our lives is bound in the food we eat.”

Back to the Land – Do the affluent have access to the really healthy food while the less affluent do not?

Nothing earth-shattering in what she’s saying – it’s the way she’s assembling her ideas that I love – the unusual, homespun visual presentation supports the spirit of what she’s communicating.

mickeymurch.jpg

A labor-intensive way to way to blog, but that’s exactly perfect when what you’re writing about is the importance of slowing down the cultural experience, and the significance of real work by real people.

Beautiful stuff. Happy Thanksgiving everyone.

November 5th, 2009

Birdhouse 960

960 Blog look different? At first glance, not by much, but I’ve just completed a massive cleanup of the back-end, replacing the old HTML/CSS with the 960 Grid System, starting with the 960bc (blank canvas) WordPress theme. While I was at it, took the opportunity to search/replace out a bunch of old non-semantic code buried in the posts, updated or replaced a lot of plugins, and killed off a few old features that had out-lived their usefulness.

The biggest news: After years of preaching the HTML validation gospel to students, I still hadn’t gotten around to trying to make my own platform validate… but the Foobar Blog finally does! Well, almost. There will always be 3rd party code outside your control that can’t be hammered into shape. The biggest offenders here are embedded Flickr slideshows and Wordpress’ own embedded Gallery feature. Ugh. But aside from that, we’re pretty darn close to clean. Everything I can control validates at least.

The old design had accreted slowly over the years, from a patchwork of parts built and gathered. Original intention was to go for a clean break and adopt a modern 3rd-party theme, but the more I searched, the more I felt like I loved the “Cheap Thrills” design that’s evolved here (not available for download, sorry). So I decided to port Cheap Thrills to 960. It wasn’t all roses, since the divs in this theme hug each other so tightly, while 960 assumes margins everywhere. A lot of fiddling with negative margins, and I haven’t  solved the equal height divs problem quite yet. Will do soon.

New in this pimplementation:

  • Much wider content area. Goal is to be able to show full-width video and slideshows, plus code samples that don’t fold to the next line or stretch out of the content space.
  • Syntax highlighting for code samples (example)
  • Tag cloud (see sidebar) – I’ve been tagging random articles for a long time but didn’t want to display a cloud until there were enough of them to warrant it. Still haven’t gone through and tagged the entire site history, but the cloud is picking up steam.
  • General cleanup. Cruft removal. So. Much. Cruft.
  • Somewhat wider sidebar – more room for Image from Nowhere and Recent Comments. Some of the old Images from Nowhere look a bit stretched but future ones will be generated larger.
  • Replaced my old handmade RSS-based Twitter integration with Twitter for WordPress. Super clean – much better for DIY theme builders than the usual TwitterTools.
  • The old Democracy plugin for polling appears to have been abandoned. Replaced it with the much cleaner WP-Polls, which also meant manually copying all of the old Poll data into the new system (ugh!). See the Pollster section.
  • Replaced the old contact form  in the shacker contacter with the much simpler Contact Form 7.
  • Nips and tucks galore.

Process took way longer than expected of course – everything does – but these things had been gnawing away at me for a long time now. Feels great to have it all done. Haven’t done any cross-browser testing yet – let me know if something doesn’t look right for you.

Can’t say enough good things about 960 Grid. We’ve standardized on it at work, and it really does make life easier. Not without its warts, but much more pleasant than the YUI grid it replaces.

November 30th, 2008

Why I Don’t Do Facebook

I have a confession to make to people who count me as a “friend” on Facebook: I don’t “do” Facebook. Yes, you do see a lot of status updates from me on FB, but I don’t post them there directly. Truth is, I’m pathetically Twitter-obsessed, and use a pair of Facebook apps to funnel my Twitter posts (“Tweets”) and blog entries directly to FB. So while I do have a Facebook account, I never spend time surfing around on it, which means I may not see your updates unless you’re also on Twitter. Is that rude or uncongenial? It’s not that I’m trying to avoid you, but that I prefer to avoid the high noise-to-signal ratio on FB (I find Twitter much more focused).

In addition – and this may sound funny coming from a tech nerd like me – I find Facebook completely confusing. Am I posting to your wall or my wall? Wall-to-wall? Is that same as posting to your inbox? Is this a private message? I’m never quite clear whether what I’m writing on FB is going to be publicly visible or not. When installing a FB app, I’m never quite clear how much info I’m giving away, how much tracking I’m allowing. I recently replied to a group discussion on FB and ended up with a flood of content-free noise in my email inbox for the next two weeks. Every person replying on the thread generated an email to me, and there was no apparent way to unsubscribe from the thread.

Basically, Facebook seems like one big, nasty, unfocused clusterbomb to me. While Twitter has its own share of noise (depending on whom you follow), I find it much easier to dial in to my own work and conversation patterns, easier to distinguish public from private on, easier to find focused information, and just more pleasant to work with in general. See Guy Kawasaki on the Power of Twitter and Tim O’Reilly’s Why I Love Twitter.

If a bunch of you tell me that it’s rude of me to auto-post to Facebook without actually participating in it, I’ll stop. Just let me know.

Music: Cul De Sac :: Homunculus
October 8th, 2008

Get Better

Twitter’s best tweeter Merlin Mann (more famously of GTD and 43 Folders) abruptly stopped with the twitter thing in early September, and started blogging at kungfugrippe.com. Completely different style, hard to tell it’s the same dude. But loved this slide from a presentation on effective blogging, applicable to Just About Anything:

Merlin

The old Bowie and Springsteen vids are also worth watching.

Music: Tinariwen :: Matadjem Yinmixan
May 30th, 2008

Notes on Twitter

Twitterrific Icon Twitter (microblogging in general) is changing the way I communicate and consume. With ever-shrinking windows of available free time, the self-imposed expectations/pressure to blog something every night, or even a few times a week, melts away. Instead, I drop quick thoughts and notes into the ether as they occur. The 140-character length limit means there’s never any expectation that thoughts be fully formed. Maybe that’s yet another sign of cultural acceleration and the cheapniss of snack-sized media, but it works for me.

Twitter has also become a partial cure for my ongoing failure to actually read anything. Hundreds of feeds in the RSS reader, thousands of bookmarks, and I rarely look at anything that doesn’t find its way into my inbox. But for some reason, I actually take time out to consume what’s going down in the Twitter stream — it’s become a partial cure for bad media consumption habits. Twitter has become a 2nd inbox, perhaps more playful than the first, but essential nonetheless. Twitter has clicked for me in a way no other social network has.

In the few months I’ve been on the service, Twitter has found my phone, I’ve been able to follow one of our J-School students as he was jailed (and then freed) in Egypt for covering riots, I’ve gotten music and software recommendations, watched as journalists experimented with new ways to reach their drifting audiences, gotten to listen in on conferences there would be no way I’d have time to attend…

At times it almost feels like Twitter should have its own internet protocol, like it’s something new altogether. Not quite IRC, not quite IM, not quite blogging, not quite RSS. It’s all of those things synergized, yet still http-based.

Twitter-holics deal constantly with Twitter’s outages, which have become a near-daily occurrence. Talk about a killer app — what other service’s userbase would remain so loyal with such consistently bad uptime?

Twitter is built on Ruby on Rails, which has taken a lot of heat in recent months as a result – much buzz about how Rails doesn’t scale. But remember: “Languages don’t scale, architectures do.” And that’s the rub – Twitter was built quickly, with all the wrong assumptions, without foresight into the complexities that would be brought on by massive popularity 18 months later.

The issue is that group messaging is very difficult to achieve at a grand scale.

Excellent article at Hueniverse on Twitter’s scalability challenges. Summary: Rails is a framework used primarily for building content management systems. But Twitter isn’t a CMS at all – it’s a messaging system and an API. While most web apps read from the database hundreds of times more frequently than they write, Twitter is writing constantly, which creates a whole different kind of strain. And while most web apps depend heavily on caching to maintain performance, Twitter is cache-resistant, since every single user has a unique view, and each user’s view needs to be refreshed constantly. Caching need not apply. And since the API is both public and powerful, multiply the strain x dozens or hundreds of external desktop clients and filtering sites and services.

Twitter is currently being rebuilt piece-by-piece, and things are slowly getting better. There are rumors that the rebuilt components are all written in PHP, though the company denies the rumors.

Tip: To make Twitter work for you, you need a desktop client. I use Twitterific. And don’t be afraid to follow strangers. Check out who you’re following are following.

Music: Minutemen :: No Parade
April 2nd, 2008

Spam J-Curve

Weblog comment spam rates continue to surge. This chart is from one installation of anti-blog-spam tool Defensio, showing an insane uptick through the last part of March, 2008:

(Thanks ViperBond). Akismet’s charts show more than 5 billion blog spams identified in the past two years. I’ve personally noticed a dramatic increase in hand-written blog spam recently. Knowing that tools like Defensio and Akismet are going to get spammers banned from blogs net-wide within minutes, the method is now one of social engineering – getting bloggers to consciously allow spammy comments to go live by making them highly relevant to the post they’re attached to, and plausibly written. All that distinguishes this latest form are the author URLs — which no longer point to cialis and poker sites, but to tile shops, beauty parlors, commercial art galleries, pool-cleaning supply houses, etc. Human blog spammers have been around almost as long as bots (to defeat captchas, etc.) but this latest form amazes me because it’s written so carefully. I really have to puzzle over some of these recent ones to decide whether to push them through or not.

Because Akismet is less likely to have identified these as spammy, the moderation burden falls back onto blog authors. It’s no longer possible to identify spam at a glance – we now have to study each message carefully to ascertain sincerity.

March 27th, 2008

Notes on WordPress 2.5

Secret: This weblog has been running off the as-yet unreleased WordPress 2.5 for a few weeks now, via subversion checkout. For those not following along at home, WP 2.5 features a radically redesigned back-end that seems almost intentionally designed to piss off people who are resistant to change (but to delight the purists). Funny how we get with our tools – once usage patterns become entrenched, even huge improvements in usability start to seem like blasphemy (cf: people raging about Microsoft’s new “ribbon” interface in recent versions of Office, even though they’re an obvious improvement).

Have to admit, my first experience with 2.5 was disorienting and not altogether favorable. But after a couple of weeks of regular use, I’ve come to appreciate the wisdom of the focus groups; separating out commonly used functions from uncommon in the UI was long overdue. And while the new colors still felt washed out and pallid, a recent Profile page option to re-enable the old colors on top of the new UI compensated.

Birdhouse Hosting keeps all WP installations up to date automatically when new versions are released with a simple script. The system has been fantastic from a maintenance and security perspective, but puts me in an interesting position – when I run the next automated update, I’ll be changing the UI out from under a whole lot of users. Fortunately, my early experience has users reacting positively and not being confused at all – a few minutes of exploration and they’re off to the races. The good news is that there have been almost no API changes in this version that break plugins or themes. In fact, the upgrade from 2.2 to 2.3 broke a lot more stuff than this version will. There’s a plugin compatibility list in the codex if you’re interested; out of the 70+ WP-based publications I manage, only two will be affected by anything on that list (we’ll hold those back for a while).

Loving the new media manager – upload multiple files at once, handle image alignment at insert time, insert multiple images into a post simultaneously as a gallery (with automatic thumbnails, intermediate size, and full size versions – and independently commentable sub-posts for intermediate versions). Full-screen editor. Brand new tag manager. Much improved comment management. The visual editor no longer breaks embedded media like YouTube videos. A ton of subtle improvements that make life easier all around.

There are bound to be bumps, but progress is good.

Update 3/29/07: WordPress 2.5 has been released – go get it! Need a WordPress host with lots of experience/expertise? Contact me through Birdhouse Hosting.

Music: The Mekons :: Robin Hood
March 16th, 2008

WordPress Patch Committed

Wpicon Woo hoo! Last June, while trying to convert a Movable Type site to WordPress, I struggled to come up with a way to get the site’s existing tags, stored in the MT “keywords” field, converted to native WordPress meta fields during import. Finding no workable recipes in the wild, realized I was going to have to modify WordPress’ MT importer directly. Took a bit of hacking and experimenting, but eventually got it working. Decided to share my mods back with the community by contributing a patch to WP Trac.

Months passed, nothing happened. In WP 2.3, WordPress gained native tagging support and I found myself facing a similar problem, needing to convert MT keywords directly to WP tags. Modified the importer again, re-contributed my patch, and… nothing happened. Then, last night, just a week or two before the release of WordPress 2.5, received notice that my patch has been committed to trunk. Fewer than ten lines of code, but it’s my first tangible contribution to an open source project (beyond helping with documentation and plugins, etc.)

A small deal, but I’m proud.

Music: Talking Heads :: Born Under Punches (The Heat Goes On)
March 8th, 2008

Twitter: I Succumb

A year ago at SXSW2007, I made a conscious decision not to do the Twitter thing. Can’t take another distraction/interruption, no matter how fun it sounds. This year I succumbed and decided to go for it. Couldn’t get shacker (thanks to always being about a year late to any given party), so I’m waxwing (a backup login I’ve left underutilized for long enough).

There’s something perniciously sticky about Twitter… what is it? Hard to stop looking. Like blogging without the pressure to write anything truly substantial. Blogging mashed up with IM. Feels like it should be its own internet protocol or something — a new form of communication altogether. People using Twitter at SXSW as part notepad on panels, part, “Where y’at?” Still finding my way with it.

Follow me. I’ll follow you.

March 6th, 2008

Can BuddyPress Break Down the Garden Walls?

Obviously, it makes more sense to implement a social network on your organization’s own web site rather than sending users off to Facebook or MySpace — but does it still make sense if users have to re-create their relationship networks on each new SN they visit? A new project from Automattic – who run Wordpress.com and have a ton of experience leveraging the power of “the hive mind” – appear to have an ace up their sleeve that could address the problem. Will BuddyPress give organizations the social networking tools they need while mitigating the “walled garden” effect?
(more…)

January 16th, 2008

QuickTags

Web-based forums/boards have had comment formatting buttons (quote, italic, bold, link, etc.) for years. I have no theories as to why this feature is not present on any major blogging platforms I know of. Even weirder, it’s really hard to find a plugin to implement what would seemingly be a much-requested feature. But went searching for one tonight and eventually found LMBBox.

Quicktags

Not listed in the major plugin repo’s. Doesn’t claim support for anything over WP 2.0, but I’ve got it working in WP 2.3. Required some mods to comments.php in my theme (probably one reason why it’s not a common plugin), but seems to be working nicely (Safari of course insists on showing its usual elegant but un-styled form buttons; not yet tested in IE).

Music: Vicki Anderson :: The Message From The Soul Sister
November 26th, 2007

Gravatar

Headshot Fur Bulletin board readers are accustomed to using icons/avatars to represent their identities in online discussions. But because blogs are scattered to the wind across a bazillion servers, this capability is not generally available on weblogs. What is consistent across your participation in multiple blogs is your email address (even though it’s never displayed publicly, it’s usually required for comment posting). Gravatar leverages this consistency by letting you create a (free) account with them. Your avatar then appears automatically when you participate on any Gravatar-enabled blog.

All a blog owner has to do is add a few lines of code to their templates (or install a plugin), and the right avatars show up in the discussion automatically.

Auttomatic (the hippy/corporate entity behind WordPress) has acquired Gravatar, giving the the service the juice it needed to keep performance up. I’ve enabled Gravatar on Birdhouse — set yourself up a free Gravatar account and watch all of your historical posts on this site grow a magic tumor avatar.

Aside: WordPress now powers almost 1% of the web. Don’t tell me it’s just a blogging tool.

Music: Van Morrison :: Madame George
November 26th, 2007

Depends on What “Is” Is

After the initial glow of playing with social networking again wore off, I (predictably) reverted to ignoring Facebook. Except that every time someone friends me or begs me to add the app for their pet cause, I get an email ping reminding me that Facebook exists and that I, apparently, have unmet social obligations. Which reminds me that I really need to update my profile so I don’t look like an abandoner. 99% of my Facebook activity over the past month has been relegated to obligatory updating of my “Is” status.

Scot is contemplating Joomla.
Scot is digging the new William Parker disc.
Scot is no longer contemplating Joomla.

and so on. Not much, but it keeps my crackers from getting too stale. In so doing, I’ve been flummoxed that the “is” part is required. If I want my profile to say “Scot digs the new William Parker,” it comes out as “Scot is digs the new William Parker.” Lame. But Machinist says Facebook has dropped the “is” requirement, and that the verb is now free-form. Thank god for small miracles. But did the “is” play an important linguistic/artistic role?

What Flaubert meant was that it is precisely an artform’s constraints — and not the lack of constraints — that juice people’s creativity; the Facebook “is,” no differently from Shakespeare’s iambic pentameter, forces people to look for interesting ways to say things.

Nevertheless, the new API lets the user control “is,” not the API. But hold the phone… that’s all lovely, but apparently not yet in play.

Scot is wonders when Van Morrison jumped the shark.

Standing by…

Music: William Parker :: Corn Meal Dance
November 22nd, 2007

Future Post

One of WordPress’ little-used features is its ability to set a “drip date” – to set a post’s timestamp in the future so that it doesn’t go live on the site until that time comes around. Recently I was working on a site for a client who needed an Events section. For various reasons, I didn’t want to use any of the existing events plugins for WP – I just wanted to override the behavior for future-dated posts so that they’d go live on the site immediately, without waiting.

For the past year or so, I’ve virtually never found a case where anything I wanted to do with WP hadn’t already been solved by an existing plugin or tweak to template logic. But amazingly, I couldn’t find anything to override the default future post behavior. Posted on WP-Hackers about the problem and got a few solutions volunteered within a few hours (there’s nothing like a vibrant open source community). By far the most elegant was this one from the magical Ryan Boren (same guy who planted the semi-secret WordPress t-shirt geocache):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
function setup_future_hook() {
 // Replace native future_post function with replacement
 remove_action('future_post', '_future_post_hook');
 add_action('future_post', 'publish_future_post_now');
}
 
function publish_future_post_now($id) {
 // Set new post's post_status to "publish" rather than "future."
 wp_publish_post($id);
}
 
add_action('init', 'setup_future_hook');
?>

Stick this in a php document in your plugins folder (remember not to include any whitespace after the closing php tag!), activate it, and create a post with a future timestamp. The post’s status field in wp_posts will be set to “publish” rather than “future” and it’ll go live on the site immediately.

You can also download this as a ready-to-go plugin.

Ryan’s too busy to host this trivial but super-useful plugin himself, but invited me to. I’ve submitted it to WP-Plugins and am awaiting a response – should be available there as well before long.

Music: Daniel Mille :: Les Minots
November 5th, 2007

Iconography of Boing-Boing

For the Boston Globe, Hermenaut’s Josh Glenn got Boing-Boing’s Mark Fraunfelder to decode some of the icons that frequently appear on the world’s most popular blog. Hey, any video stream that can display the face of J.R. Bob Dobbs without going to snow is champ in my book. Hmmm… would love to hear Dawkins or Hitchens comment on the Church of the Subgenius sometime.