Dented Reality

Jetpack 2.0, Packed With Magic

Last night, I preemptively tweeted about the upcoming release of Jetpack 2.0:

Read the rest of this post…

Hurricane Sandy Aftermath

Right now, I am considering myself very lucky. I’ve just lived through not only my first ever, but the most intense hurricane in New York’s history. Hurricane Sandy.

Within less than a few miles in 3 directions (North, South, West) homes are destroyed, roads are flooded, power is out. Right where I am (Park Slope) we have a lot of leaves on the ground, a few branches down and some minor damage on buildings. It’s pretty amazing how little impact we’ve directly had. It’s definitely not completely over, but we’ved fared a lot better than folks very nearby. Now we see how long it takes for NYC to get back on its feet and get things running again.

Subways are still all out of commission. 7 tunnels between Brooklyn and Manhattan are flooded. Buses will hopefully start coming online later today. What’s left of Lower Manhattan is a mess. It will be a long time before things are “back to normal” for everyone. Here’s how it looked from my perspective:

Read the rest of this post…

WordPress is Your Digital Hub

This post continues on from a previous post: Where is Your Digital Hub/Home?

In a previous post, I talked about POSSE and PESOS, and publishing on your own site vs other platforms, syndicating content back and forth and content ownership. I mentioned that I’d opted for the PESOS approach, and that I was publishing content on other platforms, then syndicating it back to my own site. Let’s take a look at how that happens.

First of all, I’m running WordPress. Since I’ve been working with WordPress for years, and since my full time job has me working with it as well, this made a lot of sense. Even without those motivators though, WordPress has a huge community, is open source, is a really solid publishing platform, is built from the ground up to be completely customizable through plugins, and has an incredibly powerful themeing system (which basically allows you to do whatever you want).

One of the other things WordPress has going for it is a long history of providing data import and export tools. You’ve always been able to get data into and out of WordPress with relative ease, so it seemed like getting a bunch more data in there would be a reasonable goal. With the advent of Post Formats (in WP 3.1), WordPress also has a native way of hinting at how different types of data should be displayed, plus Custom Post Types (since WP 3.0) mean that if you really want to get crazy, you can step completely outside of the normal “Post” model and get really custom.

One of the things that got me started down the road of actually getting control over my content was “The Great Twitter 3200 Tweet Debacle” (I made that name up). Because of technical constraints, Twitter only allows you to access your most recent 3200 tweets. I’ll give you a few seconds to let that sink in. Twitter. Only allows you to access. Your most recent 3200 tweets. Your own tweets. Has that hit home yet? Here you are producing all this stuff, thinking it’s yours, and Twitter actually decides what you can and can’t access. Before I hit that 3200 mark (I was up to around 3100 at the time), I vowed that I’d get something figured out to get a copy of all of my tweets stored somewhere that I controlled.

Read the rest of this post…

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% :)

List of Facebook fb_source values

If you’re working with Facebook’s API and trying to record some stats around the values being sent via their fb_source parameter, you might be forgiven for thinking that you could get a definitive list of valid values from their official documentation. Hah! Think again.

Read the rest of this post…

Standing Desk, The 6’4″ Edition

I’m pretty tall — 6 ft 4 inches (193cm) when I’m not stooping. I’d been wanting to try a switch to a standing desk for a while, and a recent move to New York meant I needed a new desk anyway, so it was the perfect opportunity. I had a few requirements for my new office-space:

  • Must be able to support an Apple Thunderbolt Display (23.5 lbs or 10.8 kg)
  • Need some space (didn’t have a specific lower bound, but saw a bunch that were too small)
  • Adjustable workspace height, of primary concern being that I could put the main one at (my personally determined height of) 47 inches (119 cm)
  • Storage space for random “desk stuff” that I’d prefer wasn’t on my actual desk, but would like nearby.
  • Not crazy expensive.

Read the rest of this post…

My Development Setup/Flow

Developers seem to love to hear about how other developers work, so I thought I’d try to capture my entire environment, from end to end, in a single post. This will change (has changed) over time and depending on the project/company/whatever, but this is how things are for me right now. A couple of points up front:

  • I work for Automattic, so a lot of this is influenced by our internal policies/security/workflow.
  • I don’t always use all components of this “system”. I’ll try to detail when I do/don’t use certain parts of it as I go.

OK, here goes.

Note: This turned into a little bit of a summary of how we work internally at Automattic as well. Oh well, maybe it’ll provide some inspiration, I think we do some pretty cool things.

Read the rest of this post…