Interesting read by Ed Bury on preventing BuddyPress sign-up spam using a combination of a honeypot, random hashes, and blacklisted domain names.
-
I’m an Automattician!
Today was a very awesome day for me; it was my first full day as a Code Wrangler with Automattic, Inc.
First, I’m really excited about the opportunity to work with such amazing, talented, and ulta-cool people on a daily basis. Over the past 2 years I’ve had the pleasure of meeting a fair number of Automattic employees at various WordCamps across the US. They all do-what-they-love and love-what-they-do, and to say that this has been a goal of mine would be an understatement; it’s a dream job come true.
Second, I’ll continue to support my existing WordPress plugins. If you use anything that I’ve written or helped develop, that will keep on keeping-on. Regarding BuddyPress and bbPress, those are still very much full-steam-ahead, as well as some other really neat implementations of both of those projects.
Third, I’ll be available for speaking opportunities at more WordCamps and conferences. When I was working freelance I really needed to budget my time and finances months in advance, and consider the out-of-pocket cost to my family and my business for each individual trip. That made it really hard to cherry pick which ones to visit since the decision was directly linked to how much gas I had in the car and how full the refrigerator was. Now I’ll be able to be more involved with the community again, not just at WordCamps, but the support forums, IRC, and other various conferences (which as a brief aside is something I’ve really been missing lately.)
Lastly, I’m appreciative of everyone that I’ve met in the WordPress community. The past few years have been amazing, and words can’t express how excited I am for what the future holds for me at Automattic.
-
Evolution of WordPress Posts
A post is a post!
Of course?
Of course!
…except when it’s 2010 and according to the internet a post could be just about anything that requires the act of ‘posting’ something. I mean, I post to my WordPress blogs, my Twitter stream, my FaceBook wall, my BuddyPress Activity streams, and bbPress topics. I post things on Ebay, Craigslist, and Autotrader. I am constantly posting responses to Trac tickets, bbPress topics, and WordPress blog posts.
These are all posts, but the main differences are human intent and informational context. If I waved my hand in the air and proclaimed to you “I am going to post on the internet today,” aside from me looking like a complete moron, you wouldn’t have any idea what I was posting, where to find it, or if you actually DID find it because I haven’t provided any hints or clues to guide you.
WordPress uses the word ‘post’ just as ambiguously as people do, because it does a good job at working how people naturally work. A post is whatever you make it out to be, and all of the little things that WordPress does are in an attempt to provide multiple dimensions of context.
Originally there were categories, and they were great. Standard; but pretty great anyhow. Like good little creatives, we were able to group our musings into their hierarchical homes so that we could start relating them to each other in a logical way. This obviously wasn’t an Earth shattering feature, but it broke us out of the structured and linear data arrangements we were used to.
In WordPress 2.0, post types were used to provide context to media attachments. This was huge as it allowed for images, videos, and music to have their own ‘sub-post’ permalinks and comment streams.
In WordPress 2.3 came tag support, and these were a little confusing to people at first (sometimes they still are!) but never-the-less a very welcome relative to categories. I think of tags as the light-hearted little brother to categories. Categories are methodical, organized, and structured; Tags are perfectly fine floating around in a cloud, daddy-o. Basically, tags offered up a more casual way to relate these otherwise arbitrary posts to each other without requiring us to think about how a tree of categories might be affected.
Even with tags and categories we still struggled with context, and along with improved tag support WordPress 2.5 brought an under-the-hood transition into using categories and tags as part of a larger internal taxonomy API. This was great for developers as it allowed for almost unlimited arrangements of post data… Well, blog post data anyhow.
In the next versions of WordPress, the core team focused on fleshing out the ‘post type’ system that eventually evolved into what we now refer to as Custom Post Types in WordPress 3.0. Even before 3.0 launched there was discussion about ‘post types’ being an inaccurate description and ‘content types’ being more fitting. The word ‘post’ has become so synonymous with ambiguous internet content that I find myself using the references interchangeably depending on my audience.
You’d think by now we would have explored every kind of data management and post context imaginable within WordPress. We have categories, tags, taxonomies, posts, pages, attachments, revisions, and completely custom post types; and yet there’s still something missing.
The next major version of WordPress (3.1) is going to introduce something that has its roots in the P2 theme developed by Automattic, called a ‘post format‘ that aims to assist in providing visual context to an existing data source. Using the rock solid taxonomy API introduced years ago, post formats provide themes a unified method of presenting eight different kinds of content: blog, aside, chat, gallery, image, link, quote, and video.
Post formats are NOT about adding another unlimited dimension of data storage; they are about committing to a proven method for microblogging, to help guide theme designers and developers into a standardized and core supported method for providing real context to blog posts that is unrelated to categories or tags. From what I understand, post formats will be ‘opt-in’ meaning that individual themes will need to tell WordPress which formats they are built to handle, but I haven’t actually tried that out with code to verify yet. Check out Mark Jaquith’s explanation of Post Formats for more info.
I think post formats are the best solution to the ‘ambiguous post’ problem I’ve been talking about. WordPress and the countless developers that have helped make it so awesome have spent the greater portion of 5 years coming up with flexible and limitless ways to store and retrieve ‘posts,’ and post formats mark the beginning of internally using those robust API’s to concentrate on standardized content presentation.
As a general disclaimer, it’s possible I could be wrong about post formats and the intentions of everyone involved in creating them. I haven’t been involved in the process other than watching the development unfold. They could be for something totally and completely different than the way I am imagining using them. If I am, hopefully someone will chime in. 🙂
Anyhow… As you can see, WordPress posts have been through a pretty amazing journey over the years. In the future I hope to see some really creative uses for the new post formats and can’t wait to see what theme designers come up with.
-
BuddyPress Appreciation Day
One of my most fantastical clients gave BuddyPress some props on their website, and I thought it was probably the most adorable thing any of my clients have done, so naturally I’m sharing it here.
Check out Friday’s blog post over at WeHeartThis.
Thanks Stef and Tyna! You’re the bestest!
-
Giving props is cool
I’m not really a business-man kind of guy. I’ve never really been able to wrap my head around the economic logistics of running a zillion dollar corporation, so I’ll preface this to say that I can’t really speak from that angle with first hand experience. What my perception of that kind of business is though, is cut-throat and viscous with a side of watch-your-back. Considering I’m generally a laid back, go with the flow kind of person (unless I’m sitting in traffic) it’s pretty natural and obvious that I’m just not cut out for that line of work.
What has worked pretty well for me though, is open source development. I think because it has that whole ‘pay it forward’ type of mentality to it… and because I get to prove myself everyday to my friends, my peers, and my clients and colleagues. It benefits not only me, but the people that I work and play with, to do a good job. I’m rewarded with natural thank-yous and random pats-on-the-back just for doing something that I would be doing anyhow, which lets me ‘make my own bed’ so to speak. It’s like having a commission based salary, except without the sales pitch and the getting ripped off by the sales guy.
I’m blessed and fortunate to be able to do what I do and be able to pay the bills with it. It’s a luxury that I’m not always sure I deserve yet, but I take advantage of the opportunities doing my best not to take them for granted any step of the way. Because of the WordPress community, I’ve met amazing people that I call my friends, even if we’ve physically met 3 times. I’ve gotten to work a lot on BuddyPress, and will be putting some efforts into bbPress now, all of which I’m happy and proud to be able to say that I am a small part of.
All of this, isn’t my doing.
If it wasn’t for the GPL, I wouldn’t have any of it. None of it would be possible.
If I wasn’t able to see other peoples work and reapply it for the task at hand, I would never have been able to learn LAMP development in the first place. The first thing I noticed is that open source developers are typically very generous, providing copious amounts of insight and example code with out asking for a penny in return. The general rule, of course, is that you credit the original author for their assistance, even if it was in a semi-anonymous fashion. I generally like to drop a comment in their blog if they have one thanking them for their help, but I digress…
This is all what made giving props cool.
Let me just say, that NOT crediting people for their help is usually uncool. I am of the opinion that anyone with a shred of moral fiber should thank the people that helped them get where they are. But in the open source development world, having a link in your footer to the engine that runs your site, is something you’re proud of; having a commented line of code inside yours that credits the original author is something you’re proud to do, and there’s a few reasons why I think that is:
- It shows you’re paying attention to other people and what their methods are.
- It shows that you respect them and their efforts.
- It lets the world know that you’re humble enough to thank the people that help you along the way.
- It proves that you can’t do it alone, and that you understand that no one expects you to.
- It goes a long way towards building good relationships and business practices.
- It means that when someone credits the hard work that you’ve done, you’ll get that warm, fuzzy feeling too.
I know that the GPL is a legal document that is meant to protect the rights and abilities of the developers that use it. Going back to the business-man thing, I can honestly say that in my beginnings (and sometimes even recently) I did not comprehend exactly what the GPL was or what it meant to believe in it as strongly as I do on this day. To me, today, the GPL is something that protects me and my rights as much as it is something that lets me safely distribute what I do for others to use, reuse, and share however they see fit in a respectable and ethical fashion.
The kicker about all this, is my feelings won’t be hurt if I don’t get ‘props’ even if it’s in the spirit of the GPL to provide them; even if it’s written in the license that you need to obey the original license. If I never get a thank you, and never get recognition for what I do, and my code shows up somewhere without a direct credit to me, I won’t even be mad… it isn’t something I need or want… but I will appreciate it. Like most things in life that can be appreciated, if they go totally unappreciated for too long… if they are used and abused to point of an obvious injustice being committed, be it moral, ethical, legal, or otherwise… there are and should be repercussions for that kind of behavior.
So… in short (but also very long), the GPL made props cool. It did that by giving everyone a perpetual and reciprocal way of helping each other get things done in a way that makes sure everyone is appreciated, everyone is treated fairly, and everyone gets recognized for their hard work and dedication. If you use a GPL licensed snippet of code, or an icon that someone has made available, or use open source software, by recognizing the hard work that went into those things, you’re silently appreciating and respecting the people that help make the internet awesome, and they do appreciate it. I know I do, and I appreciate all of you too. 😀