Thursday, May 20, 2010 in all about me

Quilting and Open Source

I finished quilting Meaghan’s quilt last night. Meaghan herself sewed the top, picking out all the fabrics, choosing the placements, figuring out the borders. All I did was quilt it, really.

WordPress & Quilting

I quilt as a break from staring at a computer screen, and Ron has other hobbies he does for his mental break. For both of us, it’s a different part of the brain working, and more involvement with our hands. And I am not alone. But, as I’ve been sewing and quilting lately, I’ve been thinking of the similarities between quilting, specifically, and Open Source.

Open Source usually refers to something like a computer program where the source code is literally open: you can read it, change it, modify it and even contribute to it. I’m going to specifically focus on this aspect:

A main principle and practice of open source software development is peer production by bartering and collaboration, with the end-product (and source-material) available at no cost to the public.

Thanks, Wikipedia.

In our day-to-day work life, Ron and I do exactly this. We work on a piece of software, both front-end and back, and share information and code mostly freely between ourselves and others. In this way, the entire codebase gets better and it eventually benefits everyone using the software, not just ourselves.

In the early days of quilting, women would come together to work on quilts, share patterns, and learn from one another. Well, not just the early days – even now we do it.

Code sharing
Take this example, while pretty simple and silly: One of the default plugins in WordPress is called Hello Dolly. When activated, it puts one line of the song “Hello Dolly” in the top right of the admin area. On a page refresh, a new line is shown randomly. If you look at the code (and you can, easily) you can see what it does.
I took a copy of this plugin, modified to my heart’s content, and instead of it showing what it did, I made a version that gives advice from Chuck Norris.

Heh.

Yeah okay, you see my point here with the code, but what about the quilt?

Take a very traditional, very old quilt pattern called 9 patch. It has nine squares, hence the name. Usually, you alternate light and dark squares. Over the years, quilters using the design have experimented both with fabrics, color placement and finally cutting to come up with a more modern favorite called Disappearing nine patch.

But it starts with the exact same block. And in both cases, prolific blog posts explaining how to do it, and a pattern (plugin) at the end, freely distributed.

QuiltCamps and WordBees
If I said quilting bee, you’d thing of Ye Olden days, but they still happen, and loads of people (yes, mostly women, but an increasing number of men) show up for quilt-related trade shows, displays, galleries and classes. There’s lots of gorgeous quilts to look at products to buy and new things to learn.

WordPress? Oh yeah, they have these things called WordCamps all over the place, sponsored & organized locally, where fans/users/devs of the software get together and look at cool new sites, explain new features, and show off some how to’s. Oh, and there’s usually swag.

Hunched over a machine
Some nights, I am here at the monitor, a faint glow in front of me, my hands on the keyboard. Occasionally, I use the mouse, clicking here and there, dragging and dropping files. Typing in lines of code, writing words of documentation. The whir of a fan in the background.

Last night, I was at the machine, a forty year old Brother I bought at a yard sale for $5. The light bulb needs replacing, but the light overhead and through the window was enough to finish. My hands guided the fabric, shifting and moving, stopping where needed to run and adjust the pile of fabric. The foot pedal starts and stops.

Quilt to Code
Not to belabor my point here, but a quilt is made of of dozens, if not hundreds or even thousands of pieces of fabrics, stitched together to make a whole, chosen carefully based on color and pattern. Then this top is layered with batting and a backing and firmly quilted, the edges bound for wear, maybe a pocket on back for display, before it is set out for use.

This site is made up of thousands of lines of code, carefully selected plugins enabled, a theme & color scheme selected. Each post adds to the overall effect, and the layers of frontend – backend – webserver – internet all flow seamlessly to display my words how I want on your screen.

They can both take a lot of time, or they can both be whipped up in a hurry, using preselected fabric/themes, each a different patchwork of art based on the user/creator.

Quilt/Code

I quilt. I code.

They really aren’t all that different.

Thursday, May 13, 2010 in I'm a computer geek

Things I learned in Open Source

There’s a few things I’ve learned over the past couple of years or so because of my direct work with volunteering to contribute to WordPress, and more specifically, WordPressMU.

For those of you who stumbled in here, hi. :) This is my personal not-work, not-WordPress blog. For my regular readers and family members whose eyes glaze over when I tell them what I do, a little background:

This blog runs on WordPress. Specifically, WordPress MU, the version that allows you to have multiple blogs. I spend a significant amount of time volunteering by helping people out. I answer forum posts mostly, I write some blogs posts, and our money-making is because we (Ron & I) get hired by people who have questions about wpmu or need us to set things up for them. WordPress is software known as Open Source. Anyone can contribute. Yes, anyone, even you. Yes, it gets checked over first. Most of the people writing each new version are unpaid.

I’ve been a long time user of WordPress. I was one of the many who switched from Movable Type 2.5 when they changed their licensing, and I haven’t looked back. So I started as a curious user, much like the readership of this blog. Some would say, “But Andrea, you’re smart and geeky, so you have a leg up already!” Yeah, and I’m married to Ron, so maybe I have a couple of “unfair advantages” but to me, if someone else wanted to get where I am now, they can too. And especially if you are a woman – we need more in the community.

I remember the first time I wandered in to the WordPress forums. It was a veritable snake pit of geek pissing matches. Flame-proof suits needed to be worn at all times. Word from above was generally a shrug and a “the community will work itself out” and for the most part it does. And yes, sometimes I’ve given just as good as gotten.

But eventually I became involved in higher-up conversations with popular and recognizable names and discussed things like, “How can we make newcomers more welcome? How can we make this area more helpful?” Aside from the trying not to freak right the heck out because you’re having a work-related conversation with someone you have long admired from afar and wished for a chance to even speak to, let alone have them recognize you, and also trying not to think of this is something affecting roughly twenty million sites, well – the pressure and immediate need kicks in and you just get down to it. Because it’s for the good of all, really, and you do realize that even little ol’ you can actually… help.

Huh. Imagine that. Even me, a stay-at-home homeschooling mom in the wilds of New Brunswick, Canada, can affect change.

So what can YOU do? If you’re using WordPress and can get around fair enough, you know enough to help someone. And if you’ve been hanging around the edges of the Cool Kids table, are drinking the kool-aid (mmm purple) here’s some insider tips on how to be a productive contributor.

1. Check your ego at the door. Remember the cartoon, “on the internet nobody knows you’re a dog”? Yeah. If you show up in the middle of something like a forum post a dev chat or whatever, those in charge don’t know you from a hole in the ground. Just showing up is not enough. You are judged on your contributions to the project itself and how you behave in the community, nothing else.

2. Try to minimize the fangirl squeeing. I have done this myself, and yes, it’s hard not to gush. take cues from the other person. Are they reserved? Be reserved. maybe allows a bit to shine through and keep it to a couple of sentences if you want them to know how awesome you think they are.

Weirdly, being on the other side of this is.. uncomfortable. My mom thinks I’m awesome too, but she’s my mom. having met other people I consider to be famous, and see them to be real people (just like me!), relate to them as if they were… you know… just like you. Because they are.

On the other hand, if I’m jazzed to meet you and you’re jazzed to met me? AWESOME! Squee-fest ahoy!

3. Don’t be married to the code. If you can actually code and you submit a patch, people will look it over. Actually, they will rip it apart and examine it within an inch of its life. They may kill it, change it and rewrite the entire thing. And even if you write the most poetic code in the history of code, someone, somewhere will find a problem with it. (even if they are crazy). So don’t take it personal.

If you look at your code and think it’s crap, but maybe it might help, submit it anyway. Coders also love to teach other coders. Set your code free.

Also, there may be a section of the code you love and adore. It will invariably be rewritten. Open source is an evolving, ever-changing thing.

Okay, maybe weep in your beer for an hour, but then get over it. Move on.

4. Don’t be That Guy. Yeah, that one. If you get someone’s attention, try not to monopolize it. If someone is helping, offer something in return. Say thank you.

If you have a beef, try to keep it professional. If you disagree, fine. State it appropriately, name your concern, outline how you feel it should be addressed, find the proper channels. People do not respond to anger, threats and ranting.

That works for anything, really.

5. Be awesome. I’m sure you’ve thought at some point “wouldn’t it be awesome if..”? Well, if it’s something you think you can do, however small, then do so. It will help someone at some point.

My other internal rule is if I’m about to post something because I’m ticked off, I go do something else instead.

6. Watch and learn. Or, more importantly, show others with your attitude that you are willing to learn, because they are willing to teach. Stand back and observe things like dev chats first, before diving in and responding at every comment.

If you don’t know code, that’s okay too. be willing to learn something. I code like I speak French: terribly. But I learned where to find what I needed, I learned how to read code, if not write it, so when I copy/paste code and it borks I can fumble around and figure out why.

Je parle encore français terriblement, même si je peux lire un peu.

7. We all have a say, so say something. Majority usually rules, and sometimes it’s the same old voices screaming in the wilderness. New perspectives are needed all the time.

Practical things you can do at any level to help WordPress:
– Help someone else where you can. If a friend of your has a WordPress issue and you think you can help solve it, do so. Even if it’s just showing them how to use something or helping them find somewhere to get help. We all started somewhere, so if all you know how to do is update your blog, you are still ahead of some people.
– Write. Figured out how to do something? Write a blog post about it. Chances are, it will help someone reading or searching.
– Write docs. So many people do not realize the WordPress Codex is editable by *anyone*, yes even you, just like Wikipedia. if you see outdated information, please login and update it. Someone will check it over. It takes far less time to correct a page you see outdated than it will to make a forum post complaining someone should fix it.
– Rate and mark plugins. In the official repo, there are sections on the right side to mark a plugin as working or not in whatever version. If you can take a few minutes and mark these, it helps everyone.
– Say thank you. if you have a favorite theme or plugins, take the time to find the author and even leaving a comment to say “Thanks, I love this!” is worth ten times the amount of comments they get saying “Help! It broke! Fix! Now!”. (I’ve loosely paraphrased an actual email here.)

In the end, this is free software. You have the freedom to use it how you wish, and you are not obligated in any way to contribute anything back. If you are interested, I hope I’ve given enough tips here to inspire you. All they cost is a bit of time and the rewards are many indeed. In the end, what makes WordPress so great is not just the core team – their jobs are made infinitely harder with no feedback and no contributions from people just like you and me. And, like us, this is where they started too.

Tuesday, May 11, 2010 in I Forgot To Pick A Category

That didn’t work

I had a busy weekend. And week. I said I was going to update on weekends, didn’t I? I didn’t even fold all my laundry, which is my other weekend task. There’s 4 or 5 baskets sitting around here and there, things spilling over the side as we pull what we need from them each day. My tulips are up, and we bought pansies and more yesterday, after the crowds.

Ron went to San Fransisco last week and yes he had a great time and yes I am jealous. He got to hob nob with the big names and the little ones and sit and work in the Automattic offices and tinker away at the 3.0 version of WordPress coming soon to a dashboard near you. (pics here here and here)

I got to stay home and work work work.

As a side note, he always (okay, sometimes) complains I interrupt him too much to get any work done until everyone goes to bed. But all by my lonesome in my office, I really managed to pull quite a few things out of my… well, I got organized and stuff.

Ron brought home yet another WordPress book and this one we are thanked in the acknowledgments. (Thanks Brad!) We don’t even need last names, because we are Ron-and-Andrea you know. ;) Yes, the children think this is the funniest/weirdest thing ever.

Also on the up side he brought home gobs of stickers and things. Want one? I can give you a couple or ten. And a pin. We have two new shirts and a mug too. The olive shirt looks fabulous on Meaghan, and after the next trip I think everyone in the house will have a WP shirt. Firmly drinking the kool-aid here, it’s purple.

Speaking of adorable children:
As far as I'm convinced, it's a smile.

Ahhh, there we go. I held & stared at Isabella on Saturday and wished Kaytlyn happy first mother’s day. I got a brag book of photos all printed out for me too. Now I need to hassle my neighbours and make them look at MY grandchild. ;)

Such a hardship, see?
"No wai!" "WAi!"

Anyway, Sarah is here for the week too. I bought her a domain name for her to make a portfolio. Work is swimming along and we are firmly booked until at least September, and I have someone penciled in for then too. Looking forward to Chicago. Oh, and I did another interview yesterday for the WordCast podcast. I’ll let you know when it’s up.

In between I am writing. Or staring at a page. Or editing. Lots and lots of writing for a few different things, along with reading, sorting mentally and thinking. I have all sorts of thoughts that I think I should probably gather and stuff in a blog post, but they flit here and there on twitter and forget the rest. Sometimes they hold on, wispy. Sometimes I just lean over and hold that warm hand near me and share it. Mostly, that’s enough.

Sunday, May 2, 2010 in family

Weekly notes

I need to make this a habit.

Ron is in San Francisco right now, for a week. He’s attending WordCamp SF and is sticking around for a developer’s code sprint for a release push. I watched the live stream of the keynote speech yesterday, and he was specifically mentioned (then applauded), so I burst with pride a little bit. Also, he got me a new tshirt.

I remembered to call Addison for an Isabella update. She’s around 7 pounds and looks more baby like and less skinny baby. She also has reflux, and in such a manner it reminded me of exactly how Addison was as a baby. When I caught him up on our travels (SF, Chicago in June, Montreal in July) he asked, “How come you guys were never this cool when I was a kid?”

Because we were too busy raising kids? :D Just a guess.

Had a homeschooling field trip where we had a Roman night. Kate & Bob did a great job as usual.

Last weekend we also went up to Rebecca’s place for dinner. Next time she really has to come here. :P

We also planted bulbs & things we got each other for birthday presents, and moved some thing around the garden. My tulips are just blooming now.
Double-headed tulips

Meaghan asked me what I wanted for Mothers’ Day. I mostly drew a blank. “A bucket of pansies like usual?” She replied, “Well I guess my shopping’s done then..” Can you ever really have too many pansies? Really?

Super Grover has had a lot of adventures.
Oh my! Help! Somebodeee!

Emma drew a picture of the Mythbusters guys and I let their official twitter account know about it. Next thing I could see, it had almost FIVE THOUSAND views in about 3 days and hit Flickr Explore.
Mythbusters!
I also got Emma the Disney Alice in Wonderland movie. Now I have a request to make a blue dress just like hers.

I was going to intersperse this post with more pictures. they’re up on Flickr.