http://youtu.be/Or1WvX88lng
-
WordPress is a Conduit
When people talk about WordPress, they call it various things:
In the past, I’ve gone on the record and called it something even bigger, but none of these descriptions truly accurately describe what WordPress actually is, at least to an ever-increasing number of people.
WordPress, the software, is a conduit for creativity, discussion, and innovation. You are introduced to it in such a simple way, but it’s potential is immediately recognizable so you can’t help but tinker with it and wonder what else it’s capable of.
WordPress.org, the website, is a conduit for discovery, a beacon in the fog, and ultimately the preferred outlet for tinkerers like myself. In my opinion, this is the single most important part of the entire system – the kingpin keeping all of it together that without it would all fall down (hat-tip to the GPL, also.)
WordPress.com, the anti-social network, is a conduit for writing, and a way to be introduced to the great suite of software Automattic produces to help make online publishing a more enjoyable experience.
WordPress, all of it, draws you in and funnels you through it’s finely tuned interface, introducing you back to yourself in a way that’s intentionally intimate and private, provoking you to invent something great and inviting you to learn more about what both you and it are capable of together.
I’ve experienced no other software and no other community with such an immense, almost gravitational pull. Once I was in, all I could do was orbit and enjoy the view from as many perspectives as I could. From inside Automattic and WordPress.com; from inside 10up and client services; from helping improve WordPress.org; to starting my own journey with Flox – WordPress was there, making sure I knew everything was going to be alright, and helping me discover where I can best fit and why.
WordPress is a conduit for positivity, for enabling greatness, and for generating joy. To everyone who has contributed influence to the WordPress community, working tirelessly to keep it’s spirit shimmering, thank you for your immense passion, intense attention to detail, and for allowing me to float along and be helpful where I’m able.
-
"I’m too busy"
TL;DR – If you ping me directly for help with something, you will probably get it.
BuddyPress & bbPress recently switched from IRC to Slack for real time synchronous communication. Philosophically, I prefer the openness of IRC, but I do appreciate how convenient Slack is for everyone, and it’s anecdotally a more inviting and active environment & experience. For some, Slack might actually be overly convenient to the point of annoying or obtrusive, but I think like any communication tool, it requires a bit of wrangling and tuning to suit your needs.
What won’t happen, in Slack or otherwise, is any response from me that boils down to “I’m too busy” even if it’s true.
Let’s imagine that I am actually too busy to help you; you still won’t hear me say so. Instead, you’ll get any number of different replies that are considerate of you and your time:
- “I’d love to help but won’t be able to for X number of hours.”
- “Sorry; I have a bunch of things going on and won’t be able to get to this for a while.”
- “I took a quick look and found this; check it out and let me know how it goes.”
- “I can’t help right now, but maybe Frank is around and can take a look with you.”
My emphasis is on being polite and considerate of how the recipient could perceive my attitude & demeanor, and making sure to convey genuine concern for their situation even if it does not directly influence my life or priorities in any way.
Conversely, when I reach out to ask for help, it’s only because I’ve reached a point where it is no longer efficient or appropriate to continue on my own; I’ve done everything I am aware of and is in my scope of influence to do, and for any number of reasons I’m choosing to include someone else into my situation.
One place this happens quite frequently is WordPress Trac. As an example, let’s again imagine that I’m working on BuddyPress or bbPress, and I believe I’ve identified a bug in WordPress core. There’s a priority-ordered list of things I’ll go through before I include anyone else into my problem:
- Run the PHPUnit tests to ensure I didn’t break something on my own
- Duplicate the bug in a completely vanilla installation without any modifications
- Confirm bug is real
- Attempt to fix bug in WordPress core codebase by modifying as few lines as possible
- Test and retest fix to confirm results, and confirm PHPUnit tests still pass
- Search the internet for anyone else with this problem, and drill down into any relevant results to learn as much as I can about what anyone else is experiencing
- Search WordPress Trac for any existing tickets related to any surrounding code, usually by searching for function or method names, variables, component names, etc…
All this, and no one else but me has any idea I’ve been hunting down Carmen Sandiego for the past hour or two. What happens next generally depends on the severity of the issue, and whether or not I feel comfortable pinging someone directly and risk interrupting whatever they’re working on for a consult. In my experience, anytime the urgency and prioritization of two separate parties converges, it requires even more clear & concise communication than normal. If someone gets frustrated by being interrupted, or you haven’t come fully prepared, the person(s) you ping are not going to be receptive now, and will be less receptive in the future.
Even after all of this research, preparation, and with years of experience doing this in a professional setting, it still isn’t easy, and positive & productive results are not guaranteed. I think if you value other people’s time more than your own, do your due-diligence, and are considerate of how your interruptions may impact their lives, you will generally get the same in return. And if you’re always constantly too busy to be interrupted (to the point of forgetting to be polite about it) it might not be the outside world and their lack of so-and-so that’s the problem.
-
Defining Success
As a wee lad growing up in the 80’s, “success” was pretty clear:
- Watch TV
- Play video games
- Listen to whatever music my parents do
- Eat more sugar
- Become an astronaut
- Pretend to be sick to avoid school
- Avoid gross girls
- What the heck is the internet?
As a teenage man in the 90’s, “success” got a little more confusing:
- Watch more TV
- Play more video games
- Find a genre of music I identify with
- Acquire an automobile & cruise around in it
- Find true love, ideally several times
- Avoid anything that remotely looks like work
- Pretend to be healthy so people like me
- Talk to as many pretty girls as possible
- What the heck is AOL?
As a pseudo-man in the 00’s, “success” was maybe not even an option:
- TV sucks and is a huge waste of time
- Video games suck, and take too long
- Music is just samples of samples of samples
- Automobiles are fun until someone steals them
- Love is out there, but I need to love myself first
- Perform odd jobs until something clicks
- Pretend to be happy to convince myself it’s true
- Avoid all girls because they are crazy, but try to “fix” them anyways because I’m a moron
- That internet thing sure is neat
As a child in an adult body in the 10’s, “success” seems almost about right:
- What’s TV again?
- Independent video games are pretty sweet
- Turn down whatever that is and get off my lawn
- Love means never having to say “step away from the computer”
- My job is translating the experiences and visions of my life into software
- Pretend to like vegetables because I’ve avoided them my whole life
- Make up for the suffering women experience from lifetimes of having man-boys like me call them gross & crazy back when I was young & ignorant
- Help make the Internet be the best it can be
Today, right now, I define “success” as follows:
- Use television to relax, educate, and procrastinate on purpose
- Use video games to supplement my aging imagination
- Use music to drown-out my wandering ADD-afflicted mind
- Use love to fuel solutions to life’s problems
- Use my job to improve the quality of relationships in peoples lives
- Use the culmination of my career experience to build great things (like BuddyPress, bbPress, GlotPress, WordPress, & Flox to name a few)
- Stop pretending and take action – if it’s not actionable, appreciate the experience and take notes
- Appreciate my wife in a unique way each day, and make babies
- Be compassionate and considerate above all else
When it comes to defining success, us Generation X’ers have had it pretty easy compared to our surrounding generations. Previous generations were pressured to get married, buy houses, go to college, not be gay, not be fat, not be themselves. More recent generations are pressured to be the best at everything or risk not standing out, scolded for always being captivated by the world that us previous generations have created for them, judged for not comprehending “just how easy they have it”, and shunned for expecting more return from less investment.
Fortunately, none of these stereotypes are really all that accurate or inaccurate, and no one needs to allow them to define what success means in their own lives. Some days, for some people, just getting out of bed is a huge success. Maybe finding fresh water for your family is today’s success. The spectrum of success ranges from mundane to monumental, but it’s important to identify what it is before making any decisions, especially if success means making a decision that may impact others.
In my community, in my career, in my life, I see many successes go uncelebrated, and I think that over a long enough timeline it has a hugely negative impact on how people perceive the world around themselves.
- The village I live in is a stereotypical bedroom community, largely populated by retirees and blue-collar laborers. As such, things move slowly and people quickly forget the positive changes happening around them.
- When it comes to software development, it’s unlikely anyone understands what you do the way you do, even the people you work the most closely with. Taking time to appreciate little wins, tiny fixes, and monumentally insignificant details makes success practically define itself as you go.
- Personally, sometimes I forget to reward myself with tolerance, patience, and adequate time to enjoy something that isn’t accidental work – like upgrading the bathroom, painting the walls, or playing any video game where grinding through levels is the reward for grinding through levels.
Maybe this is already obvious to everyone but me, but it’s important to define what success means in each area of your life, every day. If you don’t, you risk drifting aimlessly waiting for success to happen to you instead of making it happen for yourself.
-
💩
Emojis are modern-day hieroglyphs. In typical internet fashion, several others have considered this before me, immediately making me 😕.
Emoji (and their more primitive cousins emoticons) represent a way to more succinctly express oneself using the fewest characters possible. However, their relevance and interpretation is left wide-open until a shared experience occurs to attach contextual relevance to them.
Naturally, Star Trek TNG tackled this very topic in a (now) iconic episode that is one of my favorites. Here’s a snippet:
Numbers and letters work well for everyday communication. Their logical order of grammatical operations is great at sussing out someones approximate level of education, frequency of written interactivity, demeanor, tone, emotional state, intent, and lots of other subtle queues you would normally assess in person.
But sometimes you just need to 💩.
I think the emoji poop hilariously brings everyone together, and serves as a reminder that everybody does still poop — I.E. every living thing struggles to express themselves, even to creatures that speak the same language, and you either strive to keep up with our ever-evolving methods of communication, or risk being excluded from them.
Emoji makes me think of people that use technology “incorrectly”, like unknowingly spamming strangers on Facebook, emailing passwords back and forth, or
sudo rm -rf
ing where you shouldn’t. When someone misunderstands or misinterprets the intent, language, or etiquette behind any new-to-them tool, they accidentally (likely unintentionally) cause breakage, be it by damaging a system or offending someone. Without perseverance (or sheer stubborness) this can result in a perpetually negative spiral of never truly comprehending the nuances of those tools due to constant negative feedback rather than learning and celebrating small successes.This post also gives me a reason to test WordPress.com’s new emoji support, which appears to work pretty well (though I think an emoji-only title results in an empty post slug.)
TL;DR – Emoji is a great way to express yourself when you want to appear casual, and it reminds me of how fragile even the most widely accepted forms of written language have been, are, and will be in the future.
-
January thoughts, BuddyPress 2.2
With each new software release that I’m fortunate enough to contribute to, I usually take some time (or lots of time) to reflect on a few different things that I think are critical to the project and myself:
- What went right?
- What went wrong?
- What did I learn?
- What can I do better?
With BuddyPress 2.2 imminent, here’s a brain-dump of my random and unrelated thoughts for January 2015, in no particular order:
- Significant improvements have been made to cache-coverage, but many more are necessary, and some of our existing implementations are not ideal.
- User statuses are pretty messy. A user’s status is a numeric value in the users database table, and there is no API in WordPress for interacting with it. Just like post statuses, anyone concerned with workflow (or activation flow in this case) is pretty much on their own.
- The Member Type API is sweet, and I’m excited to see how developers use it. Hopefully I get to use it myself soon.
- It seems like each ticket takes longer to test, confirm, fix, patch, and push.
- How strictly do we enforce cache coverage, unit-test overage, inline documentation coverage, and all of the other nuances? I fear we are over-complicating each others lives with anti-progress and slowly forgetting what made BuddyPress fun to work on in the first place.
- I need to write more unit tests.
- I need to increase cache coverage.
- I need to write more inline documenta… Ehh… maybe I’m okay here.
- I sure wish PHPUnit were faster and easier to run. Netbeans has decent integration, but I haven’t figured out how to efficiently implement it into my workflow.
- It’s been really great not juggling immense client and customer expectations in January, thanks to the funders of my recent IndieGogo campaign.
- The old BuddyPress Default and Legacy templates are starting to look really out-of-date to me now. I wish we didn’t have so many templates to style and that creating themes was easier.
- I continue to struggle with the cost of switching contexts during the day, between writing code, impromptu meetings, and random pings. Working nights used to help with this, and I need to come up with a healthy plan to improve my ability to come back to things once I switch away from them. I feel like I used to be better at this when I was younger.
- That squirrel outside my window is looking pretty well fed considering it’s January.
- I bought too much Lego over Christmas.
- I need to take more small breaks and be more physically active during the day.
- I need to prioritize blogging.
- I need a nap, and it’s only 11am.
- BuddyPress 2.2 is going to be sweet.
- Boone did a really good job juggling both WordPress and BuddyPress core development. Note: be more like Boone, at least in this capacity (I don’t think I can eat that much pizza anymore.)
- I’m excited for a vacation my wife and I are planning in March to celebrate our wedding anniversary. It will probably be much needed by then.
- I broke my ankle 1 year ago, and it’s still not quite right. Likely won’t ever be the same I suppose. Guess I’ll never play the piano again.
- Penny (our new rescue puppy) tested positive for heart-worm. Poor thing. Hopefully it’s not too bad and we get her all fixed up.
- You are great. <3
-
Evolution of WordPress's Admin UI
Below is a gallery of screen shots I took of WordPress’s administration area (and a few other bonus shots) ranging from it’s first public release through to December 2013. Unfortunately, they are in random order; WordPress’s media library imported them asynchronously and ordering them chronologically will require a do-over (which maybe I’ll do later… meh, for now.)
My personal favorite version (though not the popular vote) is 2.9. I guess it’s like listening to an old original song and album — WordPress 2.9 reminds me of a simpler (yet exhilarating) time in my life, and each UI tweak & change, each new feature since comes from a younger generation doing exactly what I expect them to naturally do: remix the remixes, test boundaries, crush limitations, and change expectations.
What’s your favorite, and why?
If you’ve made it this far, thanks for not letting my apostrophe usage severely negatively impact your viewing & reading experience.
-
IndieGogo Breakdown
Here’s the breakdown of where your IndieGogo contributions have gone so far.
And… I received a deposit from IndieGogo this morning in the amount of $47,895.00, which means we are all-systems-go for a January 2 start-date of volunteering full-time attention towards BuddyPress, bbPress, & GlotPress!
-
Fully Funded – Week 3
The folks at WebDevStudios win the day by being responsible for pushing the campaign up over the $50k mark:
We are proud to have completed @JJJ’s campaign for BuddyPress, bbPress, & GlotPress development. 100% FUNDED, BABY! pic.twitter.com/jU1CniZtxr
— WebDevStudios (@webdevstudios) December 4, 2014
Several people expressed extreme confidence that we’d hit the $50k mark together, but I wasn’t prepared for it to happen so quickly; definitely not with 7 full days remaining still.
I’m elated… encouraged… energized… And so, so incredibly excited.
I’ll post a more comprehensive update when I can catch my breath (probably around Tuesday, December 9 or so) but until then, thank you again everyone for making this possible.