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

<channel>
	<title>MyOwnPirateRadio</title>
	<atom:link href="http://myownpirateradio.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://myownpirateradio.com</link>
	<description>musings on making things</description>
	<lastBuildDate>Mon, 02 Apr 2012 03:32:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='myownpirateradio.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>MyOwnPirateRadio</title>
		<link>http://myownpirateradio.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://myownpirateradio.com/osd.xml" title="MyOwnPirateRadio" />
	<atom:link rel='hub' href='http://myownpirateradio.com/?pushpress=hub'/>
		<item>
		<title>In Praise of Small Batches</title>
		<link>http://myownpirateradio.com/2012/04/01/in-praise-of-small-batches/</link>
		<comments>http://myownpirateradio.com/2012/04/01/in-praise-of-small-batches/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 03:31:50 +0000</pubDate>
		<dc:creator>Oshoma</dc:creator>
				<category><![CDATA[making things]]></category>
		<category><![CDATA[efficiency]]></category>
		<category><![CDATA[estimating]]></category>
		<category><![CDATA[flow]]></category>
		<category><![CDATA[motivation]]></category>
		<category><![CDATA[planning]]></category>

		<guid isPermaLink="false">http://myownpirateradio.com/?p=606</guid>
		<description><![CDATA[&#8230;aaaand we&#8217;re back, after six 80-hour work weeks in rapid succession. Here&#8217;s to rediscovering a more sustainable pace and getting back to writing regularly. &#8220;Small batches&#8221; have been on my mind a lot lately. Eric Ries discusses the concept in his Lean Startup book. The basic idea is to do repetitive work in small end-to-end &#8230; <a href="http://myownpirateradio.com/2012/04/01/in-praise-of-small-batches/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=606&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8230;aaaand we&#8217;re back, after six 80-hour work weeks in rapid succession. Here&#8217;s to rediscovering a more sustainable pace and getting back to writing regularly.</p>
<p>&#8220;Small batches&#8221; have been on my mind a lot lately. Eric Ries discusses the concept in his <a href="http://theleanstartup.com/book">Lean Startup book</a>. The basic idea is to do repetitive work in small end-to-end batches, creating one finished product at a time, rather than in large batches where you create many products at once in a phased manner. He credits the concept to Toyota, and applies it in turn to startups. Here&#8217;s a <a href="http://www.startuplessonslearned.com/2011/09/power-of-small-batches.html">real-world example</a> from his book of a race on stuffing envelopes between a father and his two daughters:</p>
<blockquote><p>The daughters, age six and nine, knew how they should go about completing the project: “Daddy, first you should fold all of the newsletters. Then you should attach the seal. Then you should put on the stamps.” Their father wanted to do it the counterintuitive way: complete each envelope one at a time. They told him &#8220;that wouldn’t be efficient!&#8221; So he and his daughters each took half the envelopes and competed to see who would finish first. &#8230; The father won the race, and not just because he is an adult.</p></blockquote>
<p>Ries cites many benefits to doing work in small batches, including less waste, less inventory, earlier discovery of defects, and a tighter feedback loop. I&#8217;ve found all these to hold true in doing software development. I happen to be focused on web services, but I see no reason these benefits wouldn&#8217;t also hold true for many other kinds of software and creative production work.</p>
<p>When not writing code I&#8217;m often planning what work we should do next, and I&#8217;m finding the small batch philosophy yields benefits on planning too. Here&#8217;s an example: we made a change on CampusPerks a week ago to our planning granularity. We used to estimate our work in half-day units, equating 1 Pivotal Tracker &#8220;point&#8221; to 4 estimated developer hours. Now we equate 1 point to 1 estimated developer hour. Sounds simple, right? You might think it would have little to no effect, but in fact after only a week I can already see a few significant benefits:</p>
<ul>
<li>We&#8217;re estimating our work with greater precision, and there&#8217;s a 1:1 mapping between estimated points of work and available developer hours. So questions like, &#8220;Can you get feature X done by Wednesday?&#8221; have become easier to answer (i.e. less time-consuming, with smaller error bars).</li>
<li>We can now give credit for smaller pieces of work&#8230; the sort of stuff we might have assigned zero points to in the past because it took an hour or less to do, or lumped together with 4 or 5 similarly-sized items into a 1-point story. I find this especially true of design work, the fit-and-finish and attention to detail that is essential for making a product beautiful, but that often doesn&#8217;t get the full respect it&#8217;s due. Being able to give credit for all work regardless of its size feels more equitable to me and, I suspect, makes everyone on the team happier.</li>
<li>It&#8217;s easier to decide how to fill small chunks of available work time. If I have an hour before lunch I can take 10 seconds to pick the next 1-point item off the backlog, knowing that I&#8217;m likely to complete it before my energy fizzles. In the past I might have wasted 5 or even 10 minutes hunting for a small-enough work item.</li>
<li>My motivation to begin a new work item is higher, because none of the tasks look as daunting now (everything is scoped in hours, not half-days or days), I&#8217;m more certain of how long each task will take, I get to check off tasks more frequently, and I almost always get the satisfaction of carrying the baton across the finish line on tasks that I start.</li>
<li>All this leads to more time when I can reach a state of flow.</li>
</ul>
<p>The fact that chunking work in this way motivates me more and helps me reach flow was a delightful surprise, so much so that I&#8217;ve applied the same 1-point-equals-1-hour change to the other software projects I work on. It isn&#8217;t just accounting or semantics; there&#8217;s a real psychological difference. The bottom line is I find myself more willing and able to work if I invest the time up front in batching the work into smaller units. The work is easier to begin, faster to complete, and more satisfying to perform.</p>
<br />Filed under: <a href='http://myownpirateradio.com/category/making-things/'>making things</a> Tagged: <a href='http://myownpirateradio.com/tag/efficiency/'>efficiency</a>, <a href='http://myownpirateradio.com/tag/estimating/'>estimating</a>, <a href='http://myownpirateradio.com/tag/flow/'>flow</a>, <a href='http://myownpirateradio.com/tag/motivation/'>motivation</a>, <a href='http://myownpirateradio.com/tag/planning/'>planning</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oshoma.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oshoma.wordpress.com/606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oshoma.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oshoma.wordpress.com/606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oshoma.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oshoma.wordpress.com/606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oshoma.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oshoma.wordpress.com/606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oshoma.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oshoma.wordpress.com/606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oshoma.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oshoma.wordpress.com/606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oshoma.wordpress.com/606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oshoma.wordpress.com/606/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=606&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://myownpirateradio.com/2012/04/01/in-praise-of-small-batches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">oshoma</media:title>
		</media:content>
	</item>
		<item>
		<title>Me Organize Real Simple Now</title>
		<link>http://myownpirateradio.com/2012/02/20/me-organize-real-simple-now/</link>
		<comments>http://myownpirateradio.com/2012/02/20/me-organize-real-simple-now/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 18:55:49 +0000</pubDate>
		<dc:creator>Oshoma</dc:creator>
				<category><![CDATA[making things]]></category>
		<category><![CDATA[organization tools efficiency lists]]></category>
		<category><![CDATA[simplicity]]></category>

		<guid isPermaLink="false">http://myownpirateradio.com/?p=586</guid>
		<description><![CDATA[I&#8217;m obsessed with organizing things, and have been since I was a kid: endlessly writing down lists and plans, alphabetizing my book and music collections, compulsively reading every book in a series, etc. Perhaps because of this, I&#8217;m an organization tool junkie; I&#8217;m always eager to kick the tires on a shiny new technology or system &#8230; <a href="http://myownpirateradio.com/2012/02/20/me-organize-real-simple-now/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=586&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m obsessed with organizing things, and have been since I was a kid: endlessly writing down lists and plans, alphabetizing my book and music collections, compulsively reading every book in a series, etc. Perhaps because of this, I&#8217;m an organization tool junkie; I&#8217;m always eager to kick the tires on a shiny new technology or system that promises to help me deal with my little problem. Having tried many different tools, I now rely on just three. Here they are:</p>
<p><strong><a href="http://www.pivotaltracker.com">Pivotal Tracker</a></strong>. This is the single tool I use for managing software projects at the designer/developer work item level. It&#8217;s great&#8230; very easy to use, full history tracking, lives in the cloud (backed up), optimized for software projects, predicts dates for me, and lets me organize work into a few logical buckets. Some people don&#8217;t like the automatic date prediction, and if you need to work that way (&#8220;Precisely Scheduled Project Candy-Cane Land&#8221;) then it is not the tool for you. I think Pivotal would also work for many other kinds of creative project work &#8212; not just sofware &#8212; and I&#8217;ve suggested this to the good people at Pivotal Labs a few times, but they seem locked on the software space. All the better for us nerds.</p>
<p><strong><a href="http://trello.com">Trello</a></strong>.  Trello is my single &#8220;big picture&#8221; list-making tool these days. At work I&#8217;ve just started using it for tracking high-level work project deliverables, e.g. key milestones and handoffs with clients. At home, I use it with Katrin to plan our expenses, prioritize home improvements, track movies, music and books we&#8217;d like to buy, and more. It&#8217;s simple, visually beautiful, and works on our computers, phones, and iPads. I&#8217;ve only been using it a few months now, but I think this one will stick because it addresses so many of the failures that stopped me from using other list-making tools.</p>
<p><strong>Text files</strong>. When I&#8217;m keeping scratch notes on a project, or drafting a blog post, or trying to organize something that doesn&#8217;t fit into a list, it goes into a text file. I write in either straight .txt format or MarkDown to get a teensy bit of formatting. Every file is named yyyy-mm-dd-the-topic-title.md, e.g. &#8220;2012-01-27-writing-about-startups.md&#8221;, and this gives me a clean way to organize files and rediscover stuff I wrote months or years ago. Within software projects, a few text files in the doc directory suffice for readme&#8217;s and specs, and they get stored in our git repository for backup. For personal stuff, gitdocs automatically backs up my docs directory to the cloud. If I need a fancier looking document I generally switch to Google Docs, as I hate trying to reconcile and merge copies of office docs. But I always miss the speed and simplicity of editing a local text file, and I find myself back in text files before long, ast least for the initial drafting step.</p>
<p>Here are some tools I&#8217;ve tried that didn&#8217;t work well:</p>
<ul>
<li><strong>Rich text &#8220;office&#8221; docs stored on a file server,</strong> e.g. Word, Excel, StarOffice, etc. plus file servers, Sharepoint, DropBox, etc. The richness of these document formats is fantastic for loosely structured content, but I find I always get caught up in formatting content and rearranging it on the page instead of getting down to the real work of writing. (Now that I write code for a living, I grit my teeth when someone sends me an amazingly formatted rich text document. &#8220;How long did that take to do?&#8221;, I wonder, and &#8220;how much better could the actual content have been if you hadn&#8217;t spend so much time formatting?&#8221; Sorry, all you devs I spammed with beautiful specs at Microsoft.) I&#8217;ve also never found a filing system that worked for teams&#8230; they all turn into junkyards, and then into graveyards. So I try only to go here when I have to work with big, bulky documents, e.g. video, PhotoShop PSDs, and such.</li>
<li><strong>Calendars</strong>, e.g. Google Calendar, iCal, Outlook/Exchange. Some people are huge fans of putting everything on a calendar, arguing that it forces time-based tradeoffs, thereby avoiding overcommitment. I find this too constraining. It forces me to think of everything in half-hour or 1 hour chunks of time, which isn&#8217;t a natural fit to the kind of work I do right now.[1] It limits my flexibility in deciding what to work on at any given moment. I don&#8217;t want silly reminder popups interrupting me every 30 minutes. My calendar drifts towards being 100% blocked out, and then I start chopping time into 15 minute segments&#8230; madness. And I find myself spending way too much time trying to optimize which day and time each thing needs to happen on. Time trap.</li>
<li><strong>Defect trackers</strong>, e.g. JIRA, FogBugz. If you have a defect-tracking list that&#8217;s separate from your feature-tracking list, it&#8217;s easy to ignore, because it&#8217;s one more thing to pay attention to. Plus you have to continually make arbitrary decisions about whether something is a defect, a feature, or in between (&#8220;by design&#8221;, &#8220;spec bug&#8221;, etc.). This is a waste of everyone&#8217;s time&#8230; who cares what you call it, the question is &#8220;are you going to do it, and if so, when?&#8221; What&#8217;s more, the same people who build features are usually responsible for fixing bugs. So I try now to avoid the disconnect by using Pivotal, which combines &#8220;bugs&#8221;, &#8220;features&#8221; and &#8220;chores&#8221; into a single work list.</li>
<li><strong>Project schedulers</strong>, e.g. Microsoft Project, or Excel for critical paths. Gantt charts and the like are pretty, and the promise of accurate schedule prediction is enticing. But they&#8217;re a lot of work to build and maintain, and they rely on people being good at estimating work, managing risk, predicting uncertain future events, and sticking to commitments. In my experience, most people (myself included) are not very good at any of those things. So project schedulers lead you down the path of building a beatiful house of cards, only to have to reconstruct it every week or two when schedule predictions are inevitably proven wrong. They are good only for point-in-time &#8220;aspirational&#8221; planning, IMO. Some projects do need this (building a new airplane, say), but I&#8217;ve found that many do not.</li>
<li><strong>Task lists and To-Do&#8217;</strong>s, e.g. in gmail, Microsoft Outlook, Things, Basecamp, etc. These tools encourage you to break goals down into fine-grained tasks, which you then prioritize and check off when they&#8217;re done. I find I tend to put way too many things on task lists, at which point I promptly get overwhelmed with <a href="http://en.wikipedia.org/wiki/Analysis_paralysis">analysis paralysis</a>. Not for me.[2]</li>
</ul>
<p>As a rule, when I find myself spending more time <em>organizing the work</em> rather than immersed in <em>doing the work</em>, I have a broken process. At that point I stop, hit the reset button, and start over. The tools I&#8217;m using these days are great assistants: they help me arrange my plan, and then they step quietly out of the way.</p>
<p>Thanks Ilia for the nudge to write this.</p>
<hr />
<p>[1] Outlook/Exchange calendaring was an essential tool for me in my last few years at Microsoft, because most of my workday consisted of meetings. But even so, I used the calendar way too much. Better to leave some ad hoc unscheduled time in the day. Give serendipity a chance.</p>
<p>[2] I&#8217;m not sure why I find Trello so much more pleasurable than any of the task list and to-do list alternatives. After all, Trello is at its heart a list-making tool. Perhaps something subtle in its design helps me &#8220;chunk&#8221; list items at a more appropriate granularity. I&#8217;ll have to think more on that.</p>
<br />Filed under: <a href='http://myownpirateradio.com/category/making-things/'>making things</a> Tagged: <a href='http://myownpirateradio.com/tag/organization-tools-efficiency-lists/'>organization tools efficiency lists</a>, <a href='http://myownpirateradio.com/tag/simplicity/'>simplicity</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oshoma.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oshoma.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oshoma.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oshoma.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oshoma.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oshoma.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oshoma.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oshoma.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oshoma.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oshoma.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oshoma.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oshoma.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oshoma.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oshoma.wordpress.com/586/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=586&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://myownpirateradio.com/2012/02/20/me-organize-real-simple-now/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">oshoma</media:title>
		</media:content>
	</item>
		<item>
		<title>Don&#8217;t be afraid of the Start(up)</title>
		<link>http://myownpirateradio.com/2012/02/17/dont-be-afraid-of-the-startup/</link>
		<comments>http://myownpirateradio.com/2012/02/17/dont-be-afraid-of-the-startup/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 21:56:55 +0000</pubDate>
		<dc:creator>Oshoma</dc:creator>
				<category><![CDATA[making things]]></category>
		<category><![CDATA[corporate jobs]]></category>
		<category><![CDATA[startups]]></category>

		<guid isPermaLink="false">http://myownpirateradio.com/?p=564</guid>
		<description><![CDATA[I was pretty intimidated &#8212; and still am, frequently &#8212; by the idea of trying to create or join a startup. Perhaps you&#8217;re just out of school, flat broke, and thinking of getting into startups. If so, no problem: you have nothing to lose. But for people with a Stable Job in Corporate World, switching &#8230; <a href="http://myownpirateradio.com/2012/02/17/dont-be-afraid-of-the-startup/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=564&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was pretty intimidated &#8212; and still am, frequently &#8212; by the idea of trying to create or join a startup. Perhaps you&#8217;re just out of school, flat broke, and thinking of getting into startups. If so, no problem: you have nothing to lose. But for people with a Stable Job in Corporate World, switching to doing your own thing can be pretty scary.</p>
<p>&#8220;How will I pay the bills?&#8221;, you might ask. &#8220;What if it all goes wrong?&#8221;  &#8221;How will this look on my resume?&#8221; &#8220;What will my friends think?&#8221; &#8220;Will my family understand what I&#8217;m doing?&#8221;</p>
<p>Well, to the last of those, I will answer &#8220;probably not&#8221;. Unless you come from a family of entrepreneurs, your fam will probably have no clue what you&#8217;re doing. This will make for lots of awkward holiday dinner conversations. Oh well.</p>
<p>Will you have to take a pay cut? Probably. In exchange for your Stable Corporate Salary you will get to work on an idea you are passionate about, in a work style you own, with a chance at more long-run financial upside. If that tradeoff of short-term money for immediate happiness, immediate control, and long-term financial potential sounds bad to you, stop now.</p>
<p>As for the optics, I guarantee you will become a more interesting person, both on paper (your resume) and in the eyes of your friends. You will be learning new things, meeting new people, stretching yourself. Simply by taking this risk you will be markedly different from everyone in Corporate World. If you go back, you will be noticed. And that&#8217;s a good thing.</p>
<p>Lastly, what if it all does go sideways in Startup World? Consider this: when you exit a stable job in which you&#8217;ve done well, it&#8217;s highly likely you can turn right back around and knock on the door you just stepped out of. All those people you just said goodbye to <em>like you</em>. They <em>miss you</em>. They might even envy you. And they will be happy to see you again.</p>
<p>Pretty good worst case, no?</p>
<p>Don&#8217;t be afraid of the start.</p>
<br />Filed under: <a href='http://myownpirateradio.com/category/making-things/'>making things</a> Tagged: <a href='http://myownpirateradio.com/tag/corporate-jobs/'>corporate jobs</a>, <a href='http://myownpirateradio.com/tag/startups/'>startups</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oshoma.wordpress.com/564/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oshoma.wordpress.com/564/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oshoma.wordpress.com/564/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oshoma.wordpress.com/564/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oshoma.wordpress.com/564/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oshoma.wordpress.com/564/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oshoma.wordpress.com/564/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oshoma.wordpress.com/564/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oshoma.wordpress.com/564/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oshoma.wordpress.com/564/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oshoma.wordpress.com/564/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oshoma.wordpress.com/564/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oshoma.wordpress.com/564/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oshoma.wordpress.com/564/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=564&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://myownpirateradio.com/2012/02/17/dont-be-afraid-of-the-startup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">oshoma</media:title>
		</media:content>
	</item>
		<item>
		<title>#ThanksUnspace</title>
		<link>http://myownpirateradio.com/2012/02/11/thanksunspace/</link>
		<comments>http://myownpirateradio.com/2012/02/11/thanksunspace/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 16:59:13 +0000</pubDate>
		<dc:creator>Oshoma</dc:creator>
				<category><![CDATA[makers]]></category>
		<category><![CDATA[#ThanksUnspace]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[tech startups]]></category>
		<category><![CDATA[Toronto]]></category>
		<category><![CDATA[Unspace]]></category>

		<guid isPermaLink="false">http://myownpirateradio.com/?p=554</guid>
		<description><![CDATA[Last night I went to the Ruby Job Fair hosted by the good people at Unspace. It was a lovely opportunity to chat with many smart, friendly people who are building good things with software and hoping to either hire or be hired. Here&#8217;s what I was thinking, and what I wish I had stood &#8230; <a href="http://myownpirateradio.com/2012/02/11/thanksunspace/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=554&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last night I went to the Ruby Job Fair hosted by the good people at <a href="http://unspace.ca/">Unspace</a>. It was a lovely opportunity to chat with many smart, friendly people who are building good things with software and hoping to either hire or be hired. Here&#8217;s what I was thinking, and what I wish I had stood up to say out loud:</p>
<p>For a brief while, somewhere around beer number three, I had a flashback to 2005 when I moved to Toronto. Things were very quiet in the tech startup scene. Ruby on Rails was just starting to take off. <a href="http://democamp.com/about/">DemoCamp</a> had yet to begin. Lots of smart people were building things with software here, but most of them worked out of IT departments in office towers on Bay Street. The only &#8220;tech startup&#8221; people could commonly name was RIM, and it was already 10 years old and publicly traded by then.</p>
<p>Things have changed. A lot. There were over 100 attendees at Unspace HQ last night, with at least 20 employers pitching their companies, all vying to hire Ruby developers. I saw a lot of familiar faces, but also many new people I&#8217;d never met before. And pretty much every employer in the room was representing a startup. <a href="http://www.joeydevilla.com">Joey de Villa</a> was there from <a href="http://shopify.com">Shopify</a>. <a href="http://twitter.com/paulsehr">Paul</a> and <a href="http://twitter.com/gevason">Geoff</a> from <a href="http://www.communitylend.com/">CommunityLend</a>. <a href="http://katherinehague.com/">Katherine Hague</a> and Phil from <a href="http://shoplocket.com/">ShopLocket</a>. <a href="http://www.engag.io/about/team">William and Bart</a> from <a href="http://engag.io">Engagio</a>, freshly funded by Fred Wilson of Union Square Ventures. <a href="http://twitter.com/sobes">Paul</a> from <a href="http://gaggleup.com/">GaggleUp</a>. <a href="hirewinston.com/team">Krista and Aidan</a> from <a href="http://hirewinston.com">Winston</a>. Mike with his University Health Network project. Startups everywhere.</p>
<p>That says a lot about Ruby on Rails; it&#8217;s clearly got great traction in the web startup space here. It also says a lot about Toronto and the community that has grown here around Ruby, Rails, and web startups. The barriers to creating startups are coming down. Starting a company is now much more socially acceptable here, desirable even. Designers and developers who want to be true craftspeople increasingly &#8220;drop out&#8221; of mainstream IT work to join startups. Technologies like Ruby, Rails, git and Heroku continue to reduce the cost of building and deploying great web software. And, at least from my little corner of the web, the local demand for web developers and designers seems to be at an all time high. All subjective, I have no hard numbers to offer, but I believe it&#8217;s real.</p>
<p>The startup scene in Toronto is really taking off.</p>
<p>I <em>love</em> that fact.</p>
<p>Much of this has come about organically, due to these enabling factors kicking in at the same time. But it really struck me last night that the community piece is different. This community didn&#8217;t just spontaneously assemble itself and become awesome overnight. Instead, a small handful of very diligent community builders, most notably <a href="http://twitter.com/peteforde">Pete Forde</a>, <a href="http://twitter.com/meghatron">Meghann Millard</a> and their amazing crew of coworkers at <a href="http://unspace.ca">Unspace</a>, worked hard and gave freely of their time and energy to help seed and build this. Free advice. Encouraging pats on the back. <a href="http://unspace.ca/">Rails Pub Nites</a>. Technologic. <a href="http://unspace.ca/blog/we-are-rubyfringe/">Ruby Fringe</a>. <a href="http://futureruby.com">FutureRuby</a>. <a href="http://unspace.ca/blog/ruby-job-fair-2012/">Ruby Job Fairs</a>. Friendship, even. They have done a ton to foster and ignite the web startup community here in Toronto. And they continue to do so.</p>
<p>So I will say it here, and hope others repeat it: <strong>Thank you, Unspace. You are doing great things for Toronto. We are proud of you.</strong></p>
<p>#ThanksUnspace</p>
<p>Update 2012-02-13: Fred Wilson personally funded Egagio. The funding is not from Union Square Ventures. Thanks William for the correction.</p>
<br />Filed under: <a href='http://myownpirateradio.com/category/makers/'>makers</a> Tagged: <a href='http://myownpirateradio.com/tag/thanksunspace/'>#ThanksUnspace</a>, <a href='http://myownpirateradio.com/tag/community/'>community</a>, <a href='http://myownpirateradio.com/tag/ruby-on-rails/'>ruby on rails</a>, <a href='http://myownpirateradio.com/tag/tech-startups/'>tech startups</a>, <a href='http://myownpirateradio.com/tag/toronto/'>Toronto</a>, <a href='http://myownpirateradio.com/tag/unspace/'>Unspace</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oshoma.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oshoma.wordpress.com/554/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oshoma.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oshoma.wordpress.com/554/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oshoma.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oshoma.wordpress.com/554/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oshoma.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oshoma.wordpress.com/554/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oshoma.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oshoma.wordpress.com/554/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oshoma.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oshoma.wordpress.com/554/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oshoma.wordpress.com/554/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oshoma.wordpress.com/554/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=554&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://myownpirateradio.com/2012/02/11/thanksunspace/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">oshoma</media:title>
		</media:content>
	</item>
		<item>
		<title>&#8220;Pay as you go&#8221; versus &#8220;Buy now, with no money down!&#8221;</title>
		<link>http://myownpirateradio.com/2012/02/10/pay-as-you-go-versus-buy-now-with-no-money-down/</link>
		<comments>http://myownpirateradio.com/2012/02/10/pay-as-you-go-versus-buy-now-with-no-money-down/#comments</comments>
		<pubDate>Fri, 10 Feb 2012 18:48:13 +0000</pubDate>
		<dc:creator>Oshoma</dc:creator>
				<category><![CDATA[makers]]></category>
		<category><![CDATA[bacon]]></category>
		<category><![CDATA[happiness]]></category>
		<category><![CDATA[hero-working]]></category>
		<category><![CDATA[management]]></category>

		<guid isPermaLink="false">http://myownpirateradio.com/?p=510</guid>
		<description><![CDATA[Or, &#8220;The Tortoise, the Hare, and the Unicorn&#8221;. I spend a lot of my waking hours trying to create nice things with software. I care about my efficiency, both in the short run and the long run. It&#8217;s my time I&#8217;m burning, after all&#8230; it&#8217;s finite. And so the topic of creative efficiency has been &#8230; <a href="http://myownpirateradio.com/2012/02/10/pay-as-you-go-versus-buy-now-with-no-money-down/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=510&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>Or, &#8220;The Tortoise, the Hare, and the Unicorn&#8221;.</em></p>
<p>I spend a lot of my waking hours trying to create nice things with software. I care about my efficiency, both in the short run and the long run. It&#8217;s my time I&#8217;m burning, after all&#8230; it&#8217;s finite. And so the topic of creative efficiency has been on my mind lately.  I think it&#8217;s a vital topic in the creation of many different sorts of things &#8212; design, software, food, movies, and books, for starters &#8212; but I&#8217;ll stick to my knitting here and write just about software.</p>
<p>There seem to be two different schools of thought in software development: let&#8217;s call them &#8220;Pay as you go&#8221; and &#8220;Buy now, with no money down!&#8221;. (Yes, with an exclamation mark.)</p>
<p>Tech industry rags like TechCrunch like to publish stories in the &#8220;Buy now, with no money down!&#8221; category. They tend to run something like this:</p>
<blockquote><p>I was sitting around the other day inventing awesome ideas like I do. As usual I came up with some exceptional stuff, and this time I chose one of my particularly outstanding ideas and decided to go for it. Since I am already doing an 80-hour a week job at Amazing-Company.com I figured it was no big deal to do a little more on the side. I asked three of my favorite genius buddies to go in on it with me. We got all stoked up on &lt;favorite energy drink&gt;, busted out &lt;latest shiny hipster technology&gt; and started working all-nighters and weekends. A couple of weeks later, bingo! Out popped our killer app. We knew it would be awesome, but damn if it isn&#8217;t even more more awesome than we planned! We&#8217;ve already sold 3 million copies on &lt;App Store | Android Market&gt; and the traffic from TechCrunch and Hacker News brought our site to its knees. And that&#8217;s just the MVP, yo. We took a 2-hour break yesterday and now we&#8217;re working on version 2.</p></blockquote>
<p>Horseshit.</p>
<p>Stories like this probably drive a lot of ad revenue, but they are misleading, at best, and damaging, at worst, for people who actually want to create something good. Here&#8217;s why:</p>
<p><strong>Unicorns are rare:</strong> First off, we would all love to work with geniuses who consistently churn out large amounts of production-quality code in short amounts of time. I&#8217;ve had the pleasure of working with a few people like this. They do exist. Alas, they are only slightly less rare than unicorns. And they tend to be quite selective about what they want to work on. So while you should certainly seek smart people to work with, don&#8217;t peg your business plan on hooking up with a bunch of geniuses, &#8216;cuz it probably ain&#8217;t gonna happen. (Dear reader, if you are a genius-unicorn-type-person, please stop reading now and email me as I&#8217;d love to work with you on my next awesome idea. Seriously.)</p>
<p><strong>Hero-working sucks:</strong> Secondly, the &#8220;hero&#8221; work method is painful and usually long-term-bad, for reasons I outline below. For every company that succeeds working this way there must be hundreds who fail. Popular media tends to skip over those failures and glorify / whitewash the successes.</p>
<p>Here&#8217;s the classic &#8220;Buy now, with no money down!&#8221; storyline, as commonly found in popular press: Round up some <del>unicorns</del> geniuses. Incent them to work as many hours as humanly possible. Fuel them with food, drinks, money, candy, bacon, apples, hay&#8230; whatever motivates them. Set hardcore release dates and explain repeatedly and heatedly how vital it is that the dates are met. Ship. Repeat. Massive success!</p>
<p>So exciting!</p>
<blockquote><p>Unicorns! Hardcore release dates! Bacon!</p></blockquote>
<p>And here&#8217;s how it normally plays out in reality: due to a curious shortage of <del>unicorns</del> geniuses, management reluctantly hires merely-smart people, wishing out loud they were smarter. Managers amp up the reality distortion field and succeed in convincing everyone to work a lot. Perhaps they are lucky and the initial product release gets out the door quickly. And if they&#8217;re really lucky the product will work for a while. But they eventually discover that under the intense pressure and grueling work conditions they&#8217;ve created, employees have&#8230;</p>
<ol>
<li>Made more mistakes.</li>
<li>Cut corners on quality. Most commonly, by testing only manually, instead of writing automated tests. Or by pushing half-finished code under the carpet, hoping it won&#8217;t be found until much later.</li>
<li>Hacked and flailed at the code until it works, instead of building it to last.</li>
<li>Lost motivation.</li>
<li>Gone emotionally flat. (Burn-out = numbness.)</li>
<li>Disengaged with the job/team/workplace.</li>
</ol>
<p>This is why I call it, &#8220;Buy now, with no money down!&#8221;. It&#8217;s equivalent to taking out a high interest loan, in that there&#8217;s never a convenient time to pay it back, you <em>must</em> eventually pay, and the payback really hurts.</p>
<p>So what does payback look like? More time to fix bugs, fill in the gaps, and rewrite shitty code when you want to upgrade and extend the system. More time to rehabilitate, re-recruit, or replace burnt-out and demoralized employees. And more cost scrambling to retain pissed-off customers and acquire new ones.</p>
<p>I&#8217;m not making this stuff up. For real-world examples, read the Steve Jobs bio. Steve worked exactly this way.</p>
<p>The two exceptions I can think of where you don&#8217;t have to pay off the loan are toy apps, i.e. software that is trivially simple, and throwaway code, i.e. code you will use for only a very short amount of time and then archive or sell to a naive buyer.</p>
<p>So what&#8217;s an alternative, you ask?</p>
<ul>
<li>Hire good people. They don&#8217;t have to be geniuses, but they do have to be smart. You should be able to find people who are instinctively driven to get the right thing done, have great potential, and have passion for the work itself.</li>
<li>Invest continually in good, simple design. One should always strive for this, but it takes time, money, and skill (hard to find). This makes it tempting to underinvest in design and just skip straight to writing code, especially if you yourself know how to code. That&#8217;s usually a mistake. Story for another day.</li>
<li>Build atop existing successes. In software, this means things like (a) making smart choices in platforms and tools; (b) avoiding <a href="http://en.wikipedia.org/wiki/Not_invented_here">Not Invented Here</a> syndrome; (c) copying/cloning, existing successful patterns, which can be very effective, but doesn&#8217;t obviate you from the need to differentiate your product.</li>
<li>Bake in quality up front, when you build it, instead of deferring problems to be fixed later. A big part of this is testing the product, both manually and with an automated test suite. Features aren&#8217;t &#8220;done&#8221; until you&#8217;ve built repeatable automated tests.</li>
<li>Take the time and care needed to keep things simple as the project grows. This means reusing and refactoring code you&#8217;ve already built, cleaning up messes you make along the way, fixing performance bottlenecks as they come up, and so on. It&#8217;s like weeding a garden.</li>
<li>Work at a sustainable pace. When you must, burn the midnight oil, but only as a band-aid for emergencies, i.e. <em>urgent unplanned work</em>. Don&#8217;t do this as part of your normal plan.</li>
<li>Use historical data to predict what your future velocity will be</li>
</ul>
<p>I call this approach &#8220;Pay as you go&#8221;. I&#8217;ve found it to be a more humane and efficient way to work, both in the short term and long term. I aspire to work this way. I am getting to be OK at it.</p>
<p>Some people will scoff at this and call it too idealistic or unrealistic. &#8220;By the time you get your v1 out, your competitor will already have locked up all the customers&#8221;. Investors and execs may ask, &#8220;why aren&#8217;t we moving as fast as Competitor X? Are you guys just being lazy?&#8221;. It does require more trust: you have to place faith in the product team, trust their estimates, and trust that they are working as hard as they can to build a great product, even when you don&#8217;t see them sweating bullets. Or building a pile of empty Red Bull cans on their desk. Or punching in 12-hour days, 7 days a week.</p>
<p>But it can yield great benefits. You&#8217;ll probably build a better quality product, for starters&#8230;  a product customers will be more likely to love. You accrue less technical debt in the codebase.* You can ramp up new employees quickly because your system is clean and simple. Your employees aren&#8217;t burnt out, and they like the work. You can predict with honesty and higher precision when you&#8217;ll actually ship something new that you&#8217;re committing to, because nobody is lying about dates, or lying about quality, or about to quit. And your test suite enables you to add new features with fairly high confidence that you aren&#8217;t breaking existing stuff. Long term, you come out ahead.</p>
<p>There&#8217;s more; these are just the highlights.</p>
<p>Pay as you go may not be as glamorous as &#8220;Buy now, with no money down!&#8221;, and it may not get you written up in TechCrunch. But it&#8217;s achievable, and affordable too.</p>
<hr />
<p>*  I&#8217;m not necessarily saying to shoot for zero technical debt&#8230; zero technical debt is often a silly and suboptimal goal. But carrying only a low amount of debt is good, because it enables you to move forward at consistent speed instead of being forced to stop for a month or two to fix bugs.</p>
<br />Filed under: <a href='http://myownpirateradio.com/category/makers/'>makers</a> Tagged: <a href='http://myownpirateradio.com/tag/bacon/'>bacon</a>, <a href='http://myownpirateradio.com/tag/happiness/'>happiness</a>, <a href='http://myownpirateradio.com/tag/hero-working/'>hero-working</a>, <a href='http://myownpirateradio.com/tag/management/'>management</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oshoma.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oshoma.wordpress.com/510/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oshoma.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oshoma.wordpress.com/510/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oshoma.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oshoma.wordpress.com/510/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oshoma.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oshoma.wordpress.com/510/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oshoma.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oshoma.wordpress.com/510/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oshoma.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oshoma.wordpress.com/510/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oshoma.wordpress.com/510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oshoma.wordpress.com/510/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=510&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://myownpirateradio.com/2012/02/10/pay-as-you-go-versus-buy-now-with-no-money-down/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">oshoma</media:title>
		</media:content>
	</item>
		<item>
		<title>Bizzzy</title>
		<link>http://myownpirateradio.com/2012/02/03/bizzzy/</link>
		<comments>http://myownpirateradio.com/2012/02/03/bizzzy/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 22:05:04 +0000</pubDate>
		<dc:creator>Oshoma</dc:creator>
				<category><![CDATA[makers]]></category>

		<guid isPermaLink="false">http://myownpirateradio.com/?p=503</guid>
		<description><![CDATA[These days I&#8217;m working on three different software startups: CampusPerks, where I act as CTO; 5 Blocks Out, which I co-own with my lovely wife Katrin; and a third still-under-wraps project that Katrin and I are noodling on with two other friends. We&#8217;re also the proud owner (property?) of a charming and incredibly energetic 3-year &#8230; <a href="http://myownpirateradio.com/2012/02/03/bizzzy/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=503&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>These days I&#8217;m working on three different software startups: CampusPerks, where I act as CTO; 5 Blocks Out, which I co-own with my lovely wife Katrin; and a third still-under-wraps project that Katrin and I are noodling on with two other friends. We&#8217;re also the proud owner (property?) of a charming and incredibly energetic 3-year old daughter.</p>
<p>When someone asks what I do, I explain this. Inevitably the response is a long, blank stare, followed by one of:<br />
- Are you out of your f&#8217;ing mind?<br />
- Why are you doing this to yourself?<br />
- How do you handle working on three entirely different startups?</p>
<p>Assume for the moment that I have good reasons for doing this, and that I may or may not be insane. Let&#8217;s talk about &#8220;how you do it&#8221;.</p>
<p>First of all, I try to choose very carefully what to work on. I want to work only on things I am passionate about. I like to build things I can honestly be proud of. And I aim to surround myself with people I really like and respect. After all, life is short&#8230; all else held equal, why would you work on a project you don&#8217;t really like, or produce something that customers/consumers don&#8217;t really like, or work with bozos? You&#8217;d have to pay me an immense amount of money to do that.</p>
<p>I&#8217;ve been fortunate to find coworkers who are willing to work with me in this way. More on that later.</p>
<p>I&#8217;ve been fortunate also to find projects with synergy. These are all software-based projects. My role is similar on each one: I own definition and delivery of the product, meaning the product plan and everything it takes to get it designed, built, and operating. I&#8217;m using many of the same technologies on each project, so that switching from one project to the next costs me very little time. I use many of the same processes and tools (git, Pivotal Tracker, et. al.) And most of the things I learn on one project apply well to the others.</p>
<p>I structure my time carefully. My weekdays generally look like this: up by 7:00; breakfast; chase 3-year old around until she is dressed; commute; daycare dropoff, some days; daytime work hours; read news during lunch; daycare pickup, some days; dinner / family time / playtime; bathtime; bedtime stories; and usually some 9pm to midnight work. Notably missing from this routine: exercise; sufficient family time; sufficient free time to think; margin for error. (Hint: you should not do what I am doing.)</p>
<p>Mondays through Thursdays are CampusPerks days. Fridays through Sundays I reserve for my other two projects. Urgent stuff like service outages interrupt my routine, but this is rare&#8230; all of these web sites rarely go down because I write bug-free code. (Little programmer joke there.) Firewalling projects from each other in this way is vital; without this approach I would be too mentally fragmented, and unable to reach a state of flow on any one project.</p>
<p>I also try to be draconian with my time, by which I mean things like being frugal with commitments, saying &#8220;no&#8221; to most new opportunities and requests (thus avoiding death by a thousand cuts), and avoiding distractions that fritter away time (cable TV, I do not miss you, not even one little bit). That said, I wish I had more time. I miss saying, &#8220;yes&#8221;. When you have a child, especially, you desperately crave more time to say &#8220;yes&#8221;.</p>
<p>I try to chunk work into small batches: my tasks take a few hours or at most one day, instead of days or weeks. There are so many reasons to do this, but three biggies are that you get more flexibility in choosing what to do next, you learn quickly whether you&#8217;re doing something well, and you get frequent satisfaction from finishing something. &#8220;Small batches&#8221; is something I&#8217;ve only recently learnt about, and now I&#8217;m trying hard to double down on it. I&#8217;d like to write more about it a different day.</p>
<p>I separate my workspaces too. Two different office spaces, three different web browsers, three different gmail accounts (one for each project), and so on. One computer, though. Many backups.</p>
<p>There&#8217;s lots to improve in all this, of course, but&#8230; it&#8217;s working. I&#8217;m making forward progress, a little each day. And managing to have fun while doing it.</p>
<p>What&#8217;s hard:<br />
- Saying no<br />
- Remembering passwords<br />
- Remembering which services/accounts to use for each project<br />
- Staying focused on doing the right thing next<br />
- Keeping energy levels up and consistent<br />
- Being entirely present on the task at hand (see: energy)<br />
- Having the patience to be a good parent, coworker, etc. (see: energy)<br />
- Exercising<br />
- Carving out time for play (I try to remember: having the time and means to play is one of the reasons I do all these other things!)</p>
<p>Busy. Fun. Busy. Fun. Busyfun.</p>
<br />Filed under: <a href='http://myownpirateradio.com/category/makers/'>makers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oshoma.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oshoma.wordpress.com/503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oshoma.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oshoma.wordpress.com/503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oshoma.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oshoma.wordpress.com/503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oshoma.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oshoma.wordpress.com/503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oshoma.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oshoma.wordpress.com/503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oshoma.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oshoma.wordpress.com/503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oshoma.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oshoma.wordpress.com/503/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=503&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://myownpirateradio.com/2012/02/03/bizzzy/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">oshoma</media:title>
		</media:content>
	</item>
		<item>
		<title>Startup Fever</title>
		<link>http://myownpirateradio.com/2012/01/27/startup-fever/</link>
		<comments>http://myownpirateradio.com/2012/01/27/startup-fever/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 20:33:09 +0000</pubDate>
		<dc:creator>Oshoma</dc:creator>
				<category><![CDATA[makers]]></category>

		<guid isPermaLink="false">http://myownpirateradio.com/?p=481</guid>
		<description><![CDATA[It&#8217;s time for a new chapter. I&#8217;ve been a terribly inconsistent writer on MyOwnPirateRadio over the years. I&#8217;ve written sporadically. I&#8217;ve written snotty rants, mind-numbing trivia, and esoteric technology crib notes. I&#8217;ve written about completely random and unrelated topics. In short, I&#8217;ve written so poorly that only my most patient, masochistic, and excitement-starved readers are &#8230; <a href="http://myownpirateradio.com/2012/01/27/startup-fever/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=481&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time for a new chapter.</p>
<p>I&#8217;ve been a terribly inconsistent writer on MyOwnPirateRadio over the years. I&#8217;ve written sporadically. I&#8217;ve written snotty rants, mind-numbing trivia, and esoteric technology crib notes. I&#8217;ve written about completely random and unrelated topics. In short, I&#8217;ve written so poorly that only my most patient, masochistic, and excitement-starved readers are still around. (Hi, mom! Oh, wait, she doesn&#8217;t have an internet connection.) So, dear reader(s), I&#8217;m sorry. I apologize. I&#8217;ve been a shit.</p>
<p>But I do want to write &#8212; it makes me happy &#8212; and so I&#8217;m going to start again.</p>
<p>I will write about one topic:</p>
<blockquote><p>Life trying to get startups off the ground.</p></blockquote>
<p>This will not be &#8220;How I succeeded at getting my startup off the ground&#8221;, or &#8220;My genius recipe for gobsmacking success in startup life&#8221;, or, &#8221;How I built and sold my company for $10M in just 3 months with only 8 toothpicks, a pair of tweezers, and a tenth of my staggeringly massive brainpower, bitch&#8221;. This is not one of those blogs. Gloating will be kept to an absolute minimum. I intend to write more in the vein of &#8220;How I&#8217;ve worked like crazy on too many projects at once for 5+ years with little to show for it except a much smaller bank account, a bunch of hard-earned lessons, and a smug sense of satisfaction. Please send help.&#8221;.</p>
<p>I will write as openly and honestly as I can.</p>
<p>I will try really hard to write regularly, at least once a week.</p>
<p>I will spend no more than 30 minutes writing a post.</p>
<p>I will avoid the temptation to portray this lifestyle as glamorous. &#8216;Cuz it ain&#8217;t. Read me?</p>
<p>And I want to feel good about doing this. I have a lot of &#8220;priority guilt&#8221;&#8230; why write blog posts when I should be writing code, helping out at home, doing some exercise, or becoming a better husband and dad? I also fear the embarassment of screwing up in public. But I&#8217;ve come to grips with a few realities: I need to write; my privacy is largely an illusion anyway; and I&#8217;m much less interesting to everyone else than I like to think.</p>
<p>I&#8217;ve put off starting this for a very long time now, so I&#8217;d better post this before I manage to stop myself again.</p>
<p>So here goes: Startup Fever. Wish me luck.</p>
<p>P.S. How Canadian of me, to start off with an apology. Represent!</p>
<br />Filed under: <a href='http://myownpirateradio.com/category/makers/'>makers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oshoma.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oshoma.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oshoma.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oshoma.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oshoma.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oshoma.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oshoma.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oshoma.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oshoma.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oshoma.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oshoma.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oshoma.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oshoma.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oshoma.wordpress.com/481/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=481&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://myownpirateradio.com/2012/01/27/startup-fever/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">oshoma</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting Heroku Cedar and Rails 3.1 Asset Pipeline to Play Nicely Together</title>
		<link>http://myownpirateradio.com/2012/01/01/getting-heroku-cedar-and-rails-3-1-asset-pipeline-to-play-nicely-together/</link>
		<comments>http://myownpirateradio.com/2012/01/01/getting-heroku-cedar-and-rails-3-1-asset-pipeline-to-play-nicely-together/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 03:09:47 +0000</pubDate>
		<dc:creator>Oshoma</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[asset pipeline]]></category>
		<category><![CDATA[cedar]]></category>
		<category><![CDATA[dalli]]></category>
		<category><![CDATA[heroku]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://myownpirateradio.com/?p=474</guid>
		<description><![CDATA[I recently migrated a Ruby on Rails 3.1 app from the Heroku Bamboo stack to Heroku Cedar. If you&#8217;re doing the same, here are a few notes to help avoid snags on getting the Rails Asset Pipeline working efficiently. Unlike Bamboo, Cedar does not offer Varnish as a reverse proxy cache, nor does it automatically &#8230; <a href="http://myownpirateradio.com/2012/01/01/getting-heroku-cedar-and-rails-3-1-asset-pipeline-to-play-nicely-together/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=474&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I recently migrated a Ruby on Rails 3.1 app from the <a href="http://devcenter.heroku.com/articles/bamboo">Heroku Bamboo stack</a> to <a href="http://devcenter.heroku.com/articles/cedar">Heroku Cedar</a>. If you&#8217;re doing the same, here are a few notes to help avoid snags on getting the Rails Asset Pipeline working efficiently.</p>
<p>Unlike Bamboo, Cedar does not offer Varnish as a reverse proxy cache, nor does it automatically gzip content. You need to do it yourself. Heroku recommends:</p>
<ol>
<li>Use memcached, with <a href="http://devcenter.heroku.com/articles/memcache#deploying_to_heroku">Dalli as the memcached client</a>. Make sure to follow the Rails 3 section.</li>
<li><a href="http://devcenter.heroku.com/articles/http-routing">Use Rack::Cache</a> as a substitute for Varnish. Heroku links to <a href="http://www.saturnflyer.com/blog/jim/2010/06/24/rack-cache-on-heroku-with-memcached/">this article which explains how to integrate Heroku with Rack::Cache.</a> I couldn&#8217;t get it to work, so I hunted around and pieced together the folllowing riff.</li>
</ol>
<div>In your runtime environment file (e.g. production.rb), add this:</div>
<pre>require 'rack-cache'
My::Application.configure do
...
  # Enable Rack::Cache
  config.middleware.use Rack::Cache,
   :metastore =&gt; "memcached://#{ENV['MEMCACHE_SERVERS']}/meta",
   :entitystore =&gt; "memcached://#{ENV['MEMCACHE_SERVERS']}/body"</pre>
<p>You can also set HTTP headers in production.rb as follows. (3600 is an example value, make this whatever you want.)</p>
<pre># Add HTTP headers to cache static assets for an hour
config.static_cache_control = "public, max-age=3600"</pre>
<p>And you may want to add this to your config.ru to get gzip working:</p>
<pre>use Rack::Deflater</pre>
<p>References:</p>
<div>
<ul>
<li><a href="http://devcenter.heroku.com/articles/rails3">Getting Started with Rails 3.0 on Heroku/Cedar</a></li>
<li><a href="http://blog.marc-seeger.de/2010/12/09/added-caching-to-my-blog/">Added Caching to My Blog</a></li>
<li><a href="http://jackchu.com/rails-31-asset-pipeline-content-delivery-netw">Rails 3.1 Asset Pipeline, Content Delivery Networks and Rack::Cache</a></li>
<li><a href="http://snippets.aktagon.com/snippets/302-How-to-setup-and-use-Rack-Cache-with-Rails-2-3-0-RC-1">How to Setup and Use Rack::Cache with Rails 2.3.0 RC1</a></li>
<li><a href="http://www.randomhacks.net/articles/2011/06/03/heroku-celadon-cedar-review">Heroku Celadon Cedar Review</a></li>
</ul>
</div>
<br />Filed under: <a href='http://myownpirateradio.com/category/technology/'>technology</a>, <a href='http://myownpirateradio.com/category/uncategorized/'>Uncategorized</a> Tagged: <a href='http://myownpirateradio.com/tag/asset-pipeline/'>asset pipeline</a>, <a href='http://myownpirateradio.com/tag/cedar/'>cedar</a>, <a href='http://myownpirateradio.com/tag/dalli/'>dalli</a>, <a href='http://myownpirateradio.com/tag/heroku/'>heroku</a>, <a href='http://myownpirateradio.com/tag/memcached/'>memcached</a>, <a href='http://myownpirateradio.com/tag/rails/'>rails</a>, <a href='http://myownpirateradio.com/tag/ruby-on-rails/'>ruby on rails</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oshoma.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oshoma.wordpress.com/474/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oshoma.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oshoma.wordpress.com/474/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oshoma.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oshoma.wordpress.com/474/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oshoma.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oshoma.wordpress.com/474/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oshoma.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oshoma.wordpress.com/474/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oshoma.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oshoma.wordpress.com/474/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oshoma.wordpress.com/474/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oshoma.wordpress.com/474/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=474&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://myownpirateradio.com/2012/01/01/getting-heroku-cedar-and-rails-3-1-asset-pipeline-to-play-nicely-together/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">oshoma</media:title>
		</media:content>
	</item>
		<item>
		<title>Pressly Makes Sense</title>
		<link>http://myownpirateradio.com/2011/09/13/pressly-makes-sense/</link>
		<comments>http://myownpirateradio.com/2011/09/13/pressly-makes-sense/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 02:27:54 +0000</pubDate>
		<dc:creator>Oshoma</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[Jeff Brenner]]></category>
		<category><![CDATA[NuLayer]]></category>
		<category><![CDATA[Peter Kieltyka]]></category>
		<category><![CDATA[Pressly]]></category>
		<category><![CDATA[startups]]></category>
		<category><![CDATA[Toronto]]></category>

		<guid isPermaLink="false">http://myownpirateradio.com/?p=464</guid>
		<description><![CDATA[Hey Jeff and Peter, I just finished watching the videos of you launching Pressly at TechCrunch Disrupt. Well done. You and your team should be really proud of what you&#8217;ve achieved. I wish you&#8217;d been given more opportunity to elaborate on your strategy to win. Instead you had to spend most of the Q&#38;A time defending Pressly&#8217;s raison &#8230; <a href="http://myownpirateradio.com/2011/09/13/pressly-makes-sense/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=464&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hey <a title="@jeffbrenner" href="http://twitter.com/jeffbrenner">Jeff</a> and <a title="@PeterK" href="http://twitter.com/peterk">Peter</a>,</p>
<p>I just finished watching the <a href="http://techcrunch.com/2011/09/12/pressly-turns-websites-into-tablet-friendly-html5-web-apps/">videos</a> of you launching <a href="http://pressly.com">Pressly</a> at TechCrunch Disrupt. Well done. You and your team should be really proud of what you&#8217;ve achieved.</p>
<p>I wish you&#8217;d been given more opportunity to elaborate on your strategy to win. Instead you had to spend most of the Q&amp;A time defending Pressly&#8217;s raison d&#8217;etre to Dustin Moskovitz et. al. That was unfortunate; deck stacked against you. But you did a nice job staying the high road and giving solid answers to the skeptical questions.</p>
<p>Jeff, I loved your comment about publishers being great at telling stories, and not so great at building technology innovations to deliver those stories (in compelling new ways, with compelling profitability). It&#8217;s true. And it&#8217;s good, I think, that Pressly is joining a cadre of other players in this same space. Existence of multiple players is proof that the market is ready. And publishers need lots of options right now, especially ones that let them do fast, cheap experiments. Pressly can help them do that.</p>
<p>I suppose controversy-seekers could frame this as &#8220;walled garden versus open web, round 2&#8243;. That was my very first thought after watching the video. But that isn&#8217;t really the case, is it? Neither the iPad/App Store ecosystem nor HTML is going away anytime soon. There will be multiple winners in this market, with multiple technology bets. Consumers will buy many different kinds of devices, and consume content in many different places and ways. It&#8217;s probably more accurate to compare Pressly&#8217;s space to the blogging services market back when it was just getting going: Blogger, WordPress, Movable Type, and so on. Lots of experimentation and diversity, with consolidation down the road.</p>
<p>My biggest takeaway on all this is that Pressly makes a lot of sense from a publisher&#8217;s point of view. Publishers are losing sleep over how to follow their audiences to digital devices without abandoning all the assets they hold dear: their brand, destination websites, exclusive content, and UX. And with limited capital and time/runway remaining for technology investment (or investment of any kind) they have to be brutally frugal and thoughtful about what bets they make. Pressly has good answers on the economics (very little cash up front), the technology (more open), the user experience (niiice), and control issues. Clearly The Economist and Toronto Star think so, and I bet many others will reach the same conclusion.</p>
<p>I hope Pressly does really well.</p>
<p>Let me know when I can buy some shares.</p>
<p>osh</p>
<br />Filed under: <a href='http://myownpirateradio.com/category/technology/'>technology</a> Tagged: <a href='http://myownpirateradio.com/tag/jeff-brenner/'>Jeff Brenner</a>, <a href='http://myownpirateradio.com/tag/nulayer/'>NuLayer</a>, <a href='http://myownpirateradio.com/tag/peter-kieltyka/'>Peter Kieltyka</a>, <a href='http://myownpirateradio.com/tag/pressly/'>Pressly</a>, <a href='http://myownpirateradio.com/tag/startups/'>startups</a>, <a href='http://myownpirateradio.com/tag/toronto/'>Toronto</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oshoma.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oshoma.wordpress.com/464/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oshoma.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oshoma.wordpress.com/464/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oshoma.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oshoma.wordpress.com/464/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oshoma.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oshoma.wordpress.com/464/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oshoma.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oshoma.wordpress.com/464/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oshoma.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oshoma.wordpress.com/464/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oshoma.wordpress.com/464/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oshoma.wordpress.com/464/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=464&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://myownpirateradio.com/2011/09/13/pressly-makes-sense/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">oshoma</media:title>
		</media:content>
	</item>
		<item>
		<title>How to query for count of Facebook Likes and Shares on a specific URL</title>
		<link>http://myownpirateradio.com/2011/09/13/how-to-query-for-count-of-facebook-likes-and-shares-on-a-specific-url/</link>
		<comments>http://myownpirateradio.com/2011/09/13/how-to-query-for-count-of-facebook-likes-and-shares-on-a-specific-url/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 13:54:59 +0000</pubDate>
		<dc:creator>Oshoma</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook API]]></category>
		<category><![CDATA[fql]]></category>
		<category><![CDATA[likes]]></category>
		<category><![CDATA[query]]></category>

		<guid isPermaLink="false">http://myownpirateradio.com/?p=460</guid>
		<description><![CDATA[If you have a site hosting the Facebook Like button you may at times want to query Facebook for the number of Likes displayed within the button. Here&#8217;s how. I couldn&#8217;t find a way to do it with Facebook&#8217;s Graph API, but there&#8217;s good support for it in the FQL API. You can craft up &#8230; <a href="http://myownpirateradio.com/2011/09/13/how-to-query-for-count-of-facebook-likes-and-shares-on-a-specific-url/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=460&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you have a site hosting the Facebook Like button you may at times want to query Facebook for the number of Likes displayed within the button. Here&#8217;s how.</p>
<p>I couldn&#8217;t find a way to do it with <a href="http://www.google.ca/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CBcQFjAA&amp;url=http%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Freference%2Fapi%2F&amp;ei=aF9vTuq5DbOisQLst8zxCQ&amp;usg=AFQjCNEP4xtTFxgkUvbpIhYIIYpvTo9VLg">Facebook&#8217;s Graph API</a>, but there&#8217;s good support for it in the <a href="http://www.google.ca/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CBcQFjAA&amp;url=http%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Freference%2Ffql%2F&amp;ei=dl9vToDVLaumsQL6ueyDCg&amp;usg=AFQjCNEZrVRlfmxmhZK27Arm-u9-XOHMaw">FQL API</a>. You can craft up queries by hand, as shown below, and issue them right from your web browser. The response is an XML document with the statistics for the URLs you want to know about. There are also FQL wrapper libraries in several languages&#8230; for Ruby I had some success with the <a href="https://github.com/nov/fb_graph">fb_graph gem</a>.</p>
<p>Multiple URLs example:</p>
<p style="padding-left:30px;"><a href="https://api.facebook.com/method/fql.query?query=select  url,like_count, total_count, share_count, click_count from link_stat where url in(&quot;http://bing.com&quot;, &quot;http://google.com&quot;, &quot;http://facebook.com&quot;, &quot;http://twitter.com&quot;)">https://api.facebook.com/method/fql.query?query=select  url,like_count, total_count, share_count, click_count from link_stat where url in(&#8220;http://bing.com&#8221;, &#8220;http://google.com&#8221;, &#8220;http://facebook.com&#8221;, &#8220;http://twitter.com&#8221;)</a></p>
<p>Single URL example:</p>
<p style="padding-left:30px;"><a href="https://api.facebook.com/method/fql.query?query=select  url,like_count, total_count, share_count, click_count from link_stat where url = &quot;http://bing.com&quot;">https://api.facebook.com/method/fql.query?query=select  url,like_count, total_count, share_count, click_count from link_stat where url = &#8220;http://bing.com&#8221;</a></p>
<p>Within the XML results, the &#8220;total_count&#8221; attribute is the number shown within the Facebook Like widget.</p>
<p>Docs:<br />
<a href="http://developers.facebook.com/docs/reference/fql/link_stat/">http://developers.facebook.com/docs/reference/fql/link_stat/<br />
</a> <a href="http://developers.facebook.com/docs/reference/fql/" target="_blank">http://developers.facebook.com/docs/reference/fql/</a></p>
<br />Filed under: <a href='http://myownpirateradio.com/category/technology/'>technology</a> Tagged: <a href='http://myownpirateradio.com/tag/facebook/'>facebook</a>, <a href='http://myownpirateradio.com/tag/facebook-api/'>facebook API</a>, <a href='http://myownpirateradio.com/tag/fql/'>fql</a>, <a href='http://myownpirateradio.com/tag/likes/'>likes</a>, <a href='http://myownpirateradio.com/tag/query/'>query</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oshoma.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oshoma.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oshoma.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oshoma.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oshoma.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oshoma.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oshoma.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oshoma.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oshoma.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oshoma.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oshoma.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oshoma.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oshoma.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oshoma.wordpress.com/460/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=myownpirateradio.com&#038;blog=146841&#038;post=460&#038;subd=oshoma&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://myownpirateradio.com/2011/09/13/how-to-query-for-count-of-facebook-likes-and-shares-on-a-specific-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">oshoma</media:title>
		</media:content>
	</item>
	</channel>
</rss>
