<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Dented Reality</title>
	<atom:link href="http://dentedreality.com.au/feed/" rel="self" type="application/rss+xml" />
	<link>http://dentedreality.com.au</link>
	<description>Beau Lebens throws down his opinion on all sorts of things he doesn&#039;t know too much about.</description>
	<lastBuildDate>Thu, 23 May 2013 21:48:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.6-beta3</generator>
		<item>
		<title>4 years on Automattic</title>
		<link>http://dentedreality.com.au/2013/05/11/4-years-on-automattic/</link>
		<comments>http://dentedreality.com.au/2013/05/11/4-years-on-automattic/#comments</comments>
		<pubDate>Sat, 11 May 2013 18:11:48 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[anniversary]]></category>
		<category><![CDATA[automattic]]></category>
		<category><![CDATA[gravatar]]></category>
		<category><![CDATA[intensedebate]]></category>
		<category><![CDATA[social]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=12257</guid>
		<description><![CDATA[On this day, 4 years ago, I started full time with Automattic. This is my 4th Automattiversary. I had already been on trial for 5 months by that point (since January), and had a good feel for the company and the other Automatticians. I knew it was where I wanted to be. So I accepted [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>On this day, 4 years ago, I started full time with <a href="http://automattic.com">Automattic</a>. This is my 4th Automattiversary.</p>
<p>I had already been on trial for 5 months by that point (since January), and had a good feel for the company and the other Automatticians. I knew it was where I wanted to be. So I accepted the offer, and became a fully-fledged member of a relatively small team (I was employee number 35) that was bringing blogging to the people (amongst other things).</p>
<p>In the four years since then, a lot has happened and changed.</p>
<p><span id="more-12257"></span></p>
<p>One of the most obvious things is that the company went from this (taken at my first full-company meetup, in Quebec, Canada)&#8230;</p>
<p><img class="aligncenter size-medium wp-image-12258" alt="Automattic in Quebec" src="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2013/05/209-10-quebec-automattic.jpg?resize=500%2C356" data-recalc-dims="1" /></p>
<p>&#8230;to this (most recent full-company meetup in San Diego, California, although we&#8217;re significantly bigger already, I think 160-something people):</p>
<p><img class="aligncenter size-medium wp-image-12259" alt="Automattic in San Diego" src="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2013/05/2012-automattic-team.jpg?resize=500%2C332" data-recalc-dims="1" /></p>
<p>But so much more has happened. Let&#8217;s see:</p>
<ul>
<li>We went from a completely flat company structure to a new team-based arrangement to help us cope with growing, and being completely distributed. Each team operates like a small company of its own (with design/development etc), and then there are a few teams that do cross-product things like Happiness, Operations and Systems.</li>
<li>I went from working almost exclusively on <a href="http://intensedebate.com">IntenseDebate</a>, to working extensively on <a href="http://gravatar.com">Gravatar</a>, to working on a variety of &#8220;social&#8221; features for <a href="http://wordpress.com">WordPress.com</a>, to now leading the development of our <a href="http://p2theme.com">internal communications platform</a>.</li>
<li>We had, and <a href="http://www.sfgate.com/technology/article/Pier-38-deemed-unsafe-tech-tenants-evicted-2310568.php">then lost</a> (long story) a beautiful office space on Pier 38 in San Francisco</li>
<li>I have travelled. A lot. By my count: Los Angeles (3 times), Manila, Washington D.C., Quebec, Sunnyvale, New York (twice), Jakarta, Austin (three times), Portland (twice), Savannah, Seaside, Athens, Minneapolis, Orange County, Seattle, Lisbon, Budapest, Kailua, Napa, Boston, San Diego (twice), Berlin, New Orleans, Las Vegas, Columbia, and Akron/Canton. Phew!</li>
<li>On top of that, I made the most of the fact that we can work from anywhere in the world and spent 45 days in South America (Santiago, Chile mostly, and a few days in Buenos Aires for good measure), around 45 days in Australia (South Western Australia, Perth and Sydney), and then relocated from San Francisco to Brooklyn, New York.</li>
<li>Now we have a new, amazing (huge) space in San Francisco, which I&#8217;ll finally get to see in a few days when I&#8217;m back in the Bay Area again.</li>
<li>I am now the only remaining original member of Team Social (one left Automattic and is now <a href="http://scottberkun.com/category/automattic-book/">writing a book about us</a>, the others have switched to different teams/roles), and am now the Team Lead.</li>
<li>I&#8217;ve spoken at a bunch of <a href="http://wordcamp.org">WordCamps</a>, some <a href="http://meetup.com/WordPress-SF/">WordPress</a> <a href="http://www.meetup.com/WordpressNYC/">Meetups</a> and our <a href="http://vip.wordpress.com/2013/03/27/developer-workshop/">VIP Workshop</a>.</li>
<li>We&#8217;ve continued to hire an amazing group of people from <a href="http://automattic.com/map">all over the world</a>, while only a few have chose to leave the company.</li>
<li><a href="http://vaultpress.com">VaultPress</a> came into existence, and has redefined what security and backups mean for WordPress sites. We also acquired a <a href="http://codegarage.com/">related company</a>.</li>
<li>Speaking of acquisitions, we also acquired <a href="https://simperium.com/">Simperium</a>, and their main product <a href="http://simplenote.com/">Simplenote</a>.</li>
</ul>
<p>I&#8217;m sure there&#8217;s so much more, but it&#8217;s hard to keep up with all the things going on these days. I hadn&#8217;t even realized until just now, but this is also the longest I&#8217;ve ever worked at one company; even though in some ways it feels like I&#8217;ve worked for a few different ones because I&#8217;ve done such different things along the way.</p>
<p>Here&#8217;s to at least another 4 years with the best company, made up of the best people, that I&#8217;ve ever worked with.</p>
<div id="attachment_12262" class="wp-caption aligncenter" style="width: 510px"><img class="size-medium wp-image-12262" alt="Me skydiving in San Diego, during a work trip :)" src="http://i1.wp.com/dentedreality.com.au/wp-content/uploads/2013/05/8460271968_80d9e57a37_b.jpg?resize=500%2C281" data-recalc-dims="1" /><p class="wp-caption-text">Me skydiving in San Diego, during a work trip <img src='http://i0.wp.com/dentedreality.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' data-recalc-dims="1" /></p></div>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2013/05/11/4-years-on-automattic/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:thumbnail url="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2013/05/209-10-quebec-automattic.jpg?resize=150%2C150" />
		<media:content url="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2013/05/209-10-quebec-automattic.jpg?resize=688%2C491" medium="image">
			<media:title type="html">Automattic in Quebec</media:title>
			<media:thumbnail url="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2013/05/209-10-quebec-automattic.jpg?resize=150%2C150" />
		</media:content>
		<media:content url="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2013/05/2012-automattic-team.jpg?resize=1400%2C932" medium="image">
			<media:title type="html">Automattic in San Diego</media:title>
			<media:thumbnail url="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2013/05/2012-automattic-team.jpg?resize=150%2C150" />
		</media:content>
		<media:content url="http://i1.wp.com/dentedreality.com.au/wp-content/uploads/2013/05/8460271968_80d9e57a37_b.jpg?resize=1024%2C576" medium="image">
			<media:title type="html">Me, Skydicing</media:title>
			<media:description type="html">Me skydiving in San Diego, during a work trip :)</media:description>
			<media:thumbnail url="http://i1.wp.com/dentedreality.com.au/wp-content/uploads/2013/05/8460271968_80d9e57a37_b.jpg?resize=150%2C150" />
		</media:content>
	</item>
		<item>
		<title>10 Year Blogoversary!</title>
		<link>http://dentedreality.com.au/2013/04/09/10-year-blogoversary/</link>
		<comments>http://dentedreality.com.au/2013/04/09/10-year-blogoversary/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 05:01:28 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[anniversary]]></category>
		<category><![CDATA[automattic]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[blosxom]]></category>
		<category><![CDATA[brooklyn]]></category>
		<category><![CDATA[dented reality]]></category>
		<category><![CDATA[hawaii]]></category>
		<category><![CDATA[maui]]></category>
		<category><![CDATA[new york]]></category>
		<category><![CDATA[perth]]></category>
		<category><![CDATA[san francisco]]></category>
		<category><![CDATA[website]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=11949</guid>
		<description><![CDATA[10 years ago today, I posted my first blog post on this site. That&#8217;s pretty much forever on the internet, and I think it probably also makes me old. A lot has changed in the last decade, both on this website, and for me personally (and the world at large). Let&#8217;s have a quick look shall [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>10 years ago today, I posted <a href="http://dentedreality.com.au/2003/04/08/good-idea-for-the-calendar-in-the-archives/">my first blog post on this site</a>. That&#8217;s pretty much forever on the internet, and I think it probably also makes me old. A lot has changed in the last decade, both on this website, and for me personally (and the world at large). Let&#8217;s have a quick look shall we?</p>
<h3>dentedreality.com.au</h3>
<p>When I first created this website, I was using a little tool called <a href="http://blosxom.sourceforge.net/">blosxom</a> to manage the blog. It was a tiny little Perl script that pulled the contents of your blog from text files on your filesystem. Pretty awesome, nerdy stuff. Dented Reality also looked something like this, pretty hot huh?</p>
<p style="text-align: center;"><a href="http://web.archive.org/web/20030409042958/http://dentedreality.com.au/"><img class="aligncenter size-medium wp-image-11957" alt="dented-2003" src="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2013/04/dented-2003.png?resize=500%2C393" data-recalc-dims="1" /></a></p>
<p><span id="more-11949"></span>Lots and lots of hand-coding. I was really into Information Architecture and search systems and stuff like that, so my site kind of reflected that. It had a fluid layout and scaled reasonably well to the screens of the day. I&#8217;m surprised (and pleased) to see that the version in archive.org even mostly loads and works in a modern browser. My site stayed looking like that for a LONG time. I poked around a bit with the content, and posted on the blog here and there, but wasn&#8217;t really that into the whole file-system-based blog thing (as neat an idea as it was, it just didn&#8217;t fit wonderfully with how I worked).</p>
<p>Somewhere between Oct 18 and Dec 13 in 2008, I finally launched <a href="http://web.archive.org/web/20081210090541/http://dentedreality.com.au/">a complete overhaul of my site</a>, which was then powered by <a href="http://wordpress.org">WordPress</a>.</p>
<p style="text-align: center;"><a href="http://web.archive.org/web/20081210090541/http://dentedreality.com.au/"><img class="aligncenter size-medium wp-image-11958" alt="dented2008" src="http://i1.wp.com/dentedreality.com.au/wp-content/uploads/2013/04/dented2008.png?resize=500%2C386" data-recalc-dims="1" /></a></p>
<p>I started blogging more, and even posted about <a href="http://dentedreality.com.au/2008/11/04/dented-reality-v50/">the site update itself</a>. This was a (my first) handmade WordPress theme, and included a few neat things like the combined feed on the right (music from <a href="http://www.last.fm/user/borkazoid">last.fm</a>, <a href="http://twitter.com/beaulebens">tweets</a> and links from <a href="http://delicious.com/beau">delicious</a>), some dynamic page menus and loading posts based on tags onto the project pages.</p>
<p>A lot has changed since then&#8230; except for the theme <img src='http://i0.wp.com/dentedreality.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' data-recalc-dims="1" />  It really must be time for a new one, and it happens that I&#8217;m <a title="Where is Your Digital Hub/Home?" href="http://dentedreality.com.au/2012/10/07/where-is-your-digital-hub-home/">currently working on a new theme</a> that will eventually power this site. It&#8217;s just not quite ready for prime time yet. Under the hood, a bunch of plugins have come and gone, and this site has even been merged into a <a href="http://codex.wordpress.org/Create_A_Network">multi-site</a> install that&#8217;s used to power a few other WordPress&#8217; that I manage. On the surface though, Dented Reality looks pretty similar to how it did almost 5 years ago. I promise I&#8217;ll get my new theme launched before I hit the 5 year mark (and it&#8217;s a significantly different theme)!</p>
<p>At a hosting level, dentedreality.com.au has been hosted at <a href="http://phpwebhosting.com/">phpwebhosting.com</a>, <a href="http://dreamhost.com">DreamHost</a> and now <a href="http://mediatemple.net">MediaTemple</a> over that time. I think that&#8217;s all. I&#8217;m pretty happy with MediaTemple for now, their <a href="http://mediatemple.net/webhosting/dv/">Dedicated Virtual plan</a> is serving this site (and a bunch of others) just fine. In keeping with the short-attention-span culture, I also got my hands on <a href="http://dntd.cc">http://dntd.cc</a> which redirects to this site at the root level, and functions as a URL-shortener for all entries on this site as well (it&#8217;s also really handy to have a one-letter email address on for when you have to hand-write one somewhere).</p>
<h3>Life</h3>
<p>While my site was ticking away, a bunch of big changes have happened in my life as well (some more related to this website than others).</p>
<ol>
<li><span style="line-height: 13px;">Left my &#8220;motherland&#8221;, Australia, and moved to <a href="http://www.flickr.com/photos/borkazoid/1120960/in/photostream">Maui, Hawaii</a>. I was there for a year and knew that it wasn&#8217;t the place for me.</span></li>
<li>Moved from Hawaii to San Francisco, California (some time in the months leading up to <a href="http://dentedreality.com.au/2005/08/20/its-a-foocamp-for-the-restuvus/">this</a>). Absolutely loved living in SF and really got involved in the tech community, met a lot of great people and really built out my career.</li>
<li>Became much more involved with WordPress and in 2009, <a href="http://dentedreality.com.au/2009/05/11/fully-automattic/">started working</a> for <a href="http://automattic.com">Automattic</a>, the company that owns/operates <a href="http://wordpress.com">WordPress.com</a> (and a bunch of other products/services).</li>
<li>Met <a href="http://teachershavelivestoo.com">Erika</a>.</li>
<li>Moved from SF to Brooklyn, New York (with Erika), where we are right now.</li>
</ol>
<p>Through my work at Automattic, I now spend most days working on something at least tangentially-WordPress related. It&#8217;s pretty awesome, and seems fitting that this site continues to run on WordPress (I self-host, rather than run on WordPress.com). I still experiment and try out new things here (and run &#8220;trunk&#8221;), and as mentioned I&#8217;m hoping to soon launch a pretty major overhaul of the site, which will include a new theme and a bunch of new content. As for some other things I&#8217;ve been up to online in that time:</p>
<ul>
<li><span style="line-height: 13px;">9,809 <a href="https://twitter.com/beaulebens">tweets</a> on Twitter</span></li>
<li>3,974 <a href="http://www.flickr.com/photos/borkazoid/">photos</a> on Flickr</li>
<li>1,481 <a href="https://delicious.com/beau">links</a> on Delicious</li>
</ul>
<p>and a bunch comments, posts, images, etc around the place. That&#8217;s a lot of digital stuff. You&#8217;ll be seeing a lot more of that around here once I get the updates in place.</p>
<p>I wonder what the next decade will hold?</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2013/04/09/10-year-blogoversary/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2013/04/dented-2003.png?resize=150%2C150" />
		<media:content url="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2013/04/dented-2003.png?resize=930%2C731" medium="image">
			<media:title type="html">dented-2003</media:title>
			<media:thumbnail url="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2013/04/dented-2003.png?resize=150%2C150" />
		</media:content>
		<media:content url="http://i1.wp.com/dentedreality.com.au/wp-content/uploads/2013/04/dented2008.png?resize=1000%2C772" medium="image">
			<media:title type="html">dented2008</media:title>
			<media:thumbnail url="http://i1.wp.com/dentedreality.com.au/wp-content/uploads/2013/04/dented2008.png?resize=150%2C150" />
		</media:content>
	</item>
		<item>
		<title>Keyring Documentation</title>
		<link>http://dentedreality.com.au/2013/03/06/keyring-documentation/</link>
		<comments>http://dentedreality.com.au/2013/03/06/keyring-documentation/#comments</comments>
		<pubDate>Wed, 06 Mar 2013 22:58:42 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Techn(ical|ology)]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[keyring]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=11722</guid>
		<description><![CDATA[I&#8217;ve started putting together a Developer&#8217;s Guide to working with Keyring in your WordPress plugins and themes. Check it out. If you haven&#8217;t seen Keyring yet, then check it out at the WordPress.org Plugin Repository.]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve started putting together a <a title="WordPress: Keyring Developer’s Guide" href="http://dentedreality.com.au/projects/wp-keyring/">Developer&#8217;s Guide</a> to working with <a href="http://wordpress.org/extend/plugins/keyring/">Keyring</a> in your WordPress plugins and themes. <a title="WordPress: Keyring Developer’s Guide" href="http://dentedreality.com.au/projects/wp-keyring/">Check it out</a>.</p>
<p>If you haven&#8217;t seen Keyring yet, then <a href="http://wordpress.org/extend/plugins/keyring/">check it out at the WordPress.org Plugin Repository</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2013/03/06/keyring-documentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
	</item>
		<item>
		<title>I Want to Love My Pebble</title>
		<link>http://dentedreality.com.au/2013/03/02/i-want-to-love-my-pebble/</link>
		<comments>http://dentedreality.com.au/2013/03/02/i-want-to-love-my-pebble/#comments</comments>
		<pubDate>Sun, 03 Mar 2013 01:44:13 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Techn(ical|ology)]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[kickstarter]]></category>
		<category><![CDATA[Pebble]]></category>
		<category><![CDATA[smartwatch]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=11674</guid>
		<description><![CDATA[It&#8217;s true, I really want to love the Pebble that I got from being a Kickstarter backer. I want to, but right now I can&#8217;t. I can only like it. And I can like it a lot &#8212; there&#8217;s a lot to like! I have a computer on my arm! I can read text messages without [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s true, I really want to love the <a href="http://getpebble.com">Pebble</a> that I got from being a <a href="http://www.kickstarter.com/projects/597507018/pebble-e-paper-watch-for-iphone-and-android">Kickstarter backer</a>. I want to, but right now I can&#8217;t. I can only <em>like</em> it. And I can like it a lot &#8212; there&#8217;s a lot to like!</p>
<ul>
<li><span style="line-height: 13px;">I have a computer on my arm!</span></li>
<li>I can read text messages without taking my phone out</li>
<li>I can control music that&#8217;s playing on my phone</li>
<li>WordPress notifications on my wrist? Yep.</li>
<li>Calendar alerts? Got &#8216;em.</li>
<li>The form-factor is slick: it&#8217;s slim, super lightweight and IMHO, looks pretty darned cool.</li>
<li>Nice backlight, which I can activate by shaking my wrist or tapping the watch</li>
<li>It&#8217;s waterproof! (although I&#8217;m too nervous to actively put that to the test)</li>
</ul>
<p>So why can&#8217;t I love it? Let me count the ways (biggest reasons first):<span id="more-11674"></span></p>
<ol>
<li><span style="line-height: 13px;">Every time the watch disconnects from Bluetooth on my phone, you have to go into your Notification Settings and reconfigure things to &#8220;bump&#8221; Pebble and tell it to display them, which wouldn&#8217;t be that big of a deal, except&#8230;</span></li>
<li>My Pebble randomly loses its connection to my phone. Sometimes not for a day or 2, sometimes 5 times a day.</li>
<li>The Pebble also seems to randomly (much less often than losing the connection) reset; going back to the default watch face.</li>
<li>When I receive 2 text messages right after each other (e.g. it&#8217;s actually one long message, split over 2), I can&#8217;t read the previous one because the latest one is the only one that&#8217;s accessible.</li>
<li>CallerID doesn&#8217;t work, so incoming calls just show the number, not the name, even if the number is in my Address Book.</li>
<li>There are no apps for the iPhone. None. As far as I can tell, there is not a single, released 3rd-party app available for the Pebble, despite <a href="http://blog.lockitron.com/post/34832752186/one-day-left-to-reserve-lockitron-for-149">a few</a> <a href="http://blog.runkeeper.com/post/33458320690/and-the-1st-pebble-app-partner-is">very public</a> claims early in the development process to the contrary. The biggest two that got a lot of attention were supposed <a href="http://ifttt.com">IFTTT</a> and <a href="http://runkeeper.com">RunKeeper</a> integrations. They don&#8217;t exist or are not public. And the reason for this?</li>
<li>They still haven&#8217;t released their <a href="http://developer.getpebble.com/">SDK for anything other than Android</a>.</li>
<li>It doesn&#8217;t even have a basic countdown timer/stopwatch built into the Pebble. This wouldn&#8217;t be a big deal if there was anyone developing apps for it, because I assume this would be one of the first ones to get created.</li>
<li>When making a call, the Pebble appears as an audio source (which is just annoying, it doesn&#8217;t really break anything), despite the fact that&#8230;</li>
<li>There&#8217;s no microphone on the watch. This is an &#8220;extra&#8221;, but they really should have just gone ahead and put one in there. If I had a microphone, I could use the Pebble + standard headphones and be able to have a quick conversation without requiring an inline remote+mic configuration. I could also use things like Siri, or other voice-activated apps a little bit more easily.</li>
<li>When you dismiss a notification on the Pebble, it doesn&#8217;t truly dismiss it on the phone, so you get the follow-up buzz from your phone if you have that enabled, making you think you got another message (which didn&#8217;t show up on your Pebble for some reason).</li>
</ol>
<p>To be fair, the Pebble is new tech. I&#8217;m an early-adopter in this case and things are (obviously) still pretty rough. Hopefully with some time they will smooth them out, get some developers on board and developing cool things. I am concerned that if they don&#8217;t do that soon though, they&#8217;re going to miss their window and people will feel burned by the whole experience. With Apple supposedly working on their own smartwatch, now is the only chance Pebble is going to get to secure their position in the market. It&#8217;s a fair bet that whatever Apple do, it will be more impressive than a no-touch, no-mic, b&amp;w-screened device riddled with bugs.</p>
<p>Like I said, I really want to love my Pebble. I just hope they can get <a href="http://forums.getpebble.com/topics/2106">all these kinks</a> worked out sooner rather than later.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2013/03/02/i-want-to-love-my-pebble/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
	</item>
		<item>
		<title>Import DokuWiki pages into WordPress</title>
		<link>http://dentedreality.com.au/2013/01/29/import-dokuwiki-pages-into-wordpress/</link>
		<comments>http://dentedreality.com.au/2013/01/29/import-dokuwiki-pages-into-wordpress/#comments</comments>
		<pubDate>Tue, 29 Jan 2013 21:01:16 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Techn(ical|ology)]]></category>
		<category><![CDATA[dokuwiki]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[importer]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=11367</guid>
		<description><![CDATA[I used to maintain a wiki full of personal ideas using DokuWiki, but at some point just gave up with wiki syntax entirely. A few months ago when I was moving all of my sites and content over to a new server and trying to consolidate things as much as possible, I decided to import [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I used to maintain a wiki full of personal ideas using <a href="https://www.dokuwiki.org/dokuwiki">DokuWiki</a>, but at some point just gave up with wiki syntax entirely. A few months ago when I was moving all of my sites and content over to a new server and trying to consolidate things as much as possible, I decided to import all of that old content into a <a href="http://wordpress.org">WordPress</a> install (which was actually a single site within the same Multi-site install that runs Dented Reality). I ended up writing the following super-rough script to just scrape the contents of the pages and throw them into WordPress. Scraping the pages meant that I could get the actual output of all plugins etc, and also get full links between pages.</p>
<p><span id="more-11367"></span></p>
<p>The script requires minimal configuration, and then you run it from the command line (php the-file-you-saved-it-as.php). It will loop through the index pages of your wiki, download each page and parse out the actual content (I have only used it on the default template, so I don&#8217;t know how it&#8217;ll go with anything else). It strips out a few things (table of contents, edit links) and attempts to fix up internal links by replacing _ with -. It will also attempt to maintain parent/child relationships of pages based on their namespaces. It worked for me, but YMMV. Have at it:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
/**
* Super rough and tumble WordPress import script for Dokuwiki.
* Based on a very old DW install that was using the default theme. Probably won't work for anything else.
* You will want to change some things if your wiki is installed anywhere other than /wiki/.
* Also check out the wp_insert_post() stuff to see if you want to change it.
*/

require 'wp-load.php';
require_once ABSPATH . 'wp-admin/includes/post.php';

// List of Index URLs (one for each namespace is required)
// These will be crawled, all pages will be listed out, then crawled and imported
$indexes = array(
	'http://urltodokuwiki.com/wiki/index?do=index',
	'http://urltodokuwiki.com/wiki/?idx=namespace',
);

$author = 1; // The user_ID of the author to create pages as

function dokuwiki_link_fix( $matches ) {
	return '&lt;a href=&quot;/' . str_replace( '_', '-', $matches[1] ) . '&quot; class=&quot;wikilink1&quot;';
}

$imported_urls = array(); // Stuff we've already processed

$created = 0;
foreach ( $indexes as $index ) {
	echo &quot;Crawling $index for page links...\n&quot;;
	$i = file_get_contents( $index );

	if ( !$i )
		die( &quot;Could not download $index\n&quot; );

	// Get index page and parse it for links
	preg_match( '!&lt;ul class=&quot;idx&quot;&gt;(.*)&lt;/ul&gt;!sUi', $i, $matches );
	preg_match_all( '!&lt;a href=&quot;([^&quot;]+)&quot; class=&quot;wikilink1&quot;!i', $matches[0], $matches );

	$bits = parse_url( $index );
	$base = $bits['scheme'] . '://' . $bits['host'];

	// Now we have a list of root-relative URLs, lets start grabbing them
	foreach ( $matches[1] as $slug ) {
		$url = $page = $raw = '';

		if ( in_array( $slug, $imported_urls ) )
			continue;
		$imported_urls[] = $slug; // Even if it fails, we've tried once, don't bother again

		// The full URL we're getting
		$url = $base . $slug;
		echo &quot;  Importing content from $url...\n&quot;;

		// Get it
		$raw = file_get_contents( $url );
		if ( !$raw )
			continue;

		// Parse it -- dokuwiki conventiently HTML-comments where it's outputting content for us
		preg_match( '#&lt;!-- wikipage start --&gt;(.*)&lt;!-- wikipage stop --&gt;#sUi', $raw, $matches );
		if ( !$matches )
			continue;

		$page = $matches[1];

		// Need to clean things up a bit:
		// Remove the table of contents
		$page = preg_replace( '#&lt;div class=&quot;toc&quot;&gt;.*&lt;/div&gt;\s*&lt;/div&gt;#sUi', '', $page );

		// Strip out the Edit buttons/forms
		$page = preg_replace( '#&lt;div class=&quot;secedit&quot;&gt;.*&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;#sUi', '', $page );

		// Fix internal links by making them root-relative
		$page = preg_replace_callback(
			'#&lt;a href=&quot;/wiki/([^&quot;]+)&quot; class=&quot;wikilink1&quot;#si',
			'dokuwiki_link_fix',
			$page
		);

		// Grab a page title -- first h1 or convert the slug
		if ( preg_match( '#&lt;h1.*&lt;/h1&gt;#sUi', $page, $matches ) ) {
			$page_title = strip_tags( $matches[0] );
			$page = str_replace( $matches[0], '', $page ); // Strip it out of the page, since it'll be rendered separately
		} else {
			$page_title = str_replace( '/wiki/', '', $slug );
			$page_title = ucwords( str_replace( '_', ' ', $page_title ) );
		}

		// Get last modified from raw content
		preg_match( '#Last modified: (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})#i', $raw, $matches );
		$last_modified = $matches[1];

		// Resolve parent if we're in a namespace
		$slug = str_replace( '/wiki/', '', $slug );
		if ( stristr( $slug, '/' ) ) {
			$parts = explode( '/', $slug );
			$slug = $parts[1];
			$parts[0] = str_replace( '_', '-', $parts[0] );
			$parent = get_posts( array( 'post_type' =&gt; 'page', 'post_status' =&gt; 'publish', 'name' =&gt; $parts[0] ) );
			if ( $parent ) {
				$parent = $parent[0]-&gt;ID;
			}
			else {
				// No parent found -- create a placeholder (will be an empty page with
				// the same last modified as the page we're working with).
				$post = array(
					'post_status'   =&gt; 'publish',
					'post_type'     =&gt; 'page',
					'post_author'   =&gt; $author,
					'post_parent'   =&gt; 0,
					'post_content'  =&gt; '',
					'post_modified' =&gt; $last_modified,
					'post_title'    =&gt; ucwords( str_replace( '-', ' ', $parts[0] ) ),
					'post_name'     =&gt; $parts[0],
				);

				$parent = wp_insert_post( $post );
				$created++;
				echo &quot;    Created parent page for $url using $parts[0]\n&quot;;
			}
		} else {
			$parent = 0; // top-level page
		}

		$post = array(
			'post_status'   =&gt; 'publish',
			'post_type'     =&gt; 'page',
			'post_author'   =&gt; $author,
			'post_parent'   =&gt; $parent,
			'post_content'  =&gt; $page,
			'post_title'    =&gt; $page_title,
			'post_modified' =&gt; $last_modified,
			'post_name'     =&gt; str_replace( '_', '-', $slug ),
		);

		wp_insert_post( $post );
		$created++;
	}
}

echo &quot;\nDone! Created $created pages in WordPress, based on your Dokuwiki install.\n&quot;;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2013/01/29/import-dokuwiki-pages-into-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
	</item>
		<item>
		<title>Technology Startups As Military Special Forces</title>
		<link>http://dentedreality.com.au/2013/01/28/technology-startups-as-military-special-forces/</link>
		<comments>http://dentedreality.com.au/2013/01/28/technology-startups-as-military-special-forces/#comments</comments>
		<pubDate>Mon, 28 Jan 2013 15:18:24 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[spec ops]]></category>
		<category><![CDATA[special operations]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[warfare]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=10629</guid>
		<description><![CDATA[Anyone who works in a remotely corporate environment has no doubt heard a bunch of (often ridiculous) military metaphors describing business-as-usual. We&#8217;re divided into &#8220;squads&#8221; and talk about &#8220;strategic thinking&#8221; and &#8220;tactical mistakes&#8221;. We develop &#8220;mission statements&#8221; (more about that later) and managers demand that we &#8220;go in for the kill&#8221;, all the while referring [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Anyone who works in a remotely corporate environment has no doubt heard a bunch of (often ridiculous) military metaphors describing business-as-usual. We&#8217;re divided into &#8220;squads&#8221; and talk about &#8220;strategic thinking&#8221; and &#8220;tactical mistakes&#8221;. We develop &#8220;mission statements&#8221; (more about that later) and managers demand that we &#8220;go in for the kill&#8221;, all the while referring to their top executives as their &#8220;Generals&#8221; and modeling the hierarchy of their companies around the command structures seen in the military. While a lot of this is just the strange glorification of business (and war), it turns out that some of it makes a lot of sense (on a very metaphorical level), and might just be evolving right along with military tactics. John Robb has done some amazing work analyzing <a href="http://globalguerrillas.typepad.com/globalguerrillas/">the application of open source concepts to warfare</a>, I&#8217;m going to do something like the opposite and look at applying special forces operating concepts to technology startups.</p>
<p>I recently finished reading <a href="http://www.amazon.com/gp/product/0891416005/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0891416005&amp;linkCode=as2&amp;tag=dentedreality-20">Spec Ops: Case Studies in Special Operations Warfare: Theory and Practice</a>, by (Vice Admiral) <a href="http://en.wikipedia.org/wiki/William_H._McRaven">William H. McRaven</a>, who credited as organizing and executing the mission that brought down Osama bin Laden. He is now the Commander of US Special Operations Command, so he&#8217;s somewhat of an authority on the subject. While reading the book (which is a really interesting read in its own right, I highly recommend it), I couldn&#8217;t help but notice a lot of corollaries between what I was reading and the structure and function of tech startups (and perhaps smaller units within larger technology companies). Let&#8217;s look at how Special Operations Warfare compares to working at a startup.</p>
<p><span id="more-10629"></span></p>
<p>Before I get started, I want to say right up front that I have the utmost respect for the folks who work in special operations (of all types). Obviously drawing comparisons between them and a bunch of 20/30-something geeks who sit in front of computers all day and night is a little asinine, but bear with me. I think there are some interesting things to be learned from how they operate, and some useful mental models to be used from how they have refined their operations over time.</p>
<p>Right from the first page, I found myself highlighting sections that could just as easily come from a &#8220;How To Crush It In A Silicon Valley Startup&#8221; book with a few wording changes. Here are a few choice quotes:</p>
<blockquote><p>A successful special operation defies conventional wisdom by using a small force to defeat a much larger or well-entrenched opponent.</p></blockquote>
<blockquote><p>An inherent weakness in special forces is their lack of firepower relative to a large conventional force. Consequently when they lose relative superiority, they lose the initiative, and the stronger form of warfare generally prevails.</p></blockquote>
<blockquote><p>All special operations are conducted against fortified positions.</p></blockquote>
<blockquote><p>There are three elements of simplicity critical to success: limiting the number of objectives, good intelligence, and innovation.</p></blockquote>
<blockquote><p>Once relative superiority is achieved, it must be sustained in order to guarantee victory.</p></blockquote>
<p>The book gives a really fascinating breakdown of eight different special operations throughout history, and distills their lessons down to 6 Principles of Special Operations. If you&#8217;re not as interested in the military history side of things then you can just read the first (&#8220;The Theory of Special Operations&#8221;) and last (&#8220;Conclusion&#8221;) chapters and get the most applicable parts in condensed form. Here are McRaven&#8217;s Principles:</p>
<ol>
<li><span style="line-height: 13px;">Simplicity</span></li>
<li>Security</li>
<li>Repetition</li>
<li>Surprise</li>
<li>Speed</li>
<li>Purpose</li>
</ol>
<p>Let&#8217;s look at each of those in order, and see how they do (and don&#8217;t) apply to technology startups.</p>
<h3>Principles of Special Operations</h3>
<h4>1. Simplicity</h4>
<blockquote><p>Limiting the objectives to only what is essential focuses the training, limits the number of personnel required, reduces the time on target, and decreases the number of “moving parts.”</p></blockquote>
<p>McRaven refers to Simplicity as &#8220;the most crucial, and yet sometimes the most difficult, principle with which to comply.&#8221; He&#8217;s not kidding. Far too many startups fail because they can&#8217;t maintain their focus. They get started solving one small, important problem, and end up trying to solve everything around it. In special forces operations, he further defines 3 critical aspects of simplicity: limiting the number of objectives, good intelligence, and innovation.</p>
<p>For startups, those 3 factors of simplicity sound like suitable fore-runners for success. Startups must limit the number of things they try to accomplish, because resources are always limited and focus is required to allocate them effectively. By keeping things simple and targeted  they can ensure that they do one thing really well, rather than a number of things poorly.</p>
<p>Good intelligence could be seen simply as doing a bit of market research. &#8220;We&#8217;re going to create this amazing web app that allows you to post 140-character messages to the web, and people can choose to follow your messages!&#8221; &#8220;Oh, someone did that already&#8221;. Given the increasingly open nature of business, I don&#8217;t see this as being so much about corporate espionage type intelligence so much as understanding your users, and the market space within which you operate.</p>
<p>How about innovation? Isn&#8217;t that the big one? That&#8217;s what is generally touted as one of the key things that lets startups exist at all. Coming up with some innovative new way of doing something, or an entirely new and innovative product/service is the reason most startups exist in the first place. Without this, you&#8217;re just a small, under-resourced version of something that someone else is already doing better. Also in the innovation sphere is making use of other new technologies that might be emerging or upcoming. Startups tend to be more flexible about rolling new technologies into their products and pivoting faster to fully integrate new approaches and ideas.</p>
<h4>2. Security</h4>
<blockquote><p>The purpose of tight security is to prevent the enemy from gaining an advantage through foreknowledge of the impending attack.</p></blockquote>
<p>Interestingly, tech startups seem to have largely forgone this principle in recent years in favor of a more open and collaborative approach with their users. Perhaps this is a side-effect of the nature of their business, which is obviously vastly different to that of special forces. Some level of security is still normally maintained within startups while they are working towards new features, or an acquisition or some other major business milestone, but during normal operations they seem to rely more on their speed and ability to quickly iterate to keep them ahead of their opposition.</p>
<p>In the last decade it has become a joke for a startup to be &#8220;in stealth&#8221;, meaning that they&#8217;re working on something but it&#8217;s not public knowledge yet. While this is still perhaps the case in the lead-up to a minimum viable product (MVP), that lead time tends to be so short now as to be almost non-existent for many startups. With that timeline reduced to almost zero, the need for security is minimized because the time during which a leak could be damaging is almost eliminated.</p>
<h4>3. Repetition</h4>
<p>Since most special operations are thought of as discrete, one-off units of work, there is the possibility to prepare for them using very specific, repetitive training. While this doesn&#8217;t directly apply to most start ups on a macro level, it most certainly does on a micro level. On an individual basis, if you have access to employees or founders who have executed on the specific skill sets you need in your start up, then your chances for success increase dramatically. Finding well-trained, experienced operators means that your people already have that repetitive training, and they don&#8217;t need to get it &#8220;on mission&#8221;, while you are trying to achieve your specific goals.</p>
<p>Drilling down further, you will recognize that some of the things you need to do, at a technology level, have been done before. Linux exists, as does Apache/nginx. No need to write an operating system and then a web server  There are code libraries to do things like make HTTP requests, handle MVC architectures and provide iterators over collections of data objects while persisting them to permanent storage such as a database. All in the cloud. You don&#8217;t need to re-invent all of those things. The nature of repetition means that other folks have solved these problems, and usually that means they&#8217;ve also shared their solutions. Capitalizing on these solutions to repetitive problems means gaining the economies of scale that go along with those solutions and all of the iterations they&#8217;ve already been through. They are force multipliers that mean your small team doesn&#8217;t waste its time working on something that&#8217;s already been solved, and isn&#8217;t core to your mission anyway.</p>
<h4>4. Surprise</h4>
<p>Similar to Security, most tech startups don&#8217;t rely as heavily on Surprise as they do on the other Principles, but it can still be seen to play a part. McRaven says that &#8220;in a special operation surprise is gained through deception, timing, and taking advantage of the enemy’s vulnerabilities.&#8221; While deception probably doesn&#8217;t play as much of a part, timing and vulnerabilities definitely do. Timing for a startup can be a huge advantage when it refers to their ability to work day and night plus weekends, skip holidays and work through periods when more traditional companies are tied to their workforce&#8217;s expectations of time off and a regular, 9-5 work week. Adding to those vulnerabilities, most larger companies are held to their existing lines of business and often have high fixed costs (salaries, office space, marketing budgets) which they must continue to cover while they attempt to keep up with startups who operate on a ramen-budget out of a local cafe by day and a living room by night. Until they hit some critical mass, a startup is likely to fly &#8220;under the radar&#8221; of any competitive analysis or market research that more entrenched organizations might even be doing, thus appearing to hit them &#8220;by surprise&#8221;.</p>
<h4>5. Speed</h4>
<p>This is one Principle where tech startups and special forces really align cleanly. Because of the size of most teams on startups, and because they tend to have a lot less technological debt and bureaucratic red-tape, they are able to iterate and pivot a lot faster than is usually the case in traditional companies. This speed means that when they spot an opportunity, or recognize a flaw in their approach, they are more easily able to change direction and deal with a new strategy. By contrast, bigger companies, or those which have been around longer and have accumulated more technical debt, tend to lumber and struggle to course-correct under their own weight.</p>
<p>McRaven commonly refers to both <em>relative superiority</em> (&#8220;a condition that exists when an attacking force, generally smaller, gains a decisive advantage over a larger or well-defended enemy&#8221;) and <em>area of vulnerability</em> (&#8220;a function of mission completion over time. The longer it takes to gain relative superiority, the larger area of vulnerability, and hence the greater the frictions of war&#8221;). Maximizing speed allows startups to gain relative superiority as quickly as possible (and re-gain it repeatedly as time passes), and to minimize their area of vulnerability once identified.</p>
<h4>6. Purpose</h4>
<p>In a well-run startup, a sense of purpose and drive is clear amongst all employees. People are willing to work late/nights, spend all of their time with their colleagues, and their work becomes their passion. All employees are working towards a clearly articulated/understood goal, and all decisions are made with regards to that mission. As McRaven states:</p>
<blockquote><p>Purpose is understanding and then executing the prime objective of the mission regardless of emerging obstacles or opportunities.</p></blockquote>
<p>All too often though, startups fall prey to not having a clearly defined goal or mission, and end up thrashing around, not knowing what success is, and thus by definition ending in failure. Ironically, McRaven makes reference to something that most corporate workers would be familiar with, the classic &#8220;mission statement&#8221;. Apparently this is another concept that the business world has hijacked from military history, although the business version tends to be watered down and ambiguous. In special operations:</p>
<blockquote><p>This mission statement should be crafted to ensure that in the heat of battle, no matter what else happens, the individual soldier understands the primary objective.</p></blockquote>
<p>A startup should strive to provide such clarity to its employees, ideally on both a macro (company) and micro (project-specific) level.</p>
<p>In addition to clearly understood goals, employees/founders in a startup often have something that corporate workers don&#8217;t necessarily have: equity and a sense of ownership. Even if they don&#8217;t truly have equity, early employees are likely to have a much higher sense of ownership and feeling of family and camaraderie than their corporate equivalents due to the smaller, more intimate arrangement of a startup. This creates much more buy-in and desire to succeed than when someone is employed at the bottom of a seemingly endless corporate ladder. The sense of purpose created in this environment can help to guide employees through times of doubt towards their shared goal.</p>
<h3>Relative Superiority Graph</h3>
<p>In analyzing special forces operations, McRaven devised what he refers to as the Relative Superiority Graph. This visual tool creates a graphical representation of a special operation, showing key points such as the point of vulnerability (&#8220;the point in a mission when the attacking force reaches the enemy’s first line of defenses&#8221;), the area of vulnerability and when relative superiority is achieved. This tool helps make sense of an operation and what went right (and wrong) along the road to mission completion or failure.</p>
<div id="attachment_11347" class="wp-caption aligncenter" style="width: 459px"><img class="size-full wp-image-11347" alt="Relative Superiority Graph" src="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/11/Screen-Shot-2013-01-27-at-6.30.21-PM.png?resize=449%2C407" data-recalc-dims="1" /><p class="wp-caption-text">Relative Superiority Graph</p></div>
<p>In addition to just providing the visual tool, McRaven discusses ways to use the graph to understand risk mitigation and how different planning decisions influence mission success. He looks at how a mission planner may reduce their area of vulnerability to increase the probability of mission success, discussing strategies such as:</p>
<ul>
<li>Entering the engagement with relative superiority (and sustaining it),</li>
<li>Moving the point at which the attacking force becomes vulnerable, and</li>
<li>Limiting what constitutes mission completion.</li>
</ul>
<p>While not all of these may be applicable for startups, merely attempting to use this tool can provide a new level of understanding for a startup. Using the graph to explore options and trade offs can provide insight into how decisions are likely to affect mission success/business success.</p>
<h3>Application of the Principles</h3>
<p>Now that we have a framework within which to place tech startups, what can we learn from it? Other than just looking at startups in a novel light, there are a few key principles here which seem to apply very powerfully to startups, and which can be leveraged to increase their likelihood of success. Since running a startup is a longer term proposition (hopefully!) than a once-off special operation, there are some differences to be taken into consideration, but some of the principles still apply very powerfully.</p>
<ol>
<li><strong>Simplicity</strong> &#8212; This is a key concept for startups. Limit the objectives. Minimize the manpower required. Innovate. If a startup can truly do all of these things while providing value to their users, then they&#8217;re in a very good position to succeed. McRaven includes innovative use of technologies in this principle, which is potentially a big disruptor for startups. Since they don&#8217;t have a technical debt or entrenched ways of doing things, they are able to grab new technologies (or develop them from the ground up) and apply them towards solving problems a lot faster than a larger organization might.</li>
<li><strong>Speed</strong> &#8212; Speed is possibly the startup&#8217;s biggest advantage over the larger, traditional corporations they compete with. It is crucial that speed be maintained (and exploited) for a startup to compete. Anything that can be done to increase speed, or to allow employees to operate more fluidly should be considered. Since in a startup we are not normally talking about life or death situations, remember that <a href="http://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good">perfect is the enemy of good</a>, and getting something done quickly, which is &#8220;good enough&#8221; is often just that &#8212; good enough.</li>
<li><strong>Purpose</strong> &#8212; Aligning purpose and creating buy-in and ownership ensure that all members of the team are making decisions with a shared goal in mind. It provides a measuring stick against which to judge all opportunities and decisions, and gives employees something to point to when justifying why things are being done (or not done) on a daily basis. This level of clarity ensures that everyone is on the same page, and that decisions can be made swiftly and with conviction.</li>
</ol>
<p>While the Relative Superiority Graph might not be valuable on a daily basis, in its full visual form the concept provides value through its representation of what is going on with a startup in relation to its business environment and some idea of success (mission completion). When those involved can visualize (and perhaps even diagram) their state over time, including their area of vulnerability, it can help them to re-focus their attention on important matters and reduce that area of vulnerability. Since there is likely no full idea of &#8220;mission completion&#8221;, they are driving towards a moving target, but they can still use the concept of the graph to understand how decisions they make are trade offs between relative superiority and success over time.</p>
<p>While larger organizations are probably closer cousins to full-scale military operations from a logistics perspective, we now see a lot of those companies attempting to recapture the &#8220;special forces edge&#8221; by splitting off smaller teams of employees who operate independently. This strategy may well prove effective, provided those smaller teams are given enough autonomy and support to operate as a true &#8220;special force&#8221;. In that case, all of the above concepts will apply, but with the addition of a full-scale backup force (the entire organization) which can come in to provide support for a more traditional &#8220;holding pattern&#8221; or long-term &#8220;war&#8221;. If they are tied to the traditional hierarchy then they are likely to fail on some, if not all of the Principles.</p>
<p>I would be interested to hear what other folks think of this application of special forces theory to technology startups. Complete waste of time? Interesting but useless metaphor? Powerful framework for management? Let&#8217;s discuss.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2013/01/28/technology-startups-as-military-special-forces/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:thumbnail url="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/11/Screen-Shot-2013-01-27-at-6.30.21-PM.png?resize=150%2C150" />
		<media:content url="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/11/Screen-Shot-2013-01-27-at-6.30.21-PM.png?resize=449%2C407" medium="image">
			<media:title type="html">Relative Superiority Graph</media:title>
			<media:description type="html">Relative Superiority Graph</media:description>
			<media:thumbnail url="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/11/Screen-Shot-2013-01-27-at-6.30.21-PM.png?resize=150%2C150" />
		</media:content>
	</item>
		<item>
		<title>Pebble Ideas</title>
		<link>http://dentedreality.com.au/2013/01/26/pebble-ideas/</link>
		<comments>http://dentedreality.com.au/2013/01/26/pebble-ideas/#comments</comments>
		<pubDate>Sat, 26 Jan 2013 20:15:03 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Techn(ical|ology)]]></category>
		<category><![CDATA[Pebble]]></category>
		<category><![CDATA[smart watch]]></category>
		<category><![CDATA[watch]]></category>
		<category><![CDATA[wearable computing]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=11312</guid>
		<description><![CDATA[I should be getting my Pebble soon, and I can&#8217;t wait. I don&#8217;t really care about the fancy watch faces, I care about bringing timely information and notifications out of my pocket and onto my wrist. As far a I&#8217;m concerned, this is one step closer to something like Google Glass. I&#8217;ve been rolling ideas [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-11325" alt="Pebble Watch" src="http://i1.wp.com/dentedreality.com.au/wp-content/uploads/2013/01/photo-email-and-alerts.jpeg?resize=660%2C374" data-recalc-dims="1" /></p>
<p>I should be getting my <a href="http://getpebble.com">Pebble</a> soon, and I can&#8217;t wait. I don&#8217;t really care about the fancy watch faces, I care about bringing timely information and notifications out of my pocket and onto my wrist. As far a I&#8217;m concerned, this is one step closer to something like <a href="https://plus.google.com/+projectglass/posts">Google Glass</a>.</p>
<p><span id="more-11312"></span><br />
I&#8217;ve been rolling ideas around in my head about what I&#8217;d like to be able to do with mine when it arrives, and here&#8217;s a quick list of possibilities:</p>
<ul>
<li>Monitor my location and see when I stay in one (new) place for a few minutes. Check <a href="http://foursquare.com">Foursquare</a> and if it looks like somewhere I&#8217;ve checked in before (or is popular), then offer me one-tap check-in.</li>
<li>Allow me to set a <a href="http://en.wikipedia.org/wiki/Geo-fence">geo-fence</a> around a location and buzz my wrist when I cross that fence (using direction/velocity extrapolation based on GPS).</li>
<li>If I was still in SF, hook into something like <a href="https://itunes.apple.com/us/app/icommute-sf/id310607155?mt=8">iCommute SF</a> and tell me when the next bus/train is arriving at nearby &#8220;favorite&#8221; stops.</li>
<li>Tell me if one of my friends check in on Foursquare somewhere nearby.</li>
<li>Tie into <a href="http://runkeeper.com">RunKeeper</a> to give me time/distance/pace summaries while running/riding.</li>
<li>Simple velocity/direction readout.</li>
<li>iCal reminders/notifications.</li>
<li>Text message notification (with pre-defined replies like &#8220;almost there&#8221;, &#8220;on my way&#8221;, etc).</li>
<li>Random trivia: tell me interesting things about where I am.</li>
<li>Crime Alert: tie into police info and tell me as crimes are reported nearby.</li>
<li>Use Foursquare to alert me to anywhere nearby that has a special of some sort.</li>
</ul>
<p>I&#8217;m sure there are loads more, and probably much more interesting things that will pop up once people get their hands on Pebbles. Needless to say, I&#8217;m pretty excited about the future of this device.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2013/01/26/pebble-ideas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://i1.wp.com/dentedreality.com.au/wp-content/uploads/2013/01/photo-email-and-alerts.jpeg?resize=150%2C150" />
		<media:content url="http://i1.wp.com/dentedreality.com.au/wp-content/uploads/2013/01/photo-email-and-alerts.jpeg?resize=660%2C374" medium="image">
			<media:title type="html">Pebble Watch</media:title>
			<media:thumbnail url="http://i1.wp.com/dentedreality.com.au/wp-content/uploads/2013/01/photo-email-and-alerts.jpeg?resize=150%2C150" />
		</media:content>
	</item>
		<item>
		<title>Exploring a Neighborhood Like an Engineer</title>
		<link>http://dentedreality.com.au/2012/12/24/exploring-a-neighborhood-like-an-engineer/</link>
		<comments>http://dentedreality.com.au/2012/12/24/exploring-a-neighborhood-like-an-engineer/#comments</comments>
		<pubDate>Mon, 24 Dec 2012 21:12:47 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[brooklyn]]></category>
		<category><![CDATA[exercise]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[grid walk]]></category>
		<category><![CDATA[neighborhood]]></category>
		<category><![CDATA[new york]]></category>
		<category><![CDATA[park slope]]></category>
		<category><![CDATA[psngw]]></category>
		<category><![CDATA[RunKeeper]]></category>
		<category><![CDATA[walking]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=10273</guid>
		<description><![CDATA[When I moved to Brooklyn in June, I decided that I wanted to get to know my new neighborhood reasonably well, reasonably quickly. Being an engineer, I figured a methodical approach was the best solution, so I got a map and got to work. Based on a rough understanding of what was where, and letting [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>When I moved to Brooklyn in June, I decided that I wanted to get to know my new neighborhood reasonably well, reasonably quickly. Being an engineer, I figured a methodical approach was the best solution, so I got a map and got to work.</p>
<p>Based on a rough understanding of what was where, and letting the nearby Prospect Park somewhat dictate the area I wanted to cover, I drew out a grid with my new home roughly at the center, covering the bulk of the surrounding area that was of interest. The grid looked like this:<span id="more-10273"></span></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-11052" style="max-width: 100%; height: auto;" alt="Park Slope Grid Walk" src="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/12/psgw.png?resize=647%2C601" data-recalc-dims="1" /></p>
<ol>
<li><a href="http://runkeeper.com/user/beaulebens/activity/120204089">Q1</a>: Union St and 3rd Ave to 7th St and 6th Ave</li>
<li><a href="http://runkeeper.com/user/beaulebens/activity/121521311">Q2</a>: Union St and 6th Ave to 7th St and Prospect Park West</li>
<li><a href="http://runkeeper.com/user/beaulebens/activity/123112203">Q3</a>: 7th St and 6th Ave to 16th St and Prospect Park West</li>
<li><a href="http://runkeeper.com/user/beaulebens/activity/124854998">Q4</a>: 7th St and 3rd Ave to 16th St and 6th Ave</li>
</ol>
<p>With my quadrants mapped out, I embarked upon a mission to grid-walk each quadrant, one per weekend, finding interesting things along the way. Since I knew I&#8217;d never remember all of the places I came across, I used <a href="http://foursquare.com/beaulebens">foursquare</a> to real-world-bookmark anything that looked interesting so that I could refer back to it later. I also used <a href="http://runkeeper.com/user/beaulebens/profile">RunKeeper</a> to keep track of each walk for a GPS trail (&#8220;runs&#8221; linked in the list above), and some interesting stats along the way.</p>
<p>Here&#8217;s a summary of my stats:</p>
<ul>
<li>Total distance walked: 28.07 miles</li>
<li>Total time exploring: 12 hours, 26 minutes</li>
<li>Number of places checked into on foursquare: 148</li>
</ul>
<p>So now I have a bunch of interesting data, a list of cool places to go and check out properly (which I can &#8220;<a href="https://foursquare.com/explore">Explore</a>&#8221; using foursquare&#8217;s &#8220;places I have been&#8221; filter), and a much better feeling for my neighborhood. Oh, and as an added bonus, I walked almost 30 miles more than I probably would have in the space of 4 weeks. I&#8217;m glad I got all of this in before the weather turned as cold as it is now! Using my <a href="http://wordpress.org/extend/plugins/keyring-social-importers/">Keyring Social Importers</a>, I&#8217;ve also imported all of my foursquare data back into a WordPress install, so I can easily slice, dice, and refer back to it.</p>
<p>I had a lot of fun doing this, and would definitely recommend it to anyone who&#8217;s moving somewhere new, or even someone who hasn&#8217;t spent much time checking out their own immediate neighborhood. It&#8217;s also a great excuse to get outside if you work at home.</p>
<p>Get out there and see what you&#8217;re missing <img src='http://i0.wp.com/dentedreality.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' data-recalc-dims="1" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/12/24/exploring-a-neighborhood-like-an-engineer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/12/psgw.png?resize=150%2C150" />
		<media:content url="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/12/psgw.png?resize=647%2C601" medium="image">
			<media:title type="html">Park Slope Grid Walk</media:title>
			<media:thumbnail url="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/12/psgw.png?resize=150%2C150" />
		</media:content>
	</item>
		<item>
		<title>Ready Player One &#8212; Ernest Cline (Book Review)</title>
		<link>http://dentedreality.com.au/2012/12/17/ready-player-one-ernest-cline-book-review/</link>
		<comments>http://dentedreality.com.au/2012/12/17/ready-player-one-ernest-cline-book-review/#comments</comments>
		<pubDate>Mon, 17 Dec 2012 19:35:38 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[ernest cline]]></category>
		<category><![CDATA[new york]]></category>
		<category><![CDATA[ready player one]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[timesopen]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=11003</guid>
		<description><![CDATA[NOTE: I am fully aware that at times in the review below, I sound like a ridiculous book-critic or something. I do not care. Also, links to Amazon contain my affiliate id. A few weeks ago I attended the New York Times&#8216; TimesOpen Open Source Science Fair on behalf of Automattic/WordPress.com. As part of my &#8220;thank [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><em>NOTE: I am fully aware that at times in the review below, I sound like a ridiculous book-critic or something. I do not care. Also, links to Amazon contain my affiliate id.</em></p>
<p style="text-align: center;"><a href="http://www.amazon.com/gp/product/0307887448/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0307887448&amp;linkCode=as2&amp;tag=dentedreality-20"><img class="aligncenter size-full wp-image-11004" alt="Ready Player One" src="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/12/Ready-Player-One-e1355770776768.jpeg?resize=201%2C313" data-recalc-dims="1" /></a></p>
<p>A few weeks ago <a href="https://twitter.com/beaulebens/status/274690534390521856">I attended</a> the <a href="http://nytimes.com">New York Times</a>&#8216; <a href="http://open.blogs.nytimes.com/">TimesOpen</a> <a href="http://opensourcesciencefair.com/">Open Source Science Fair</a> on behalf of <a href="http://automattic.com">Automattic</a>/<a href="http://wordpress.com">WordPress.com</a>. As part of my &#8220;thank you&#8221; bag, I got a copy of <a href="http://www.amazon.com/gp/product/0307887448/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0307887448&amp;linkCode=as2&amp;tag=dentedreality-20">Ready Player One, by Ernest Cline</a>. I left it on my bedside table in a stack of other books which I&#8217;d thus far neglected to start, let alone finish (not to mention all the unopened titles on my Kindle).</p>
<p><span id="more-11003"></span></p>
<p>On Friday night I ended up in bed and not tired enough to sleep, so I picked up the first book on the stack and started reading. A few pages in and I was already hooked. I ended up blazing through the whole thing over the weekend and just have to write a quick review/endorsement/call to action. If you were born anywhere in the 70&#8242;s or 80&#8242;s, or remember anything about the 80&#8242;s with the vaguest fondness, go and get this book and read it. It is that good.</p>
<p>It&#8217;s a cross-over science fiction/fantasy/nostalgia novel, set in the future against the backdrop of a global reality simulation, with a twist of the past and a sprinkling of the present. This simulation has been turned into an epic videogame where the stakes are no greater than the future of the gameworld itself, and arguably the future of humanity. That&#8217;s where the nostalgia kicks in &#8212; through a twist of history and by the hand of one of the core characters (who happens to be dead at the time the novel is set), the entire world is obsessed with 80&#8242;s pop culture.</p>
<p>Pac Man? Got it. Breakfast at Tiffany&#8217;s? Yep. Rush? Yessir. Ferris Bueller&#8217;s Day Off? Joust? Galaga? Highlander? Cyndi Lauper? Yes, yes, yes, a thousand times and many more, <a href="http://en.wikipedia.org/wiki/Ready_Player_One#Pop_culture_references_in_the_novel">yes</a>. This book is a thrilling and delightful romp through everything that was good (and some of the things that were bad) about the 80&#8242;s. I found myself plowing through the pages, excited for what memory would be rekindled next, only to be one-upped every time with more than I could have expected. The characters are at times a little stereotypical or formulaic  as perhaps is some of the storyline. The core plot premise perhaps borrowed a few threads from Dan Suarez&#8217; <a href="ttp://www.amazon.com/gp/product/0451228731/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0451228731&amp;linkCode=as2&amp;tag=dentedreality-20">Daemon</a>, but honestly &#8212; who the hell cares? None of that matters when you&#8217;re having this much damned fun with a book.</p>
<p>Mixed in with this trip down memory lane are some astute observations on where we&#8217;ve been, and quite clearly, where we&#8217;re heading. The (de)evolution of trailer parks, the effects of climate change, social stigmas and the power of online anonymity. Net neutrality, corporate interests, open source and the effects of celebrity-like fame are all part of the picture, sometimes good, sometimes not so much. Whether you read it for it&#8217;s social commentary, for a simple trip down memory lane or just for frakking good time, it doesn&#8217;t matter. This book is worth every minute.</p>
<p>I won&#8217;t spoil the story by discussing the plot too much, just go and read it for yourself already.</p>
<p>PS: As part of a promotion for the book, <a href="http://boingboing.net/2012/08/31/ready-player-one-delorean.html">Cline gave away</a> a real life <a href="http://delorean.com/">DeLorean</a> via a competition staged similarly to the main concept of the book. It doesn&#8217;t get much cooler than that.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/12/17/ready-player-one-ernest-cline-book-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/12/Ready-Player-One-e1355770776768.jpeg?resize=150%2C150" />
		<media:content url="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/12/Ready-Player-One-e1355770776768.jpeg?resize=201%2C313" medium="image">
			<media:title type="html">Ready Player One</media:title>
			<media:thumbnail url="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/12/Ready-Player-One-e1355770776768.jpeg?resize=150%2C150" />
		</media:content>
	</item>
		<item>
		<title>TimesOpen Hack Day/Readtrack</title>
		<link>http://dentedreality.com.au/2012/12/10/timesopen-hack-dayreadtrack/</link>
		<comments>http://dentedreality.com.au/2012/12/10/timesopen-hack-dayreadtrack/#comments</comments>
		<pubDate>Mon, 10 Dec 2012 15:47:05 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Techn(ical|ology)]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[echonest]]></category>
		<category><![CDATA[hack day]]></category>
		<category><![CDATA[hackathon]]></category>
		<category><![CDATA[NYT]]></category>
		<category><![CDATA[rdio]]></category>
		<category><![CDATA[readtrack]]></category>
		<category><![CDATA[timesopen]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=10956</guid>
		<description><![CDATA[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 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>On Saturday, I attended the 2012 New Times/TimesOpen <a href="http://open.blogs.nytimes.com/timesopen-schedule/">Hack Day</a>. It was a long day, but I had a lot of fun. I sat in on an intro session to <a href="http://arduino.cc/">Arduino</a> which was pretty cool, and also a session on the <a href="http://echonest.com">EchoNest API</a>, which I ended up using in my project. You can find out all about my project on the <a title="WebApp: Readtrack" href="http://dentedreality.com.au/projects/readtrack/">Readtrack project page</a>.</p>
<p>It&#8217;s a bookmarklet-powered little app that analyzes the page you&#8217;re looking at (using the <a href="http://alchemyapi.com">AlchemyAPI</a>) and then tries to find related music (using the <a href="http://echonest.com">EchoNest</a> API) which it then plays back to you in your browser (using <a href="http://rdio.com">rdio</a>). I got a &#8220;runner up&#8221;/honorable mention prize <img src='http://i0.wp.com/dentedreality.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' data-recalc-dims="1" /> </p>
<p>One of the most visually-polished projects was &#8220;Story Arc&#8221;, 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 <a href="http://en.wikipedia.org/wiki/Dance_Dance_Revolution">DDR pad</a>, hooked up to commands for things like deploying code!</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/12/10/timesopen-hack-dayreadtrack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
	</item>
		<item>
		<title>Log into WordPress using your Email Address</title>
		<link>http://dentedreality.com.au/2012/11/13/log-into-wordpress-using-your-email-address/</link>
		<comments>http://dentedreality.com.au/2012/11/13/log-into-wordpress-using-your-email-address/#comments</comments>
		<pubDate>Tue, 13 Nov 2012 18:24:58 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Techn(ical|ology)]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp-email-login]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=10706</guid>
		<description><![CDATA[I&#8217;ve made a bunch of updates to WP Email Login (local project page) recently, and it&#8217;s still rocking along. If you&#8217;d prefer to log into your WordPress install using the email address associated with your user account, you should check it out.]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve made a bunch of updates to <a href="http://wordpress.org/extend/plugins/wp-email-login/">WP Email Login</a> (<a href="http://dentedreality.com.au/projects/wp-plugin-email-login/">local project page</a>) recently, and it&#8217;s still rocking along. If you&#8217;d prefer to log into your WordPress install using the email address associated with your user account, you should check it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/11/13/log-into-wordpress-using-your-email-address/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
	</item>
		<item>
		<title>Jetpack 2.0, Packed With Magic</title>
		<link>http://dentedreality.com.au/2012/11/08/jetpack-2-0-packed-with-magic/</link>
		<comments>http://dentedreality.com.au/2012/11/08/jetpack-2-0-packed-with-magic/#comments</comments>
		<pubDate>Thu, 08 Nov 2012 18:24:19 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Techn(ical|ology)]]></category>
		<category><![CDATA[automattic]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[photon]]></category>
		<category><![CDATA[post by email]]></category>
		<category><![CDATA[publicize]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=10658</guid>
		<description><![CDATA[Last night, I preemptively tweeted about the upcoming release of Jetpack 2.0: I can&#8217;t wait for the very-near release of @jetpack 2.0. It is loaded with awesomeness and magic. &#8212; Beau (@beaulebens) November 7, 2012 Today we actually released version 2.0 of Jetpack and it&#8217;s loaded with awesomeness. If you run (and host) your own [&#8230;]]]></description>
				<content:encoded><![CDATA[<p class="aligncenter"><img class="aligncenter" alt="" src="http://i1.wp.com/s1.wp.com/wp-content/themes/a8c/jetpackme/images2012/logo.png?resize=250%2C200" data-recalc-dims="1" /></p>
<p>Last night, I preemptively tweeted about the upcoming release of Jetpack 2.0:</p>
<blockquote class="twitter-tweet" width="500"><p>I can&#8217;t wait for the very-near release of @<a href="https://twitter.com/jetpack">jetpack</a> 2.0. It is loaded with awesomeness and magic.</p>
<p>&mdash; Beau (@beaulebens) <a href="https://twitter.com/beaulebens/status/266303426542063617" data-datetime="2012-11-07T22:17:39+00:00">November 7, 2012</a></p></blockquote>
<p><script src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p><span id="more-10658"></span></p>
<p>Today we actually released version 2.0 of Jetpack and it&#8217;s loaded with awesomeness. If you run (and host) your own WordPress-based site, you want it. You can <a href="http://jetpack.me/2012/11/08/jetpack-2-0-publicize-to-facebook-twitter-linkedin-tumblr-post-by-email-photon-infinite-scroll/">read the official announcement post</a>, but here&#8217;s a quick summary of brand new stuff:</p>
<ul>
<li><strong>Publicize</strong>: Auto-post your new posts out to Twitter, Facebook, LinkedIn, Tumblr and Yahoo!</li>
<li><strong>Post By Email</strong>: Send an email to a special address and the contents (including attachments) will be auto-posted to your blog.</li>
<li><strong>Infinite Scroll</strong>: New tool for theme developers (or for you, if you&#8217;re using a Twenty Ten/Eleven/Twelve-based theme) that allows you to just automatically load new posts as you scroll further down the page.</li>
<li><strong>Photon</strong>: Killer new image-manipulation service that combines resizing and filters with a powerful CDN.</li>
</ul>
<p>I wanted to provide a really quick walk through of why I think this is becoming super interesting and powerful. Here&#8217;s what this version of Jetpack enables:</p>
<ul>
<li>Install Jetpack on a self-hosted WordPress blog.</li>
<li>Activate the Post By Email, Publicize and Subscriptions modules. Connect to Twitter/Facebook/etc.</li>
<li>Send an email to your custom Post By Email address.</li>
</ul>
<p>Here&#8217;s what happens behind the scenes if you&#8217;re making full use of Jetpack:</p>
<ol>
<li>The email address you sent to is handled by the Jetpack Server, which lives on the WordPress.com cloud (over a thousand servers, multiple datacenters, load balancing etc. Bulletproof).</li>
<li>The email is parsed and broken down into parts. Oh, you included an image. Neato.</li>
<li>Jetpack Server uses the JSON API to talk to your Jetpack-powered, self-hosted blog.</li>
<li>A new post is created on your blog, and the image that you emailed is uploaded directly into your media library and attached to that post.</li>
<li>When the post is published, Photon kicks in and makes sure to optimize the image to the size of your theme.</li>
<li>Your image is also immediately cached on our CDN to speed up delivery and offload bandwidth from your server</li>
<li>As the post is published, Jetpack notices and synchronizes the content over to the Jetpack Server for processing.</li>
<li>Jetpack Server notices that you have some email subscribers, and that you have Publicize enabled</li>
<li>Emails are sent out to all of your subscribers, and a message is pushed out to Twitter and Facebook because you chose to connect to them</li>
<li>Facebook makes a request back to your site and reads the <a href="http://ogp.me/">Open Graph</a> tags that Publicize embedded in your page, telling Facebook which image and text to use to beautifully present your details to your friends.</li>
<li>People visit your site, triggering a statistics collection, powered by Jetpack Stats. You get to see who&#8217;s checking you out, where they&#8217;re coming from (website and part of the world)</li>
<li>Your images are served, automatically at the best possible size for your theme, from a network of servers around the world.</li>
<li>One of those people posts a comment on your new post.</li>
<li>You get a push notification on your iOS device, care of the Mobile Push Notifications module.</li>
</ol>
<p>All of that happened. You sent a single email. I think that&#8217;s pretty amazing. If you don&#8217;t, well&#8230;</p>
<p><iframe src="http://player.vimeo.com/video/14975413" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>Go <a href="http://wordpress.org/extend/plugins/jetpack/">download Jetpack 2.0 from the plugin repository</a>, <a href="http://jetpack.me/support/">hit us up for some help</a>, have some fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/11/08/jetpack-2-0-packed-with-magic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://i1.wp.com/s1.wp.com/wp-content/themes/a8c/jetpackme/images2012/logo.png?resize=250%2C200" />
		<media:content url="http://i1.wp.com/s1.wp.com/wp-content/themes/a8c/jetpackme/images2012/logo.png?resize=250%2C200" medium="image" />
	</item>
		<item>
		<title>Hurricane Sandy Aftermath</title>
		<link>http://dentedreality.com.au/2012/10/30/hurricane-sandy-aftermath/</link>
		<comments>http://dentedreality.com.au/2012/10/30/hurricane-sandy-aftermath/#comments</comments>
		<pubDate>Tue, 30 Oct 2012 20:37:46 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[brooklyn]]></category>
		<category><![CDATA[cert]]></category>
		<category><![CDATA[disaster]]></category>
		<category><![CDATA[emergency]]></category>
		<category><![CDATA[hurricane]]></category>
		<category><![CDATA[hurricane sandy]]></category>
		<category><![CDATA[nert]]></category>
		<category><![CDATA[new york]]></category>
		<category><![CDATA[park slope]]></category>
		<category><![CDATA[Sandy]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=10494</guid>
		<description><![CDATA[Right now, I am considering myself very lucky. I&#8217;ve just lived through not only my first ever, but the most intense hurricane in New York&#8217;s history. Hurricane Sandy. New data from the Hurricane Hunters (945mb) confirms #Sandy is now the most intense hurricane ever north of NC, beating LI Express of 1938. &#8212; Eric Holthaus [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Right now, I am considering myself very lucky. I&#8217;ve just lived through not only my first ever, but the most intense hurricane in New York&#8217;s history. <a href="http://www.nhc.noaa.gov/archive/2012/SANDY.shtml?">Hurricane Sandy</a>.</p>
<blockquote class="twitter-tweet" width="500"><p>New data from the Hurricane Hunters (945mb) confirms <a href="https://twitter.com/search/%23Sandy">#Sandy</a> is now the most intense hurricane ever north of NC, beating LI Express of 1938.</p>
<p>&mdash; Eric Holthaus (@WSJweather) <a href="https://twitter.com/WSJweather/status/262914082859016192" data-datetime="2012-10-29T13:49:36+00:00">October 29, 2012</a></p></blockquote>
<p><script src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>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&#8217;s pretty amazing how little impact we&#8217;ve directly had. It&#8217;s definitely not completely over, but we&#8217;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.</p>
<p>Subways are still all out of commission. 7 tunnels between Brooklyn and Manhattan are flooded. Buses will hopefully start coming online later today. What&#8217;s left of Lower Manhattan is a mess. It will be a long time before things are &#8220;back to normal&#8221; for everyone. Here&#8217;s how it looked from my perspective:</p>
<p><span id="more-10494"></span></p>
<p>Two friends who were visiting for the weekend from San Francisco arrived on Friday morning. At that point, it really hadn&#8217;t sunk in that that was going to be a bad idea, and that they were going to be stuck here. I don&#8217;t think any of us (me from Australia/SF, Erika and the 2 friends both from California) fully realized how bad it was going to be. The funny part? The friends were named Nelson and Sandy. His name is actually Sandy. Not even kidding. So I guess we invited Sandy into our house, we should have been ready for damage!</p>
<p>At this point, Erika was still away on a week-long camping trip with her students at <a href="http://nycoutwardbound.org">Outward Bound</a>. She got home on Friday afternoon and we all hung out like friends as if nothing really was going on. I started to pay more attention to the announcements etc going around and looking into this whole hurricane thing. I slowly started getting a feel for how big Sandy was really going to be, and that we needed to actually prepare a bit.</p>
<p>In SF, I trained as part of <a title="Call Me N.E.R.T." href="http://dentedreality.com.au/2010/08/06/sf-nert/">NERT</a>, the Neighborhood Emergency Response Team. Part of that involved being ready for things like this, which is something I&#8217;ve always taken pretty seriously. Since moving to NYC, I basically just hadn&#8217;t gotten around to getting us in order, although some of the equipment and things that I had in SF had come with us, so we weren&#8217;t completely unprepared.</p>
<p>I figured at the bare minimum we should get some water, and meant to do it on Saturday. I also wanted to pick up some stove fuel for my camp stove on the off chance that we couldn&#8217;t cook for some reason (I had to get rid of my stove fuel when we moved, since I couldn&#8217;t ship it over here). I got my stove fuel while we were over in Manhattan, but instead of getting water, we got caught up doing fun things instead, like going out drinking in the East Village, which now looks like this:</p>
<p><a href="http://buzzfeedandrew.tumblr.com/post/34617301394/east-village-flooding"><img class="aligncenter" alt="" src="http://i1.wp.com/24.media.tumblr.com/tumblr_mcosmv2V7F1rk4etyo1_500.png?resize=431%2C454" data-recalc-dims="1" /></a></p>
<p>On Sunday, I woke up thinking we should definitely get some supplies today, but again got caught up visiting Ground Zero, which now looks like this:</p>
<blockquote class="twitter-tweet" width="500"><p>Ground Zero = Flooded (AP Photo/John Minchillo) <a href="https://twitter.com/search/%23Sandy">#Sandy</a> <a href="http://t.co/SU8GW1JP" title="http://twitter.com/ethanklapper/status/263093645450809344/photo/1">twitter.com/ethanklapper/s…</a></p>
<p>&mdash; Ethan Klapper (@ethanklapper) <a href="https://twitter.com/ethanklapper/status/263093645450809344" data-datetime="2012-10-30T01:43:08+00:00">October 30, 2012</a></p></blockquote>
<p><script src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>During the day, while tracking the announcements and warnings that were now coming thick and fast, we found out the subway would be shut down at 7pm, buses at 9pm. There were mandatory evacuations for people living in <a href="http://www.google.org/crisismap/2012-sandy-nyc">Zone A</a>, 3 blocks from our apartment. This thing was serious. It started striking home pretty heavily to us all. All I could think was that we were over in Manhattan, having fun and &#8220;being tourists&#8221;. In a few hours, if we weren&#8217;t back in Brooklyn then we were literally stranded on an island, in the middle of a hurricane. I started getting pretty antsy to get back over to our side of the river. We ducked through Chinatown to pick up some groceries (since we now had 4 adults potentially stuck in our 1 bedroom apartment for a while), and then headed back towards home. As soon as we got here, we headed back out for water and any other supplies. The first grocery store we went to was sold out. Literally completely sold out of water. The second one we tried had some, so we got 12 gallons, which are now sitting by the door. There was no indication that the water system would be compromised, but coming from SF where most preparedness is about earthquakes (likely to rupture pipes etc), this was very high on my list of requirements. I also figured that absolute worst comes to worst, None of us was going to die of starvation from a couple days going hungry. It turns out that we didn&#8217;t need the water, but I never want to be a situation where we don&#8217;t have it:</p>
<blockquote class="twitter-tweet" width="500"><p>RT @<a href="https://twitter.com/nycmayorsoffice">nycmayorsoffice</a> -we&#8217;ve tested NYC drinking water and it&#8217;s completely safe. <a href="https://twitter.com/search/%23Sandy">#Sandy</a></p>
<p>&mdash; NYC OEM (@nycoem) <a href="https://twitter.com/nycoem/status/263334526095351809" data-datetime="2012-10-30T17:40:18+00:00">October 30, 2012</a></p></blockquote>
<p><script src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>Sunday night we stayed in and watched movies/played cards. Nothing too exciting, just lots of wind and rain, and lots of reports telling us that Sandy was getting worse and worse. Sandy (the friend) and Nelson called their airline and after 2 hours on hold they found out that for sure their flight (scheduled for Tuesday afternoon) was canceled. They were rebooked as early as possible, which turned out to be Friday morning. Right now LGA is still completely underwater, but they&#8217;re flying out of JFK which will hopefully be re-opened in time.</p>
<p><a href="http://www.theatlanticwire.com/national/2012/10/live-hurricane-sandy-updates/58454/"><img class="aligncenter" alt="" src="http://i2.wp.com/cdn.theatlanticwire.com/img/upload/2012/10/30/runway.jpg?resize=615%2C384" data-recalc-dims="1" /></a></p>
<p>Almost all of Monday, we stayed indoors and hunkered down. Erika cooked up a storm &#8212; 3 pizzas and a bunch of cookies! We ate, and sat around, and checked up on the internet to keep track of what was going on, and very quickly realized that Twitter was by far the best source of information. The regular press conferences coming through on <a href="http://nyc.gov">NYC.gov</a> were good, but they largely served as summaries for what we already knew. They did provide some indication on official movements and closures (including school closures, which affect Erika, for Mon-Wed so far). We also got to watch <a href="http://nymag.com/daily/intel/2012/10/bloomberg-sign-language-interpreter-lydia-calas.html">Bloomberg&#8217;s amazing ASL aide, Lydia Callis</a>. As the day progressed, things got progressively worse.</p>
<p>At one point we thought we saw some lightning, and then a weird flash, which turned out most likely to have been this:</p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='600' height='368' src='http://www.youtube.com/embed/PG5QWMpDDo0?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span></p>
<p>We were seeing tweets and pictures of things really close to us being completely inundated. While it was scary to read/hear about, it all seemed a bit disconnected. Our internet was still working, albeit with a few hiccups here and there. We never lost power, although we had a few flickers Monday night. Our building wasn&#8217;t swaying or creaking or showing any signs of concern, and when I had to step outside to take the dog out it was windy, but not completely unbearable (protection from the buildings I guess). It seemed unreal that literally a few blocks away, a canal was flooding. We heard a lot of sirens, and at one point there was a pretty strong smell of smoke coming in from outside that we never figured out, but inside our apartment it was just the 4 of us, sitting around being generally bored.</p>
<p>After the worst seemed to have passed, I took the dog out again and walked around the block. The streets were mostly empty except for a few <a href="http://coned.com">Con Edison</a> trucks and an <a href="http://www.nyc.gov/html/nypd/html/home/home.shtml">NYPD</a> van. I saw 2 guys on bikes apparently out to check out what was going on. I stopped to pull a gutter/roofing edge off the middle of 5th Avenue. It was eery, but pretty calm.</p>
<p>So eventually we went to bed, and figured we&#8217;d find out what the story was in the morning. This morning, after getting up and having some breakfast, I went for a bit of a ride around the neighborhood to see how things looked. To be honest, it didn&#8217;t look too bad in most places. There were leaves everywhere, lots of smaller branches down. Near the Gowanus Canal I saw the remnants of a lot of water movement:</p>
<p><a href="http://instagram.com/p/RahkR-CmH4/"><img class="aligncenter" alt="" src="http://i1.wp.com/distilleryimage0.instagram.com/3623cd3622b511e2979f22000a1f8ae3_7.jpg?resize=612%2C612" data-recalc-dims="1" /></a></p>
<p>and near there (on 9th St), I saw some warehouses that were clearing out damaged boxes/products, a few houses that were pumping out their basements. Clearly not everyone had been as lucky as we had. So today I&#8217;m just thankful that all four of us are safe, and everyone I know in the area who I&#8217;ve talked to (mostly via Twitter and SMS) is OK. It&#8217;s hard to get any work done, but I wanted to post this to make sure I captured it as I immediately remembered things.</p>
<p>This has renewed my feelings towards disaster response, and I think it&#8217;s going to be even more important in the coming years given the way the climate is changing. If you don&#8217;t believe that at this point, you&#8217;re just an ignorant fool, living in denial. I&#8217;m really glad that it seems like the folks in charge here in New York are very no-bullshit.</p>
<p>During the whole thing, Bloomberg&#8217;s attitude was awesome. When he got ridiculous, sensationalist questions he shut people down immediately:</p>
<blockquote class="twitter-tweet" width="500"><p>Bloomberg: “Water supply is fine. We added chlorine.” / Reporter: “…water on the streets…” / Bloomberg: “Don’t drink it.”</p>
<p>&mdash; Mark Forscher (@garbnzgh) <a href="https://twitter.com/garbnzgh/status/263299855026380800" data-datetime="2012-10-30T15:22:31+00:00">October 30, 2012</a></p></blockquote>
<p><script src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>And made the point repeatedly that his primary concern was the safety of our first responders. While he didn&#8217;t want people getting hurt when they made stupid decisions (like going to check out the coast, or staying in a mandatory evacuation area), he was more concerned about the first responders who&#8217;d then have to risk their lives to save them when things went south. It was truly refreshing to see basically every person in power cut the politics, cut the bullshit and just say it like it was. If only they could all communicate so directly, at every level of government.</p>
<p>New Jersey Governor Christie, when asked if Romney might be able to come and tour the damage soon (and get some photo opportunities):</p>
<blockquote><p>“I have a job to do,” he added. “I’ve got 2.4 million people out of power, I’ve got devastation on the shore, I’ve got floods in the northern part of my state. If you think right now I give a damn about presidential politics then you don’t know me.”<br />
<a href="http://s.tt/1rm5A"><img alt="" src="http://i1.wp.com/1.rp-api.com/3141283/via.png?resize=12%2C11" data-recalc-dims="1" />Raw Story </a>(<a href="http://s.tt/1rm5A">http://s.tt/1rm5A</a>)</p></blockquote>
<p>So anyway. Thousands and thousands of flights are cancelled. LGA and JFK are both still shut (<a href="http://www.jfkiat.com/">JFK&#8217;s website</a> is even offline). The subways are shut down. Roads and bridges are apparently open. It seems like a bunch of local stores are open. I think I&#8217;m going to go and have a hamburger and enjoy the fact that I&#8217;m OK.</p>
<p>Thank you to everyone who checked in with me to make sure I was OK. Thank you to all the first responders who were and still are out there risking their lives to save people, even though some of those people chose to put themselves in harm&#8217;s way. Thank you to the <a href="http://nyc.gov">City of New York</a>, the <a href="http://www.nyc.gov/html/oem/html/home/home.shtml">Office of Emergency Management</a>, <a href="http://www.nyc.gov/html/nypd/html/home/home.shtml">NYPD</a>, <a href="http://www.nyc.gov/html/fdny/html/home2.shtml">NYFD</a> and every other agency involved for their quick reactions and what seems to be very measured and appropriate responses to the situation. Thank you to Obama for <a href="http://online.wsj.com/article/SB10001424052970203880704578088383261020770.html">streamlining and pre-approving disaster response</a> at a federal level. This is why we pay taxes people.</p>
<p>With motivation like this, I&#8217;m newly invigorated to get prepared more for next time. I need to refresh my <a title="First Siren Net Checkin" href="http://dentedreality.com.au/2012/02/07/siren-net-san-francisco-check-in/">HAM radio skills</a> and First Aid certifications. I need to ensure we have <a href="http://www.nyc.gov/html/oem/html/get_prepared/supplies.shtml">appropriate supplies in the house</a>. I need to collect some information on shelters etc in our area, and I&#8217;m going to look at possibly joining <a href="http://www.nyc.gov/html/oem/html/get_prepared/cert.shtml">CERT here in NYC</a> (the local equivalent of NERT back in SF) and/or possibly <a href="http://www.nyc-arecs.org/">NYC-ARECS</a> depending on the HAM skill level/equipment required. I don&#8217;t want to be caught out next time something like this happens. In the meantime, I&#8217;ll get back to living.</p>
<blockquote class="twitter-tweet" width="500"><p>Survive largest/most intense hurricane in recorded US history? Check! <a href="https://twitter.com/search/%23sandy">#sandy</a></p>
<p>&mdash; Beau (@beaulebens) <a href="https://twitter.com/beaulebens/status/263281553222823938" data-datetime="2012-10-30T14:09:48+00:00">October 30, 2012</a></p></blockquote>
<p><script src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/10/30/hurricane-sandy-aftermath/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://i1.wp.com/24.media.tumblr.com/tumblr_mcosmv2V7F1rk4etyo1_500.png?resize=431%2C454" />
		<media:content url="http://i1.wp.com/24.media.tumblr.com/tumblr_mcosmv2V7F1rk4etyo1_500.png?resize=431%2C454" medium="image" />
		<media:content url="http://i2.wp.com/cdn.theatlanticwire.com/img/upload/2012/10/30/runway.jpg?resize=615%2C384" medium="image" />
		<media:content url="http://i1.wp.com/distilleryimage0.instagram.com/3623cd3622b511e2979f22000a1f8ae3_7.jpg?resize=612%2C612" medium="image" />
		<media:content url="http://i1.wp.com/1.rp-api.com/3141283/via.png?resize=12%2C11" medium="image" />
	</item>
		<item>
		<title>WordPress is Your Digital Hub</title>
		<link>http://dentedreality.com.au/2012/10/09/wordpress-is-your-digital-hub/</link>
		<comments>http://dentedreality.com.au/2012/10/09/wordpress-is-your-digital-hub/#comments</comments>
		<pubDate>Tue, 09 Oct 2012 16:44:32 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[aggregation]]></category>
		<category><![CDATA[data ownership]]></category>
		<category><![CDATA[data portability]]></category>
		<category><![CDATA[delicious]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[indieweb]]></category>
		<category><![CDATA[instagram]]></category>
		<category><![CDATA[pesos]]></category>
		<category><![CDATA[posse]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=10171</guid>
		<description><![CDATA[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&#8217;d opted for the PESOS approach, and that I was publishing content on [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><strong>This post continues on from a previous post: <a title="Permalink to Where is Your Digital Hub/Home?" href="http://dentedreality.com.au/2012/10/07/where-is-your-digital-hub-home/" rel="bookmark">Where is Your Digital Hub/Home?</a></strong></p>
<p>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&#8217;d opted for the PESOS approach, and that I was publishing content on other platforms, then syndicating it back to my own site. Let&#8217;s take a look at how that happens.</p>
<p>First of all, I&#8217;m running <a href="http://wordpress.org">WordPress</a>. Since I&#8217;ve been working with WordPress for years, and since my <a href="http://automattic.com">full time job</a> 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).</p>
<p>One of the other things WordPress has going for it is a long history of providing data import and export tools. You&#8217;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 &#8220;Post&#8221; model and get really custom.</p>
<p>One of the things that got me started down the road of actually getting control over my content was &#8220;<a href="http://www.quora.com/Twitter-1/Is-there-a-way-to-get-more-than-3200-tweets-from-a-twitter-user-using-Twitters-API-or-scraping">The Great Twitter 3200 Tweet Debacle</a>&#8221; (I made that name up). Because of technical constraints, Twitter only allows you to access your most recent 3200 tweets. I&#8217;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&#8217;s yours, and Twitter actually decides what you can and can&#8217;t access. Before I hit that 3200 mark (I was up to around 3100 at the time), I vowed that I&#8217;d get something figured out to get a copy of all of my tweets stored somewhere that I controlled.</p>
<p><span id="more-10171"></span></p>
<p>I roughed out a really basic importer for WordPress that would access my public timeline (previously available via unauthenticated requests) and download them into WordPress. At the time I was importing them as a custom post type so that they wouldn&#8217;t show up in the rest of my blog, but that approach has changed now. I got my tweets and I was happy, so I left it running for a while and continued grabbing copies of tweets and stuffing them away in my WordPress, without displaying them publicly anywhere.</p>
<p>A while later, I started thinking about where else I might be producing content that I would be unhappy about losing access to. I pretty quickly came up with a shortlist of services where I was producing meaningful enough content that I wanted to ensure that I had a copy of it. This was my immediate list:</p>
<ul>
<li><a href="http://www.flickr.com/photos/borkazoid/">Flickr</a></li>
<li><a href="http://delicious.com/beau">Delicious</a></li>
<li><a href="http://twitter.com/beaulebens">Twitter</a></li>
<li><a href="http://foursquare.com/beaulebens">Foursquare</a></li>
<li><a href="http://instagram.com">Instagram</a></li>
</ul>
<p>Since I&#8217;d already written one importer, I figured I&#8217;d just go ahead and write similar ones for everything else. That&#8217;s when I came up against the realization that most of these other services weren&#8217;t going to make it as easy as Twitter had, and in fact, Twitter was changing its policy as well, so I&#8217;d soon need to authenticate with my importer before I could pull down any data.</p>
<p>The prospect of re-implementing the <a href="http://oauth.net">OAuth</a> stack (or something similar) in each importer, a bunch of times, was not something that excited me. That put me down a path that had me building <a href="http://dentedreality.com.au/2012/03/19/keyring-wordpress-authentication-framework/">Keyring, a generic authentication framework for WordPress</a> that allows any plugin to tie into it, use it to handle the authentication flow, and then future authenticated requests to external services.</p>
<p>Once that was built, I converted the Twitter importer I had over to using it, then got started on the other services. With a lot of copy-paste, and once I&#8217;d worked with each service, I had a good feel for what was being repeated in each one, and decided to build a standardized base importer library which could handle a lot of that. I then back-ported all of the importers into using the base code, and now we have <a href="http://wordpress.org/extend/plugins/keyring-social-importers/">Keyring Social Importers</a>. Each individual importer is only a few hundred lines of code, and I can slurp down content from Flickr, Delicious, Twitter, Foursquare and Instagram.</p>
<p>I now have each of these importes running on an hourly WP Cron to grab any new content that pops up on that service, and download it into my WordPress. Each data type is handled differently, and all valuable data possible is downloaded (including original-sized images where available, geo data from services that support it, tags, links, etc). Everything goes into WordPress where I have complete control over it. I stuff a copy of the entire raw block of import data in a postmeta value in case I want to re-process it later somehow differently.</p>
<p>With all of this new data though, I quickly came to realize that a &#8220;normal&#8221; WordPress theme, even one that supports different post formats, kind of breaks down under this sheer volume of data, and the different ways that it makes sense to display them. I now have over 10,000 posts, with 4,700 different tags. In addition to Standard posts, I&#8217;m using Asides, Status, Link, Gallery and Image post formats. On a normal day, I&#8217;m likely to have around 15 posts of some type or another. Using most themes, this becomes an endless flood of similar-looking content, which is about as exciting to look at as a raw printout of a dictionary.</p>
<p>What I needed, was a completely custom theme to handle all of this data.</p>
<p>To be continued.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/10/09/wordpress-is-your-digital-hub/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
	</item>
		<item>
		<title>Where is Your Digital Hub/Home?</title>
		<link>http://dentedreality.com.au/2012/10/07/where-is-your-digital-hub-home/</link>
		<comments>http://dentedreality.com.au/2012/10/07/where-is-your-digital-hub-home/#comments</comments>
		<pubDate>Sun, 07 Oct 2012 22:06:57 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Techn(ical|ology)]]></category>
		<category><![CDATA[aggregation]]></category>
		<category><![CDATA[delicious]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[indieweb]]></category>
		<category><![CDATA[pesos]]></category>
		<category><![CDATA[posse]]></category>
		<category><![CDATA[RunKeeper]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=10168</guid>
		<description><![CDATA[I&#8217;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&#8217;ve developed the belief that it&#8217;s a pretty perfect platform for people to build their own &#8220;digital home on the web&#8221;, considering the range of plugins and [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://wordpress.org">WordPress</a> 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&#8217;ve developed the belief that it&#8217;s a pretty perfect platform for people to build their own &#8220;digital home on the web&#8221;, considering the range of plugins and themes available, the flexibility of the publishing options it offers, and the fact that it&#8217;s completely open source, so you can do whatever you want with it.</p>
<p>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 <a href="http://myspace.com">MySpace</a>/<a href="http://facebook.com">Facebook</a> generation, people are all too loose with the data trails they create &#8212; giving up ownership of their digital self at the drop of a hat. In case you didn&#8217;t realize, when you use something like Facebook, <strong>it</strong> is not the product, <a href="http://lifehacker.com/5697167/if-youre-not-paying-for-it-youre-the-product"><strong>you and your data</strong></a> are the product.</p>
<p><span id="more-10168"></span></p>
<p>Don&#8217;t get me wrong, I use plenty of these other online services. In fact, despite working for <a href="http://automattic.com">a company focussed primarily on WordPress and blogging</a>, I find myself producing an order of magnitude more content on other services than I do here on my own blog. A quick look at services I frequently create upon, or use to collect my own data reveals:</p>
<ul>
<li><a href="http://twitter.com/beaulebens">Twitter</a></li>
<li><a href="http://foursquare.com/beaulebens">Foursquare</a></li>
<li><a href="http://instagram.com">Instagram</a></li>
<li><a href="http://runkeeper.com/user/beaulebens/">RunKeeper</a></li>
<li><a href="http://delicious.com/beau">Delicious</a></li>
<li><a href="http://www.flickr.com/photos/borkazoid/">Flickr</a></li>
<li><a href="http://facebook.com/beaulebens">Facebook</a></li>
</ul>
<p>And that&#8217;s without counting a bunch of other more &#8220;passive&#8221; tracking services and systems that collect my information whether I like it or not. The more I think about it, the more I get the uneasy feeling that this equation is completely out of balance. While I get something out of using these services; ease of use, powerful tools, comprehensive social graph, more interaction with peers, etc, I am also losing out on a few big things. The biggest of those things, for me, are ownership (and therefore control) and customizability/flexibility. What happens when Delicious goes broke and closes down? I lose 2,000 bookmarks. What about when Yahoo! drops support for Flickr and it shutters its service? My carefully curated archive of almost 4,000 fully titled and tagged photos over almost a decade are lost. That doesn&#8217;t sound like a very good deal.</p>
<p>Guess what WordPress is great at? That&#8217;s right: ownership, control, flexibility and customizability.</p>
<p>So a few years ago, I started thinking about what it would look like if, instead of (or in addition to) having my content floating around in all of these different places, what if I housed it all on my own WordPress install. How would that work? What would my &#8220;work flow&#8221; look like? How on earth would I present all of these different data-types? Does that even make sense?</p>
<p>I quickly came to the realization that there are 2 quite different, perhaps directly conflicting, ways of looking at these issues. One way is to think of WordPress (or whatever platform you chose as your digital hub) as your exclusive publishing point/tool, and to figure out ways to publish different content types there, and then syndicate that content out to other networks/services as appropriate. The other way is to reverse that flow of information and actually publish on each of the other networks and then syndicate that content back to your WordPress install.</p>
<p>I&#8217;m by no means the first person to think along these lines. People have been thinking at least vaguely related things for years, and I&#8217;ve collaborated and crossed paths with many of them. One of the more popular names that&#8217;s popped up to describe this way of thinking is the &#8220;Indie Web&#8221;. Two prominent members of this movement are folks I greatly admire and respect: <a href="http://tantek.com">Tantek Çelik</a> and <a href="http://willnorris.com/">Will Norris</a>. It turns out they&#8217;ve been thinking along these very same lines recently and even came up with <a href="http://tantek.com/2012/174/t2/opposite-posse-pesos-publish-elsewhere">names for each approach</a>: <strong>POSSE</strong> (Publish Own Site, Syndicate Elsewhere) and <strong>PESOS</strong> (Publish Elsewhere, Syndicate into Own Site). Those names will work nicely for this discussion.</p>
<p>So why choose POSSE over PESOS, or vice versa? Let&#8217;s take a look at each:</p>
<h3>Publish Own Site, Syndicate Elsewhere</h3>
<p>Under this model, you publish all of your content to your own site in the first instance, and then various (most likely automated) tools would be used to syndicate it out to other networks. So I might publish a photo, and then that photo would get copied out to my Flickr account. I publish a short text update and that gets syndicated to Twitter.</p>
<h4>POSSE Pros</h4>
<ul>
<li>Complete control: I&#8217;m doing everything on my own platform, and the fact that it ends up somewhere can be seen almost as a side effect</li>
<li>Ultimate flexibility/customizability: I can configure my publishing environment to look however I want it to look. I can trick it out with helpers, strip things down to match exactly how I like to work, etc.</li>
<li>All in One: All of my publishing needs are met in a single location. I go to my WordPress (or whatever) and that&#8217;s where I can publish any type of content/data</li>
<li>No reliance upon 3rd parties: I don&#8217;t really need to care at all what happens on Delicious or Twitter or anywhere else. I publish my content locally and then if it makes it to other services, great. If not, no big deal.</li>
</ul>
<h4>POSSE Cons</h4>
<ul>
<li>Complexity: If I&#8217;m trying to publish all of these different types of data, I am going to end up with some pretty complex tools</li>
<li>Can&#8217;t keep up: With all these different data formats to publish, and new ideas/platforms popping up all of the time, it becomes hard to keep up with building the WordPress UI to handle them all.</li>
<li>Jack of all trades, Master of none: Spreading so thin across so many data formats leaves us in a position where we might be able to publish all sorts of content, but we&#8217;re not focussed or optimized on any of them, so the experience is probably sub-optimal on all of them.</li>
</ul>
<h3>Publish Elsewhere, Syndicate into Own Site</h3>
<p>With PESOS, we do our publishing &#8220;anywhere&#8221;, and then pull that content back into our WordPress. I tweet on Twitter, I post photos on Flickr, I bookmark on Delicious. But everything gets copied back over to my own WordPress install and stored locally as a native post.</p>
<h4>PESOS Pros</h4>
<ul>
<li>Leverage specialization: This is the big one. I don&#8217;t have to come up with publishing interfaces for all the different data formats. I can use all of the tools that these different services use their capital to build, then syndicate the results back into my storage backend. I can continue to use WordPress for what it&#8217;s really good at (long form publishing) and leverage all these other tools for what they&#8217;re good at.</li>
<li>More direct involvement in networks: Because I am going and publishing directly in these other networks, I&#8217;m more directly involved in the way they work, the conversations they spark, etc. This also allows me to be where my friends are &#8212; interacting on whatever network they choose to be on, without requiring them to come to me.</li>
<li>Immediate Adoption: In most cases, I can just start using a new platform when it comes along, and then syndicate back in time once I have a method of syndication in place, pulling down my personal archives to my WordPress.</li>
</ul>
<h4>PESOS Cons</h4>
<ul>
<li>Reliance upon 3rd Parties: Using PESOS, I am reliant upon these other networks in a few critical ways, simultaneously. First, I obviously need them to be online and accessible just so that I can publish something. I then also need them to have an open enough API (and accompanying data policy) that I can access my data and pull it back out to my own platform.</li>
</ul>
<p>After going back and forth for a bit, I have opted for the PESOS approach, and have gone a fair way down that road. Probably the biggest reason for this choice is the specialization piece. I just feel like the tools available for each platform are so specialized, and are the singular focus of that platform, so they are most likely to continue to be the best. Trying to emulate that, or force it into a WordPress environment just seems like a losing battle. Upcoming posts will discuss my approach and some of the tools and techniques I&#8217;ve put together along the way. Follow along and maybe you&#8217;ll end up taking control of your data as well.</p>
<p>To be continued.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/10/07/where-is-your-digital-hub-home/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
	</item>
		<item>
		<title>Moving Jetpack Sharing Buttons</title>
		<link>http://dentedreality.com.au/2012/09/16/relocating-jetpack-sharing-buttons/</link>
		<comments>http://dentedreality.com.au/2012/09/16/relocating-jetpack-sharing-buttons/#comments</comments>
		<pubDate>Sun, 16 Sep 2012 20:51:08 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Techn(ical|ology)]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=9958</guid>
		<description><![CDATA[I&#8217;m working on a new WordPress theme (for this site, and it&#8217;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 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m working on a new <a href="http://wordpress.org/extend/themes/">WordPress theme</a> (for this site, and it&#8217;ll be released for download once complete). The theme is deeply integrated with <a href="http://jetpack.me/">Jetpack</a>, and one of the things I wanted to do was have the <a href="http://jetpack.me/support/sharing/">Jetpack Sharing</a> buttons appear in a location other than the very end of the content. Normally they are applied as a <a href="http://codex.wordpress.org/Function_Reference/apply_filters">filter</a> on <a href="http://codex.wordpress.org/Plugin_API/Filter_Reference/the_content">the_content</a>, so they just appear right at the end. I wanted to relocate them into a different location, and it turns out that&#8217;s really easy to do with the power of <a href="http://jquery.com/">jQuery</a>.</p>
<pre class="brush: jscript; title: ; notranslate">
jQuery( document ).ready( function( $ ) {
	// Relocate Jetpack sharing buttons down into the comments form
	jQuery( '#sharing' ).html( jQuery( '.sharedaddy' ).detach() );
} );
</pre>
<p>The <code>#sharing</code> selector is just the DOM location where I want to move the buttons to, and the <code>.sharedaddy</code> 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.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/09/16/relocating-jetpack-sharing-buttons/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
	</item>
		<item>
		<title>Welcome to the new server</title>
		<link>http://dentedreality.com.au/2012/08/26/welcome-to-the-new-server/</link>
		<comments>http://dentedreality.com.au/2012/08/26/welcome-to-the-new-server/#comments</comments>
		<pubDate>Sun, 26 Aug 2012 20:26:16 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Site News]]></category>
		<category><![CDATA[Techn(ical|ology)]]></category>
		<category><![CDATA[dented reality]]></category>
		<category><![CDATA[media temple]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[webhosting]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=8881</guid>
		<description><![CDATA[I&#8217;ve finally gotten around to moving this site (along with all my other random sites) onto a single server. It&#8217;s all now hosted at Media Temple, on a 512MB (dv). We&#8217;ll see how that goes. I&#8217;ve got a bunch of things to write up once the move is complete, but if you&#8217;re seeing this then [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve finally gotten around to moving this site (along with all my other random sites) onto a single server. It&#8217;s all now hosted at <a href="http://mediatemple.net/">Media Temple</a>, on a <a href="http://mediatemple.net/webhosting/dv/">512MB (dv)</a>. We&#8217;ll see how that goes. I&#8217;ve got a bunch of things to write up once the move is complete, but if you&#8217;re seeing this then it looks like we&#8217;re most of the way there.</p>
<p>There&#8217;s definitely some more tuning and tweaking to happen, but at least I have my memory usage below 100% <img src='http://i0.wp.com/dentedreality.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' data-recalc-dims="1" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/08/26/welcome-to-the-new-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
	</item>
		<item>
		<title>List of Facebook fb_source values</title>
		<link>http://dentedreality.com.au/2012/08/24/list-of-facebook-fb_source-values/</link>
		<comments>http://dentedreality.com.au/2012/08/24/list-of-facebook-fb_source-values/#comments</comments>
		<pubDate>Fri, 24 Aug 2012 21:22:12 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Techn(ical|ology)]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[fb_source]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=8875</guid>
		<description><![CDATA[If you&#8217;re working with Facebook&#8217;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. Having collected data coming in via links from Facebook for around [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;re working with <a href="https://developers.facebook.com/docs/">Facebook&#8217;s API</a> and trying to record some stats around the values being sent via their <code>fb_source</code> parameter, you might be forgiven for thinking that you could get a definitive list of valid values from <a href="https://developers.facebook.com/docs/fb_source/">their official documentation</a>. Hah! Think again.</p>
<p><span id="more-8875"></span>Having collected data coming in via links from Facebook for around 9 million clicks, I&#8217;ve come to the conclusion that their list is far from complete. Since I wanted to implement some whitelisting to avoid polluting our stats, here&#8217;s the list I&#8217;m currently using to allow only &#8220;intentional&#8221; values to be recorded:</p>
<pre class="brush: php; title: ; notranslate">
$allowed_sources = array(
	'appcenter',
	'appcenter_detail',
	'appcenter_request',
	'bookmark',
	'bookmark_apps',
	'bookmark_favorites',
	'bookmark_seeall',
	'canvas_bkmk_top',
	'canvasbookmark',
	'canvasbookmark_more',
	'canvasbookmark_recommended',
	'dashboard_bookmark',
	'dashboard_toplist',
	'dialog_permission',
	'ego',
	'email',
	'fbpage_tab',
	'feed',
	'feed_aggregated',
	'feed_highscore',
	'feed_music',
	'feed_news',
	'feed_opengraph',
	'feed_passing',
	'feed_playing',
	'feed_using',
	'feed_video',
	'group',
	'home',
	'home_multiline',
	'home_oneline',
	'hovercard',
	'message',
	'myapps',
	'notification',
	'other_multiline',
	'other_oneline',
	'profile_oneline',
	'profile_multiline',
	'recent_activity',
	'reminders',
	'request',
	'search',
	'search_multiline',
	'search_oneline',
	'send_tomobile',
	'ticker',
	'ticker_og',
	'ticker_oneline',
	'tickerdialog_multiline',
	'tickerdialog_oneline',
	'timeline',
	'timeline_news',
	'timeline_og',
	'timeline_passing',
	'timeline_recent',
	'timeline_video',
);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/08/24/list-of-facebook-fb_source-values/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
	</item>
		<item>
		<title>Standing Desk, The 6&#8217;4&#8243; Edition</title>
		<link>http://dentedreality.com.au/2012/08/10/standing-desk-the-64-edition/</link>
		<comments>http://dentedreality.com.au/2012/08/10/standing-desk-the-64-edition/#comments</comments>
		<pubDate>Fri, 10 Aug 2012 22:01:46 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[home office]]></category>
		<category><![CDATA[office]]></category>
		<category><![CDATA[standing desk]]></category>
		<category><![CDATA[workspace]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=8134</guid>
		<description><![CDATA[I&#8217;m pretty tall &#8212; 6 ft 4 inches (193cm) when I&#8217;m not stooping. I&#8217;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 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m pretty tall &#8212; 6 ft 4 inches (193cm) when I&#8217;m not stooping. I&#8217;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:</p>
<ul>
<li>Must be able to support an <a href="http://store.apple.com/us/product/MC914LL/A?fnode=53">Apple Thunderbolt Display</a> (23.5 lbs or 10.8 kg)</li>
<li>Need some space (didn&#8217;t have a specific lower bound, but saw a bunch that were too small)</li>
<li>Adjustable workspace height, of primary concern being that I could put the main one at (my personally determined height of) 47 inches (119 cm)</li>
<li>Storage space for random &#8220;desk stuff&#8221; that I&#8217;d prefer wasn&#8217;t on my actual desk, but would like nearby.</li>
<li>Not crazy expensive.</li>
</ul>
<p><span id="more-8134"></span><br />
I looked around for quite a while and saw all kinds of ridiculous solutions. Some were designed more for <a href="http://standupdesks.com/">drafting or reading</a>. Some were <a href="http://www.amazon.com/Techni-Mobili-Storage-Woodgrain-22-Inch/dp/B001BBNROI/ref=sr_1_1?ie=UTF8&amp;qid=1344633223&amp;sr=8-1&amp;keywords=standing+desk">tiny/flimsy looking</a>. Lots of them couldn&#8217;t <a href="http://www.amazon.com/Safco-Muv-Stand-up-Workstation-Cherry/dp/B002WRGIMI/ref=sr_1_8?ie=UTF8&amp;qid=1344633223&amp;sr=8-8&amp;keywords=standing+desk">get up to 47 inches</a>. Good ones were <a href="http://www.beyondtheofficedoor.com/RA-24XXNHWTF.php">just plain expensive</a>.</p>
<p>Not being happy with anything that I&#8217;d found, and not wanting to get a &#8220;normal&#8221; desk, I&#8217;d temporarily given up. Meanwhile, we were filling our new apartment with furniture, including a <a href="http://www.ikea.com/us/en/catalog/products/S79894902/">PAX double-closet</a> arrangement from <a href="http://ikea.com">IKEA</a>. As a bit of a joke, I put one of the shelves in half of the unit and tried it out with just my laptop.</p>
<p class="aligncenter"><a href="http://dentedreality.com.au/2012/08/standing-desk-the-64-edition/img_3653/" rel="attachment wp-att-8135"><img class="size-medium wp-image-8135 aligncenter" title="Standing Desk: Stage 1" alt="" src="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2012/08/IMG_3653.jpg?resize=500%2C373" data-recalc-dims="1" /></a></p>
<p>It actually worked quite well, although I knew the shelf wouldn&#8217;t hold a Thunderbolt display. I was also a bit concerned about feeling claustrophobic (not that I normally do) in the small space, and about not having enough desktop room. After trying it out for about a week, I was getting used to the standing (this is my first standing desk) and also the smaller space. The only real issues were:</p>
<ul>
<li>It was pretty dark in here</li>
<li>Strength of the shelf</li>
<li>Screen needed to be higher than the keyboard</li>
<li>The space heats up</li>
<li>No view</li>
</ul>
<p>I&#8217;ve already addressed the first three issues, the first by attached a <a href="http://www.amazon.com/gp/product/B004DBU1O2/ref=oh_details_o06_s00_i00">set of LED strip-lights</a> to the back of the display, the second by adding a support brace across the entire width of the shelf, right under where the display sits. To raise up the screen I found <a href="http://www.officedepot.com/a/products/703834/Rolodex-Wood-Workspace-Monitor-Stand-With/">this little unit</a> at OfficeDepot. I&#8217;ve got a <a href="http://www.amazon.com/gp/product/B003XN24GY/ref=oh_details_o00_s00_i00">tiny USB fan</a> on the way from Amazon to provide a bit of circulation (can plug it into the back of the Thunderbolt.<a href="http://dentedreality.com.au/2012/08/standing-desk-the-64-edition/img_3653/" rel="attachment wp-att-8135"><br />
</a></p>
<p>To address the final point (kind of), I&#8217;m planning to find a large-format print of a forest scene of some sort and cut it to exactly fit the back panel of the closet. That way I&#8217;ll feel like I&#8217;m working right in front of a window&#8230; hopefully <img src='http://i0.wp.com/dentedreality.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' data-recalc-dims="1" />  I&#8217;ve also mounted a <a href="http://www.officedepot.com/a/products/129111/Sparco-Aluminum-Frame-Melamine-Board-24/">whiteboard</a> to the left side of the space (which is perfect for writing on with your right hand), and a small <a href="http://www.amazon.com/gp/product/B004494P4U/ref=oh_details_o02_s00_i00">letter-holder/magnetic key holder</a> on the right, which is where I keep tickets/receipts/random things until I deal with them properly.</p>
<p class="aligncenter"><a href="http://dentedreality.com.au/2012/08/standing-desk-the-64-edition/img_1646/" rel="attachment wp-att-8137"><img class="size-medium wp-image-8137 aligncenter" title="Standing Desk: Stage 2" alt="" src="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/08/IMG_1646.jpg?resize=338%2C500" data-recalc-dims="1" /></a></p>
<p>The first shelf underneath my workspace is a drawer which has heaps of space (the same amount as the workspace itself) to store random desk things. I filled it already. On the bottom shelf (which you can see in the second picture), I have my printer and space to dump my bag. I also have a bit of a ledge to stand on when one leg is getting tired.</p>
<p>As weird as it may be, I&#8217;m liking it. One of my favorite things is being able to slide the door closed and &#8220;call it a day&#8221;. I&#8217;m really bad at being able to walk away from my computer when I&#8217;m done working for the day, so having a physical barrier in the way helps. It&#8217;s probably not something I&#8217;ll stick with &#8220;forever&#8221;, and sure, I&#8217;d prefer to have an open view out a window or something, but you work with what you&#8217;ve got <img src='http://i0.wp.com/dentedreality.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' data-recalc-dims="1" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/08/10/standing-desk-the-64-edition/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:thumbnail url="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2012/08/IMG_3653.jpg?resize=150%2C150" />
		<media:content url="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2012/08/IMG_3653.jpg?resize=2592%2C1936" medium="image">
			<media:title type="html">Standing Desk: Stage 1</media:title>
			<media:thumbnail url="http://i2.wp.com/dentedreality.com.au/wp-content/uploads/2012/08/IMG_3653.jpg?resize=150%2C150" />
		</media:content>
		<media:content url="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/08/IMG_1646.jpg?resize=2088%2C3085" medium="image">
			<media:title type="html">Standing Desk: Stage 2</media:title>
			<media:thumbnail url="http://i0.wp.com/dentedreality.com.au/wp-content/uploads/2012/08/IMG_1646.jpg?resize=150%2C150" />
		</media:content>
	</item>
		<item>
		<title>My Development Setup/Flow</title>
		<link>http://dentedreality.com.au/2012/07/26/my-development-setup-flow/</link>
		<comments>http://dentedreality.com.au/2012/07/26/my-development-setup-flow/#comments</comments>
		<pubDate>Thu, 26 Jul 2012 18:14:25 +0000</pubDate>
		<dc:creator>Beau</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Techn(ical|ology)]]></category>
		<category><![CDATA[charles]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[p2]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[sftp]]></category>
		<category><![CDATA[sidestep]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[sublime text]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[textmate]]></category>
		<category><![CDATA[trac]]></category>
		<category><![CDATA[transmit]]></category>
		<category><![CDATA[versions]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=8121</guid>
		<description><![CDATA[Developers seem to love to hear about how other developers work, so I thought I&#8217;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 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Developers seem to love to hear about how other developers work, so I thought I&#8217;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:</p>
<ul>
<li>I work for <a href="http://automattic.com">Automattic</a>, so a lot of this is influenced by our internal policies/security/workflow.</li>
<li>I don&#8217;t always use all components of this &#8220;system&#8221;. I&#8217;ll try to detail when I do/don&#8217;t use certain parts of it as I go.</li>
</ul>
<p>OK, here goes.</p>
<p>Note: This turned into a little bit of a summary of how we work internally at Automattic as well. Oh well, maybe it&#8217;ll provide some inspiration, I think we do some pretty cool things.</p>
<p><span id="more-8121"></span></p>
<p>As a prelude, let me summarize how this all generally works: We have &#8220;sandboxes&#8221; for all of our work at Automattic, so it&#8217;s a <a href="http://en.wikipedia.org/wiki/Virtual_machine">VM</a> that contains a complete instance of whatever code/system we&#8217;re working on (I have one each for <a href="http://wordpress.com">WordPress.com</a>, <a href="http://gravatar.com">Gravatar.com</a> and <a href="http://intensedebate.com">IntenseDebate.com</a> because I work on them all regularly). Within that sandbox, we can make changes however we see fit. We all have certain hostnames that we can use to access that sandbox directly, or we can also point any live domain to that sandbox (via hosts files, see below)  so that we can see how a live site will function when running our modified code (direct from the sandbox, so only we will see it).</p>
<p>If I&#8217;m doing something non-Automattic (like some random personal project), or a WordPress.org plugin (like <a href="http://wordpress.org/extend/plugins/keyring/">Keyring</a>), then I&#8217;ll normally just develop locally (see below) and avoid all/most of that complexity (and skip a lot of the details below).</p>
<p>So, here&#8217;s the full stack as far as I can tell:</p>
<ul>
<li><strong></strong><strong></strong><strong>Physical Environment + Local Development</strong>
<ul>
<li>I am currently working on a <a href="http://www.apple.com/macbookair/">13&#8243; MacBook Air</a></li>
<li>My desk is actually a standing configuration, built into a <a href="http://www.ikea.com/us/en/catalog/products/S79894902/">IKEA PAX</a> closet (it&#8217;s hard to find a standing desk that&#8217;s tall enough when you&#8217;re 6&#8217;4&#8243;)</li>
<li>I have a 27&#8243; <a href="http://www.apple.com/displays/">Thunderbolt display</a>, <a href="http://www.apple.com/keyboard/">external keyboard</a> and <a href="http://www.apple.com/magicmouse/">Magic Mouse</a> connected when I&#8217;m working from there</li>
<li>I use <a href="http://www.mamp.info/en/index.html">MAMP</a> on my local machine because it&#8217;s easy and I&#8217;m lazy</li>
</ul>
</li>
<li><strong>Connectivity &amp; Hosts juggling</strong>
<ul>
<li>To access a lot of the things that I need to access for work, I have to connect through a secured <a href="http://en.wikipedia.org/wiki/Proxy_server">proxy server</a>.</li>
<li>I use <a href="http://chetansurpur.com/projects/sidestep/">SideStep</a> to run a local proxy server and route that traffic to my secured remote server, which I connect to using my SSH key.</li>
<li>I leave my local System Prefs alone, and use <a href="https://chrome.google.com/webstore/detail/dpplabbmogkhghncfbfdeeokoefdjegm">Proxy SwitchySharp</a> in Chrome to control proxy access
<ul>
<li>I have one profile for &#8220;Automattic&#8221;, which loads a <a title="New Wheels on the Road" href="http://en.wikipedia.org/wiki/Proxy_auto-config">PAC file</a> and only proxies work-specific requests</li>
<li>Also have an &#8220;Everything&#8221; mode that proxies everything (for when I&#8217;m on an insecure network)</li>
<li>Lastly, I have a profile for running things through <a href="http://www.charlesproxy.com/">Charles</a> for when I want to monitor HTTP traffic</li>
<li>When I get around to it, I&#8217;m going to set up something for proxying through my own personal <a href="http://mediatemple.net/webhosting/dv/">(dv) server at Media Temple</a></li>
</ul>
</li>
<li><a href="http://code.google.com/p/gmask/">GasMask</a> helps me manage a series of different <a href="http://en.wikipedia.org/wiki/Hosts_(file)">hosts files</a> for running things through my sandboxes or for local development
<ul>
<li>I maintain a &#8220;base&#8221; file that includes some core/fundamental host mappings, and then different files for each &#8220;project&#8221; or major concept that I work on</li>
<li>I then configure &#8220;Combined&#8221; files that are just base + one of those projects.</li>
<li>I only use/activate the combined versions, so I always have everything I need mapped</li>
<li>When I switch to a new one, I normally have to go to <a href="chrome://net-internals/#dns">this internal config page in Chrome</a> (which I have bookmarked) and click the &#8220;Clear host cache&#8221; button, which clears Chrome&#8217;s internal DNS cache</li>
</ul>
</li>
</ul>
</li>
<li><strong>File Access</strong>
<ul>
<li>All SSH access uses <a href="http://paulkeck.com/ssh/">passphrase-protected keyfiles</a>, no passwords are used in normal flow.</li>
<li>I <a href="http://www.hypexr.org/bash_tutorial.php#alias">alias</a> all of the common machines that I need to SSH into so that I can do it with a simple command, e.g. &#8220;dented&#8221; to log into my personal server (dentedreality.com.au).</li>
<li>When I&#8217;m on a good, solid connection, I normally mount the remote server that I&#8217;m working with as a local filesystem over <a href="http://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol#SFTP_client">SFTP</a>, using <a href="http://panic.com/transmit/">Transmit&#8217;s</a> <a href="http://panic.com/transmit/#disks">Disk Mode</a>.</li>
<li>If I&#8217;m on a less-solid connection, then I&#8217;ll just connect to the remote server using Transmit (SFTP) and access files individually.</li>
<li>I used to use <a href="http://dentedreality.com.au/2011/12/mount-remote-filesystem-osx/">Macfusion</a> but got sick of the flaky connection so have switched to using Transmit.</li>
<li>I&#8217;ve got a copy of <a href="http://decimus.net/DTerm/">DTerm</a> running which allows me to quickly execute a Terminal command within any directory, it&#8217;s neat for simple little things like svn upping. When I&#8217;m in any window in Finder, I just hit Cmd-Shift-K and a little window pops up so I can type a command.</li>
<li>I also have &#8220;<a href="http://code.google.com/p/cdto/">cd to</a>&#8221; which allows you to immediately open a full Terminal window with the cwd set to the directory you were browsing in Finder. Super handy.</li>
</ul>
</li>
<li><strong>Text Editing</strong>
<ul>
<li>I am currently using <a href="http://sublimetext.com">Sublime Text 2</a> as my primary editor. This is where I do the bulk of my work.
<ul>
<li>I try to only install plugins using <a href="http://wbond.net/sublime_packages/package_control">Package Control</a> to make management easier</li>
<li>Some plugins that I have include:
<ul>
<li>Alignment</li>
<li>Bracket Highlighter</li>
<li>DocBlocker</li>
<li>SFTP</li>
<li>SublimeCodeIntel</li>
<li>SVN</li>
<li>Terminal</li>
</ul>
</li>
</ul>
</li>
<li>I used to use <a href="http://macromates.com/">TextMate</a>, but recently switched</li>
<li>When I need to make a quick fix or something on my sandbox or a remote server, I prefer <a href="http://www.vim.org/">vim</a>, via Terminal.</li>
</ul>
</li>
<li><strong>Testing/Browsers</strong>
<ul>
<li>I work primarily in Chrome (currently v20)
<ul>
<li>I spend a fair amount of time in web inspector (Cmd-Opt-I and Cmd-Opt-U get a pretty good workout on my machines)</li>
</ul>
</li>
<li>I also have Safari and Firefox installed for testing</li>
<li><a href="https://www.virtualbox.org/">VirtualBox</a> is installed and used for cross-browser/platform testing, with a Windows 7 image running
<ul>
<li>That has Firefox, Chrome, Safari and obviously IE.</li>
<li>I use the compatibility mode thing in IE to test different versions (7, 8 &amp; 9)</li>
</ul>
</li>
</ul>
</li>
<li><strong>Communication and Source Control</strong>
<ul>
<li>All of our source control happens in <a href="http://subversion.tigris.org/">SVN</a></li>
<li>We have separate <a href="http://trac.edgewall.org/">Trac</a> installs for each project</li>
<li>I normally just use command-line SVN commands (mostly on my sandboxes)</li>
<li>I have a copy of <a href="http://versionsapp.com/">Versions</a>, but I don&#8217;t use it much</li>
<li>Most of our synchronous communication happens via an internal <a href="http://en.wikipedia.org/wiki/Internet_Relay_Chat">IRC</a> server (rooms for projects/groups/teams), but we also use <a href="http://skype.com">Skype</a> a bit</li>
<li>Lots and lots of asynchronous (and some almost synchronous) communication happens via a series of <a href="http://p2theme.com/">P2-themed</a> WordPress(.com) blogs
<ul>
<li>We have a lot of &#8220;helpers&#8221; on the P2s or via WordPress.com features
<ul>
<li>Simple checklists</li>
<li>Notifications (via email, Jabber and now toolbar)</li>
<li>&#8220;Matcher&#8221; for keywords/regular expressions</li>
<li>Ticket and changeset quicklinks (mention a ticket number from any of our Trac installs and it creates a link, with a hovercard that provides a summary)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>That&#8217;s all I can think of right now. If you have any questions, suggestions, or links to other people&#8217;s development stacks, drop them in the comments!</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2012/07/26/my-development-setup-flow/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
	</item>
	</channel>
</rss>
