Dented Reality

All 'Projects' Posts

When I’m not working for other people, I often get carried away with side projects and experiments. This category will include all posts related to those projects. Most of them are technical or web-related, but once in a while I’ll even do things IRL!

Keyring Documentation

I’ve started putting together a Developer’s Guide to working with Keyring in your WordPress plugins and themes. Check it out.

If you haven’t seen Keyring yet, then check it out at the WordPress.org Plugin Repository.

TimesOpen Hack Day/Readtrack

On Saturday, I attended the 2012 New Times/TimesOpen Hack Day. It was a long day, but I had a lot of fun. I sat in on an intro session to Arduino which was pretty cool, and also a session on the EchoNest API, which I ended up using in my project. You can find out all about my project on the Readtrack project page.

It’s a bookmarklet-powered little app that analyzes the page you’re looking at (using the AlchemyAPI) and then tries to find related music (using the EchoNest API) which it then plays back to you in your browser (using rdio). I got a “runner up”/honorable mention prize :)

One of the most visually-polished projects was “Story Arc”, which showed a visual representation of the frequency of mentions of keywords over the NYT archives. Probably the most fun one was a set of drivers for a DDR pad, hooked up to commands for things like deploying code!

Where is Your Digital Hub/Home?

I’ve been using WordPress to power my own website for a while now, and working with it in some way or another for even longer. Over the years, I’ve developed the belief that it’s a pretty perfect platform for people to build their own “digital home on the web”, considering the range of plugins and themes available, the flexibility of the publishing options it offers, and the fact that it’s completely open source, so you can do whatever you want with it.

That last bit is important in more ways than you might immediately think. Apart from just being able to write my own plugins or tweak my themes, this also means that I own my own data. I think in this MySpace/Facebook generation, people are all too loose with the data trails they create — giving up ownership of their digital self at the drop of a hat. In case you didn’t realize, when you use something like Facebook, it is not the product, you and your data are the product.

Read the rest of this post…

Moving Jetpack Sharing Buttons

I’m working on a new WordPress theme (for this site, and it’ll be released for download once complete). The theme is deeply integrated with Jetpack, and one of the things I wanted to do was have the Jetpack Sharing buttons appear in a location other than the very end of the content. Normally they are applied as a filter on the_content, so they just appear right at the end. I wanted to relocate them into a different location, and it turns out that’s really easy to do with the power of jQuery.

jQuery( document ).ready( function( $ ) {
	// Relocate Jetpack sharing buttons down into the comments form
	jQuery( '#sharing' ).html( jQuery( '.sharedaddy' ).detach() );
} );

The #sharing selector is just the DOM location where I want to move the buttons to, and the .sharedaddy one is the container that Jetpack places its buttons in normally. We just detach it from the normal position and then dump it into the new location exactly as it was.

Welcome to the new server

I’ve finally gotten around to moving this site (along with all my other random sites) onto a single server. It’s all now hosted at Media Temple, on a 512MB (dv). We’ll see how that goes. I’ve got a bunch of things to write up once the move is complete, but if you’re seeing this then it looks like we’re most of the way there.

There’s definitely some more tuning and tweaking to happen, but at least I have my memory usage below 100% :)

WordPress Authentication Framework: Keyring

Keyring: An authentication framework for your plugins

Quite a while ago (like, in at least 2009), I started thinking about regaining control of all the content I was producing online. I was posting photos to Flickr, saving bookmarks to Delicious. I started Tweeting. I was checking in. All fun and games, and all of those services offer great tools for interacting with them (let’s face it, tools that are much better than WordPress’, because they are focussed on one thing). So I figured, why not write importers for these services and pull my content back over to my WordPress. And keep doing it periodically, so that I could keep using those tools. I want WordPress to be my “home on the web”, my digital hub, but I want to use these neat tools with their fancy apps and what-have-you.

Very quickly, I realized that if I was going to do anything useful on most web services, I’d need to be able to authenticate with them. No biggie, right? I know my username and password… Oh. Right. OAuth. Turns out that most web services use OAuth (or something similar) to authenticate, and it turns out that that’s actually a bit of a bear to implement, when all you want to do is write a simple little Twitter importer. And then again for a Foursquare importer. And a Flickr importer.

What I needed was a shared, generic authentication framework that would do all the heavy lifting for me. I would tell it I wanted a connection to specific service, and if it didn’t have one, it’d walk the user through the process of getting one. It’d give me a standardized format of authentication credentials and abstract out all the complexity of making authenticated requests against those services. Then it would make me a coffee*. What I needed, was Keyring.
Read the rest of this post…

Announcing: SidewalkScribbl.es

I’ve launched a new website that you might like to check out: SidewalkScribbl.es

It feels like every time I walk around in San Francisco (and other places), I see all this cool artwork, quotes, stencils etc on the sidewalk that I’m sure a lot of people are missing or not appreciating. SidewalkScribbl.es will be a place to share those things. The site will most likely get a facelift to make things look better, but in the meantime I’m just getting started with some of the things I’ve already collected from around the place.

Keep an eye out for another *Scribbl.es site soon ;)

Jetpack

For the past few months, my team at Automattic (Team Social FTW!) has been working on a super-secret project. Today, almost perfectly synchronized with the NASA space shuttle landing (total fluke, but awesome regardless) we launched Jetpack!

Jetpack is a new plugin that delivers a bunch of popular features from WordPress.com (the hosted site, which Automattic runs) to self-hosted installs of WordPress (such as the one that runs Dented Reality). Once you install Jetpack, you get some of the cooler things available on WordPress.com, automatically enabled on your own WordPress site. The modules you get today are just the beginning though, there are a lot more planned for future releases. We’re going to be targeting some of the biggest features that are easier for us to do on our massive grid/cloud infrastructure, but harder for folks to do on their own shared-hosting accounts.

We also managed to partner with a bunch of leading web hosts, so if you’re doing a one-click install on BluehostDreamHostGo DaddyHostGatorMedia Temple, or Network Solutions, you’ll get Jetpack as part of your install. This is huge for people installing their own WordPress.

This has been the coolest thing I’ve worked on at Automattic so far, and it’s been awesome to be involved in a project that has seen so many contributions internally (over 40 people were involved in everything from UX to design to internationalization to testing and debugging) and so many iterations since its inception. I’m really proud of what we’ve created, and hope that it sets a new bar for the design of WordPress plugins (I really think Jetpack is beautiful, amazing work Joen, Hugo and MT!).

So – check out Jetpack if you’re running WordPress on your own server, and let us know what you think!

Which features would you most like to see in Jetpack? Let me know in the comments and I’ll see what I can do ;)

PS: This post proudly proof-read by After The Deadline, as delivered via Jetpack ;)

Gravatar Wall

If you’ve ever posted a comment on this website, your face should appear on my new Gravatar Wall. I’m going to release this as a simple WordPress plugin soon :)