<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Dented Reality</title>
	
	<link>http://dentedreality.com.au</link>
	<description>Beau Lebens throws down his opinion on all sorts of things he doesn't know too much about.</description>
	<pubDate>Wed, 07 Jan 2009 04:00:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/BeauLebens" type="application/rss+xml" /><item>
		<title>Nokia E71 NAM Real World Usage Review</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/504452776/</link>
		<comments>http://dentedreality.com.au/2009/01/nokia-e71-nam-real-world-usage-review/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 17:00:02 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[cellphone]]></category>

		<category><![CDATA[e71]]></category>

		<category><![CDATA[edge]]></category>

		<category><![CDATA[gmail]]></category>

		<category><![CDATA[google maps]]></category>

		<category><![CDATA[gps]]></category>

		<category><![CDATA[isync]]></category>

		<category><![CDATA[mobile]]></category>

		<category><![CDATA[nokia]]></category>

		<category><![CDATA[nokia e71]]></category>

		<category><![CDATA[nokia e71 nam]]></category>

		<category><![CDATA[phone]]></category>

		<category><![CDATA[review]]></category>

		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=816</guid>
		<description><![CDATA[Now that I&#8217;ve been using the Nokia E71 NAM for a few weeks, I wanted to post a follow-up review covering some of the more &#8220;day-to-day reality&#8221; aspects of the phone. I&#8217;m going to bullet-point my observations/comments for brevity&#8217;s sake, and as with my initial review, any comparisons made here are as compared to my [...]]]></description>
			<content:encoded><![CDATA[<p>Now that I&#8217;ve been using the Nokia E71 NAM for a few weeks, I wanted to post a follow-up review covering some of the more &#8220;day-to-day reality&#8221; aspects of the phone. I&#8217;m going to bullet-point my observations/comments for brevity&#8217;s sake, and as with my <a href="http://dentedreality.com.au/2008/12/nokia-e71-nam-first-review/">initial review</a>, any comparisons made here are as compared to my Nokia E61:<br />
<span id="more-816"></span></p>
<ul></ul>
<h2>The Good</h2>
<ul>
<li>The operating system is <strong>much</strong> snappier and more responsive overall. The phone just <em>feels</em> a lot faster than the E61.</li>
<li>The new 5 way navigation key absolutely rocks compared to the little joystick on the E61. The only thing I don&#8217;t like is that perhaps the outside edge (&#8221;arrows&#8221;) could be a little bit wider to make it easier to hit with the end of a finger.</li>
<li>Connecting to and using EDGE seems a LOT faster.</li>
<li>Wifi connect time and bandwidth/throughout also seems a lot faster.</li>
<li>Web pages render and respond a lot quicker (scrolling etc)</li>
<li>I like that when the phone is &#8220;asleep&#8221;, if you hold down on the middle button, the screen shows you a large clock for a brief period (including icons for any messages, missed calls, etc)</li>
<li>From the Home Screen, you can start typing the name of a contact and they will appear in a list so you can just select them from right there.</li>
<li>You can also dial letters now, which was a frustration of mine with the E61. If, for example, you needed to dial 1800FLOWERS, there was no way to do that on the E61 without figuring out what &#8220;FLOWERS&#8221; is in numbers, which is hard because you don&#8217;t have a normal phone keypad, you have a QWERTY keyboard instead. On the E71 you can dial 1800FLOWERS and it will figure it out.</li>
<li>After a quick download of an <a href="http://europe.nokia.com/A4299040">iSync plugin from Nokia</a> I was able to synchronize my Calendar and Contacts to my Mac Address Book/iCalendar.</li>
<li>Google make a version of their <a href="http://www.google.com/mobile/nokia_standard/mail.html">Gmail App</a> specifically for Symbian 60 series devices (e.g. the E71) and it&#8217;s really slick.</li>
<li><a href="http://www.google.com/mobile/nokia_standard/maps.html">Google&#8217;s Map</a> application is also available for the E71 and detects and uses the GPS device automatically. It&#8217;s <strong>awesome</strong>. It won&#8217;t give you true turn by turn directions, but you can plot out a course using the directions feature on Google Maps, then follow along using the GPS to achieve almost the same result.</li>
<li>I also tried out <a href="http://qik.com/">qik</a> (over wifi) and it worked like an absolute charm. Simple set up, easy streaming, decent quality. I was very impressed.</li>
</ul>
<h2>The Not So Good</h2>
<ul>
<li>The operating system, although responsive, is still just as confusing/non-user-friendly as it always has been, if not a little more so. The menus have been moved around a little and things have been re-classified to make them even harder to find.</li>
<li>I felt like the vibrate feature is a bit weak. I rely a lot on my phone&#8217;s vibrate (rather than a loud, obnoxious ring-tone) and found that I quite often missed calls unless I was sitting down (so it was pushed to my leg) or somewhere really quiet where I actually heard my quiet ringtone.</li>
<li>It took a lot of poking around in the menu to figure out how to customize the 2 softkeys on the Home screen</li>
<li>As usual with recent Nokia phones, to use the voice-dial command you have to master talking like a robot, and can&#8217;t just record a voice-tag against a contact and use that.</li>
<li>I couldn&#8217;t figure out how to customize the middle button (between the volume up/down buttons) at all. That seems like a good button to be a shortcut to the camera.</li>
<li>The Automatic Network Selection algorithm on this phone seems to be quite aggressive. I noticed my handset changing quite frequently to another network because my signal got too weak.</li>
<li>I tried out Quickoffice, which is included with the handset. It is absolutely painful to try to create even a tiny, simple spreadsheet on <img src='http://dentedreality.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
</ul>
<p>As a side story, I&#8217;ve been quite sick for the past few days, and spent most of my time either on the couch, or in bed. During that time, I used the E71 to browser the web, check email and send SMS messages a lot for 2 days without charging it at all. I was impressed that it stood up to that much usage with wifi, as the E61 tended to drain the battery quite quickly if you stayed connected too long. It was good to have a device like this handy to keep me at least a little bit connected (even if my mind was thoroughly disconnected!).</p>
<p>All in all I&#8217;ve been very impressed with the E71 thus far, and will be very sad to have to return it. Everyone else who has seen the phone has been impressed by its design, and by the features I&#8217;ve mentioned (usually GPS, internet access, email etc). It&#8217;s been described as a &#8220;sexy BlackBerry&#8221;, an &#8220;iPhone with a keyboard&#8221; and &#8220;sweeeet&#8221;, amongst other things. I&#8217;d have to agree with all of those descriptions.</p>
<p>Congratulations on another solid phone Nokia - now please spend a little more time on refining the software/UI side of things if you&#8217;re hoping to compete with the likes of Apple!</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2009/01/nokia-e71-nam-real-world-usage-review/feed/</wfw:commentRss>
	
	<feedburner:origLink>http://dentedreality.com.au/2009/01/nokia-e71-nam-real-world-usage-review/</feedburner:origLink></item>
		<item>
		<title>An Open Letter to IE6 for 2009</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/503756750/</link>
		<comments>http://dentedreality.com.au/2009/01/goodbye-internet-explorer-6/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 22:15:44 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[browser]]></category>

		<category><![CDATA[ie6]]></category>

		<category><![CDATA[internet explorer]]></category>

		<category><![CDATA[open letter]]></category>

		<category><![CDATA[silly]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=880</guid>
		<description><![CDATA[Dear Internet Explorer 6,
How are you feeling? How was your New Years? Probably a bit lonely I expect, what with people deserting you left and right for your ritzy sibling, IE7, or some of the even more attractive kids on the block like Firefox, Safari and Opera. I know we&#8217;ve spent a lot of time [...]]]></description>
			<content:encoded><![CDATA[<p>Dear Internet Explorer 6,</p>
<p>How are you feeling? How was your New Years? Probably a bit lonely I expect, what with people deserting you left and right for your ritzy sibling, <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx">IE7</a>, or some of the even more attractive kids on the block like <a href="http://www.mozilla.com/firefox/">Firefox</a>, <a href="http://www.apple.com/safari/">Safari</a> and <a href="http://www.opera.com/">Opera</a>. I know we&#8217;ve spent a lot of time together, you and I, but it&#8217;s time that I told you something that&#8217;s been on my mind for a while.</p>
<p>I don&#8217;t think we should see each other any more.</p>
<p><span id="more-880"></span>I&#8217;m not going to go easy and tell you &#8220;it&#8217;s not you, it&#8217;s me,&#8221; because that&#8217;s just not true. At all. It <strong>is</strong> you. It <strong>absolutely</strong> is you. And I know I&#8217;m not the only one that feels this way. Along with thousands of other developers, I&#8217;ve spent hour upon hour, day upon day catering to your DOMands and have had my efforts rendered amok. I can&#8217;t take it any more.</p>
<p>We developers deserve better than you. We deserve browsers that can render a document according to the standards that have been in place for <strong>years</strong> now. We deserve browsers that can handle opacity properly, via CSS and via those wonderful image files that you so happily destroy - PNGs. We deserve CSS3 support, and we deserve to not have to add hacks or additional stylesheets to cater to your every desire.</p>
<p>You&#8217;ve controlled our lives for far too long as it is, and it&#8217;s time we took a stand against you. This may come as a shock to you, but we don&#8217;t like you. We haven&#8217;t for a long time. The only reason we even spend time with you any more is because there are a lot of people out there who don&#8217;t know any better, who haven&#8217;t met your alternatives to see how much better their lives <strong>could be</strong>. They still see you as their window to the Internet, and so begrudgingly, we come back to you, time and again, spend another sleepless night, trying to please you with just the right combination of CSS hacks and dumbed-down layout.</p>
<p>Well, not me. Not anymore.</p>
<p>You&#8217;re on your own IE6. I&#8217;m through with you. Unless someone specifically forces me to ensure that something works for you, I will no longer waste my energy on you. They&#8217;ll have to pay me to do it as well. I hope that makes you feel dirty. God knows you&#8217;ve made me feel dirty for long enough.</p>
<p>Yours in disgust,</p>
<p>Beau Lebens</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2009/01/goodbye-internet-explorer-6/feed/</wfw:commentRss>
	
	<feedburner:origLink>http://dentedreality.com.au/2009/01/goodbye-internet-explorer-6/</feedburner:origLink></item>
		<item>
		<title>Why Are You Still Paying for Cable TV?</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/493564540/</link>
		<comments>http://dentedreality.com.au/2008/12/why-are-you-still-paying-for-cable-tv/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 23:39:52 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[comcast]]></category>

		<category><![CDATA[hulu]]></category>

		<category><![CDATA[mac mini]]></category>

		<category><![CDATA[projector]]></category>

		<category><![CDATA[television]]></category>

		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://wiggin.local/dev/dentedreality.com.au/?p=590</guid>
		<description><![CDATA[When I first moved to the US, I moved into a fully-furnished apartment with 2 TVs. One of them occupied the cable connection where I wanted my computer plugged in, so that one got unplugged and never got turned on again. The other one was in the bedroom and only ever got turned on to [...]]]></description>
			<content:encoded><![CDATA[<p>When I first moved to the US, I moved into a fully-furnished apartment with 2 TVs. One of them occupied the cable connection where I wanted my computer plugged in, so that one got unplugged and never got turned on again. The other one was in the bedroom and only ever got turned on to watch my favorite show at the time: <a href="http://www.alias-tv.com/">Alias</a>. When I moved to California and was faced with the price of getting cable installed, I realized that I really didn&#8217;t want to pay that much money every month to watch 1 TV show. I preferred to watch DVDs and often watched video clips and things online though, so I needed a solution.</p>
<p>Instead of going and buying a TV, I went out and got a <a href="http://www.apple.com/macmini/">Mac Mini</a> (with bluetooth keyboard/mouse), which I connected to a <a href="http://www.amazon.com/gp/product/B0009X6QOC?ie=UTF8&amp;tag=dentedreality-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0009X6QOC">Toshiba projector</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=dentedreality-20&amp;l=as2&amp;o=1&amp;a=B0009X6QOC" border="0" alt="" width="1" height="1" />. I got a 3 ft x 4ft blank (white) painting canvas, which hangs on the wall, opposite the projector (which is on top of my coffee table). A long (50ft, which turned out to be massive overkill) VGA cable runs around the edge of the room to the Mac Mini, which is housed with my (multi-region) DVD player etc under the screen in a standard IKEA cabinet.</p>
<p>I started out using Bit Torrent to download TV shows. I use the excellent program for Macs called <a href="http://www.transmissionbt.com/">Transmission</a>, and experimented with a few different tools which worked by automatically downloading RSS feeds from <a href="http://tvrss.net/">tvRSS</a>. I had Transmission set up with Speed Limits enabled so that it would only download overnight (when I wasn&#8217;t using my internet connection). This worked well for a while, but those freedom-hating Communists over at Comcast didn&#8217;t like that, so they started <a href="http://blog.wired.com/monkeybites/2007/08/its-comcastic-i.html">messing with my connection</a>, which affected me day and night.</p>
<p>After battling with a bad connection for a while, I had to stop with the torrents because I was having trouble working. For a few months I just went without TV of any kind, which was actually refreshing in its own way. Then I got access to hulu.</p>
<p><a href="http://hulu.com">hulu.com</a> has made everything so much easier, and it&#8217;s even taken away that niggling feeling that I was doing something &#8220;wrong&#8221;. I can watch all sorts of things on hulu, even queue them up under my account so that I can keep track of new episodes easily. It&#8217;s available on-demand and I don&#8217;t care if I &#8220;miss&#8221; when a show was on normal TV, because I can watch it on hulu whenever I want.</p>
<p>Obviously I go without a lot of shows that are available on normal cable, but am I really missing anything? I sure don&#8217;t feel like it.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/12/why-are-you-still-paying-for-cable-tv/feed/</wfw:commentRss>
	
		<media:thumbnail url="http://www.assoc-amazon.com/e/ir?t=dentedreality-20&amp;l=as2&amp;o=1&amp;a=B0009X6QOC" />
		<media:content url="http://www.assoc-amazon.com/e/ir?t=dentedreality-20&amp;l=as2&amp;o=1&amp;a=B0009X6QOC" medium="image" />
	<feedburner:origLink>http://dentedreality.com.au/2008/12/why-are-you-still-paying-for-cable-tv/</feedburner:origLink></item>
		<item>
		<title>Challenges You Will Face When Working With Remote Teams</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/493336584/</link>
		<comments>http://dentedreality.com.au/2008/12/challenges-you-will-face-when-working-with-remote-teams/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 18:00:35 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Featured]]></category>

		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[basecamp]]></category>

		<category><![CDATA[beanstalk]]></category>

		<category><![CDATA[communication]]></category>

		<category><![CDATA[distributed office]]></category>

		<category><![CDATA[flyspray]]></category>

		<category><![CDATA[git]]></category>

		<category><![CDATA[github]]></category>

		<category><![CDATA[google docs]]></category>

		<category><![CDATA[lighthouse]]></category>

		<category><![CDATA[presently]]></category>

		<category><![CDATA[project management]]></category>

		<category><![CDATA[prologue]]></category>

		<category><![CDATA[remote teams]]></category>

		<category><![CDATA[remote working]]></category>

		<category><![CDATA[skype]]></category>

		<category><![CDATA[svn]]></category>

		<category><![CDATA[task management]]></category>

		<category><![CDATA[timezones]]></category>

		<category><![CDATA[trac]]></category>

		<category><![CDATA[wikis]]></category>

		<category><![CDATA[yammer]]></category>

		<guid isPermaLink="false">http://wiggin.local/dev/dentedreality.com.au/?p=479</guid>
		<description><![CDATA[For a number of reasons at a number of times in my career, I&#8217;ve found myself working with variously-distributed teams of one kind or another. Perhaps the &#8220;office&#8221; is a building that spans 2 square miles, perhaps someone was working from home for a day or someone was on a 2 week &#8220;vacation&#8221;, or even [...]]]></description>
			<content:encoded><![CDATA[<p>For a number of reasons at a number of times in my career, I&#8217;ve found myself working with variously-distributed teams of one kind or another. Perhaps the &#8220;office&#8221; is a building that spans 2 square miles, perhaps someone was working from home for a day or someone was on a 2 week &#8220;vacation&#8221;, or even working for a distributed company with no real office. These were all different situations, but they all suffered from simliar challenges. I want to take a look at a couple of those challenges and some ways that you can help mitigate them.</p>
<p>I&#8217;m looking at this mostly as a member of a technical team of some sort, but I&#8217;m sure a lot of it would apply to pretty much anyone who&#8217;s not working face-to-face with their colleagues. Apologies in advance for this being kind of rambling (and very long). It&#8217;s a collection of all sorts of observations, links and ideas that I&#8217;ve collected over time.<span id="more-479"></span></p>
<h2>Communication Deficiencies</h2>
<p>This is first for a reason. Number one in frequency and potential to cause damage are all manner of communication deficiencies. This is one of those things that is just as true for cube-workers as it is for distributed teams. Communicate or die. Here are a couple of guidelines to help you all communicate:</p>
<ul>
<li>Get a <a href="http://www.dokuwiki.org/dokuwiki">wiki</a> and use it at least for more &#8220;permanent&#8221; documentation like company policies/rules etc.</li>
<li>Ideally, use your wiki for specifications, project requirements etc - you get a revision history and a neat, centralized document that everyone can check up on.</li>
<li>You could also put a page on the wiki (or somewhere) for each person in the company, so that new hires can &#8220;get to know everyone&#8221; by reading a bit about each person.</li>
<li>Consider setting up an <a href="http://wordpress.org">internal blog</a> (perhaps <a href="http://en.blog.wordpress.com/2008/01/28/introducing-prologue/">Prologue</a>, <a href="http://yammer.com">Yammer</a> or <a href="http://present.ly">Present.ly</a> even) or mailing list for announcements etc that everyone in the company needs to know about (email isn&#8217;t great for this, because it gets lost in amongst everything else)</li>
<li>Don&#8217;t CC: everyone on everything. It&#8217;s annoying, often irrelevant, and it leads to &#8220;boy who cried wolf&#8221; syndrome where people start ignoring emails they should be paying attention to.</li>
<li>Get everyone on IM and make sure that you&#8217;re all comfortable talking to each other. This doesn&#8217;t mean that the sysadmin needs to be IMing the CEO of the company telling them about their weekend, just that normal &#8220;communication lines&#8221; within the hierarchy of the company should be open online as well.</li>
<li>Consider using video chat as way to do some synchronous communication when the situation calls for it (but don&#8217;t overdo it).</li>
<li>Use email when it makes sense.</li>
<li>If it&#8217;s an emergency, it does NOT make sense to use email - call.</li>
<li>Get <a href="http://skype.com">Skype</a> (or something similar) and use it when it makes sense.</li>
<li>Always keep your language as simple as possible (whether you&#8217;re interacting with someone with the same native language or not). e.g. (bad) &#8220;I&#8217;m of the opinion that without the conversion of these resources to the requested format within a limited period, the ramifications for the project deadline would be negative&#8221;. How about (good) &#8220;We will not meet the project deadline if the resources aren&#8217;t converted to &lt;format&gt; by &lt;date&gt;&#8221;</li>
<li>Be succinct yet descriptive with all communications - you&#8217;re just wasting everyone&#8217;s time if everything requires confirmation/discussion.</li>
<li>Consider setting up a group IRC channel or something similar which you can use for group discussions. Log it and make the logs available and searchable to everyone in the company.</li>
</ul>
<h2>Task Management/Allocation</h2>
<p>Knowing and managing what everyone is working on is hard enough when you&#8217;re all in the same office, but when you&#8217;re spread out across the country or across the globe, it gets even harder. You need to keep track of what people are working on now, what they are aware of that they should be working on next, what&#8217;s been allocated to who, etc etc etc. This one largely comes down to communication again (doesn&#8217;t it all?) but there are some unique challenges here (don&#8217;t think you can just solve this with a lot of email, it doesn&#8217;t scale). Here are some tips:</p>
<ul>
<li>You&#8217;ll want a centralized system of some sort for this so that you can all &#8220;go&#8221; to the same place to see what&#8217;s going on.</li>
<li>Being able to allocate/assign tasks is important so that you can see who&#8217;s responsible for something.</li>
<li>It&#8217;s good for everyone to be able to look at everyone else&#8217;s list, so for example I can see if someone else has a huge list, then there&#8217;s no point allocating them additional work. Or I can see that someone has nothing on their list so either they&#8217;re not using the system, or there are other questions to be answered!</li>
<li>Transparency is a good thing - pick a system that keeps track of who changed what, when. Especially changing the assignment of tasks.</li>
<li>There&#8217;s a balancing act to be played between privacy and control as far as who can edit what, who can allocate tasks etc, but personally I think companies should strive to have an open enough culture that you can remove these sorts of barriers and allow people to use their own judgment.</li>
<li>It&#8217;s good to be able to attach/associate files with tasks, but be careful about revision control on those documents (especially if you&#8217;re all used to relying on a different system for everything else).</li>
<li>Email integration is important, even if it&#8217;s just notifications when things change. It will help bring people back to the system and keep using it, since email really is the &#8220;nerve-center&#8221; of most people&#8217;s online business world.</li>
<li>Something like <a href="http://basecamphq.com">BaseCamp</a> might be handy here, or you can use a bug-tracking system like <a href="http://trac.edgewall.org/">Trac</a>, a new player like <a href="http://flyspray.org/">FlySpray</a> or <a href="http://lighthouseapp.com/">Lighthouse</a> or any of a number of other options. Some companies choose to roll their own to suit their needs which works as well.</li>
</ul>
<h2>Version/Revision Control and Race Conditions</h2>
<p>The minute you have more than one person working on any kind of file (Word Document, source code, images, anything) the question will arise: &#8220;is this the latest copy of this file?&#8221; This is not a question that you want to answer with &#8220;no&#8221;, especially when you&#8217;ve already saved it, uploaded it to your live server and lost all track of any previous changes. A race condition is when 2 people edit the same file at the same time, and then try to store it back in a central location (e.g. networked drives). In addition to race conditions, what happens when you need to see previous versions of a file for some reason? You made changes that are going to be reverted, you made changes that are plain wrong? There are some different common solutions to different parts of this problem, for example:</p>
<ul>
<li><a href="https://docs.google.com/">Google Docs</a> attempts to solve the problem by providing a single &#8220;master&#8221; copy of documents, which everyone edits in the same location, at the same time. This means that you don&#8217;t take a copy of your document and then go and edit it, you actually edit the live, master copy, every time. In addition to removing potential race conditions, GDocs also stores revisions of your documents over time so you can get old copies if you need to.</li>
<li><a href="http://subversion.tigris.org/">Subversion</a>, <a href="http://git.or.cz/">Git</a>, <a href="http://www.nongnu.org/cvs/">CVS</a>, <a href="http://en.wikipedia.org/wiki/Visual_SourceSafe">SourceSafe</a> and a bunch of other traditional &#8220;source code versioning systems&#8221; are designed specifically for working with source code (for programmers) and other pure-text based documents, but they can also usually handle other file-types. There are differences between the options, but in general you get a &#8220;working copy&#8221; of a document of some sort, and can manually update it based on a centralized master copy. If there are clashes between changes you and someone else has made, then you can &#8220;merge&#8221; the changes into a single new document (then put that back as the master copy). Most of these systems allow you to install them on your own server, or there are also hosted options like <a href="http://beanstalkapp.com/">Beanstalk</a> and <a href="http://github.com/">GitHub</a>.</li>
<li>Wikis will maintain previous revisions of each document (one of their most valuable features), so you can always see what people have changed over time and how a document has evolved.</li>
<li>Ideally, all documents would be under some sort of version control, with little to no user intervention/interaction required. Google Docs does a decent job of this for &#8220;Office&#8221; style documents. Wikis handle it automatically for anything that&#8217;s created within them, while SVN/Git etc all require users to be involved, but for good reason (you don&#8217;t want your source code doing things that might result in breaking on its own).</li>
</ul>
<h2>Timezones</h2>
<p>Although there are some benefits to having people in different timezones, there are also some real problems when you&#8217;ve got people you&#8217;re trying to interact with spread all over the place (and awake/asleep at different times).</p>
<h3>Benefits:</h3>
<ul>
<li>Global customer support: depending on which people you have in different timezones, it may allow you to provide support to your users for more hours of the day</li>
<li>24/7 progress: perhaps not completely 24/7, but if the timezones mesh up, then you can potentially set a task as you&#8217;re leaving at the end of the day, and come back to work the next day with the completed task in your inbox.</li>
<li>Localized contacts/markets if your staff are actively engaging with people in their real world surroundings as well.</li>
</ul>
<h3>Challenges:</h3>
<ul>
<li>Lack of synchronous communication: if you&#8217;re all on different timezones, it&#8217;s often difficult to get everyone online at the same time to discuss something. This means you either a) communicate very clearly and descriptively what you&#8217;re trying to do, or b) spend a lot of time going back and forth clarifying things before anything gets done.</li>
<li>Delays: generally stemming from communication problems, you can easily find yourself waiting days at a time to get something seemingly simple done because of the back and forth resulting from people requiring extra information/authority etc.</li>
<li>Potential for additional costs due to requiring multiple office locations (unless people are working from their own locations, in which case this becomes a benefit because you can save on having an office at all).</li>
</ul>
<h2>Wrap-Up</h2>
<p>I&#8217;m really interested in these topics in part because they&#8217;ve directly affected me and my work, and in part because I know they affect so many other people. There are no doubt still plenty of opportunities to provide tools and systems to help groups work together from disparate locations and timezones, so I&#8217;m interested to see/hear more about what&#8217;s going on in this space. Do you know of any other tools which are particularly handy for distributed teams? Please add them in the comments. What other elements of the distributed office are specific pain-points for you?</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/12/challenges-you-will-face-when-working-with-remote-teams/feed/</wfw:commentRss>
	
	<feedburner:origLink>http://dentedreality.com.au/2008/12/challenges-you-will-face-when-working-with-remote-teams/</feedburner:origLink></item>
		<item>
		<title>Managing Your WordPress Install With Subversion (Safely)</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/492463311/</link>
		<comments>http://dentedreality.com.au/2008/12/managing-wordpress-with-subversion/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 19:00:04 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[subversion]]></category>

		<category><![CDATA[svn]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://wiggin.local/dev/dentedreality.com.au/?p=592</guid>
		<description><![CDATA[There are a number of different ways to manage a WordPress installation, everything from not actually managing it yourself (WordPress.com can take care of it for you if you like) through to manually managing things via FTP. I&#8217;m going to look at my preferred method, which I think provides a few things that other methods [...]]]></description>
			<content:encoded><![CDATA[<p>There are a number of different ways to manage a <a href="http://www.wordpress.org/">WordPress</a> installation, everything from not actually managing it yourself (<a href="http://wordpress.com">WordPress.com</a> can take care of it for you if you like) through to manually managing things via FTP. I&#8217;m going to look at my preferred method, which I think provides a few things that other methods don&#8217;t necessarily give you.</p>
<ol>
<li><strong>Control</strong>: this method puts you in charge (which also means it&#8217;s your responsibility to keep things up to date).</li>
<li><strong>Safety</strong>: if you consistently manage your WordPress install using this method, then you&#8217;re in a pretty good position to avoid a lot of problems.</li>
<li><strong>Simplicity</strong>: WordPress updates quite often (minor releases at least every month generally). This system means that you can generally update when a new version comes out in a few minutes at the absolute most.</li>
</ol>
<p>What is this magic system you ask? In a word: <a href="http://subversion.tigris.org/">Subversion</a>.</p>
<p><span id="more-592"></span>If you&#8217;re not familiar with Subversion then here&#8217;s a definition from <a href="http://svnbook.red-bean.com/en/1.4/svn.intro.whatis.html">The SVN Book</a>, and I suggest you go find out a little bit about <a href="http://svnbook.red-bean.com/en/1.4/svn.basic.in-action.html#svn.basic.in-action.wc">working copies</a>, <a href="http://svnbook.red-bean.com/en/1.4/svn.basic.repository.html">repositories</a>, checking out a working copy, the concept of <a href="http://svnbook.red-bean.com/en/1.4/svn.branchmerge.tags.html">tags</a> and <a href="http://svnbook.red-bean.com/en/1.4/svn.ref.svn.c.switch.html">the &#8220;switch&#8221; command</a>:</p>
<blockquote><p>Subversion is a free/open-source version control system.       That is, Subversion manages files and directories, and the       changes made to them, over time.  This allows you to recover       older versions of your data, or examine the history of how your       data changed.  In this regard, many people think of a version       control system as a sort of “<span class="quote">time machine</span>”.</p></blockquote>
<p>What that means in our case is that it gives us a system to manage the actual core WordPress files, and handle the changes that happen to those files over time (as new versions are released), while giving us an easy way to go back to an older version if we need to. There are a couple of caveats I should point out right now:</p>
<ol>
<li>This is definitely easiest done on a new blog, or if you&#8217;re willing to do a &#8220;clean install&#8221;</li>
<li>Although this method will allow you to easily revert back to an older version of the WordPress core files, it will NOT handle changing the database (if any changes were made during an upgrade) so you still may find that things are broken if you go backwards!</li>
<li>You&#8217;ll need command line (SSH) access to your web server to do this (and it&#8217;ll need the SVN client installed).</li>
</ol>
<p>The basics of what you want to do here are to set up your blog as a working copy of the WordPress code, direct from their development repository. This gives you the ability to manipulate your working copy easily, using SVN as the control mechanism. Here&#8217;s roughly how we do that.</p>
<h2>Setting up WordPress using Subversion</h2>
<p>The first step is to create your WordPress installation, and as I mentioned, this is most easily done for a new installation or at least in a clean location. From the command line, do something like this:</p>
<pre>$ mkdir blog
$ svn co http://svn.automattic.com/wordpress/tags/2.7 blog</pre>
<p>This will create a new directory (which you may or may not need to do) and then &#8220;checkout&#8221; a copy of WordPress 2.7 from the official WordPress SVN repo into that directory. That copy is now your &#8220;working copy&#8221;, but you&#8217;re not really going to work with it, you&#8217;re going to use it to manage your blog. With that in place, you&#8217;ll want to set up WordPress like normal (steps 3.2, 3.3 and then 3.5 of the process <a href="http://codex.wordpress.org/Installing_WordPress">described on the WordPress Codex</a>).</p>
<p>At this point you should have a functioning, albeit very basic WordPress installation. You can go ahead and add plugins and themes into their appropriate directories as you normally would, or now that you&#8217;re playing with SVN, you could actually also set them all up using SVN (assuming you&#8217;re installing plugins from <a href="http://wordpress.org/extend/plugins/">the official WordPress plugin directory</a>). You can get a copy of a plugin direct from its SVN repository like so:</p>
<pre>$ mkdir blog/wp-content/wp-super-cache
$ svn co http://svn.wp-plugins.org/wp-super-cache/tags/0.8.6 blog/wp-content/plugins/wp-super-cache</pre>
<p>The first &#8220;wp-super-cache&#8221; bit there is the name of the plugin, which is the same as the name used in the URL for the plugin in the directory (e.g. the last part of <a href="http://wordpress.org/extend/plugins/wp-super-cache/">http://wordpress.org/extend/plugins/wp-super-cache/</a>). You&#8217;ll want to check what the latest tagged version is, and then you can request that directly. You can manage plugin upgrades using the same method described below.</p>
<h2>Handling Upgrades</h2>
<p>So that&#8217;s all wonderful, and you&#8217;ve managed to install WordPress (and some plugins) from the command line, but it&#8217;s not all that spectacular. The really cool part is when you need to upgrade. The old method would be to go and download the latest version, unzip it and then upload the files to your server. Of course you had to be careful because if you accidentally overwrote your wp-content directory then your carefully-crafted theme and all your studiously-selected plugins were lost in an instant. No need to worry about that any more. When a new version is available, go to the <a href="http://wordpress.org/download/release-archive/">WordPress Release Archive</a> and see what the exact version number you want to upgrade to is, and then do this (from inside the base directory of your blog installation, which in my example was &#8220;blog&#8221;):</p>
<pre>$ svn switch http://svn.automattic.com/wordpress/tags/2.7.1</pre>
<p>And then watch SVN do its magic. You&#8217;ll see a bunch of file names fly past on the screen - that&#8217;s all the files that were updated or modified in the process of changing (&#8221;switch&#8221;ing) your current working copy to match whatever is tagged as version 2.7.1 of WordPress. The beauty of this is that SVN will ignore any files that are not under version control, which means that it won&#8217;t mess with your plugins, your config file or your theme.</p>
<p>Once SVN has finished doing its thing, you&#8217;ll want to go and visit /wp-admin/ on your blog, because often a database upgrade will also be required, and that will trigger that process.</p>
<p>With any database updates done, you&#8217;re finished with the entire process in just a few minutes. Wasn&#8217;t that better than using FTP?</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/12/managing-wordpress-with-subversion/feed/</wfw:commentRss>
	
	<feedburner:origLink>http://dentedreality.com.au/2008/12/managing-wordpress-with-subversion/</feedburner:origLink></item>
		<item>
		<title>Nokia E71 NAM First Impressions</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/490905171/</link>
		<comments>http://dentedreality.com.au/2008/12/nokia-e71-nam-first-review/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 22:32:04 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[cellphone]]></category>

		<category><![CDATA[e71]]></category>

		<category><![CDATA[mobile]]></category>

		<category><![CDATA[nokia]]></category>

		<category><![CDATA[nokia e71]]></category>

		<category><![CDATA[nokia e71 nam]]></category>

		<category><![CDATA[phone]]></category>

		<category><![CDATA[review]]></category>

		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=799</guid>
		<description><![CDATA[A few weeks ago, I got an email that I almost discarded as spam, asking me if I would like to try out a Nokia phone for a few weeks. As it turns out, the email was completely legitimate, and the offer was genuine. The good folks over at WOMWorld Nokia wanted to send me [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, I got an email that I almost discarded as spam, asking me if I would like to try out a <a href="http://www.nokia.com">Nokia</a> phone for a few weeks. As it turns out, the email was completely legitimate, and the offer was genuine. The good folks over at <a href="http://www.womworld.com/nokia">WOMWorld Nokia</a> wanted to send me a <a href="http://www.nokiausa.com/link?cid=PLAIN_TEXT_1053366">Nokia E71 NAM</a> (the NAM is for North AMerica, since there&#8217;s a slightly different European version) so that I could try it out and see if  I liked it. Either way, I was welcome (encouraged) to write about it, talk about it, and generally let people know what I thought of it. This is the first of 2 posts that I will be making about the phone and the experience I had with it. I wanted to do one as a &#8220;first impressions&#8221; post, and then one at the end of the test period (unfortunately, I have to send it back <img src='http://dentedreality.com.au/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> ) with more detail on my experiences.</p>
<h2><span id="more-799"></span>Unboxing</h2>
<p>I took a few snaps while I was opening the delivery, and of the phone when I first got it, also comparing it to my current <a href="http://europe.nokia.com/A4142101">Nokia E61</a> handset. In addition to the handset, they also sent me a Nokia BH-602 bluetooth headset to try out (as you&#8217;ll see below).</p>
<p style="text-align: center;"><span class="flickr"><a class="flickr-image" title="Unboxing Nokia E71" rel="flickr-mgr" href="http://www.flickr.com/photos/44124479801@N01/3122914519/"><img class="flickr-large" longdesc="http://farm4.static.flickr.com/3250/3122914519_dfd68a2892_o.jpg" src="http://farm4.static.flickr.com/3250/3122914519_e011ed8569_m.jpg" alt="Unboxing Nokia E71" /></a></span><span class="flickr"><a class="flickr-image" title="Unboxing Nokia E71" rel="flickr-mgr" href="http://www.flickr.com/photos/44124479801@N01/3122919363/"> <img class="flickr-large" longdesc="http://farm4.static.flickr.com/3195/3122919363_59c04261ed_o.jpg" src="http://farm4.static.flickr.com/3195/3122919363_35635c3221_m.jpg" alt="Unboxing Nokia E71" /></a></span></p>
<p style="text-align: center;"><span class="flickr"><a class="flickr-image" title="Side by Side" rel="flickr-mgr" href="http://www.flickr.com/photos/44124479801@N01/3123750168/"><img class="flickr-large" longdesc="http://farm4.static.flickr.com/3090/3123750168_d02546ac85_o.jpg" src="http://farm4.static.flickr.com/3090/3123750168_e512903b39_m.jpg" alt="Side by Side" /></a><a class="flickr-image" title="Phone on Phone Action" rel="flickr-mgr" href="http://www.flickr.com/photos/44124479801@N01/3122928407/"> <img class="flickr-large" longdesc="http://farm4.static.flickr.com/3196/3122928407_88260a1968_o.jpg" src="http://farm4.static.flickr.com/3196/3122928407_c9041f6b30_m.jpg" alt="Phone on Phone Action" /></a></span></p>
<p style="text-align: center;">
<h2>Exterior</h2>
<p>As soon as you lay your eyes on this phone, you&#8217;ll see it&#8217;s a sexy little number. It&#8217;s got a very similar form factor to the iPhone, although obviously there is a full keyboard in play here, so the screen is a lot smaller relatively speaking. Let&#8217;s check out a few of the things I noticed immediately:</p>
<ol>
<li>Uber-hot chroming/shiny-ness all over</li>
<li>Dimpled stainless steel back-cover</li>
<li>Much more compact (read: smaller) keyboard than my E61</li>
<li>New keys! There are new keys which looking at the icons are (L-R): Home, Calendar, Contacts, Mail. The E61 had a weird &#8220;menu&#8221; key and a Mail key only.</li>
<li>Thinner and narrower, but same height</li>
<li>The screen appears to be slightly smaller (but when you turn it on, it&#8217;s crisp and sharp and very bright)</li>
<li>External access to the memory card slot and a mini-USB port</li>
<li>They&#8217;ve switched the volume up/down buttons to the other side of the phone</li>
<li>There&#8217;s not one, but TWO cameras on the device. One on the back (with an LED flash and a small mirror for &#8220;MySpace photos&#8221;) and one on the front, I assume for video calls.</li>
<li>The E61&#8217;s kinda poky joystick has been replaced with a nice big square key, surrounded by a single, connected directional key for L/R/U/D.</li>
</ol>
<h2>Gettin&#8217; Dirty</h2>
<p>Once I&#8217;d gotten over how much sexier this handset was than my current one, it was time to play around with it a bit and see if the actual experience of using it lived up to the exterior (never judge a book by its cover and all that).</p>
<p>One of the first things I noticed was that <strong>the screen was very crisp</strong>, and the colors were sharp. I&#8217;m not 100% sold on the font selection on the device, but generally the visual side of things is an improvement over the E61. All the icons got an update, but I actually liked the older, angled versions a bit better. Some of the color selections for highlighting things (black with a red outline?) are a bit odd as well on the theme that was active when I got it.</p>
<p>As far as <strong>responsiveness</strong> goes, the E71 blows the E61 out of the water. Going back now and comparing the 2 makes it feel like the E61 is running in a bucket of molasses, trapped in a time-warp where everything goes in slow motion. I really can&#8217;t stress the difference in speed that&#8217;s evident doing anything and everything on the phone. The E71 is quick, smooth, and jumps from task to task without a pause. Even when you leave a bunch of applications running it still seems to handle itself better than the E61 with nothing running.</p>
<p><strong>The keyboard</strong>, although smaller than on the E61, actually feels better. It took a little getting used to but the new key style is more responsive and the tactile feedback is much nicer than the squishyness on the E61. There are a few compromises made to get the keyboard smaller though; namely the removal of the right shift key (makes it tricky to do shift+@/x/c because they&#8217;re so close). They&#8217;ve also moved a few special characters around (or hidden them off in the character selection menu somewhere) which is a pity, because I often use double-quotes (&#8221;) and ampersands (&amp;) and both of these got sidelined.</p>
<p>Having <strong>a camera</strong> back on my phone is a treat that I&#8217;d learned to live without. The E61 was an &#8220;enterprise&#8221; device, so they decided that it didn&#8217;t need a camera on it (the E61i released shortly thereafter fixed that mistake), so I haven&#8217;t had a cameraphone for almost 2 years now. I was quite surprised with the quality on the camera - it&#8217;s decent, but not quite as good as I remembered 3 megapixels to be honest.</p>
<p>Here&#8217;s a couple of sample pictures to show you what it can do (click through for full-sized versions). L-R are: Inside, overhead incandescent lighting; Outside, mid morning, natural lighting; At night, with the LED flash only.</p>
<p style="text-align: center;"><span class="flickr"><a class="flickr-image" title="Mini Christmas" href="http://www.flickr.com/photos/borkazoid/3123765556/sizes/o/"><img style="vertical-align: middle;" src="http://farm4.static.flickr.com/3291/3123765556_468d206302_m.jpg" alt="Mini Christmas" /></a></span> <span class="flickr"><a class="flickr-image" title="Uphill" href="http://www.flickr.com/photos/borkazoid/3122939775/sizes/o/in/photostream/"><img style="vertical-align: middle;" src="http://farm4.static.flickr.com/3122/3122939775_dd69efe721_m.jpg" alt="Uphill" /></a></span></p>
<p style="text-align: center;"><span class="flickr"><a class="flickr-image" title="Parking Meter" href="http://www.flickr.com/photos/borkazoid/3122940353/sizes/o/in/photostream/"><img style="vertical-align: middle;" src="http://farm4.static.flickr.com/3253/3122940353_27ccd7cb63_m.jpg" alt="Parking Meter" /></a></span></p>
<p style="text-align: center;">
<p>Other than that, a lot of the features are the same or similar to the E61, so I&#8217;ll post a bit more of a comparison once I&#8217;ve played with it more. I am supposed to return the handset after the new year unfortunately. I already really like it, and am finding myself enjoying it a lot more than my E61.</p>
<p>More to come closer to return-time, stay posted.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/12/nokia-e71-nam-first-review/feed/</wfw:commentRss>
	
		<media:thumbnail url="http://farm4.static.flickr.com/3250/3122914519_e011ed8569_m.jpg" />
		<media:content url="http://farm4.static.flickr.com/3250/3122914519_e011ed8569_m.jpg" medium="image">
			<media:title type="html">Unboxing Nokia E71</media:title>
		</media:content>
		<media:content url="http://farm4.static.flickr.com/3195/3122919363_35635c3221_m.jpg" medium="image">
			<media:title type="html">Unboxing Nokia E71</media:title>
		</media:content>
		<media:content url="http://farm4.static.flickr.com/3090/3123750168_e512903b39_m.jpg" medium="image">
			<media:title type="html">Side by Side</media:title>
		</media:content>
		<media:content url="http://farm4.static.flickr.com/3196/3122928407_c9041f6b30_m.jpg" medium="image">
			<media:title type="html">Phone on Phone Action</media:title>
		</media:content>
		<media:content url="http://farm4.static.flickr.com/3291/3123765556_468d206302_m.jpg" medium="image">
			<media:title type="html">Mini Christmas</media:title>
		</media:content>
		<media:content url="http://farm4.static.flickr.com/3122/3122939775_dd69efe721_m.jpg" medium="image">
			<media:title type="html">Uphill</media:title>
		</media:content>
		<media:content url="http://farm4.static.flickr.com/3253/3122940353_27ccd7cb63_m.jpg" medium="image">
			<media:title type="html">Parking Meter</media:title>
		</media:content>
	<feedburner:origLink>http://dentedreality.com.au/2008/12/nokia-e71-nam-first-review/</feedburner:origLink></item>
		<item>
		<title>HOWTO: Implement Facebook Connect on WordPress (in reality)</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/489113473/</link>
		<comments>http://dentedreality.com.au/2008/12/implementing-facebook-connect-on-wordpress-in-reality/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 23:05:22 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Clients]]></category>

		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[@morganb]]></category>

		<category><![CDATA[blownmortgage.com]]></category>

		<category><![CDATA[comments]]></category>

		<category><![CDATA[facebook]]></category>

		<category><![CDATA[facebook connect]]></category>

		<category><![CDATA[fb connect]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[resumedonkey.com]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=798</guid>
		<description><![CDATA[2008-12-23: There were a number of problems with the code samples in this post previously due to some WordPress formatting problems. They are all corrected now, and you should be able to follow through this post and get this working on your own blog quite easily.
2008-12-26: Fixed a bug that caused the JS to overwrite [...]]]></description>
			<content:encoded><![CDATA[<p><strong>2008-12-23: There were a number of problems with the code samples in this post previously due to some WordPress formatting problems. They are all corrected now, and you should be able to follow through this post and get this working on your own blog quite easily.</strong></p>
<p><strong>2008-12-26: Fixed a bug that caused the JS to overwrite details on a non-FB Connect comment as well. Also changed the fake email address that&#8217;s stored to include the user&#8217;s FB user ID.<br />
</strong></p>
<p>In case you&#8217;ve been living under a no-technology-news rock for the last few weeks, you&#8217;ll know that <a href="http://developers.facebook.com/news.php?blog=1&amp;story=108">Facebook Connect</a> was released recently. I had been seeing/hearing a lot about it, including <a href="http://mashable.com/2008/12/11/facebook-connect-blog/">this video at Mashable</a>, showing how to implement FB Connect in 8 minutes. So when my friend <a href="http://blownmortgage.com/">Morgan from BlownMortgage</a> asked me if I&#8217;d be able to help him implement it on his new resume-editing site <a href="http://resumedonkey.com/">ResumeDonkey.com</a>, I figured &#8220;how hard could it be&#8221; and said yes. Although it definitely didn&#8217;t take 8 minutes, I got it done, so I thought I&#8217;d post some details on the specific approach I used for ResumeDonkey.com.</p>
<p><span id="more-798"></span>Before I rolled my own solution, I took a good look at a few of the existing WordPress options including:</p>
<ul>
<li>The <a href="http://wiki.developers.facebook.com/index.php/WP-FBConnect">WP-FBConnect plugin</a>, made by Facebook,</li>
<li>Another <a href="http://www.sociable.es/facebook-connect/">WordPress plugin made by Sociable</a>, and</li>
<li>The <a href="http://staynalive.com/the-community-facebook-connect-plugin/">Community Facebook Connect Plugin</a>, by Jesse Stay</li>
</ul>
<p>None of these worked quite how Morgan and I had discussed, so I decided to make my own, lightweight solution. Before editing any actual theme files, there&#8217;s some prep-work to be done, so:</p>
<ol>
<li>Log into Facebook and then go and add the <a href="http://www.facebook.com/developers/">Facebook Developers Application</a></li>
<li>Click the big button at the top right to Set Up a New Application</li>
<li>Enter a name and agree to the terms (you read them all, right?)</li>
<li>On the next page, enter the base URL of your website in the &#8220;Callback URL&#8221; field. MAKE SURE you use the correct preference for your website as far as www. or no www. is concerned, and preferably enforce that on your website using a plugin or something. If you enter http://www.domain.com here, and someone accesses your site as http://domain.com, then your FB Connect integration will break and throw a warning about being on the wrong URL.</li>
<li>You can also set some sexy icons/logos to appear in the News Feed of people who comment on your blog, but I&#8217;ll let you handle that.</li>
<li>Get a copy of the &#8220;API Key&#8221; at the top of this page, you&#8217;ll need that later.</li>
</ol>
<p>OK, now we need to register a &#8220;template bundle&#8221;, which will be used to post updates to the News Feed of people who comment on your blog.</p>
<ol>
<li>Go to the <a href="http://www.facebook.com/developers/apps.php">list of your Facebook Apps</a> and click on the app we just created on the left</li>
<li>Click &#8220;Create Feed Template&#8221; in the list of links on the right</li>
<li>Make sure your correct App is selected in the box, then click Next</li>
<li>In the &#8220;One Line Template&#8221; box, paste this exact text
<pre>{*actor*} commented on the {*blog*} post {*post*}.</pre>
</li>
<li>In the &#8220;Sample Template Data&#8221; box, paste this (make sure quote marks are still  quotes and not fancy curly-quotes)
<pre>{"blog":"&lt;a href='http://test.domain.com'&gt;My Blog Name&lt;/a&gt;", "post":"&lt;a href='http://test.domain.com/post-url/'&gt;Test Post Title&lt;/a&gt;"}</pre>
</li>
<li>Click Update Preview and make sure that you&#8217;re happy with the News Feed format (if not, change the One Line Template string)</li>
<li>Click Next</li>
<li>Now click Skip (and ignore/Okay any errors) until you get to the final page and then click &#8220;Register Template Bundle&#8221;</li>
<li>It will give you a Template Bundle ID, and you&#8217;ll want to get a copy of that, because we&#8217;ll need it later as well.</li>
</ol>
<p>OK. Now you&#8217;ve got a registered and configured (roughly) App on Facebook, time to get dirty on your own blog. Create a file in the root of your domain and call it &#8220;xd_receiver.htm&#8221;, then copy the following code into it:</p>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;title&gt;Cross-Domain Receiver Page&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;script src="http://static.ak.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Add the &#8220;fb&#8221; XML namespace to the header.php file in your theme. Mine ended up looking like this (in PHP):</p>
<pre>&lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" &lt;?php language_attributes(); ?&gt;&gt;</pre>
<p>And also drop in a reference to jQuery if you don&#8217;t already use it in your theme. It&#8217;s bundled with WordPress so you can reference it like this (anywhere before the call to &#8220;wp_head()&#8221; in your header.php):</p>
<pre>&lt;?php wp_enqueue_script('jquery'); ?&gt;</pre>
<p>Then you&#8217;ll want to edit comments.php (assuming you&#8217;re using a relatively normal theme), and make some changes to add the FB Connect button. Find the part where a user would normally enter their name/email/URL and change it to look something like this:</p>
<pre>&lt;div id="comment-user-details"&gt;
&lt;fb:login-button length="long" onlogin="update_user_details();"&gt;&lt;/fb:login-button&gt;

&lt;p style="clear:left;"&gt;&lt;strong&gt;Or enter your details below:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;label for="name"&gt;Name &lt;?php if ($req) echo "(required)"; ?&gt;&lt;/label&gt;&lt;br /&gt;
&lt;input type="text" name="author" id="name" value="&lt;?php echo $comment_author; ?&gt;" size="50" tabindex="1" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;label for="email"&gt;Email Address &lt;?php if ($req) echo "(required)"; ?&gt;&lt;/label&gt;&lt;br /&gt;
&lt;input type="text" name="email" id="email" value="&lt;?php echo $comment_author_email; ?&gt;" size="50" tabindex="2" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;label for="url"&gt;Website&lt;/label&gt;&lt;br /&gt;
&lt;input type="text" name="url" id="url" value="&lt;?php echo $comment_author_url; ?&gt;" size="50" tabindex="3" /&gt;&lt;/p&gt;
&lt;/div&gt;</pre>
<p>Just above this block, you should also find the start of the &lt;form&gt; tag for posting a comment, you want to add the &#8220;onsubmit&#8221; attribute to it so that it looks something like this:</p>
<pre>&lt;form action="&lt;?php echo get_option('siteurl'); ?&gt;/wp-comments-post.php" method="post" id="commentform" onsubmit="update_form_values();"&gt;</pre>
<p>The important parts there are that it&#8217;s all wrapped in a DIV or SPAN with id=&#8221;comment-user-details&#8221; and then obviously the &lt;fb:login-button&gt; stuff. Now further down (I went right down to the bottom of the comments.php file actually), add this code:</p>
<pre>&lt;script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"&gt;&lt;/script&gt;
&lt;style type="text/css"&gt;
#fb-user { border: 1px dotted #C0C0C0; padding: 5px; display: block; height: 48px; }
#fb-msg { float:left; }
.fb_profile_pic_rendered { margin-right: 5px; }
a.FB_Link img { float: left; }
&lt;/style&gt;

&lt;script type="text/javascript"&gt;
var fb_connect_user = false;
function update_user_details() {
fb_connect_user = true;
// Show their FB details
if (!jQuery('#fb-user').length) {
jQuery('#comment-user-details').hide().after("&lt;span id='fb-user'&gt;" +
"&lt;fb:profile-pic uid='loggedinuser' facebook-logo='true'&gt;&lt;/fb:profile-pic&gt;" +
"&lt;span id='fb-msg'&gt;&lt;strong&gt;Hi &lt;fb:name uid='loggedinuser' useyou='false'&gt;&lt;/fb:name&gt;!&lt;/strong&gt;&lt;br /&gt;You are logged in with your Facebook account. " +
"&lt;a href='#' onclick='FB.Connect.logoutAndRedirect(\"&lt;?php the_permalink() ?&gt;\"); return false;'&gt;Logout&lt;/a&gt;" +
"&lt;/span&gt;&lt;/span&gt;");
}

// Refresh the DOM
FB.XFBML.Host.parseDomTree();
}

function update_form_values() {
if (fb_connect_user) {
profile = jQuery('#fb-user').find('.FB_ElementReady .FB_Link')[1]['href'];
user_id = profile.substring(profile.indexOf('?id=')+4);
jQuery('#url').val(profile); // FB profile URL
jQuery('#email').val(user_id+'@facebook.com'); // Can't get a real one from FB unfortunately. This saves their user id @facebook.com
jQuery('#fb-user').find('.FB_ElementReady .FB_Link').each(function(i){ if (i==1) { jQuery('#name').val(jQuery(this).text()); } }); // Gets their name from the DOM
setCookie('fb_connect', 'yes');
}
}

function setCookie(c_name,value,expiredays) {
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name) {
if (document.cookie.length&gt;0) {
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1) {
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}

FB.init("YOUR-FACEBOOK-API-KEY", "/xd_receiver.htm");
FB.Connect.ifUserConnected(update_user_details);
if (getCookie('fb_connect') == 'yes') {
setCookie('fb_connect', null);
FB.Connect.showFeedDialog(YOUR-TEMPLATE-BUNDLE-ID, {'blog':'&lt;a href="&lt;?php bloginfo('home') ?&gt;"&gt;&lt;?php addslashes(bloginfo('name')) ?&gt;&lt;/a&gt;', 'post':'&lt;a href="&lt;?php the_permalink() ?&gt;"&gt;&lt;?php addslashes(the_title()) ?&gt;&lt;/a&gt;'}, null, null, null, FB.RequireConnect.promptConnect);
}
&lt;/script&gt;</pre>
<p>For those of you paying any attention to what you&#8217;re copy-pasting, you would have noticed that there are 2 important things you need to replace in that last block of code. Go back now and replace &#8220;YOUR-FACEBOOK-API-KEY&#8221; and &#8220;YOUR-TEMPLATE-BUNDLE-ID&#8221; with the appropriate values from the beginning of this process. YOUR-FACEBOOK-API-KEY should be replaced with the 32-character string from the Facebook App config, and <strong>should</strong> include double-quotes around it in the code above. The YOUR-TEMPLATE-BUNDLE-ID should <strong>not</strong> have quotes around it.</p>
<p>Save everything and upload it (if you were working offline). If all has gone well, you should now get a FB Connect button on your comments (you need to log out of WordPress to see it), and when you click it, you should connect to FB, then be able to post a comment.</p>
<p>When a Facebook user comments on your blog now, their name will be loaded from Facebook, their profile URL will be used as their URL, and the email address will be recorded as &#8220;user@facebook.com&#8221; (their API doesn&#8217;t allow you to actually get it, to avoid spam I assume).</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/12/implementing-facebook-connect-on-wordpress-in-reality/feed/</wfw:commentRss>
	
	<feedburner:origLink>http://dentedreality.com.au/2008/12/implementing-facebook-connect-on-wordpress-in-reality/</feedburner:origLink></item>
		<item>
		<title>Cupcake Camp 2, San Francisco</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/478023008/</link>
		<comments>http://dentedreality.com.au/2008/12/cupcake-camp-2-san-francisco/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 02:44:59 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[@arielwaldman]]></category>

		<category><![CDATA[@marianne_m]]></category>

		<category><![CDATA[@poshy]]></category>

		<category><![CDATA[cupcake]]></category>

		<category><![CDATA[cupcake camp]]></category>

		<category><![CDATA[cupcakecamp2]]></category>

		<category><![CDATA[get satisfaction]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=756</guid>
		<description><![CDATA[This afternoon I had the pleasure of attending the second Cupcake Camp, held here in San Francisco at the Get Satisfaction offices in South Park. For some reason, I was expecting a relatively small, civilized, fun event in South Park, with a few people, maybe 100 at the most, a bunch of cupcakes and some [...]]]></description>
			<content:encoded><![CDATA[<p>This afternoon I had the pleasure of attending the second <a href="http://cupcakecamp.org/">Cupcake Camp</a>, held here in San Francisco at the <a href="http://getsatisfaction.com/">Get Satisfaction</a> offices in South Park. For some reason, I was expecting a relatively small, civilized, fun event in South Park, with a few people, maybe 100 at the most, a bunch of cupcakes and some friendly conversation. Some of those expectations were met, some were vastly exceeded (or plain crushed). Here&#8217;s what greeted me when I got there:</p>
<p style="text-align: center;"><a class="flickr-image" title="Cupcake Camp 2" rel="flickr-mgr" href="http://www.flickr.com/photos/44124479801@N01/3091587370/"></a><a class="flickr-image" title="Cupcake Camp 2" rel="flickr-mgr" href="http://www.flickr.com/photos/44124479801@N01/3091587370/"><img class="flickr-large" longdesc="http://farm4.static.flickr.com/3132/3091587370_597ec31ebc_o.jpg" src="http://farm4.static.flickr.com/3132/3091587370_370edf77b3.jpg" alt="Cupcake Camp 2" /></a></p>
<p><span id="more-756"></span>The event was planned to roll out progressively over the 3 hours set aside. Every 10 minutes, a new batch of cupcakes would be presented to the crowd, who would devour them (almost instantly), then wait anxiously for the next round. Here&#8217;s the timeline showing when each variety was planned to come out:</p>
<p style="text-align: center;"><span class="flickr"><a class="flickr-image" title="Cupcake Camp 2" rel="flickr-mgr" href="http://www.flickr.com/photos/44124479801@N01/3091570660/"><img class="flickr-large" longdesc="http://farm4.static.flickr.com/3120/3091570660_4df6d6a07b_o.jpg" src="http://farm4.static.flickr.com/3120/3091570660_7bf1f75501.jpg" alt="Cupcake Camp 2" /></a></span></p>
<p>And this is what it looked like when each 10 minute timeslot rolled around:</p>
<p style="text-align: center;"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/XRi4LokVVTg&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/XRi4LokVVTg&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>I counted 18 timeslots, with between 4 and 8 varieties scheduled in each slot. According to Ariel (one of the organizers), there were <a href="http://twitter.com/arielwaldman/status/1039175250">2,016 registered cupcakes</a> for the event! On the event posting and on their website, the organizers were suggesting that people &#8220;be prepared to take leftover cupcakes home&#8221;. It don&#8217;t think that was going to be a problem since most cupcakes barely even made it to a table before being scooped up.</p>
<p>I managed to score 3 different cupcakes/tastes, and that was only really possible if you were standing immediately next to a table when a batch came out. A highlight was the &#8220;Elvis Cupcake&#8221;, also known as &#8220;The Graceland&#8221;. Apparently it contained (fixed, as per <a href="http://dentedreality.com.au/2008/12/cupcake-camp-2-san-francisco/#IDComment12312973">comment from Ryan</a>):</p>
<ul>
<li>Banana Cake</li>
<li>Cream Cheese/Dark Chocolate Molten Middle</li>
<li>Peanut Butter Frosting</li>
<li>Brown Sugar-Cured Bacon</li>
</ul>
<p>Seriously. Can you say heart-attack?</p>
<p>There&#8217;s a &#8220;best in show&#8221; competition with a few different categories, so hopefully I&#8217;ll be able to link to the results tomorrow on that. Huge congratulations to Ariel, Cindy, Lyn and Marianne for organizing what turned out to be a huge event (and a huge success)! I believe this is the start of a Cupcake craze that will sweet the globe.</p>
<p>UPDATE: <a href="http://cupcakecamp.org/2008/12/cupcakecamp2-best-in-show-winners/">The winners have been announced!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/12/cupcake-camp-2-san-francisco/feed/</wfw:commentRss>
	
		<media:thumbnail url="http://farm4.static.flickr.com/3132/3091587370_370edf77b3.jpg" />
		<media:content url="http://farm4.static.flickr.com/3132/3091587370_370edf77b3.jpg" medium="image">
			<media:title type="html">Cupcake Camp 2</media:title>
		</media:content>
		<media:content url="http://farm4.static.flickr.com/3120/3091570660_7bf1f75501.jpg" medium="image">
			<media:title type="html">Cupcake Camp 2</media:title>
		</media:content>
	<feedburner:origLink>http://dentedreality.com.au/2008/12/cupcake-camp-2-san-francisco/</feedburner:origLink></item>
		<item>
		<title>2 New Projects</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/475428439/</link>
		<comments>http://dentedreality.com.au/2008/12/2-new-projects/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 06:46:40 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Projects]]></category>

		<category><![CDATA[Site News]]></category>

		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[feeds]]></category>

		<category><![CDATA[gravatar]]></category>

		<category><![CDATA[gravatarshortcode]]></category>

		<category><![CDATA[plugin]]></category>

		<category><![CDATA[shortcode]]></category>

		<category><![CDATA[twitter]]></category>

		<category><![CDATA[twitterproxy]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=754</guid>
		<description><![CDATA[I forgot to mention that I have 2 relatively new projects launched in the Projects section of this site:

TwitterProxy: Which allows you to do some cool filtering on your Twitter status feed (and then use it for whatever you want), and
Gravatar Shortcode: A quick WordPress plugin that gives you a shortcode that you can use [...]]]></description>
			<content:encoded><![CDATA[<p>I forgot to mention that I have 2 relatively new projects launched in the <a href="http://dentedreality.com.au/projects/">Projects</a> section of this site:</p>
<ul>
<li><strong><a href="http://dentedreality.com.au/projects/twitterproxy/">TwitterProxy</a>:</strong> Which allows you to do some cool filtering on your <a href="http://twitter.com">Twitter</a> status feed (and then use it for whatever you want), and</li>
<li><strong><a href="http://dentedreality.com.au/projects/wp-plugin-gravatar-shortcode/">Gravatar Shortcode</a>:</strong> A quick <a href="http://wordpress.org">WordPress</a> plugin that gives you a shortcode that you can use to inject a <a href="http://gravatar.com">Gravatar</a> into your Pages or Posts.</li>
</ul>
<p>Check them out and let me know what you think.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/12/2-new-projects/feed/</wfw:commentRss>
	
	<feedburner:origLink>http://dentedreality.com.au/2008/12/2-new-projects/</feedburner:origLink></item>
		<item>
		<title>On Airplane Productivity (PlaneWorking)</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/469754542/</link>
		<comments>http://dentedreality.com.au/2008/11/airplane-productivity/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 23:29:18 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[airplanes]]></category>

		<category><![CDATA[flying]]></category>

		<category><![CDATA[gtd]]></category>

		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=746</guid>
		<description><![CDATA[This week just passed, I had to fly (last-minute) from San Francisco to Minnesota for a funeral (and managed to be there for Thanksgiving as well). That meant 2 flights of a little over 3 hours each. Some people might see this as a drama, and a big loss of productive time, but I saw [...]]]></description>
			<content:encoded><![CDATA[<p>This week just passed, I had to fly (last-minute) from San Francisco to Minnesota for a funeral (and managed to be there for Thanksgiving as well). That meant 2 flights of a little over 3 hours each. Some people might see this as a drama, and a big loss of productive time, but I saw it as exactly the opposite. I&#8217;m hardly the first person to comment on it, but flying can be an extremely productive time to get things done, and I often find myself getting loads of work done while flying.</p>
<p>I had a string of things that needed to be completed/added/fixed on a client project before I left from SFO, and literally finished all of them and more before I arrived at MSP. I would normally have estimated that the list of things I had to do would take around 6 hours to complete. Removing ascent and descent times, (and judging by battery life), I probably only worked for about 2, but I still managed to get everything done. What&#8217;s going on here?<span id="more-746"></span></p>
<p>I believe that flying, especially on America&#8217;s airlines (flying economy) creates an environment which is very conducive for getting certain types of work done, which is quite hard to replicate elsewhere. Obviously there are certain types of work that you can&#8217;t easily do without internet connectivity, but for everything else, there&#8217;s PlaneWorking™!</p>
<p>Here are some things I&#8217;ve identified that actually help me work better on a plane:</p>
<ol>
<li><strong>No internet:</strong> Without normal internet connectivity, there&#8217;s nothing to distract me. No IM. No email. No Twitter. No nothing - just working on what it is that I&#8217;m working on.</li>
<li><strong>No external distractions:</strong> Obviously there are some (like that irritating person in the window seat who needs to use the bathroom every 20 minutes), but there aren&#8217;t the normal distractions of either an office or your own home (if you work from home). This allows you to laser-focus on what you&#8217;re trying to accomplish. Combine it with the first item on this list and you&#8217;re off to the races.</li>
<li><strong>External deadline:</strong> You have an externally-imposed deadline (which you should embrace, and use to your advantage). The pilot will tell you exactly how long you have to get that TPS report completed, and there&#8217;s no arguing with it because an attendant will come around and make you put away your laptop when it&#8217;s time. You can also add to this that your battery might run out and then you have an even more pressing deadline.</li>
<li><strong>Discomfort/depressing surroundings:</strong> Remember the joke about stomping on someone&#8217;s toe (or other body part) to take their attention away from their sore finger (or other body part)? The same thing applies on a plane. Working takes your mind off the discomfort you&#8217;re in because of the ridiculously small amount of leg-room you have, the strangely fluctuating temperatures around you and the stifling smell coming from the lavatory (which is of course right behind you).</li>
<li><strong>Not wanting to be disturbed:</strong> Here&#8217;s one that&#8217;s up to you. On some flights, you might be perfectly happy to be distracted/disturbed for the entire flight. Like that time you found yourself seated in amongst the University of Hawaii&#8217;s Girls&#8217; Volleyball team, or when the attendants took a shine to your accent and upgraded your seat, but getting your head down and working is a great way to avoid the annoying conversation attempts from the retired couple who want to tell you all about how they&#8217;re traveling to see their children and grandchildren for the week.</li>
<li><strong>People waiting on you:</strong> Although this is less and less the case with declining airline services, one additional point (especially for longer flights) is that people actively bring you food and drinks, making sure you are taking some sort of break and eat or drink something (this would be a nice addition to most offices!).</li>
</ol>
<p>Now I&#8217;m not suggesting this work environment is sustainable, or even remotely healthy for long periods of time (or even when experienced too often), but in short bursts, it can be fantastic.</p>
<p>What can we do to make it even more productive?</p>
<ul>
<li><strong>Plan ahead:</strong> gather up all the resources you&#8217;re going to need in advance because remember, you&#8217;re not going to have an internet connection (and that&#8217;s a good thing). I like to either open a series of tabs in Firefox and leave them open (risky in case you accidentally close things), or even better; &#8220;Print to PDF&#8221; (or save as &#8220;Webpage, Complete&#8221;) for any pages you want, and then you have them saved and ready to go. Your laptop bag will be your carry-on, so make sure you have any paperwork or notes that you&#8217;ll need to complete your work in that bag as well.</li>
<li><strong>Prepare a hit-list:</strong> write up a list of things that you want to complete during your flight, and only allow yourself to work on these things (focus!). Put a few more things on there than you expect to finish, because you never know just how productive you&#8217;ll be in this strange world of hyper-productivity.</li>
<li><strong>Get an exit row:</strong> although the discomfort thing is part of the trick here, it only works within reason. Getting an exit row gives you space to stretch your legs, but more importantly it gives you space to open your laptop properly and not have to be a contortionist to use it.</li>
<li><strong>Get some noise-canceling headphones:</strong> any kind will do, they are all an absolute god-send when you&#8217;re on a plane. They cancel out that annoying hum and whine of the plane (and the other passengers) and if they&#8217;re the big can-style ones, they also present a clear physical barrier for people who were thinking about disturbing you.</li>
<li><strong>Charge up, scale down:</strong> power is your lifeline here, you can only work as long as you have power. Consider getting a second battery if you take a lot of long flights, and make sure any batteries you do take are charged fully. Turn off additional services on your laptop that you don&#8217;t need (like wifi and bluetooth) and turn the brightness on your screen right now. Close all those extra applications that you won&#8217;t be needing (IM, Skype, etc etc) and get focused. Consider scaling down the power of your processor if you have that option as well (unless you specifically need it).</li>
<li><strong>Free coffee:</strong> Despite all the cut-backs and short-cuts the airlines are taking, I&#8217;m yet to get on a flight that doesn&#8217;t have free coffee. You may as well drink some to keep you going. You probably also want to have some water with that to avoid getting dehydrated.</li>
</ul>
<p>I&#8217;d love to think that I could simulate or reproduce this working environment a little more easily (and cheaply) than taking a flight, but I can&#8217;t think of a good way to get it all in one place. Perhaps that&#8217;s for the best. There are probably some lessons to be learned here on productivity though, especially with regards to disconnecting once in a while and just getting things done without distractions.</p>
<p>How do you find working on a plane? Do you have any other tips on improving your PlaneWorking productivity, or on how to reproduce some of it back in the office/at home? Leave any tips and suggestions in the comments.</p>
<p>UPDATE: I just found this post called <a href="http://blog.2glue.com/productivity/2007/06/just_plane_prod.html">Just Plane Productivity</a> over at this cool site on <a href="http://blog.2glue.com/productivity/">Mobile Productivity</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/11/airplane-productivity/feed/</wfw:commentRss>
	
	<feedburner:origLink>http://dentedreality.com.au/2008/11/airplane-productivity/</feedburner:origLink></item>
		<item>
		<title>symfony “not” Validator</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/459033153/</link>
		<comments>http://dentedreality.com.au/2008/11/symfony-not-validator/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 01:29:00 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Clients]]></category>

		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[symfony]]></category>

		<category><![CDATA[validation]]></category>

		<category><![CDATA[validator]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=740</guid>
		<description><![CDATA[One of the projects that I&#8217;m currently working on for a client is being built in symfony, the PHP5 framework. I am working in version 1.1 of the framework, which has a new Forms handling system that uses the concept of widgets and validators to handle interacting with most form elements. I had a need [...]]]></description>
			<content:encoded><![CDATA[<p>One of the projects that I&#8217;m currently working on for a client is being built in <a href="http://symfony-project.org/">symfony</a>, the PHP5 framework. I am working in version 1.1 of the framework, which has a new Forms handling system that uses the concept of widgets and validators to handle interacting with most form elements. I had a need to ensure that certain fields did <strong>not</strong> contain certain values. Although this could be done with the regular expression validator that comes bundled with symfony (sfValidatorRegex), I decided to write my own validator specifically for this purpose.<span id="more-740"></span></p>
<p>This validator may be used in conjunction with sfValidatorAnd() or other constructs, and just allows you to quickly and easily ensure that a field does not contain a value (or an array of values).</p>
<pre>/**
 * validatorNot verifies that an input value is NOT some other value.
 *
 * @author     Beau Lebens &lt;beau@dentedreality.com.au&gt;
 */
class validatorNot extends sfValidatorBase {
  protected $not;

  /**
	 * Configures the validator
	 *
	 * Available Options:
	 *
	 *  * not: The value or array of values that the input value should NOT be.
	 *
	 * Available Error Codes:
	 *
	 *  * not
	 *
	 * @param $options Array of options
	 * @param $messages Array of error messages
	 *
	 * @see sfValidatorBase
	 *
	 */
  protected function configure($options = array(), $messages = array()) {
    parent::configure($options, $messages);
  	$this-&gt;addRequiredOption('not');
    $this-&gt;addMessage('not', '\'%not%\' is not allowed.');
    $this-&gt;not = $options['not'];
  }

  /**
   * Compares $value to the restricted/denied value
   *
   * @param  mixed $value  The input value
   *
   * @return mixed The cleaned value
   *
   * @throws sfValidatorError
   */
	protected function doClean($value) {
		if (!is_array($this-&gt;not)) {
      $not = array($this-&gt;not);
		} else {
			$not = $this-&gt;not;
		}
		foreach ($not as $n) {
			if ($value == $n) {
				throw new sfValidatorError($this, 'not', array('not'=&gt;$n));
			}
		}
		return $value;
	}

	/**
	 * Access the "not" value
	 *
	 * @return mixed value this field may not equal
	 */
	public function getNot() {
		return $this-&gt;not;
	}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/11/symfony-not-validator/feed/</wfw:commentRss>
	
	<feedburner:origLink>http://dentedreality.com.au/2008/11/symfony-not-validator/</feedburner:origLink></item>
		<item>
		<title>Krav Maga Level 4 Grading</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/456648581/</link>
		<comments>http://dentedreality.com.au/2008/11/krav-maga-level-4-grading/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 02:01:36 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[kml3]]></category>

		<category><![CDATA[kml4]]></category>

		<category><![CDATA[krav]]></category>

		<category><![CDATA[krav maga]]></category>

		<category><![CDATA[martial arts]]></category>

		<category><![CDATA[san francisco]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=719</guid>
		<description><![CDATA[I&#8217;ve been training in Krav Maga for a bit more than a year now and on Saturday, November 15th, I went through the grading to go from Level 3 to Level 4 as a Krav Maga practitioner at the San Francisco Krav Maga Gym. Simply put, it was the most grueling, physically-intensive thing I&#8217;ve ever [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been training in Krav Maga for a bit more than a year now and on Saturday, November 15th, I went through the grading to go from Level 3 to Level 4 as a Krav Maga practitioner at the <a href="http://kravmaga-sf.com">San Francisco Krav Maga Gym</a>. Simply put, it was the most grueling, physically-intensive thing I&#8217;ve ever done. I decided to post some details about it here for my own records more than anything else, but you might find it interesting if you&#8217;re into martial arts/MMA or that type of thing. For the record, I passed <img src='http://dentedreality.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><span id="more-719"></span>My training partner (David) and I started specifically preparing for this grading approximately 3 months before it was scheduled (not counting our normal attendance at training). At the time, we were of the understanding that it would be a 2-day test. Saturday would be an approximately 5 hour &#8220;workshop&#8221;, where we went over all material from Levels 1 - 3, then Sunday would be the actual test. We were each doing between 7 and 9 hours of training per week in the lead up to the grading, because we obviously wanted to hone our skills, but also to build up endurance since we knew from experience that part of the challenge of the grading was just how long they take.</p>
<p style="text-align: center;"><span class="flickr"><a class="flickr-image" title="Krav Maga, San Francisco" rel="flickr-mgr" href="http://www.flickr.com/photos/44124479801@N01/3039401986/"><img class="flickr-large" longdesc="http://farm4.static.flickr.com/3167/3039401986_96962df433_o.jpg" src="http://farm4.static.flickr.com/3167/3039401986_f74d33c67d.jpg" alt="Krav Maga, San Francisco" /></a></span></p>
<p>As it got closer to the date, things changed slightly, and it turned out that we were actually going to compress the entire grading into one day. It&#8217;s possible that this was David&#8217;s fault :-P. Anyway - knowing that, we really needed to be ready, so we kept working hard, including doing double and triple classes (2 and 3 hours) on Mondays/Wednesdays. I know I personally was trying to eat extra protein as we got closer, based on the suggested nutrition programs that marathon runners follow.</p>
<p>On the Wednesday before the big day, we finished with a double class, and then took the rest of the week off. I came home feeling pretty good and started switching my diet to be heavier on carbohydrates (again, based on marathon nutrition). I ate up big over the next few days and made sure to take a multivitamin as well, just to ensure that my body was getting absolutely everything it needed. I drank Gatorade on and off with water during the days to hydrate myself as much as possible. I also made sure to try and get up at 7:30 each day that week, which was the time I wanted to get up on the actual day. That turned out to be a little hard because I had tickets to see Ben Folds play on Thursday night (awesome) and Quantum of Solace on Friday (not bad, not as good as Casino Royale) but I stuck to it.</p>
<p>Saturday rolled around eventually, and I was up at 7:30, even though I&#8217;d been awake, laying anxious in bed for about an hour already. I took a quick shower, then went to get coffee to get me moving. When I got home, I tried to have some breakfast but only ended up eating 3 quarters of my food. I had muffins with banana and honey on them. I gathered my things together and headed off for the gym by around 9:20.</p>
<p>My plan was to have a 6 inch Subway sandwich ready for lunch, so I had called Subway and asked what time they opened on Saturday morning. They told me 8am. No problem. When I got there at 9:30 am however, I was greeted with a sign that said they opened at 10am every day of the week. Thanks. Back at the gym I got my things sorted out, put some stuff in the fridge then started stretching out a little and loosening up. My list of things that I took includes:</p>
<ul>
<li>2 litres of <a href="http://www.gatorade.com/products/original/">Lemon-Lime Gatorade</a></li>
<li>Some &#8220;<a href="http://www.sharkiesinc.com/">Sharkies</a>&#8220;</li>
<li>2 x <a href="http://www.snickersmarathon.com/products/energy.asp?bar=1">Snickers Marathon Bars</a></li>
<li>3 cut up oranges</li>
<li>5 bananas</li>
<li>Athletic tape and bandaids</li>
<li>Ankle brace</li>
<li>Headgear</li>
<li>Shinpads</li>
<li>Box/cup (groin protection)</li>
<li>Boxing gloves</li>
<li>Mouthguard</li>
</ul>
<p>We got started at 10am, filling out some paperwork etc, then straight into the tough drills that Christian (our instructor) is famous for. We did a bunch of them, but 2 that stuck in my memory were the &#8220;paraplegic drag&#8221; and the &#8220;log roll&#8221;. I&#8217;ll leave the details to your imagination. Once we were warmed up (already tired!) we got right into the material. A Level 4 grading requires going through all material for Levels 1, 2 and 3, so we had a lot to cover.</p>
<p>It was going to be a long, hot (it was about 77 degrees outside) day, so Christian was good about giving us frequent hydration breaks, which we needed. The first half of the day was the &#8220;workshop&#8221; portion of the testing process, where we review all the material and refine our technique. This also serves to tire you out, which means the actual grading process is really testing your muscle memory, rather than your ability to think something through. 5.5 hours after starting, we broke for &#8220;lunch&#8221; for half an hour and tried to re-hydrate as much as we could, get some food into us, and get ready for the long-haul test that was coming up.</p>
<p>The grading went relatively smoothly, all things considered. We were all tired, and I think everyone there started getting cramps in some part of their body at some point in the day. Mine were in my right calf muscle, which seems to be where I always get them. By the end of the actual technique testing, we were all actually happy to start sparring (also part of the process). I think we did around 10 rounds of fighting, rotating through the entire room of people (there were 8 of us testing). We did about 6 rounds of stand-up sparring and 3 or so rounds of &#8220;ground fighting&#8221;, where you weren&#8217;t allowed higher than your knees (so it might be hands-only, on your knees, or it might be more traditional ground-style fighting).</p>
<p>At the end of that, I was completely exhausted. 11.5 hours after starting, we had finally finished, having effectively covered all material from Levels 1 - 3, twice (once in the workshop, once in the test). I had taken 3 Ibuprofen throughout the day to combat my neck which was giving me a hard time and they started making me feel sick. After we left the gym I was actually sick, which got it out of my system and actually made me feel a lot better  <img src='http://dentedreality.com.au/wp-includes/images/smilies/icon_confused.gif' alt=':-?' class='wp-smiley' /> A bunch of us headed around the corner to get a celebratory drink (or 3) and then I went home and curled up to die.</p>
<p style="text-align: center;"><span class="flickr"><a class="flickr-image" title="Level 4 Grading" rel="flickr-mgr" href="http://www.flickr.com/photos/44124479801@N01/3038560289/"><img class="flickr-large" longdesc="http://farm4.static.flickr.com/3035/3038560289_a1ccd3da9b_b.jpg" src="http://farm4.static.flickr.com/3035/3038560289_a1ccd3da9b.jpg" alt="Level 4 Grading" /></a></span></p>
<p>Visible or specific injuries for the day:</p>
<ul>
<li>My neck was totally out of alignment and was causing me trouble for most of the day</li>
<li>I rolled my ankle lightly doing one of the drills, so I put on my brace to keep it stable</li>
<li>Lots of small cuts and scrapes were just part of the deal (scraped the skin off a knuckle doing chokes against the wall)</li>
<li>Got punched (hard) in the stomach as I advanced into it during technique testing</li>
<li>Right eye scraped/bruised from someone&#8217;s glove in sparring</li>
<li>Took an elbow right above the temple in ground fighting (we start back-to-back, and I turned the same direction as David&#8217;s elbow turned!)</li>
<li>Lots of bruises all over the place from various hits and collisions</li>
</ul>
<p style="text-align: center;">
<p style="text-align: center;"><span class="flickr"><a class="flickr-image" title="Krav L4 Test Bruises" rel="flickr-mgr" href="http://www.flickr.com/photos/44124479801@N01/3038575071/"><img class="flickr-large" longdesc="http://farm4.static.flickr.com/3239/3038575071_4fe24fd756_o.jpg" src="http://farm4.static.flickr.com/3239/3038575071_f36158f88d.jpg" alt="Krav L4 Test Bruises" /></a></span></p>
<p>As I said - this was by far (actually by about 3 hours, which is how much longer it was than my previous grading!) the most grueling and intense physical thing I&#8217;ve ever done in my life. I&#8217;m glad it&#8217;s over, but I&#8217;m also proud to have completed it. I feel like I worked really hard to accomplish it, and it&#8217;s good to know that in the end it was worth it (I think), because I passed. It was quite an experience, and I was glad to share it with the people I did. I&#8217;ve got to thank everyone who was there (it was all a team effort), and in particular Christian (our instructor) and David (my training partner) - definitely couldn&#8217;t have done it without them.</p>
<p>Now back to resting for the rest of the week before I&#8217;m back at it, and into Level 4 classes!</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/11/krav-maga-level-4-grading/feed/</wfw:commentRss>
	
		<media:thumbnail url="http://farm4.static.flickr.com/3167/3039401986_f74d33c67d.jpg" />
		<media:content url="http://farm4.static.flickr.com/3167/3039401986_f74d33c67d.jpg" medium="image">
			<media:title type="html">Krav Maga, San Francisco</media:title>
		</media:content>
		<media:content url="http://farm4.static.flickr.com/3035/3038560289_a1ccd3da9b.jpg" medium="image">
			<media:title type="html">Level 4 Grading</media:title>
		</media:content>
		<media:content url="http://farm4.static.flickr.com/3239/3038575071_f36158f88d.jpg" medium="image">
			<media:title type="html">Krav L4 Test Bruises</media:title>
		</media:content>
	<feedburner:origLink>http://dentedreality.com.au/2008/11/krav-maga-level-4-grading/</feedburner:origLink></item>
		<item>
		<title>OpenSocial 1st Birthday!</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/452087764/</link>
		<comments>http://dentedreality.com.au/2008/11/opensocial-1st-birthday/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 18:58:30 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[birthday]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[hi5]]></category>

		<category><![CDATA[myspace]]></category>

		<category><![CDATA[opensocial]]></category>

		<category><![CDATA[techmeet]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=708</guid>
		<description><![CDATA[Today I&#8217;m at the OpenSocial 1st Birthday celebration at the San Francisco MySpace offices in SoMa. I don&#8217;t know much (anything) about OpenSocial, so this should be a learning experience.
It&#8217;s going to be long, so click through to read the full thing.
General Observations

Really cool space (exposed brick, raw beams etc)
Very professional set-up (black table-clothes, speakers, [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;m at the <a href="http://www.opensocial.org/">OpenSocial</a> 1st Birthday celebration at the San Francisco <a href="http://myspace.com">MySpace</a> offices in SoMa. I don&#8217;t know much (anything) about OpenSocial, so this should be a learning experience.</p>
<p>It&#8217;s going to be long, so click through to read the full thing.<span id="more-708"></span></p>
<h2>General Observations</h2>
<ul>
<li>Really cool space (exposed brick, raw beams etc)</li>
<li>Very professional set-up (black table-clothes, speakers, video etc)</li>
<li>Good food/drink (bacon &amp; egg croissants FTW!)</li>
<li>Lots of seats, no power <img src='http://dentedreality.com.au/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
<li>Secured but accessible wifi, but it&#8217;s painfully slow (very corporate controlled, thanks Fox)</li>
<li>Saw/met <a href="http://twitter.com/dotben">dotBen</a> right before we got started.</li>
<li>Seeing/hearing a lot of people from big players like Google and Yahoo here.</li>
</ul>
<p style="text-align: center;"><span class="flickr"><a class="flickr-image" title="OpenSocial 1st Birthday" rel="flickr-mgr" href="http://www.flickr.com/photos/44124479801@N01/3027667891/"><img class="flickr-large" longdesc="http://farm4.static.flickr.com/3209/3027667891_d87dd57253_o.jpg" src="http://farm4.static.flickr.com/3209/3027667891_7bf166f04d_m.jpg" alt="OpenSocial 1st Birthday" /><br />
</a></span></p>
<h2>Introductions</h2>
<p>We&#8217;re getting a bit of background on OpenSocial&#8217;s development and organization over the last year. Seeing charts on growth over time, global reach (impressive, lots of international networks/apps implementing it). Some stats</p>
<ul>
<li>User Reach = 600,000,000</li>
<li>1 in every 2 users has installed an OS app</li>
<li>7,500+ apps available already</li>
</ul>
<p>Now we&#8217;re getting some &#8220;how it used to be&#8221; from someone from <a href="http://hi5.com">hi5</a>. He&#8217;s talking about their path to supporting OS. Before = &#8220;down in the coal mines&#8221;, After = &#8220;Borat, I liiiiike!&#8221;.</p>
<p>Lane from <a href="http://google.com">Google</a> is now talking about the OS Foundation. The Foundation was created so that we could create cool stuff, without worrying about Intellectual Property. Also hearing about the structure of the Foundation and how it helps to ensure everyone&#8217;s voice is heard. Making sure we know about the new OS wiki and the IRC room (#opensocial on freenode).</p>
<p><a href="http://incubator.apache.org/shindig/">Apache Shindig</a> (Java and PHP only) sounds like a cool tool that speeds up development based on discovering information through your social graph.</p>
<p>Apparently all slides from the presentations today should be on the OS site within a day or 2.</p>
<h2>Where Can We Go?</h2>
<ul>
<li>On and off the web (mobile)</li>
<li>New Features!</li>
<li>Make it even easier to make it adopt and build, better interop</li>
<li>OpenID, oAuth etc being completely standard and &#8220;required&#8221; for new developments</li>
</ul>
<h2>Ali from XYLabs</h2>
<p>Small team from India. Started as 3 devs, 1 designer and a QA intern. They&#8217;ve developed a number of social applicattions. Containers = Orkut, hi5, Netwall (?), Friendster and MySpace.</p>
<p>Biggest app is PhotoBuzz, which allows users to &#8220;buzz&#8221; this contacts with a small &#8220;greeting&#8221; based on pre-built animations. They are profitable, but are focussing on growth rather than revenue right now. Basically they superimpose their animation over a photo supplied by the user and send it as a &#8220;greeting card&#8221;.</p>
<p>They built a collection of re-usable libraries, made it possible to drop in analytics engines of their choice to keep track of metrics. Strongly suggests watching your numbers and listening to your users. Adapt quickly.</p>
<p>Viral loops and messaging are the biggest things that differ from container (social network) to container.</p>
<p>150,000 - 200,000 new users per day during &#8220;the hockey-stick&#8221;. They are now working with things like <a href="http://code.google.com/appengine/">AppEngine</a> to work around the scaling issues.</p>
<p>They split out their front/back-end and put the backend on AppEngine (python), while the frontend was all PHP-powered, and run off their own servers.</p>
<h2>Raymond from RockYou</h2>
<p><a href="http://rockyou.com">RockYou</a> is a social applications developer. They develop for all platforms and networks. Their monthly reach is 90,000,000 uniques+ and they have over 80 staff members. 12 billion impressions across their network of apps. RockYou is sponsoring drinks/cocktails at the event.</p>
<p>Mission Statement: Engage the world with social applications.</p>
<p>Apps have been installed over 55,000,000 times across all platforms.</p>
<p>SuperPets is a virtual pet application. Adopt, personalize, accessorize their pets, then engage with their friends through their pet.</p>
<p>They have a new service called <a href="https://www.rockyouads.com/ams/partner/marketing/index.php">RockYouAds</a> which provides advertising across different social networks via their application installations.</p>
<p>Design your UI to support slightly different view sizes across all containers.</p>
<p>Different containers implement certain aspects slightly differently. Especially different user information fields available because of policy/privacy, etc.</p>
<p>Even though Facebook doesn&#8217;t support OS, you can encapsulate your app and abstract it out to be ported relatively easily if you think ahead. Generally things run in an IFRAME, so you need to abstract away the server communications parts so that you can make it use either OS or FB-specific processes.</p>
<h2>Charles from PixChat</h2>
<p>They started out with hi5, then ported out to everywhere. hi5 to MySpace took 90 minutes (!!). Orkut took 60 minutes. Googe AppEngine took 3 hours.</p>
<p>OS != Facebook (but you can make them work together).</p>
<p>Google AppEngine rocks (and will save you a LOT of time).</p>
<p>Use <a href="http://jquery.com/">jQuery</a></p>
<p>Use JSON - it&#8217;s standardized and gives you the ability to access your data in all languages.</p>
<p>Build an abstraction toolkit (container differences, view sizes, presence detection, etc)</p>
<p>Use viral channels, measure things (Google Analytics with some custom JS triggers to track events).</p>
<h2>Scott (MySpace) and Evan (Google)</h2>
<p>Talking about OS 0.9 (what&#8217;s coming <em>next</em>). Going through the proposal process and how the community is required to approve/block proposals.</p>
<p>Evan talking about changes in 0.9 that make it much easier to build gadgets etc. Generating HTML on your own server and embedding it back immediately, e.g.</p>
<pre>&lt;Content href="http://your.server.com"&gt;&lt;/content&gt;</pre>
<p>OS Templates give you a templating language which will be handled by the container.</p>
<p>Splitting out views for apps so that you don&#8217;t have to load everything down initially.</p>
<h2>Lunch</h2>
<p>Pretty impressive lunch was supplied.
</p>
<p style="text-align: center;"><span class="flickr"><a class="flickr-image" title="OpenSocial 1st Birthday: Lunch" rel="flickr-mgr" href="http://www.flickr.com/photos/44124479801@N01/3027675011/"><img class="flickr-large" longdesc="http://farm4.static.flickr.com/3194/3027675011_950f06ef5f_o.jpg" src="http://farm4.static.flickr.com/3194/3027675011_5c8086e700_m.jpg" alt="OpenSocial 1st Birthday: Lunch" /></a></span></p>
<h2>Arne (Google) - OpenSocialDevApp</h2>
<p>OpenSocialDevApp is an interesting &#8220;sandbox&#8221; type application that gives you access to a lot of tools and resources to get started working on a new gadget/widget. Generates all sorts of shortcut code for you, helps manage server requests etc.</p>
<h2>Zembly (Sun)</h2>
<p>A cloud-based development environment for developing OpenSocial applications. It is a social network in and of itself, but it provides a &#8220;Wikipedia of OS apps&#8221;. Has code, gadgets etc as starting points/components.</p>
<p>Provides an IDE (in the browser) to speed up the process, and includes automated hosting built right in (1-click). Collaborative development by inviting/allowing other users to participate in your coding environment. Creates a network around programming artifacts (snippets, gadgets etc), and gives you activity streams etc. You can even create an iPhone app within it.</p>
<p>It connects to all sorts of APIs on the web, to give you access to do things like Twitter aggregation.</p>
<h2>Casey (iWidgets)</h2>
<p>They take existing content from big content providers and put it in the social networks where people already are. They make their money through CPM/CPC advertising embedded in their widgets. Write once, deploy everywhere (Facebook is still a challenge).</p>
<p>Has a basic RSS &#8211;&gt; widget wizard. If you can use something like Yahoo Pipes or PowerPoint then you can use their product.</p>
<h2>Open Social Client Libraries</h2>
<p>New set of code libraries in popular languages to get you coding faster. They provide an interface to container queries, accessing data etc. Simplifies the process and abstracts away as many differences between containers as possible.</p>
<h2>Global Container Crawl</h2>
<p>Instead of a pub crawl, the plan was to work their way around the globe, coding/deploying apps for containers hosted around the world. There were prizes to be had and other incentives, but I had to head home to take care of some other things and get some juice for my laptop (battery life is pretty lame on the MacBook Pro&#8230;)</p>
<p>All in all a pretty good day, and a great introduction for me to OpenSocial. I&#8217;m looking forward to hopefully getting a chance to check it out in a bit more detail soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/11/opensocial-1st-birthday/feed/</wfw:commentRss>
	
		<media:thumbnail url="http://farm4.static.flickr.com/3209/3027667891_7bf166f04d_m.jpg" />
		<media:content url="http://farm4.static.flickr.com/3209/3027667891_7bf166f04d_m.jpg" medium="image">
			<media:title type="html">OpenSocial 1st Birthday</media:title>
		</media:content>
		<media:content url="http://farm4.static.flickr.com/3194/3027675011_5c8086e700_m.jpg" medium="image">
			<media:title type="html">OpenSocial 1st Birthday: Lunch</media:title>
		</media:content>
	<feedburner:origLink>http://dentedreality.com.au/2008/11/opensocial-1st-birthday/</feedburner:origLink></item>
		<item>
		<title>President Obama</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/442864203/</link>
		<comments>http://dentedreality.com.au/2008/11/president-obama/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 05:26:54 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[barack obama]]></category>

		<category><![CDATA[election]]></category>

		<category><![CDATA[election 2008]]></category>

		<category><![CDATA[obama]]></category>

		<category><![CDATA[president]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=678</guid>
		<description><![CDATA[
Yes we did.
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-679" title="obama-color" src="http://dentedreality.com.au/wp-content/uploads/2008/11/obama-color.jpg" alt="" width="447" height="699" /></p>
<p style="text-align: center;">Yes we did.</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/11/president-obama/feed/</wfw:commentRss>
	
		<media:thumbnail url="http://dentedreality.com.au/wp-content/uploads/2008/11/obama-color-75x75.jpg" />
		<media:content url="http://dentedreality.com.au/wp-content/uploads/2008/11/obama-color.jpg" medium="image">
			<media:title type="html">obama-color</media:title>
			<media:thumbnail url="http://dentedreality.com.au/wp-content/uploads/2008/11/obama-color-75x75.jpg" />
		</media:content>
	<feedburner:origLink>http://dentedreality.com.au/2008/11/president-obama/</feedburner:origLink></item>
		<item>
		<title>Dented Reality v5.0</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/442497424/</link>
		<comments>http://dentedreality.com.au/2008/11/dented-reality-v50/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 20:04:16 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Site News]]></category>

		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[dented reality]]></category>

		<category><![CDATA[internet archive]]></category>

		<category><![CDATA[launch]]></category>

		<category><![CDATA[wayback machine]]></category>

		<category><![CDATA[website]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dentedreality.com.au/?p=594</guid>
		<description><![CDATA[You&#8217;re now looking at (I think) the fifth major revision of this website.
It&#8217;s been a (long) time coming, but I finally got it online today. I thought it would be fitting. It is a day of change after all. It&#8217;s definitely time for a change here at Dented Reality &#8212; the previous version was online [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;re now looking at (I think) the fifth major revision of this website.</p>
<p>It&#8217;s been a (long) time coming, but I finally got it online today. I thought it would be fitting. It is a day of <a href="http://barackobama.com/index.php">change</a> after all. It&#8217;s definitely time for a change here at Dented Reality &#8212; the previous version was online for around 5 years (April 20, 2003 <a href="http://web.archive.org/web/*/http://dentedreality.com.au">according to the WayBack Machine</a>). I think it stood up quite well considering the changes that took place in the browser landscape in those 5 years.</p>
<div id="attachment_595" class="wp-caption aligncenter" style="width: 410px"><a href="http://dentedreality.com.au/wp-content/uploads/2008/11/dentedreality-old.png"><img class="size-medium wp-image-595" title="Dented Reality v4.0" src="http://dentedreality.com.au/wp-content/uploads/2008/11/dentedreality-old-400x267.png" alt="Dented Reality v4.0" width="400" height="267" /></a><p class="wp-caption-text">Dented Reality v4.0</p></div>
<p>You may notice that there are a number of new posts here, which just magically appeared. That&#8217;s because I was posting while I was developing this site on my laptop, but I didn&#8217;t want to post to the old site. For the record, here are all the posts that are new as of today (oldest to newest):</p>
<ul>
<li><a href="../2008/03/stanso-simple-tagged-note-storage-online/">Stanso: Simple TAgged Note Storage Online</a></li>
<li><a title="Permalink to MyBabyOurBaby Clone Request" rel="bookmark" href="../2008/03/mybabyourbaby-clone-request/">MyBabyOurBaby Clone Request</a></li>
<li><a title="Permalink to Idea: Daily eBook Delivery" rel="bookmark" href="../2008/03/idea-daily-ebook-delivery/">Idea: Daily eBook Delivery</a></li>
<li><a href="../2008/03/comcast-flub/">Comcast Flub</a><a href="../2008/03/customizing-wordpress-25s-admin-panel/">Customizing WordPress 2.5’s Admin Panel</a><a href="../2008/03/back-in-wagin/">Back in Wagin</a></li>
<li><a title="Permalink to Making Internet Explorer Behave Like a Real Browser" rel="bookmark" href="../2008/04/making-internet-explorer-behave-like-a-real-browser/">Making Internet Explorer Behave Like a Real Browser</a></li>
<li><a title="Permalink to Apple MacBook Pro Dead Battery Problem" rel="bookmark" href="../2008/05/apple-macbook-pro-dead-battery-problem/">Apple MacBook Pro Dead Battery Problem</a></li>
<li><a href="../2008/05/discombobulate/">Word of the Week</a></li>
<li><a title="Permalink to Michael Phelps: Changing the façade of the Olympics" rel="bookmark" href="../2008/08/michael-phelps-changing-the-facade-of-the-olympics/">Michael Phelps: Changing the façade of the Olympics</a></li>
<li><a href="../2008/08/improved-s3-performance-via-cdn/">Redundancy, Performance and Geo-Optimization with S3 and CDNs</a></li>
<li><a href="../2008/09/wp-super-cache-not-creating-meta-files/">Fixed: WP Super Cache not creating meta files (and not working)</a></li>
<li><a href="../2008/09/amazon-start-up-event-san-francisco-aws/">Amazon’s Start-Up Event Tour 2008: San Francisco</a></li>
<li><a href="../2008/10/idea-amazon-music-exploration-application/">Idea: Amazon Music Exploration Application</a></li>
</ul>
<p>There are going to be a lot of small tweaks to be done still, and I&#8217;m sure there are some broken links etc, but I think this version is quite a step up from the previous one. It reflects a change in direction for the site and I think does a better job of showing who I am and what sort of projects I engage in.</p>
<div id="attachment_598" class="wp-caption aligncenter" style="width: 410px"><a href="http://dentedreality.com.au/wp-content/uploads/2008/11/dentedrealityv5.png"><img class="size-medium wp-image-598" title="Dented Reality v5.0" src="http://dentedreality.com.au/wp-content/uploads/2008/11/dentedrealityv5-400x254.png" alt="Dented Reality v5.0" width="400" height="254" /></a><p class="wp-caption-text">Dented Reality v5.0</p></div>
<p>Comments are now open (and powered by <a href="http://intensedebate.com/">IntenseDebate</a>), so please feel free to leave a note on what you think of the new site on this post!</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/11/dented-reality-v50/feed/</wfw:commentRss>
	
		<media:thumbnail url="http://dentedreality.com.au/wp-content/uploads/2008/11/dentedreality-old-75x75.png" />
		<media:content url="http://dentedreality.com.au/wp-content/uploads/2008/11/dentedreality-old.png" medium="image">
			<media:title type="html">Dented Reality v4.0</media:title>
			<media:description type="html">Dented Reality v4.0</media:description>
			<media:thumbnail url="http://dentedreality.com.au/wp-content/uploads/2008/11/dentedreality-old-75x75.png" />
		</media:content>
		<media:content url="http://dentedreality.com.au/wp-content/uploads/2008/11/dentedrealityv5.png" medium="image">
			<media:title type="html">Dented Reality v5.0</media:title>
			<media:description type="html">Dented Reality v5.0</media:description>
			<media:thumbnail url="http://dentedreality.com.au/wp-content/uploads/2008/11/dentedrealityv5-75x75.png" />
		</media:content>
	<feedburner:origLink>http://dentedreality.com.au/2008/11/dented-reality-v50/</feedburner:origLink></item>
		<item>
		<title>Idea: Amazon Music Exploration Application</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/442497425/</link>
		<comments>http://dentedreality.com.au/2008/10/idea-amazon-music-exploration-application/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 22:03:41 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[adobe air]]></category>

		<category><![CDATA[amazon]]></category>

		<category><![CDATA[app]]></category>

		<category><![CDATA[apple remote]]></category>

		<category><![CDATA[audio]]></category>

		<category><![CDATA[coverflow]]></category>

		<category><![CDATA[idea]]></category>

		<category><![CDATA[itunes]]></category>

		<category><![CDATA[last.fm]]></category>

		<category><![CDATA[lazyweb]]></category>

		<category><![CDATA[liveplasma]]></category>

		<category><![CDATA[music]]></category>

		<category><![CDATA[pandora]]></category>

		<guid isPermaLink="false">http://wiggin.local/dev/dentedreality.com.au/?p=502</guid>
		<description><![CDATA[Music is important to me. Not because I have any musical talent (at all), or because I work in the music industry (or ever have) or even have friends who are musicians (although I do have a couple). Music is important to me because I listen to it almost every waking hour, and need it [...]]]></description>
			<content:encoded><![CDATA[<p>Music is important to me. Not because I have any musical talent (at all), or because I work in the music industry (or ever have) or even have friends who are musicians (although I do have a couple). Music is important to me because I listen to it almost every waking hour, and need it to concentrate while I&#8217;m working.</p>
<p>According to <a href="http://apple.com/itunes">iTunes</a>, I have just under 6,000 &#8220;items&#8221; in my music library. That&#8217;s 16.5 days of music, playing 24/7. I like to find new music, and have pretty eclectic musical tastes (literally everything from The Corrs to korn appears in my library). I&#8217;d like a tool that helps me do a few things:<span id="more-502"></span></p>
<ol>
<li>Find more music by the artists that I like</li>
<li>Find new artists that are similar to artists I like</li>
<li>Find new genres/categories of music to try out</li>
<li>Download/purchase all this music and add it to my iTunes library quickly and easily</li>
</ol>
<p>Putting all this together, here&#8217;s what I&#8217;d like (Lazyweb?):</p>
<ul>
<li>An <a href="http://www.adobe.com/products/air/">Adobe AIR</a> application (that runs on my Mac)</li>
<li>Full-screen ability, accessed ideally via the <a href="http://en.wikipedia.org/wiki/Apple_Remote">Apple Remote</a>, a la Front Row</li>
<li>Load my iTunes library (or <a href="http://last.fm">Last.fm</a> account perhaps) and use the play counts as a starting point for exploring music</li>
<li>UI something like <a href="http://liveplasma.com">LivePlasma</a> to start with, allowing me to browse related artists, as determined via the Amazon API.</li>
<li>Navigate the hierarchy/relation-graph of genres to find new/related genres</li>
<li>Use a CoverFlow-style UI to flick through the album art of albums within genres, showing artist and title on each album.</li>
<li>Flip an album to view track listing.</li>
<li>Preview all tracks available via MP3 right there (add them to a queue and let me keep browsing)</li>
<li>Enable 1-click purchase of MP3 tracks, automatically adding them to my iTunes account once they are downloaded.</li>
<li>It&#8217;d also be cool if this UI/app could run in a &#8220;local&#8221; mode, where it just provided a navigation experience on my own music collection, while still pulling in related information from Amazon.</li>
</ul>
<p>That&#8217;s all for now - what do you think? What features would you want in a music exploration service? Do you even collect a local library anymore, or do you rely on services like <a href="http://pandora.com">Pandora</a> to provide your beats? I&#8217;m also still waiting for a decent system to manage my media on my laptop + home theatre (Mac Mini).</p>
]]></content:encoded>
			<wfw:commentRss>http://dentedreality.com.au/2008/10/idea-amazon-music-exploration-application/feed/</wfw:commentRss>
	
	<feedburner:origLink>http://dentedreality.com.au/2008/10/idea-amazon-music-exploration-application/</feedburner:origLink></item>
		<item>
		<title>Amazon’s Start-Up Event Tour 2008: San Francisco</title>
		<link>http://feeds.feedburner.com/~r/BeauLebens/~3/442497426/</link>
		<comments>http://dentedreality.com.au/2008/09/amazon-start-up-event-san-francisco-aws/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 02:44:49 +0000</pubDate>
		<dc:creator>Beau Lebens</dc:creator>
		
		<category><![CDATA[Techn(ical|ology)]]></category>

		<category><![CDATA[amazon]]></category>

		<category><![CDATA[aws]]></category>

		<category><![CDATA[carticipate]]></category>

		<category><![CDATA[devpay]]></category>

		<category><![CDATA[ec2]]></category>

		<category><![CDATA[fathomdb]]></category>

		<category><![CDATA[fps]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[mechanicalturk]]></category>

		<category><![CDATA[mturk]]></category>

		<category><![CDATA[right scale]]></category>

		<category><![CDATA[rpath]]></category>

		<category><![CDATA[s3]]></category>

		<category><![CDATA[shoppertron]]></category>

		<category><![CDATA[simpledb]]></category>

		<category><![CDATA[sqs]]></category>

		<category><![CDATA[syncplicity]]></category>

		<guid isPermaLink="false">http://wiggin.local/dev/dentedreality.com.au/?p=460</guid>
		<description><![CDATA[Amazon held another event focused on educating start-ups and existing tech companies about their web services offerings and how to integrate them into they current (or new) businesses. I attended a similar event previously at Mezzanine in SF, but this time around we&#8217;re in the Sir Francis Drake Hotel (near Union Square).
So far I would [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://amazon.com">Amazon</a> held another event focused on educating start-ups and existing tech companies about their <a href="http://aws.amazon.com/">web services offerings</a> and how to integrate them into they current (or new) businesses. I attended a similar event previously at Mezzanine in SF, but this time around we&#8217;re in the <a href="http://www.sirfrancisdrake.com/">Sir Francis Drake Hotel</a> (near Union Square).</p>
<p>So far I would estimate around 90 - 95% males, and perhaps even a higher than SF-usual ratio of about 90% Mac laptops in use.<span id="more-460"></span></p>
<p><em>NOTE: You know you&#8217;re at a &#8220;corporate&#8221; rather than a &#8220;community&#8221; event when the only wifi available requires payment&#8230;</em></p>
<h2>Opening Statements - Adam Selipsky, VP AWS</h2>
<p>It all started with Amazon building our own application (<a href="http://amazon.com">amazon.com</a>), and needing to scale it, provide performance, etc. We spent over a couple of billion dollars to provide the infrastructure. We learned lessons:</p>
<ul>
<li>Moved away from expensive hardware</li>
<li>Moved to standard hardware and lots of it</li>
<li>Service-based architecture</li>
</ul>
<p>Perhaps other people have the same or similar problems? So we started talking internally and externally about what we could provide. Asked people what&#8217;s important for all of this stuff</p>
<ol>
<li>Reliability: It has to Just Work, not necessarily 100% of the time, but close,</li>
<li>Scalability: Upward <strong>and</strong> downward scalability,</li>
<li>Performance: It has to operate as quickly as if it were all in one data center</li>
<li>Simplicity: don&#8217;t make people have to learn too much (make it as simple as possible)</li>
</ol>
<p>Enabling business to build and get paid for scalable, high-performance applications. Good results so far, including over 400,000 registered developers and S3 contains over 22 billion objects. Why do people love this stuff so much?</p>
<ol>
<li>Get rid of the muck: don&#8217;t do things you don&#8217;t want to do or can&#8217;t do,</li>
<li>Focus: allows you to focus on product development, marketing, sales strategy etc,</li>
<li>Time to Market: allows start-ups to shave 2-6 months off delivery cycles (provisioning, configuration, etc)</li>
</ol>
<p>Q: Is this a serious business or an experiment?</p>
<p>A: This is not an experiment, this is Amazon&#8217;s third business line. Retail Business, Seller Business (1.4 million active sellers) and now Developer Business.</p>
<p>Mention of <a href="http://aws.amazon.com/startupchallenge">Amazon Start-Up Challenge</a> and invite people to check it out.</p>
<h2>AWS Presentation - Jeff Barr, Sr. Evangelist AWS</h2>
<p>As a consultant, I was invited to a small little conference hosted by Amazon. I was one of about 5 or 6 other freelancers there. I realized that they were talking about taking the covers off amazon.com and making the core of some of their system available to &#8220;everyone&#8221;. I was hired into a slightly different position and around 15 - 20% of his time was to &#8220;help out&#8221; when he could with AWS.</p>
<p>Summary of the 3 main business streams of Amazon.</p>
<p>Bandwidth consumed by AWS has surpassed the rest of all Amazon properties combined.</p>
<h3>Why do people like this so much?</h3>
<p>The &#8220;muck&#8221; or &#8220;undifferentiated heavy-lifting&#8221; can take up 70% of the time involved in building and scaling an online application.</p>
<p>Talks about the differential between projected usage and real usage, and how if you (traditionally) purchased assets to handle your projections, you will almost always have waste (or a deficit!).</p>
<p>Mentions &#8220;being famous&#8221; as showing up on: Techmeme, Reddit, Digg, Slashdot, TechCrunch</p>
<p>Amazon doesn&#8217;t usually see too many spikes across all users because of the averaging out effect of all of their clients&#8217; usage cycles.</p>
<p>AWS principles: Easy to use, Fast, Elastic, Highly available, Secure, Pay as you go</p>
<p>Summaries of EC2 (+ EBS), S3 SimpleDB, DevPay, SQS, FPS, MTurk.</p>
<p>81 million Amazon.com users who you can enable to pay through FPS/DevPay.</p>
<p>Look at <a href="http://www.podango.com/">Podango</a>, who have an impressive system that transcodes podcasts and automatically re-assembles them all with new advertising, announcements and raw content (daily). Everything is powered by AWS and automatically scales up and down to handle load (transcoding/assembly).</p>
<p>What has happened in the last year? FPS, DevPay, Elastic IPs, Availability Zones, Large Instances, CPU-Intensive Instances, EBS, S3 in EU, SimpleDB additions, Premium Developer Support, Service Health Dash, OpenSolaris/MySQL, plus more.</p>
<h3>Trends We&#8217;re Seeing</h3>
<ul>
<li>Systems using more than one service</li>
<li>Massive datasets and large-scale parallel processing</li>
<li>Enterprise adoption</li>
<li>Increased need for support and transparency</li>
<li>Running more sophisticated software in the cloud</li>
</ul>
<h3>Future Roadmap</h3>
<ul>
<li>Security features and certifications</li>
<li>Focus on operational excellence</li>
<li>US and Int&#8217;l expansion</li>
<li>Localization of technical resources (translations etc)</li>
<li>EC2 GA (general availability) and SLA (we&#8217;re close)</li>
<li>Windows Server support</li>
<li>Additional services (we&#8217;re not anywhere near done!)</li>
</ul>
<h3>Start-Up Challenge</h3>
<p>Over 900 entries last year in the competition to win $100,000 (cash + AWS credits). <a href="http://www.ooyala.com/">Ooyala</a> won with their video content management system. Entrants are judged on:</p>
<ol>
<li>Creativity and Originality</li>
<li>Likelihood of long-term success</li>
<li>How well it addresses a market need</li>
<li>Usage of AWS</li>
</ol>
<h2>Customer Presentations</h2>
<h3><a href="http://tapinsystems.com">Tap in Systems</a> - Peter Loh</h3>
<p>IT monitoring and systems management, powered by AWS. Their specialty is heterogeneous environments. They are recently funded and are now available under a limited beta. Monitoring usually comes last (requirements &#8211;&gt; application &#8211;&gt; monitoring), even though it&#8217;s a critical piece of the puzzle.</p>
<p>Deploy a monitoring solution in the cloud, capable of monitoring cloud devices or internal IT systems. Works like enterprise monitoring - gathers stats from all your systems, compiles them and provides reports. Their custom-developed systems are open source and will be released back to the community. Everything is priced per usage.</p>
<p>Provide all sorts of custom adapters/components to cater to specific services and their relevant metrics. Runs with Nagois, Ganglia, Cacti, Linux, Windows etc! They also ensure the security of your information because the EC2 instance runs under your AWS account, not theirs (they never see your data, just provide the engine to &#8220;do stuff with it&#8221;).</p>
<h3><a href="http://vertica.com/cloud">Vertica</a> - Jerry Held</h3>
<p>Grid-based, columnar DBMS for data warehousing and analytics. Founded in 2005 and now has 50+ customers worldwide, with great leadership/advisors. Moving some of their business to the cloud has provided a whole new playing field to expand their business etc.</p>
<p>Vertica provides:</p>
<ul>
<li>Scale out grid architecture</li>
<li>Aggressive data compression</li>
<li>Automatic high availability (failover, replication and recovery all in the cloud)</li>
</ul>
<p>Some examples of what people are using it for:</p>
<ul>
<li>Analytic Soft