I gave a deeply personal talk last weekend at WordCamp San Francisco on the intersection of my identities as musician and web developer. I’ve mostly given technical talks of a practical nature, but have been mulling over this topic for some time. As with anything, watching myself “perform” is difficult (could somebody please smack me the next time I say “right?” or laugh on stage?), but I am really happy with how this talk turned out. There are a lot of things that really came together well – an audio clip, a commissioned piece of animated art, and photos.

Check out the video embedded below, or you can also watch it on WordPress.tv.

WordPress

Unintentional destruction

At WordCamp Europe, Matt Mullenweg got a question about the role of women in the WordPress community. Before he could answer, somebody shouted from the audience: “We love women!” I was gratified when Matt said “come onnnnn”, but disappointed that it was lost in the sea of applause for the preceding exclamation.

The comment from the peanut gallery was later addressed in Matt’s response: that we should think about the effects our words and actions may have on the comfort and security somebody may have with a community. This isn’t the first time in history that comment has been made – if anything, it’s one of the most-used responses when a male-dominated field has its maleness pointed out. There is very little chance that the commenter had any intention of being destructive – he probably thought it was hilarious (and I’m sure lots of people also thought it was) and accurate. In this instance, we also have the added layer of cultural and language differences among the audience.

Without realizing it, this guy did two things with those three words: made anybody whose sexual preference isn’t women feel excluded from “we”, and reminded women that their presence isn’t desired because of skill and merit, but to be potential mates for others. That doesn’t mean all people in those categories felt that way, but that is still the message it sends.

This is really unfortunate, and again, likely unintentional. When it’s unintentional, it can be hard to address. Accusations of being sensitive fly around (if being sensitive means understanding how actions actually have consequences, then you know what, hell yeah I am), and defensive reactions remind others that it isn’t their feelings that matter, only the intentions of the originator, leading to further hurt and less listening.

It’s so predictable, I can even hear it now: “Stop making that guy a villain! There is such a thing as platonic love!” But just as this person didn’t intend to harm, humans are typically unintentional with their feelings. I can try to logic things away all day: I’m established in the community, I’m a very confident person, I know lots of men who have my back, I’m not a single lady (as if that really matters – that’s how engrained the importance of being a mate is), I too love having more women around. But the logic doesn’t prevent me from suddenly feeling uncomfortable and not respected. I didn’t intend those feelings any more than that guy intended me to have them.

Let’s be better. As an open source community, I do believe that the WordPress one is generally friendlier, more welcoming, and more diverse than many others. But we can’t rest on that – we need to keep being the best people we can be, and that includes taking a moment to think about the effects your words and actions might have on the people who are exposed to them.

Standard

Every WordPress release is named after a jazz musician. I didn’t grow up listening to jazz and still don’t have much of an ear for it, despite significant exposure through college (I did terribly in required jazz classes, but I still went to concerts!). So when it came time to pick a musician for the release, I wasn’t quite sure where to go. As a pianist, I felt torn about my bias – Art Tatum came to mind almost immediately, but didn’t immediately feel right. I would also have loved for it to be Ella Fitzgerald for some hometown pride, but she’s already got a release named after her.

Then I remembered that there is a jazz musician whose work I know a little better and have loved: Benny Goodman. He’s known for quite a bit in the jazz world, as well as in pop culture – if you’re familiar with “Sing, Sing, Sing”, it’s probably this version:

In classical music, Benny Goodman is known for commissioning and premiering some of the most significant chamber and concerto works for clarinet in the 20th century, such as Bartók’s Contrasts and Aaron Copland’s Clarinet Concerto. Being married to a clarinetist, I am deeply familiar with these works and their lasting influence.

When I settled down to work with Michael Pick on the release video, we chatted about what the style and tone of the video should be like. You can see his genius in the end product – it’s absolutely everything I wanted, and more:

If you listen carefully to the background music, you’ll notice that it’s classical music with piano and clarinet; specifically, the third movement of the first Brahms Sonata for Clarinet and Piano, a piece that Benny Goodman never recorded, although he did record its sister sonata. What you might not know is who’s performing it, and I’m really pleased to reveal that it’s actually my husband and I playing!

Pick and I think it worked out beautifully with the visuals and the tone of the video, and I love that I was able to add just a little something extra to a release that I’ve been so proud to lead. I hope you all enjoy 🙂

Web, WordPress

Final Projects: Website Construction I [TH481A], Summer 2011

Had a really great two weeks with my summer session students this year. After 15 hours of instruction on everything from digital content for musicians to file and folder organization to HTML basics to a PHP/MySQL powered events calendar, here’s what they came up with:

All in all, I think they came out pretty damn well! When I think about the wide-eyed look these conservatory-trained musicians all gave me when I started going on about tags and servers on the first day of class to the new efficiency with which they are all editing in Textwrangler/Notepad++, saving, uploading with Filezilla, and viewing in the browser, I’m selfishly proud of myself and also very proud of these students, all of whom are my age or a little older (no extremes this year).

To the students: Congrats, everyone! I know you’ll all keep tweaking away at your websites and discovering more and better things to do with them. The course website will continue to function and your accounts will remain. I may miss things on the forums after this month unless I set up email notifications on new topics somehow, so stick to email if you have an urgent question. I wish every one of you could stay for the next two week session as well. For those who are continuing on, let’s just say that you will be subjected to my zealous love of WordPress and really be thrown into the deep end. Get ready 🙂

Standard
Diary, Thoughts, Web, WordPress

More WordPress thoughts

I know it’s common to put a lot of time, energy, and work into other people’s projects and let your own personal ones suffer. I feel like that’s what’s happened to my own blog.

First of all, I need to write more, period. Second of all, I need to modernize this theme and add some functionality! I spend so much time these days making custom CMS themes and functions and super-awesome screenshot-filled documentation and installing and configuring a ridiculous number of plugins for clients and my regular job, but I don’t seem to bother with my own.

I’m still using this ancient theme (which I don’t change because I still like it) and it’s got some old old stuff going on. The comments are especially ugly and don’t have threading enabled. I’m sure it’d be easy enough for me to fix my own stuff, but I guess it’ll have to wait until I don’t feel guilty for not focusing on open projects, including a piano recital next Wednesday. Perhaps I’ll use that Lady René font (yes, the purchase happened) to make a new header so I feel like I’ve done something. But for now, off to do a little late-night practicing that won’t bother my neighbors!

Standard
Web, WordPress

WordPress 3 Function: Sites in Dashboard menu

Edit on May 26, 2011: With the release of WP 3.1, the admin bar has links to each of your sites. Way easier, but that doesn’t keep this from working. I just won’t make this into a plugin. Also, subdomains need a different treatment!

In the process of creating a WordPress theme for work (trying to move to WP as CMS! YAY!), I realized that the procedure for accessing the Dashboard for a site besides the one you are on can be a little obtuse and involves too much clicking. Since a huge part of the focus and reasoning behind this project is ease of use for content editors (death to Contribute), I thought it would be smart to have direct links to each applicable Dashboard within the Dashboard admin menu. In conjunction with Ozh’s wonderful Admin Drop Down Menu, I have to say that it looks pretty freaking awesome. I put this function in the theme’s functions.php file so that it applies to all network sites, but I wonder if it would be a smart thing to write and release as a plugin. So, here for you to use or rip apart – only mild testing has been done, so don’t be too mean:

/* add dashboard links to each user site underneath the Dashboard admin menu */

function hhs_sites_menu() {
	global $current_user;
	$sites = get_blogs_of_user( $current_user->id );

	// make sure multisite is on, the current user has permissions, and has more than one site
	if ( is_multisite() && current_user_can('read') && count($sites) > 1 ) {
		foreach ( $sites as $site ) {
			// make the URL a relative path; escape twice in case the user is in a network site (subdirectory)
			$relative_admin_url = preg_replace('/http:\/\/www\.yourdomain\.com/', '../..', get_admin_url($site->userblog_id) );

			add_dashboard_page( $site->blogname, $site->blogname, 'read', esc_url($relative_admin_url) );
		}
	}
}

add_action('admin_menu', 'hhs_sites_menu');

I’d like to deal with the URL to each Dashboard in a better way. Escaping up two directories is hacky and ugly and wouldn’t work for somebody on a subdomain multisite installation of WP3. It has to do with the way WP wants an internal page within your current wp-admin – the better way would probably be to use a make the callback function redirect to the appropriate Dashboard. This would also allow me to use CSS to define icons for the drop-down version of the admin menu. I could use CSS now, but the ID that is generated is super ugly (i.e. oamsub_http:_______wp-admin – YUCK). Maybe during work hours tomorrow I’ll chew on it a little more.

If I were to make this into a plugin, I’d want/need to:

  • Make it compatible with both subdomain and subdirectory multisite setups
  • Only allow network activation (makes no sense to only have it activated in one, at least to me)
  • Make it easy for a network admin to assign a custom icon to each site for use wherever applicable (i.e. the admin menu drop-down)

Thoughts? Hesitations?

Standard