header photo

via positiva

Geekery

Fear and Loathing in IIS

So, yesterday I had a lull at work and I took it upon myself to update our much-neglected internal knowledgebase (Drupal, naturally). It's an odd configuration -- PHP/MySQL running on IIS alongside a python timesheet program and an ASP application -- but it was working until a server crash a few months ago.

What I thought would be a quick job turned into eight hours of pain thanks to what I eventually realized was an obscure bug in IIS 4.0 and higher. If you're ever trying to install Drupal on IIS, save yourself the pain and do not run PHP in CGI mode. I posted a handbook entry on Drupal.org to share the pain. In a nutshell, IIS plus PHP in CGI mode means that server redirects on a web app's login page trash the session data. Converting to ISAPI mode solves it. After getting that sorted out, things seem to be humming along nicely. Hooray!

Sense and Sensibility Redux

Awwww yeah. On the heels of the disastrously bad Hollywooding of Pride and Prejudice, British screenwriter Andrew Davies is going to take a crack at Sense and Sensibility. Davies is the guy who wrote the amazing BBC miniseries version of P&P, and my Austen-loving heart is all aflutter at the news of his latest project. BBC News has the skinny:

He rejected the idea that Austen had been overexposed in the last decade after Pride and Prejudice sparked a craze for Austen dramas.

"You can cut Jane Austen so many ways and I think people still want to return to them," he said. "Who wants to see all these action movies all the time?

"There is a different audience out there apart from 12- to 14-year-old boys and I think a lot of the stories that people like to see now were written in the 19th Century or before.

I suppose it is still a good time to be a Jane Austen fan.

Forking the community, not the code

Over the last several months -- especially as Drupal 4.7's beta period has dragged on -- more and more people in the community have weighed in on the platform's direction, the growing pains it is facing, and the best course for the future. I'm no different -- I'll put my two bits in here.

It's obvious that the last year have been big for Drupal. High-profile web sites rolling out Drupal based designs, coverage on tech sites like Slashdot and Digg, funding from Google, thousands of dollars in fund raising, mentions in The Economist, and dozens of thousands of sites now answering the 'are you running Drupal?' question positively. It has been a smashup success of a year and I feel grateful that I've been here in the community (though only visibly for the last six months or so) to witness it.

With that success, though, comes a lot of pressure. Until this point, Drupal has been (mostly) programmers and hobbyists, or 'true believers' who decided to base their web work consulting on the framework. Now, more and more newcomers are joining the fray. The post count on the Drupal.org discussion forums is climbing in a nice logarithmic curve, and every day there's a little more friction between hardcore devs working on building great software, and end-users who want a turnkey web app.

There's always been resistance to subdividing the Drupal community into 'groups.' Beyond 'people who contribute code and those who don't', everyone is lumped into the same crowd. I think, though, that the time has come to identify three key groups of Drupal users, and address them individually on Drupal.org.

First, there are software developers. Many want to build a site of their own, or have a programmerly itch to scratch and are hunting for a web framework they can use as a jumping-off point. These people want to know about APIs, the framework philosophy, and other under-the-hood stuff.

Second, there are site builders. They're usually experienced webmasters or consultants who need to build a custom content-driven site, and recognize the foolishness of 'rolling their own.' They're most interested in tying contrib modules together, putting together custom themes, and how well the whole mess scales once their client starts pounding on it. Experience levels can vary a lot in this group, but most are savvy folks who are drawn to Drupal's flexible module system and content organization tools.

Finally, there are task-focused users. These people want to set up an art potfolio, or a blog with software downloads, a web site for their church, or a site for their fledgling web comic. Sometimes, they're tech-savvy web geeks who want something cooler than Bloger for their personal home page. Other times, they're small business owners who want to sell pottery but don't know HTML from a ham sandwich. They don't really care about the details as long as it gets done, and gets done well.

These three groups of people are all important to the Drupal community. They ARE the Drupal community. But their needs, their experiences, and their frustrations are all very very different. Trying to fill all three sets of needs with a single solution will always be very, very problematic. Drupal is probably best suited for the first two groups right now -- its emphasis on Lego-style site construction ensures most sites will need customization, tweaks, and third party addons. CivicSpace, with its streamlined installer and bundle of pre-installed modules, is great for users in the third group who want to set up community oriented sites for nonprofit and political groups. The now-defunct Drupal4Bloggers is another great example, though it required hacks to Drupal's core that made it tricky to support.

Others have blogged about the idea of streamlining Drupal's core even more than it already is, and I'm in favor of it. Stripping out many of the current 'core' modules like Book, Forums, Blog, and so on would leave us with a pure 'developer core' that emphasises APIs and framework development. Helping site builders with information on combining modules and themes to create a 'recipe' for their site leverages Drupal's strengths. For users who want a turnkey solution for a site, packaged distro's of modules and themes could be bundled up to provide focused sets of features, customized interfaces to common admin tasks, and so on. There's nothing, for example, that would keep us from offering the 'extra' modules Drupal currently includes as a special 'Drupal Classic' dristro.

As we in the Drupal community move forward, I think that managing expectations for each group, pointing them to contextually helpful resources, and admitting when Drupal isn't yet ready for their needs, is extremely important.In my dream world, Drupal would have a splash screen of sorts, channeling them in the right direction before they get swamped in newbie questions, theming tutorials, or geeky arguments about optimizing tree sorting algorithms that really belong to another group entirely.

This doesn't mean "splitting" Drupal's community. Those three groups of users will have overlap, obviously, and there's no reason they can't all coexist on the same site using the same resources. It's more about how we think of Drupal, and how we approach it.

Whoops!

It's always fun discovering bugs in your code that make you wonder, 'How did this ever work?' It's like going on a road trip, and noticing a funny chunka-chunka-chunka noise your car makes whenever you take it over 65mph. You get home, and you take it to the mechanic and they open the hood and say, 'Oh, well, here's your problem. The engine's been replaced by a wedge of cheese.'

On the one hand, it's comforting that the solution is so simple. On the other hand, it raises a troubling question: 'How the frack did I drive 450 miles in a cheese-powered car?" It takes a while to regain one's trust in the idea of a predictable universe.

Thoughts on OpenDomain

For years, the Drupal community has revolved around Drupal.org, the official home of the best CMS in the world. There are assorted third-party sites that float around it (one of which I've created and sadly neglected for a month or so). Various commercial entities like Bryght base their businesses on Drupal. Others folks make a living as consultants adapting Drupal for their clients. None of them, to date, have scampered off to grab the domain name 'Drupal.com.' A few months ago, though, someone thought to check what IS there.

Turns out, the domain was registered by a guy named Ric. He runs OpenDomain, a foundation that he says is dedicated to protecting domain names for the public good. Protecting them from what? Well, you know. People who go out and register the domains use them for bad stuff. Fair enough. Ric's OpenDomain Foundation owns fistfulls of domains, some sporting the names of open source projects, others using acronyms for popular web standards, and still others with catchy titles like 'LipoSculpture.com'. I, for one, am glad that LipoSculpture is in good hands.

If you can convince him that you will make good use of one of his OpenDomains, Ric will let you use it for free -- with certain conditions. Like 'you have to link back to the OpenDomain home page on every page of your site.' And 'All the OTHER links on your site have to be marked with the nofollow flag.' And 'You have to update your site frequently, and keep your site visible in search engines.' And 'I reserve the right to suspend your use of the domain at any time.'

It doesn't take a rocket scientist to see that this is a recipe for an AutomaticMedia style network of web sites, all driving traffic to OpenDomain's page. To Ric's credit, he doesn't seem to be selling ad space or otherwise profiting off of the OpenDomains page. And it's clear that he takes the project very seriously -- in discussions both private and public, he frequently talks about how much money he's invested in protecting these domains. When organizations offer to buy the domains, though, he replies that he can't. He's bound by the rules of the OpenDomains foundation -- rules that he created -- and must retain control.

When all is said and done, I just can't figure out why this "service" is valuable. The idea that the .com suffix is a golden egg died with Pets.com. And, yes, there's the chance that a spammer might have gone out and registered Drupal.com, hoping to trap unwary CMS customers and sell them porn or viagra or EZ Home Refinancing. But WhiteHouse.com has been out there for years, and no one ever confused it with an official statement from the Executive Branch. Who benefits, really?

I don't begrudge Ric the chance to pursue his hobby, business model, or whatever it is. It's a free world, and there's nothing to stop him. He's not eating kittens or anything like that. But with all his talk of financial sacrifices and the public good, he sets himself up as a benevolent benefactor, a 'contributor' to communities that he has never been a part of and never assisted. He's claimed that allowing someone to use Drupal.com would be 'the biggest single donation the community has ever received.' Bigger, apparently, than Google's $50,000 or Sun's donation of high-end servers. To his credit, he retracted the claim when he found out about the extent of those prior donations, but it should give pause to anyone who thinks that OpenDomain is 'all about the community'.

At its best, OpenDomain.org is a way for Ric to give reasonably memorable domains to people who couldn't afford them. At its worst, it's an attempt to buy influence in Open Source projects by registering a domain, hyping its value, then positioning OpenDomain as the 'gatekeeper' for that perceived value. The Drupal community doesn't need Drupal.com -- if Ric wants to contribute to the community, he's free to set up a site there himself.

Whee, I won stuff!

Well. I've definitely been out of circulation for a while as far as the blog is concerned. It's been a busy couple of weeks (of course!) and I've been tinkering with more Drupal code to get some of the old features from ViaPositiva back online (like amazon reviews of books I've read or movies Cat and I have watched).

In the meantime, though, I switched to a new search engine on a whim. http://www.blingo.com is just a front end to Google's search results, so there's not much to learn. The nice bit is that they give away free movie tickets and iTunes gift cards at random. I signed up earlier this week, and this morning while googling for some code snippets, I won. Wahoo!

justwon.png

A round of applause

Over the last couple of weeks, I've noticed that merlinofchaos' work on key Drupal modules has cut weeks of development time off of a couple projects I'm working on. Three of them in particular -- dashboard, views, and node queue -- solve problems that almost every Drupal site encounters. Dashboard is a quick bit of work that simplifies the common 'header, two columns, footer' page template and allows dynamic content to be piped into each section. While the same effect can be achieved with custom PHP pages, Dashboard makes managing it cake for newer users. Views is a mind-bogglingly flexible API for generating, filtering, and displaying dynamic lists of site content. Filled with hooks for other modules to exploit, it makes slicing and dicing the contents of a huge information soup really, really easy. Node Queue handles the management interface for rolling lists of content -- a submission queue, a 'weekly new content' backlog, and so on. Again, it's full of hooks for other modules to exploit and doesn't go too far, avoiding the sin of reimplementing other mature modules.

These modules are huge. None of them are flashy features, none of them are obvious to end users, but all of them give a huge boost to those trying to develop real CMS solutions. If you work with Drupal for anything more complex than a personal blog, check them out. You really won't regret them.

'Til All Are One

Occasionally, an idea grabs me, like a jungle cat, and shakes me about, demanding attention. When that happens, there's nothing to do but bow to the inevitable and roll with it. When Catherine said that she wanted to carve a few pumpkins this year, a tiny blinking light started flashing in my geeky forebrain. I would make... The Jack-O-Bot.

jackobot.jpg

There is, of course, a flickr set documenting the entire process in detail. Catherine, for her part, shakes her head and chuckles. I'm a lucky, lucky man.

Rebirth Freed

Back in the day, the Roland 303 synthesizer helped shape the distinctive sound of rave music and electronica in general. They were flexible, relatively rare -- and expensive. Folks made various 'software 303s' for computer musicians, but most were recordings of 303 sounds plugged into an instrument file.

Then, Propellerhead Software released Rebirth. Instead of using precanned samples, it faithfully emulated the 303's internal analog synthesizer logic -- as well as every knob, slider, and button the original device's case sported. The sound was perfect, and the software took off like a shot. Even I tinkered around with Rebirth's later versions for a while.

In the years since Rebirth's 1997 debut, Propellerhead improved it and launched Reason, a frighteningly impressive and complete virtual electronica studio. It's impressivel, but Reason was always there for the oldschool folks who wanted some 303 goodness with a tight drum machine. Today, Propellerhead has announced that Rebirth's time has come to an end. It's being discontinued, and will no longer be supported... In a gesture of infinite coolness, though, they're releasing it for free download on the net, along with every addon they ever created for it.

Ever wanted to whip up an electronica masterpiece, or just noodle with goofy sounds? Check it out. It's fun. And now, it's free.

Site tinkering...

For the past couple of weeks my blogging energy has been low. I've been migrating all of the sites I maintain to a new hosting provider, and it's been frought with the usual snafus. The new host -- Site5 -- is great. It just takes time to move a dozen domains with various combinations of CMSs, blogs, fora, and so forth.

Now that I've got that out of the way, I have a bit more leeway to play with nifty drupal tools on this site. Among other things, I'm migrating my collection of ephemera bookmarks to a new section of this site. It's an easy way for me to keep them accessible when I want to dig up posters from 1800s theater productions, or photoshop a 1980s computer ad.

Drupal offers a lot of flexibility over the 'build static pages, use directories to organize, and spend your life updating' approach I used when building a few of my first web pages back in the day. It creates a soup of 'content nodes' that are organized with flat and hierarchial tags. You build classification taxonomies around the content's properties, and sidestep inflexible storage schemes. The only hitch is that all this flexibility makes simple organization structures a bit daunting to set up. I've installed the path_auto module, and it's dynamically building the 'directory structure' of this site from the taxonomy terms. Next step? Creating a clean interface to RSS feeds at every level of the structure...

Syndicate content

Miniblog

  • @notsupport On the flip side, all the diners I hang out at are feeling it -- turns out, when budgets are tight people stiff waitresses. Ugh. 8 hours ago
  • @fur I... I'm not sure exactly, but @walkah told me that it sorts people by user id in your "followers" list... cool kids at the top! 14 hours ago
  • Curious about using Drupal? @walkah and I will be hosting an O'Reilly webcast about it on Friday, December 5th! http://oreilly.com/go/drupal 15 hours ago
  • @ejhildreth back-of-the-envelope math indicates that for the price of the bailout, we could give $2000 to every family living in poverty. 16 hours ago
  • Irony is Karl Rove lecturing Obama not to politicize the process of appointing states attorneys. 17 hours ago