<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Founder of LinerNotes.com, Metadata Enthusiast, Galactic Fighter Pilot.
Subscribe with RSS orFollow me @rogueleaderr!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</description><title>Rogueleaderr</title><generator>Tumblr (3.0; @rogueleaderr)</generator><link>http://rogueleaderr.com/</link><item><title>Postgres Fuzzy Search Using Trigrams (+/- Django)</title><description>&lt;p&gt;When building websites, you&amp;#8217;ll often want users to be able to search for something by name. On &lt;a href="http://www.linernotes.com/" target="_blank"&gt;LinerNotes&lt;/a&gt;, users can search for bands, albums, genres etc from a search bar that appears on the homepage and in the omnipresent nav bar. And we need a way to match those queries to entities in our Postgres database.&lt;/p&gt;
&lt;p&gt;At first, this might seem like a simple problem with a simple solution, especially if you&amp;#8217;re using the ORM; just jam the user input into an ORM filter and retrieve every matching string. But there&amp;#8217;s a problem: if you do&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Bands.objects.filter(name="beatles")

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;
&lt;p&gt;You&amp;#8217;ll probably get nothing back, because the name column in your &amp;#8220;bands&amp;#8221; table probably says &amp;#8220;The Beatles&amp;#8221; and as far as Postgres is concerned if it&amp;#8217;s not exactly the same string, it&amp;#8217;s not a match.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Users are naturally terrible at spelling&lt;/strong&gt;, and even if they weren&amp;#8217;t they&amp;#8217;d be bad at guessing exactly how the name is formatted in your database. Of course you can use the LIKE keyword in SQL (or the equivalent &amp;#8216;__contains&amp;#8217; suffix in the ORM) to give yourself a little flexibility and make sure that &amp;#8220;Beatles&amp;#8221; returns &amp;#8220;The Beatles&amp;#8221;. But 1) the LIKE keyword requires you to evaluate a regex against every row in your table, or hope that you&amp;#8217;ve configured your indices to support LIKE (a quick Google doesn&amp;#8217;t tell me whether Django does that by default in the ORM) and 2) what if the user types &amp;#8220;Beetles&amp;#8221;?&lt;/p&gt;
&lt;p&gt;Well, then you&amp;#8217;ve got a bit of a problem. No matter how obvious it is to human you that &amp;#8220;beatles&amp;#8221; is close to &amp;#8220;beetles&amp;#8221;[1], to the computer they&amp;#8217;re just two non-identical byte sequences. If you want the computer to understand them as similar you&amp;#8217;re going to have to give it a metric for similarity and a method to make the comparison.&lt;/p&gt;
&lt;p&gt;There are a few ways to do that. You can do what I did initially and whip out the power tools, i.e. a dedicated search system like Solr or ElasticSearch. These guys have notions of fuzziness built right in (Solr more automatically than ES). But they&amp;#8217;re designed for full-text indexing of documents (e.g. full web pages) and they&amp;#8217;re rather complex to set up and administer. ES has been enough of a hassle to keep running smoothly that I took the time to see if I could push the search workload to Postgres, and hence this article.&lt;/p&gt;
&lt;p&gt;Unless you need to do something real fancy, it&amp;#8217;s probably overkill to use them for just matching names.&lt;/p&gt;
&lt;p&gt;Instead, we&amp;#8217;re going to follow &lt;a href="http://www.starrhorne.com/2012/02/15/fuzzy-text-search-in-postgresql.html" target="_blank"&gt;Starr Horne&amp;#8217;s advice&lt;/a&gt; and use a Postgres EXTENSION that lets us build fuzziness into our query in a fast and fairly simple way. Specifically, we&amp;#8217;re going to use an extension called pg_trgm (i.e. &amp;#8220;Postgres Trigram&amp;#8221;) which gives Postgres a &amp;#8220;similarity&amp;#8221; function that can evaluate how many three-character subsequences (i.e. &amp;#8220;trigrams&amp;#8221;) two strings share. This is actually a pretty good metric for fuzzy matching short strings like names.&lt;/p&gt;
&lt;p&gt;To use pg_trgm, you&amp;#8217;ll need to install the &amp;#8220;Postgres Contrib&amp;#8221; package. On ubuntu:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo apt-get install postgres-contrib

**WARNING: THIS WILL TRY TO RESTART YOUR DATABASE**

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;then pop open psql and install pg_trgm (NB: this only works on Postgres 9.1+; Google for the instructions if you&amp;#8217;re on a lower version.)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;psql

CREATE EXTENSION pg_trgm;

\dx # to check it's installed

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now you can do&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;SELECT *

FROM types_and_labels_view

WHERE label % 'Mountain Goats'

ORDER BY similarity(label, 'Mountain Goats')

DESC LIMIT 100;

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And out will pop the 100 most similar names. This will still take a long time if your table is large, but we can improve that with a special type of index provided by pg_trgm:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CREATE INDEX labels_trigram_index ON types_and_labels_table USING gist (label gist_trgm_ops);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CREATE INDEX labels_trigram_index ON types_and_labels_table USING gin (label gin_trgm_ops);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;(GIN is slower than GIST to build, but answers queries faster.&lt;/p&gt;

&lt;p&gt;That&amp;#8217;ll take a while to build (possibly quite a while), but once it does you should be able to fuzzy search with ease and speed. If you&amp;#8217;re using Django, you will have to drop into writing SQL to use this (until someone, &lt;em&gt;maybe you&lt;/em&gt;, writes a Django extension to do this in the ORM.)&lt;/p&gt;
&lt;p&gt;And as a frustrating finishing note, my attempt to implement this on LinerNotes was not ultimately succesful. It seems that that index query performance is at least O(n) and with 50 million entities in my database queries take at least 10 seconds. I&amp;#8217;ve read that performance is great up to about 100k records then drops off sharply from there. There are some apparently additional options for improving query performance, but I&amp;#8217;ll be sticking with ElasticSearch for now.&lt;/p&gt;
&lt;p&gt;[1] Sorry, Googlebot! Not sorry, Bingbot.&lt;/p&gt;</description><link>http://rogueleaderr.com/post/50576527241</link><guid>http://rogueleaderr.com/post/50576527241</guid><pubDate>Thu, 16 May 2013 10:00:31 -0400</pubDate></item><item><title>Song of the day, Bored Nothing —“Get Out of...</title><description>&lt;iframe class="spotify_audio_player" src="https://embed.spotify.com/?uri=spotify%3Atrack%3A5v1bcnhfz1D51e9sXo8XtT&amp;view=coverart" frameborder="0" allowtransparency="true" width="500" height="580"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Song of the day, Bored Nothing —“Get Out of Here”. HT @niralshah&lt;/p&gt;</description><link>http://rogueleaderr.com/post/48812475791</link><guid>http://rogueleaderr.com/post/48812475791</guid><pubDate>Wed, 24 Apr 2013 20:14:20 -0400</pubDate><category>music</category><category>spotify</category></item><item><title>How to notify/email yourself when an EC2 instance terminates</title><description>&lt;p&gt;I make pretty heavy use of EC2 spot instances, which as you know can terminate at any time with no warning.&lt;/p&gt;
&lt;p&gt;In order to get my spots back up ASAP, I&amp;#8217;d like be notified when they terminate.&lt;/p&gt;
&lt;p&gt;This turned out to be much harder than I expected. I thought I&amp;#8217;d be able to add a simple script that would send me an email when the instance shuts down (Amazon is nice enough to send a shutdown command on termination instead of just pulling the plug.)&lt;/p&gt;
&lt;p&gt;But that approach has a couple of problems.&lt;/p&gt;
&lt;p&gt;First, you can&amp;#8217;t easily send email from EC2 instances (because of spammers) and have to manually get instances whitelisted by elastic IP &lt;em&gt;which is a pain&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Second, it&amp;#8217;s not the easiest thing to write a shutdown hook in Linux.&lt;/p&gt;
&lt;p&gt;So, here&amp;#8217;s a solution for both of those problems.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The email problem&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Amazon has a service called CloudWatch that seems great for this, except that it can only monitor metrics &lt;em&gt;emitted by running instances&lt;/em&gt;. So you can&amp;#8217;t set it to alert you on a system shutdown, nor on a metric polling failure because it randomly misses packets all the time.&lt;/p&gt;
&lt;p&gt;So the solution is a different Amazon service called SNS (simple notification service) that will let you &lt;em&gt;trigger an event&lt;/em&gt; that can be configured to send you an email. So we&amp;#8217;re going to write a script that tells SNS to send us an email.&lt;/p&gt;
&lt;p&gt;(SNS is free for ~200k requests/month, so unless you&amp;#8217;re planning on doing something nuts this approach should have no marginal costs.)&lt;/p&gt;
&lt;p&gt;To do that, you first need to set up a &amp;#8220;topic&amp;#8221; in SNS. Go to the &lt;a href="https://console.aws.amazon.com/sns/home?region=us-east-1#s=TopicDetails" target="_blank"&gt;SNS dashboard&lt;/a&gt; and&lt;/p&gt;
&lt;p&gt;1) click &amp;#8220;create topic&amp;#8221;.&lt;br/&gt; 2) Create a topic called &amp;#8220;instance_down&amp;#8221; or whatever you like.&lt;br/&gt; 3) Click the topic and click &amp;#8220;create subscription&amp;#8221;&lt;br/&gt; 4) Choose protocol &amp;#8220;email&amp;#8221; and enter your email address as the endpoint&lt;/p&gt;
&lt;p&gt;To use SNS in a script, we need the &lt;a href="http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html" target="_blank"&gt;AWS command line tools&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you already have pip installed, just&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;pip install awscli&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Then:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;touch ~/.awsconfig&lt;br/&gt; emacs ~/.awsconfig&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Make it say:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[default]&lt;br/&gt; AWS_ACCESS_KEY_ID=&amp;#171;&amp;#160;YOUR AWS ID&amp;#187;&lt;br/&gt; AWS_SECRET_ACCESS_KEY=&amp;#171;&amp;#160;YOUR AWS SECRET KEY&amp;#187;&lt;br/&gt; region=&amp;#171;&amp;#160;YOUR REGION&amp;#160;&amp;#187;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Create an init.d script:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;sudo emacs /etc/init.d/ec2-shutdown&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Make it say:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;#! /bin/sh&lt;br/&gt; ### BEGIN INIT INFO&lt;br/&gt; # Provides: ec2-terminate&lt;br/&gt; # Required-Start: $network $syslog&lt;br/&gt; # Required-Stop:&lt;br/&gt; # Default-Start:&lt;br/&gt; # Default-Stop:&lt;br/&gt; # Short-Description: restart&lt;br/&gt; # Description: send termination email&lt;br/&gt; ### END INIT INFO&lt;br/&gt; #&lt;/p&gt;
&lt;p&gt;export AWS_CONFIG_FILE={{ YOUR CONFIG FILE }}&lt;br/&gt; export AWS_DEFAULT_REGION={{ YOUR REGION }} # config file not picking up region for some reason&lt;br/&gt; sudo -E aws sns publish &amp;#8212;topic-arn {{ YOUR SNS ARN }} &amp;#8212;message &amp;#8220;ec2 ser\&lt;br/&gt; ver {{ YOUR IDENTIFIER }} went down at $(date)&amp;#8221;&lt;br/&gt; sleep 3 # make sure the message has time to send&lt;/p&gt;
&lt;p&gt;exit 0&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That script will tell SNS to send you a email saying your server is down and giving the time. You can customize the message however you like.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Shutdown Script Problem&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So how do we make this run on shutdown?&lt;/p&gt;
&lt;p&gt;We&amp;#8217;re going to use init.d scripts. It&amp;#8217;s taken me a little while to get my head around how this works, but in a nutshell&amp;#8230;&lt;/p&gt;
&lt;p&gt;Linux has a concept of &amp;#8220;runstates&amp;#8221;, which include things like &amp;#8220;shutdown&amp;#8221; and &amp;#8220;logged in&amp;#8221;. You can tell Ubuntu to run shell scripts when it changes into a runstate by placing scripts in certain folders in side of /etc. The two states that concern us are rc0 and rc6, i.e. &amp;#8220;shutdown&amp;#8221; and &amp;#8220;reboot&amp;#8221;, which correspond to folders /etc/rc0.d and /etc/rc6.d respectively.&lt;/p&gt;
&lt;p&gt;Ubuntu has a command line tool, update-rc.d that will automatically symlink scripts into the appropriate folders depending on the CL paramaters you pass it. It&amp;#8217;s all a bit complicated, but all you need to do here is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;sudo update-rc.d ec2-shutdown start 10&amp;#160;0 6 .&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;(This says run the script on entering run states 0 and 6, shutdown and reboot. And put it 10th in the list of things to do)&lt;/p&gt;
&lt;p&gt;And that should do it! Now your instance should send you an email whenever it shuts down, terminates or reboots. I&amp;#8217;m not sure how limit to just EC2 termination, but please comment if you know!&lt;/p&gt;
&lt;p&gt;If you have any problems, leave a comment.&lt;/p&gt;
&lt;p&gt;And if you find this useful, consider &lt;a href="https://twitter.com/rogueleaderr" target="_blank"&gt;following me on Twitter&lt;/a&gt;.&lt;/p&gt;</description><link>http://rogueleaderr.com/post/48795010760</link><guid>http://rogueleaderr.com/post/48795010760</guid><pubDate>Wed, 24 Apr 2013 16:23:17 -0400</pubDate></item><item><title>Links to all the parts of my "Everything About Economics" Blog Series</title><description>&lt;p&gt;Back linking has gotten unwieldy, so I&amp;#8217;m going to just update links on this page to all the parts from now on:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://rogueleaderr.com/post/19016979629/the-future-of-the-economy-in-bite-sized-chunks" target="_blank"&gt;Intro&lt;/a&gt;: &lt;a href="http://rogueleaderr.com/post/19016979629/the-future-of-the-economy-in-bite-sized-chunks" target="_blank"&gt;The future of the economy, in bite-sized chunks.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://rogueleaderr.com/post/20176814947/future-of-the-economy-1-what-is-an-economy" target="_blank"&gt;Part 1&lt;/a&gt;: &lt;a href="http://rogueleaderr.com/post/20176814947/future-of-the-economy-1-what-is-an-economy" target="_blank"&gt;What is An Economy?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://rogueleaderr.com/post/24310998751/future-of-the-economy-2-a-rich-hypothetical" target="_blank"&gt;Part 2(a)&lt;/a&gt;: &lt;a href="http://rogueleaderr.com/post/24310998751/future-of-the-economy-2-a-rich-hypothetical" target="_blank"&gt;Rich Hypothetical Society, Poor Hypothetical Society&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://rogueleaderr.com/post/34312928799/future-of-the-economy-2-b-productivity-is" target="_blank"&gt;Part 2(b)&lt;/a&gt;: &lt;a href="http://rogueleaderr.com/post/34312928799/future-of-the-economy-2-b-productivity-is" target="_blank"&gt;Productivity is Prosperity&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://rogueleaderr.com/post/47208077674/everything-you-need-to-know-about-economics-in-400" target="_blank"&gt;Part 3&lt;/a&gt;: &lt;a href="http://rogueleaderr.com/post/47208077674/everything-you-need-to-know-about-economics-in-400" target="_blank"&gt;How Productivity Grows&lt;/a&gt;&lt;/p&gt;</description><link>http://rogueleaderr.com/post/48590759215</link><guid>http://rogueleaderr.com/post/48590759215</guid><pubDate>Mon, 22 Apr 2013 00:22:00 -0400</pubDate></item><item><title>More Thoughts on Free Will</title><description>&lt;p&gt;A couple of weeks ago, I left a comment on Albert Wenger&amp;#8217;s excellent blog &lt;a href="http://continuations.com/" target="_blank"&gt;&amp;#8220;Continuations&amp;#8221;&lt;/a&gt; about Free Will. The comment was rather long, so I reposed it &lt;a href="http://rogueleaderr.com/post/46948814545/is-free-will-a-buffer-overflow" target="_blank"&gt;here on my blog&lt;/a&gt;. Somewhat amazingly, Albert read my comment and left a thoughtful reply.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m not sure of the etiquette of reposting Albert&amp;#8217;s comment, but to summarize he said that my argument was off-base because the &amp;#8220;information layer&amp;#8221; I described is just an abstraction and doesn&amp;#8217;t interact with the physical world. No interaction means no influence, and that means that the stimulus-&amp;gt;thought-&amp;gt;action sequence remains a deterministically closed loop.&lt;/p&gt;
&lt;p&gt;I, logorrheic that I am, responded with another rather long comment. &lt;em&gt;This is that comment&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Well, actually &lt;em&gt;this is:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If it&amp;#8217;s true that the &amp;#8220;information layer is entirely abstract&amp;#8221; (i.e. completely non-interacting with the tangible world) then your whole argument is clearly right.&lt;/p&gt;
&lt;p&gt;But I&amp;#8217;m not sure that premise is true. It seems that the informational world is constantly interacting with the physical world in the form of &amp;#8220;physical laws being followed.&amp;#8221;&lt;/p&gt;
&lt;p&gt;Metaphorically, particles in the world are &amp;#8220;data&amp;#8221; and the laws of physics (i.e. the information layer) are &amp;#8220;source code.&amp;#8221; Every particle interaction is (metaphorically) a computation. Now all of our observation to date suggests that the &amp;#8220;source code&amp;#8221; of the universe is stable and fixed. But any honest physicist will tell you that our (extremely elegant) mathematically descriptions of how objects have behaved in the past tell us nothing about why they behaved that way.&lt;/p&gt;
&lt;p&gt;I raised GEB to show that &amp;#8220;laws&amp;#8221; aren&amp;#8217;t necessarily well-behaved in edge cases.[1] And so similarly, the fact that we&amp;#8217;ve observed that some parts of the &amp;#8220;Ur-program&amp;#8221; work one way does NOT demonstrate conclusively that there aren&amp;#8217;t other parts of the program that introspectively alter the Ur-program&amp;#8217;s source code and lead to measurable, experimentally verifiable physical effects.&lt;/p&gt;
&lt;p&gt;You raise one potential &amp;#8220;point of strangeness&amp;#8221; in your PS &amp;#8212; quantum waveform collapse. My knowledge of quantum mechanics and neuroanatomy is limited, but my best understanding is that neural interactions are sensitive enough that quantum effects can make the difference between whether a neuron fires or not. And we know from computers (cf. my Caesar&amp;#8217;s cipher example above) that changing one bit in a computation chain can radically alter the downstream result, so any slight (non-random!) bias in the quantum coin-flip could be enough to completely alter behavior. (And as far as I know would not violate the conservation of energy or any other physical laws except our observation that quantum collapse is usually random.)&lt;/p&gt;
&lt;p&gt;Could patterns of thought directly alter the wave-form collapse? Well, we already know that the quantum world is altered by observation per se. And conscious introspection is fundamentally self-observation. So it is possible that when the wetware finds itself in physical states that mirror certain &amp;#8220;information patterns&amp;#8221; (e.g. &amp;#8220;contemplating two choices&amp;#8221;), the presence of those patterns triggers an alteration in the source code that directly influences the way quantum collapse happens in connected synapses, leading a neuron to fire that otherwise wouldn&amp;#8217;t. And from the GEB problem, we might expect the &amp;#8220;meta program&amp;#8221; to be especially poorly behaved (perhaps even fundamentally indeterminate, i.e. &amp;#8220;free&amp;#8221;) in this circumstance.&lt;/p&gt;
&lt;p&gt;So is this explanation likely? That&amp;#8217;s hard to say. It&amp;#8217;s neither confirmed nor contradicted by existing data. It&amp;#8217;s counter-intuitive, but so is every other part of quantum mechanics.&lt;/p&gt;
&lt;p&gt;But best of all, this theory is testable. We just need to carefully measure the statistical in vivo quantum behavior of synapses during decision-making and I can be proven wrong once and for all. :)&lt;/p&gt;
&lt;p&gt;[1] I admit I&amp;#8217;m not sufficiently demonstrating that &amp;#8220;logic laws&amp;#8221; work the same ways as physical laws but there is certainly a remarkable symmetry. It doesn&amp;#8217;t seem at all fundamentally necessary that physical laws should be mathematically expressible and elegant. I&amp;#8217;m happy to write more on this point if anyone is curious.&lt;/p&gt;</description><link>http://rogueleaderr.com/post/48589117777</link><guid>http://rogueleaderr.com/post/48589117777</guid><pubDate>Sun, 21 Apr 2013 23:58:46 -0400</pubDate></item><item><title>Everything you need to know about economics in 400 words, Part 3</title><description>&lt;p class="MsoNormal"&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;It seems I only write on this topic while flying. So I guess you can expect this series to wrap up sometime in 2015.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;But to recap, &lt;a href="http://rogueleaderr.com/post/34312928799/future-of-the-economy-2-b-productivity-is" target="_blank"&gt;last time&lt;/a&gt; I told you that &lt;strong&gt;productivity is prosperity&lt;/strong&gt;. So &lt;em&gt;all&lt;/em&gt; increases in per capita wealth come from increases in the amount of economic goods a single worker can produce in an hour.[1]&lt;/p&gt;

&lt;p class="MsoNormal"&gt;So how does productivity increase? Let’s start with the obvious. We get the stuff we have by making complicated stuff out of simpler stuff. We start with iron and chemicals, apply some process over a period of time, and end up with steel. Visually:&lt;/p&gt;

&lt;p class="MsoNormal"&gt;(1 unit of Time + 1 unit of Iron + 1 unit of Chemicals) =&amp;gt; 1 unit Steel&lt;/p&gt;

&lt;p class="MsoNormal"&gt;The productivity of this process is simply the ratio of inputs to outputs. If we rejiggered the above process to produce 2 units of steel from the same input, we would have doubled productivity.  Ditto if we halved the amount of time.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Physical productive processes are closely analogous to computer algorithms. We could just as easily talk about the “productivity” of a bitcoin mining operation in terms of how many BC a computer can generate per hour.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;So how do we get more productivity out of our processes (which, to reiterate, is the only way we get richer overall)? Well, just like with computer algorithms we have two options:&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst"&gt;Do the same thing faster (e.g. get a faster CPU)&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;Swap in a better algorithm (e.g. use quick sort instead of bubble sort)&lt;/p&gt;

&lt;p class="MsoNormal"&gt;“Do more faster” is an appealing tagline, but unfortunately human land-speed doesn’t follow Moore’s law. So our best option is to find better algorithms for our productive processes.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;So transitively, the best way for society to get richer is to devise and select better processes. By and large, we call process improvements &lt;strong&gt;technology&lt;/strong&gt;. The cotton gin and the Bessemer process were technologies that allowed radically more efficient transformation of a raw commodity into a finished product.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;One of the most important stories of the last 30 years has been the way that &lt;strong&gt;computers have inserted themselves deeply into our economy’s various productive processes.&lt;/strong&gt; &lt;strong&gt;But most of what we’ve seen so far are “do the same thing faster” improvements. The real productivity revolution will come once computers consistently help us choose better algorithms for our processes and for our lives.&lt;/strong&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt; &lt;/p&gt;

&lt;p class="MsoNormal"&gt;[1] Okay, all increases except one-off “gold strikes” that shower us with random natural riches.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description><link>http://rogueleaderr.com/post/47208077674</link><guid>http://rogueleaderr.com/post/47208077674</guid><pubDate>Fri, 05 Apr 2013 14:59:00 -0400</pubDate><category>economy</category><category>economics</category><category>productivty</category></item><item><title>Is Free Will a Buffer Overflow?</title><description>&lt;p&gt;&lt;span&gt;[Once again, I&amp;#8217;ve been inspired by a post on &lt;a href="http://continuations.com/post/46249360444/there-is-no-free-will-and-thats-ok" target="_blank"&gt;Albert Wenger&amp;#8217;s blog&lt;/a&gt;, this time about whether or not free will exists.]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I&amp;#8217;ve spent a &lt;strong&gt;long&lt;/strong&gt; time thinking about this one as well. I think you&amp;#8217;re probably right, but here&amp;#8217;s the best alternative I&amp;#8217;ve been able to come up with. These ideas are heavily inspired by having finally finished &lt;a href="http://www.amazon.com/G%C3%B6del-Escher-Bach-Eternal-Golden/dp/0465026567" target="_blank"&gt;Gödel, Escher, Bach&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Basically, it&amp;#8217;s clearly true that determinism holds over the space of physical objects &lt;em&gt;&lt;strong&gt;if&lt;/strong&gt;&lt;/em&gt; you assume that a continuous set of physical laws governs all physical interactions. &lt;em&gt;&lt;strong&gt;If&lt;/strong&gt;&lt;/em&gt; my brain is just a physical object, then the arrangement of its atoms at present is exclusively a function of their arrangement in the past.&lt;/p&gt;
&lt;p&gt;But how justified are we in making that assumption about the continuity and coverage of physical laws?&lt;/p&gt;
&lt;p&gt;Let&amp;#8217;s start with coverage: it&amp;#8217;s actually not hard to think of something that doesn&amp;#8217;t interact with the physical world in quite the same way as an apple &amp;#8212; a computer program.&lt;/p&gt;
&lt;p&gt;Yes, a program is represented by marks on a disk, and yes it is executed by a set of magnets that write and erase those marks using electricity routed through a CPU. But ultimately those purely physical components produce an informational state projected through my screen. And as I write I am interacting not only with the keys of my keyboard but also but with the abstract state of the system. And the state &lt;em&gt;per se&lt;/em&gt; has causal power: perform a &lt;a href="http://en.wikipedia.org/wiki/Caesar_cipher" target="_blank"&gt;Caesar cipher&lt;/a&gt; on your blog post and it becomes virtually meaningless to me despite having extremely similar statistical properties and on-disk representation.&lt;/p&gt;
&lt;p&gt;So then where does the meaningfulness of the program state reside? Can we point to a memory address that distinguishes &amp;#8220;meaningful&amp;#8221; from not meaningful (even in principle)? Can we point to an atom in my brain that makes the text meaningful to me, even though it would remain meaningful to you even if my brain we destroyed (and vice versa) but become meaningless if all brains were destroyed?&lt;/p&gt;
&lt;p&gt;The point here is that &lt;strong&gt;even in closed physical systems, there is an information &amp;#8220;layer&amp;#8221; that has both its own rules (i.e. &amp;#8220;logic&amp;#8221;) and yet tangibly influences the physical world.&lt;/strong&gt; This is the layer where the program-ness of a program resides, or the law-ness of physical laws, or the meaningful-ness of a sentence.&lt;/p&gt;
&lt;p&gt;Normally this layer is well behaved &amp;#8212; I encode my experiences into words that you understand; when fundamental particles interact they &amp;#8220;check&amp;#8221; which laws to follow and then they follow them.&lt;/p&gt;
&lt;p&gt;But &lt;strong&gt;the layer has known flaws, specifically when self-reference enters the picture.&lt;/strong&gt; Gödel&amp;#8217;s incompleteness theorem establishes that there are questions which can be precisely formulated but not decided, e.g whether the statement &amp;#8220;this statement is a lie&amp;#8221; is true or not (or the somewhat related question of whether an arbitrary computer program will ever terminate.) These questions aren&amp;#8217;t undecidable because of a deficit in our ability to measure (a la Heisenberg uncertainty) but rather because of an irresolvable quirk in the laws of the information layer.&lt;/p&gt;
&lt;p&gt;The interesting thing about consciousness (the domain within which free will would presumably operate) is that it is deeply and inherently self-referential. The very exercise of writing this comment is an example of an information state reflecting on its own statefulness.&lt;/p&gt;
&lt;p&gt;Now let&amp;#8217;s circle back to the question of consistency in physical laws. Usually it seems like the surest bet: no one has ever been fired for predicting that an apple will obey gravity.&lt;/p&gt;
&lt;p&gt;But when we start talking about the way that particles in our brain interact with the information layer (in ways we understand only loosely, at best) and we focus in on an area (self-reference) where the information layer is already know to misbehave, how confident can we be that the rules we&amp;#8217;ve observed elsewhere operate the same way here?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Or more colorfully, how certain can we free will isn&amp;#8217;t some sort of buffer overflow in the operating system of the universe?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[Edit: if you like this post, please upvote on &lt;a href="https://news.ycombinator.com/newest" target="_blank"&gt;Hacker News&lt;/a&gt;! Look for the post titled &amp;#8220;&lt;a href="http://rogueleaderr.com/post/46948814545/is-free-will-a-buffer-overflow" rel="nofollow" target="_blank"&gt;Is Free Will a Buffer Overflow?&lt;/a&gt;&amp;#8221;]&lt;/p&gt;</description><link>http://rogueleaderr.com/post/46948814545</link><guid>http://rogueleaderr.com/post/46948814545</guid><pubDate>Tue, 02 Apr 2013 13:55:00 -0400</pubDate></item><item><title>To welcome in April, here’s a playlist of my favorite...</title><description>&lt;iframe class="spotify_audio_player" src="https://embed.spotify.com/?uri=spotify%3Auser%3Arogueleaderr%3Aplaylist%3A3H5vBwqbqAQbTBfljAcrOL&amp;view=coverart" frameborder="0" allowtransparency="true" width="500" height="580"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;To welcome in April, here’s a playlist of my favorite songs I found in March. Some extra SXSW goodness in this one.&lt;/p&gt;</description><link>http://rogueleaderr.com/post/46886714080</link><guid>http://rogueleaderr.com/post/46886714080</guid><pubDate>Mon, 01 Apr 2013 19:02:19 -0400</pubDate><category>music</category><category>spotify</category></item><item><title>The Game Theory of Google Reader</title><description>&lt;p&gt;Google Reader is one of top five most-used websites. I literally always have a reader tab open in Chrome. So when I heard that Reader is shutting down on July 1st, I was like&lt;/p&gt;
&lt;p&gt;&lt;img alt="alt text" src="http://www.reactiongifs.com/wp-content/uploads/2013/03/dduckrage.gif" title="Picture of Buffy Changing Her Mind"/&gt;&lt;/p&gt;
&lt;p&gt;But after a while I was like&lt;/p&gt;
&lt;p&gt;&lt;img alt="alt text" src="http://www.reactiongifs.com/wp-content/uploads/2013/03/confused-buffy.gif" title="Picture of Buffy Changing Her Mind"/&gt;&lt;/p&gt;
&lt;p&gt;And now I&amp;#8217;m like&amp;#8230;&lt;/p&gt;
&lt;p&gt;&lt;img alt="alt text" src="http://www.reactiongifs.com/wp-content/uploads/2013/03/oh-boy.gif" title="Picture of Buffy Changing Her Mind"/&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8230;because I&amp;#8217;ve concluded that I&amp;#8217;m glad Google is shutting down Reader.&lt;/p&gt;
&lt;p&gt;Why, dear reader? &lt;strong&gt;Because of &lt;a href="http://en.wikipedia.org/wiki/Game_theory" target="_blank"&gt;Game Theory&lt;/a&gt;&lt;/strong&gt; (obviously)! By shutting down Reader, Google is breaking a bad Nash Equilibrium which has been hobbling the progress of web content distribution.&lt;/p&gt;
&lt;p&gt;Whoa, what does that mean?&lt;/p&gt;
&lt;p&gt;Well, &amp;#8220;Game Theory&amp;#8221; is simply a mathematical examination of the ideal strategy for playing games. Unsurprisingly it often applies to business and other competitive situations.&lt;/p&gt;
&lt;p&gt;Let&amp;#8217;s consider the canonical example Game Theorists love to use: &amp;#8220;the prisoner&amp;#8217;s dilema&amp;#8221;. In this scenario, the cookie monster and his brother (Charleston) have both been arrested for, you guessed it, home invasion and murder. The cops put them into two separate cells and start questioning them.&lt;/p&gt;
&lt;p&gt;&amp;#8220;Now look, cookie monster, I&amp;#8217;m not going to lie. Our evidence here is weak. If neither of you confess then we&amp;#8217;re going to have to take this to trial, and you &lt;em&gt;might&lt;/em&gt; both get off. But I&amp;#8217;ll offer you a deal. If you testify against Charleston, we&amp;#8217;ll give you immunity and &lt;em&gt;five cookies&lt;/em&gt;. Unless, of course, he testifies against you in which case you&amp;#8217;ll be learning to count to twenty to life.&amp;#8221;&lt;/p&gt;
&lt;p&gt;The police say the same thing to Charleston. So what is the cookie monster to do? He has two choices: &amp;#8220;cooperate&amp;#8221; with Charleston and go to trial, or &amp;#8220;defect&amp;#8221; and rat him out in exchange for sweet cookies (or long jail time if Charleston also defects.) Charleston has the same choices.&lt;/p&gt;
&lt;p&gt;To figure out what both should do, we can make a simple matrix:&lt;/p&gt;
&lt;p&gt;&lt;img alt="alt text" src="http://www.beyondintractability.org/cic_images/aha/Game-Theory-prisoners-dilemma.gif" title="The Prisoner's Dilema matrix"/&gt;&lt;/p&gt;
&lt;p&gt;Cookie Monster is Player A, Charleston is Player B, and the numbers in each square are the number of cookies each gets in each situation, respectively. (No, the numbers don&amp;#8217;t match up; I&amp;#8217;m borrowing the diagram.)&lt;/p&gt;
&lt;p&gt;Obviously, both monsters are better off if they both cooperate. But that won&amp;#8217;t happen, at least not assuming that both care exclusively about maximizing their individual cookie intake.&lt;/p&gt;
&lt;p&gt;Why not? Remember that our monsters are in separate rooms and cannot coordinate. Also, notice that each monster is &lt;em&gt;individually&lt;/em&gt; best off in the situation where the other monster cooperates but he defects. So if either monster suspects that the other one will be generous and cooperate, his &lt;em&gt;individual narrowly rational best option&lt;/em&gt; is to defect. And so he will.&lt;/p&gt;
&lt;p&gt;&lt;img alt="alt text" src="http://www.wallchan.com/images/sandbox/5253-cookie-monster-sad-milk.jpg" title="Sad cookie monster"/&gt;&lt;/p&gt;
&lt;p&gt;Now the phrase &amp;#8220;Game Theory&amp;#8221; might quite appropriately make you think of the movie &amp;#8220;A Beautiful Mind&amp;#8221;. And if you saw that movie, you might think that Russell Crowe (a.k.a. &amp;#8220;John Nash&amp;#8221;) got academically famous for figuring out how to use game theory to pick up women in bars. But &lt;em&gt;actually&lt;/em&gt; he got famous for inventing the concept of a &amp;#8220;Nash Equilibrium&amp;#8221;.&lt;/p&gt;
&lt;p&gt;To over-simplify, a Nash Equilibrium is a set of player choices in a game (e.g. &amp;#8220;Cookie monster -&amp;gt; defect&amp;#8221;, Charleston -&amp;gt; defect&amp;#8221; in the prisoner&amp;#8217;s dilema) that will produce an outcome which neither player can improve &lt;em&gt;by changing his choice unilaterally&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Take another look at the prisoner&amp;#8217;s dilema diagram. The bottom right square is a Nash Equilibrium because, even though it is the worst outcome it&amp;#8217;s the best that either player can do for himself. If Charleston thinks cookie monster is going to defect, he makes himself even worse off by cooperating. Same for cookie monster.&lt;/p&gt;
&lt;p&gt;So in games where a Nash Equilibrium exists, we can generally expect that it will come to pass.[1][2]&lt;/p&gt;
&lt;p&gt;So how does this all apply to Google Reader? &lt;strong&gt;Well, the existence of Google Reader has created and trapped us in a bad Nash Equilibrium.&lt;/strong&gt; In this case, Google isn&amp;#8217;t actually a player. Google is literally and figuratively out of the game &amp;#8212; they haven&amp;#8217;t cared about Google Reader in years and have let it wither on the vine.[3]&lt;/p&gt;
&lt;p&gt;Instead, the players are consumers of RSS content and developers of alternative RSS readers.&lt;/p&gt;
&lt;p&gt;The developers have two choices,&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;develop a new, better reader&lt;/li&gt;
&lt;li&gt;do nothing, and let people continue to use Google&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;And the consumers have two choices:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;switch to an alternative&lt;/li&gt;
&lt;li&gt;keep using Google reader&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;img alt="alt text" src="http://25.media.tumblr.com/d04153cc7404710ee656c03a2a150f96/tumblr_mkhtaq9AKg1qkno8do1_500.png" title="Google dilema"/&gt;&lt;/p&gt;
&lt;p&gt;We end up with something that looks an awful lot like the prisoner&amp;#8217;s dilema, but with a few key differences.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s still the case that everyone is better off if consumers and developers cooperate on moving to a new reader. But it&amp;#8217;s no longer the case that one side gains &lt;em&gt;because&lt;/em&gt; the other loses. This is actually a game with &lt;strong&gt;two&lt;/strong&gt; Nash Equilibria (develop, switch) and (don&amp;#8217;t develop, don&amp;#8217;t switch.) And instead of being played once in a jailhouse, this decision process is repeated every day.&lt;/p&gt;
&lt;p&gt;Games with multiple equilibria (which I am of course oversimplifying here) introduce a fascinating question: &amp;#8220;given that there&amp;#8217;s a better state &lt;em&gt;which both sides can agree is better for them individually&lt;/em&gt; how can move to that better world?&amp;#8221; Remember that in a Nash Equilibrium, neither side can improve her outcome by changing her move &lt;em&gt;unilaterally&lt;/em&gt;. But if the sides can coordinate then it&amp;#8217;s as simple as agreeing to change their decisions at the same time.&lt;/p&gt;
&lt;p&gt;But in the real world of RSS readers, developers can&amp;#8217;t practically coordinate &lt;em&gt;en masse&lt;/em&gt; with consumers. Each has to speculate in isolation about what the other will do. So we end up in a world where fear reigns and consumers don&amp;#8217;t investigate alternative RSS readers because they fear that the other options are even more primitive. And although developers could make something much better, they don&amp;#8217;t want to risk investing the development time and having no one show up (since GR is &amp;#8220;good enough&amp;#8221; for most people.)&lt;/p&gt;
&lt;p&gt;And so for years we&amp;#8217;ve been muddling along in the bad Nash Equilibrium of continuing to use GR and letting RSS become &amp;#8220;uncool&amp;#8221; relative to social sharing (despite being, IMHO, about 10x more useful.)&lt;/p&gt;
&lt;p&gt;But when Google shuts down Reader, the whole game changes. Suddenly the bad Nash Equilibrium square is out of play. That means that coordination between developers and consumers is no longer necessary because &amp;#8220;staying put&amp;#8221; is no longer an option.&lt;/p&gt;
&lt;p&gt;The immediate aftermath might be painful, but I predict that we&amp;#8217;ll all end up with a much better system.&lt;/p&gt;
&lt;p&gt;Also, note that this dynamic is hardly exclusive to GR. It&amp;#8217;s all over the tech world: some company develops a product which gets popular; they lose interest and stop improving. But they keep the product alive, and the network effects and switching costs keep people using it even though much better mechanisms are theoretically possible. The two worst offenders I can think of are:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Craigslist&lt;/li&gt;
&lt;li&gt;Javascript&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Both are terrible but both are extremely widely used. And so we&amp;#8217;re stuck in a bad Nash Equilibrium where everyone suffers because it&amp;#8217;s too hard to get people to sell their broken furniture on a new website when they can just use Craigslist and it&amp;#8217;s too risky for Mozilla to implement Python in the browser when developers might just keep kludging JS.&lt;/p&gt;
&lt;p&gt;If Craigslist would just take a lesson from Google and shut down completely, it would be one of the best days ever in tech.&lt;/p&gt;
&lt;p&gt;Can you think of better examples of &amp;#8220;okay&amp;#8221; products that could help the world by just disappearing? Please comment and let me know!&lt;/p&gt;
&lt;p&gt;[1] Game theory is complicated, and there are a lot of exceptions depending on circumstances. But simplification usually gets us close enough.&lt;br/&gt; [2] The prisoner&amp;#8217;s dilema is one of the saddest abstract constructs I know. In a painful nutshell, it explains why &amp;#8220;we can&amp;#8217;t all just get along.&amp;#8221;&lt;br/&gt; [3] Not because they don&amp;#8217;t care &lt;em&gt;per se&lt;/em&gt;, but because it&amp;#8217;s just not impactful enough relative to their other lines of business&lt;/p&gt;</description><link>http://rogueleaderr.com/post/46782448771</link><guid>http://rogueleaderr.com/post/46782448771</guid><pubDate>Sun, 31 Mar 2013 15:57:58 -0400</pubDate><category>game theory</category><category>google reader</category><category>craigslist</category></item><item><title>Cover of the day — a heavy metal “barbie girl”</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/qeiv-I19kZU?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Cover of the day — a heavy metal “barbie girl”&lt;/p&gt;</description><link>http://rogueleaderr.com/post/46219217617</link><guid>http://rogueleaderr.com/post/46219217617</guid><pubDate>Sun, 24 Mar 2013 22:27:36 -0400</pubDate></item><item><title>Cover of the day: Chvrches “I Would Die For V”</title><description>&lt;iframe width="400" height="300" src="http://www.youtube.com/embed/ZDuFepw2lVY?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Cover of the day: Chvrches “I Would Die For V”&lt;/p&gt;</description><link>http://rogueleaderr.com/post/45850171308</link><guid>http://rogueleaderr.com/post/45850171308</guid><pubDate>Wed, 20 Mar 2013 15:14:25 -0400</pubDate></item><item><title>LinerNotes Liveblog #7 -- SXSWi</title><description>&lt;p&gt;&lt;p class="MsoNormal"&gt;Things in Austin got weird. There was carousing, there was trespassing,  and yes, there was even laser tag. But a&lt;span&gt;fter seven crazy days in Austin, my SXSW adventure is over. Instead of sharing a small Austin house with ten people (including two different bands), I’m now just sharing a house with my parents as I visit the Bay Area for some meetings.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;SXSW was definitely fun, but it was also probably a waste of time.[1] I probably could have seen that coming &amp;#8212; one of the clearer lessons of my time working on &lt;a href="http://www.linernotes.com" target="_blank"&gt;LinerNotes&lt;/a&gt; is to be very skeptical of conferences. I’ve been to several of the bigger ones (mostly because I managed to snag free tickets), and none of them have delivered enough value to clearly justify the time it took to attend, much less the the jaw-dropping ticket prices (two thousand dollars for TC Disrupt? Seriously?)&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Still, out of all the hundreds of tech conferences SXSW retains a somewhat mystical reputation for “serendipity,” i.e. that simply by walking around and talking to people one might encounter the investor or business partner one needs to “kick it up a notch.” That’s a tempting offer, since I do believe in serendipity (or rather the darker flip-side that many endeavors will be destroyed by the absence of serendipity.)&lt;/p&gt;
&lt;p class="MsoNormal"&gt;My skepticism almost made me follow &lt;a href="http://refer.ly/early-stage-startup-founders-should-reconsider-attending-sxsw-this-year/c/fe11402e869411e2bfbf22000a1db8fa" target="_blank"&gt;Danielle Morrill’s advice&lt;/a&gt; and skip SXSW, but a few things fell in place at the last minute (i.e. I found a place to stay for free) and so I decided to take the plunge.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;And…I was disappointed.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Serendipity did not strike. I’m sure that it did for some people, but I didn’t meet even one new person with whom I plan to stay in close contact. To be fair, I didn’t do much to maximize my &lt;a href="http://www.codusoperandi.com/posts/increasing-your-luck-surface-area" target="_blank"&gt;luck surface&lt;/a&gt; – I only went for the last two days, I didn’t buy a conference badge ($800?!) and I only struck up conversations with 20% of the people I randomly stood next to in lines instead of 100%. Still, the conversations I did have didn’t give me the sense that my digital soul mate was just one forced conversation away.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;The basic problem is with the odds. When SXSWi was smaller, it may have been viable to talk to a large percentage of attendees and either meet someone useful or meet someone who could introduce you to someone useful they just met. But now there are 30,000 people at SXSWi. Let’s assume that’s 1.5% of the entire startup world, and let’s assume that the population is representative of the general startup population. &lt;span&gt; &lt;/span&gt;&lt;span&gt;[2]&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;What are my (very rough) odds of meeting someone useful? Well, I’d estimate that there are probably less than 500 viable co-founders and 500 viable investors for me in the whole world, and &lt;a href="http://www.linernotes.com" target="_blank"&gt;LinerNotes&lt;/a&gt; is not really at a point where I’d benefit much from any business development relationships or marketing hires. If 1.5% of those people are at SXSW, that’s approximately 30 people at SXSW worth meeting.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;If I’m there for two days, I probably come into physical proximity with 300 people in a day or 600 in total. That’s 4% of the conference. 4% of 30 is 1.2, meaning that in the whole two days, I was probably &lt;em&gt;near&lt;/em&gt; someone useful about twice.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Now how many conversations with strangers can I reasonably have in a day? If I’m really forcing it, &lt;em&gt;maybe&lt;/em&gt; 20. So that’s (approximately) 40 dice rolls with a 599/600 odds per roll of &lt;em&gt;not &lt;/em&gt;meeting someone useful. That’s an 93% chance of failure, which implies a 7% chance of meeting someone useful, &lt;em&gt;if &lt;/em&gt;I’m aggressively social and &lt;em&gt;if&lt;/em&gt; the population is really representative (which it probably isn’t).&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;So after all that expense, travel, and foregone working time, the odds of serendipity striking are about 1 in 15&lt;/strong&gt;. Compared to everything else I could do with those resources, going to SXSW for networking is pretty clearly not worth it.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;So why does SXSW continue to have a reputation for magical serendipity?&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Simple, because only the 1 in 15 people who benefit bother to write about it or tell their friends. No one likes a party pooper and so other than me and Danielle Morrill, few people want to loudly admit to wasting their time in Austin.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;To be clear, I don’t regret going. The main purpose of my trip was actually to go to SXSW Music and do market research for LinerNotes, and it was worth sacrificing a weekend of work to have some fun and confirm my suspicions about SXSW. And I did meet up with a few &lt;em&gt;old &lt;/em&gt;friends at SXSWi and got to strengthen those relationships.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;There are some people for whom SXSW still does make sense (specifically startups that sell to marketers or app makers, or &lt;span&gt;VC&amp;#8217;s and &lt;/span&gt;&lt;span&gt;later stage startup employees who just want to relax and party.) But now I can say from experience that there are better ways to make new friends than shouting at strangers at a loud, crowded Taco Bell sponsored party.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt; [1] &lt;span&gt; &lt;/span&gt;&lt;span&gt;This post only applies to SXSW Interactive. The dynamics of SXSW Music were much different and probably need their own blog post.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;[2]&lt;strong&gt; This is obviously a rough calculation. &lt;/strong&gt;These numbers are mostly made up with the goal of being ballpark correct and having errors cancel out. And even very generous assumptions don’t change the overall picture much.&lt;/p&gt;&lt;/p&gt;</description><link>http://rogueleaderr.com/post/45830276654</link><guid>http://rogueleaderr.com/post/45830276654</guid><pubDate>Wed, 20 Mar 2013 08:01:00 -0400</pubDate></item><item><title>A little late, but here’s a playlist of my favorite songs...</title><description>&lt;iframe class="spotify_audio_player" src="https://embed.spotify.com/?uri=spotify%3Auser%3Arogueleaderr%3Aplaylist%3A4kHYOiD0BL9lNa5LIL7aGD&amp;view=coverart" frameborder="0" allowtransparency="true" width="500" height="580"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;A little late, but here’s a playlist of my favorite songs I found in February.&lt;/p&gt;</description><link>http://rogueleaderr.com/post/44660142771</link><guid>http://rogueleaderr.com/post/44660142771</guid><pubDate>Tue, 05 Mar 2013 18:16:40 -0500</pubDate><category>music</category><category>spotify</category></item><item><title>LinerNotes beta launch day 5 – ‘What is LinerNotes?’</title><description>&lt;p&gt;&lt;p class="MsoNormal"&gt;Sorry for the hiatus; it was a busy weekend. I participated in the NYC &lt;a href="http://monthlymusichackathon.org/" target="_blank"&gt;Monthly Music Hackathon&lt;/a&gt;, continuing work on my project &lt;a href="https://github.com/rogueleaderr/videodrome" target="_blank"&gt;Videodrome&lt;/a&gt; (a HypeMachine/Exfm for music videos.) I’m aiming to release it publicly next month.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;Much more importantly, I pressed the button on &lt;a href="http://www.linernotes.com" target="_blank"&gt;LinerNotes.com&lt;/a&gt; on Saturday night. The beta is now live, publicly accessible, and has gone four days without exploding.&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;There was a bunch of interesting process involved that I’d like to blog about, but I need to write something else first. I realized over the weekend that I obviously should have started this series by answering one simple crucial question…&lt;strong&gt;what the heck is LinerNotes, anyway&lt;/strong&gt;?&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Actually there’s more like three questions:&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;!--[if !supportLists]--&gt;1)&lt;span&gt;   &lt;/span&gt;&lt;!--[endif]--&gt;What is LinerNotes &lt;strong&gt;&lt;em&gt;right now&lt;/em&gt;&lt;/strong&gt;?&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;2)&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span&gt;What will LinerNotes become?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;3)&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;em&gt;&lt;span&gt;Why bother&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;span&gt; building something like this in the first place?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;I’m going to answer in reverse order.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span&gt;Why&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;This deserves it’s own blog post and I’ll probably write one soon. But the short answer is very simple – &lt;em&gt;because I’m a curious person&lt;/em&gt;. I genuinely love learning things. And right now, it’s too hard for me to learn about and find music (and a great &lt;a href="http://rogueleaderr.com/post/41064364329/3-principles-for-the-incredibly-exciting-future-of" target="_blank"&gt;many other things&lt;/a&gt;.)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;Many people are satisfied with whatever pops out of Google or Wikipedia or Pandora. Well, I’m not. I want more. I want a lot more. If you don’t then LinerNotes is probably not for you. At least not today.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;LinerNotes is hand-tailored to the way I want to listen to music. I want my experience to be fluid, effortless, and richly contextualized. I want an endless stream of music that really affects me emotionally, and I want to know how that music and the artists who make it fit into the broad and wonderful history of music. I want to spend my time listening and learning and ruminating, not seeking and scrounging and clicking. The more I know about my music, the more I like it. And as hanging out with my friends constantly reminds me, there’s an awful lot I don’t know.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span&gt;What will LinerNotes become?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;I want LinerNotes to bring all information about music together in one place. &lt;strong&gt;All of it&lt;/strong&gt;. But I want to keep it organized enough that you can find any fact or song just by describing it, e.g. “bands from Liverpool in the 50’s.”&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;LinerNotes is going to become &lt;a href="http://www.shmoop.com/inferno/virgil.html" target="_blank"&gt;the Virgil&lt;/a&gt; to your musical Dante, guiding you from the hell of tired silence up into the golden light of musical rapture. LinerNotes is going to become the Mrs. Robinson to your musical Benjamin, guiding you from music novice to musical master and then going straight up crazy when you try to date our musical daughter.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;LinerNotes will be there for you on every step of your music experience, from helping you learn about and remember what you already love to helping you find what you’re going to love next. LinerNotes isn’t loyal to any label or big corporation &amp;#8212; &lt;em&gt;&lt;strong&gt;we&amp;#8217;re only loyal to you&lt;/strong&gt;&lt;/em&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span&gt;What is LinerNotes today?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;LinerNotes.com is a very early beta right now. It’s not the realization of my grand vision –  it’s just the first version I can show to people without cringing from embarrassment.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;Right now, LinerNotes is basically just an overlay on top of Wikipedia, but with some really useful you-friendly enhancements:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;ul type="disc"&gt;&lt;li class="MsoNormal"&gt;&lt;strong&gt;&lt;em&gt;&lt;span&gt;It’s condensed.&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;span&gt; Because we love the Beatles, but we don’t five-pages-of-unbroken-text love the Beatles.&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal"&gt;&lt;span&gt;We’ve got &lt;strong&gt;&lt;em&gt;complete discographies&lt;/em&gt;&lt;/strong&gt; for nearly every artist, including bootlegs and rarities. Plus pages for every song and album, often complete with credits.&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal"&gt;&lt;span&gt;Our &lt;strong&gt;&lt;em&gt;dangerously-advanced search system&lt;/em&gt;&lt;/strong&gt; lets you search using concepts like “people who play the ukulele” or “bands who’s hometown is Manchester”. Press the “hard mode” button on the homepage to give it a try.&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal"&gt;&lt;span&gt;You can &lt;strong&gt;&lt;em&gt;browse genres and record labels&lt;/em&gt;&lt;/strong&gt; to find new bands. Have you seen all the great acts on &lt;a href="http://www.linernotes.com/o/1/42e06800-76f8-4a5b-a9b6-0983a5d72f17" target="_blank"&gt;Jagjaguwar&lt;/a&gt;?&lt;a href="http://localhost:8003/o/1/42e06800-76f8-4a5b-a9b6-0983a5d72f17" target="_blank"&gt;&lt;br/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal"&gt;&lt;span&gt;You can &lt;strong&gt;&lt;em&gt;start listening immediately using Spotify or YouTube&lt;/em&gt;&lt;/strong&gt; (click the “Videos” tab.)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;We’ve got an &lt;em&gt;extremely long&lt;/em&gt; list of additional features we’re going to add on top of all that, but we need your help to decide what to build first.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;So welcome to &lt;a href="http://www.linernotes.com/" target="_blank"&gt;LinerNotes&lt;/a&gt;. Please give it a try and &lt;strong&gt;leave feedback telling us what you like, what you don’t like, and what your musical experience today is missing.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;</description><link>http://rogueleaderr.com/post/44165148281</link><guid>http://rogueleaderr.com/post/44165148281</guid><pubDate>Wed, 27 Feb 2013 16:47:38 -0500</pubDate><category>linernotes</category><category>liveblog</category><category>launch</category></item><item><title>Cover of the day: The War on Drugs covers Bruce...</title><description>&lt;iframe width="400" height="300" src="http://www.youtube.com/embed/Gqq5SgaV-pQ?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Cover of the day: The War on Drugs covers Bruce Springsteen’s “The Ties That Bind.”&lt;/p&gt;</description><link>http://rogueleaderr.com/post/44105193388</link><guid>http://rogueleaderr.com/post/44105193388</guid><pubDate>Tue, 26 Feb 2013 20:34:35 -0500</pubDate></item><item><title>Song of the day: The Reflections, “Disconnected”</title><description>&lt;iframe src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F68301905&amp;liking=false&amp;sharing=false&amp;origin=tumblr" frameborder="0" allowtransparency="true" class="soundcloud_audio_player" width="500" height="116"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Song of the day: The Reflections, “Disconnected”&lt;/p&gt;</description><link>http://rogueleaderr.com/post/43836185816</link><guid>http://rogueleaderr.com/post/43836185816</guid><pubDate>Sat, 23 Feb 2013 17:08:42 -0500</pubDate></item><item><title>"Broken Tools" -- Live-blogging LinerNotes.com, Day 4</title><description>&lt;p&gt;&lt;p class="MsoNormal"&gt;“&lt;em&gt;&lt;span&gt;Equipment in action operates in an inconspicuous usefulness, doing its work without our noticing it. When the tool fails, its unobtrusive quality is ruined. There occurs a jarring of reference, so that the tool becomes visible as what it is:”—Graham Harman [1]&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Last live-blog, I made a &lt;a href="http://rogueleaderr.com/post/43554949483/linernotes-live-blog-day-3-my-planning-process-in" target="_blank"&gt;plan to launch&lt;/a&gt;. Just the day before, I talked about how often &lt;a href="http://rogueleaderr.com/post/43470649805/live-blogging-the-beta-launch-of-www-linernotes-com" target="_blank"&gt;planning&lt;/a&gt; goes astray. And unsurprisingly, it’s only taken two days for my plan to get off track.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;This plan is about broken tools. But more broadly it&amp;#8217;s about being sucker punched by the unexpectable. Luckily I got off pretty easy this time, but the punches come hard and fast, and they will for as long as I&amp;#8217;m in this business.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Why write about it now? Because a lot of stuff has broken in the last few days. I’ve had to spend so much time putting out fires that my self-imposed deadline of “pushing the button” by tomorrow is probably not going to happen.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Some of the breakage has been minor and some has been major. All of it has been completely typical.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Minor example: I got a letter (delayed in the mail) urgently requiring me to scan and email a document. My scanner broke that same day. So I had to waste 20 minutes on the phone with Lexmark’s absolutely dismal customer before tracking down a fax machine in a bodega.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Major: The virus I thought I beat last week has returned, leaving me feverish and mealy-minded. So I’ve been operating at 25% productivity today as I try to force my mind to think enough thoughts to figure out why ElasticSearch has abruptly stopped working.[2]&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Both of these inconveniences were effectively unpredictable.  Both siphoned off real time. And like a running back’s shoe falling off mid-stride, they made themselves perilous to ignore and shattered the precious “flow” where technical productivity hides out.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;As you saw on Tuesday, I tried to make conservative estimates for how long each step of preparation would take. But I’ve already handily blown through my margins. The problem is that the time a task requires is not normal distributed – it’s &lt;a href="http://en.wikipedia.org/wiki/Heteroscedasticity" target="_blank"&gt;heteroskedastic&lt;/a&gt;. In other words, nine out of ten times it will take me 15 minutes to get to Union Square. But the tenth time the train will break and it will take an hour. So when I’m deciding how early to leave for a meeting, my only options are to leave an hour early (and spend hours each month alone in Starbucks, guarding my seat from 14 year old girls with their cinnamon spice lattes), or to accept that once in a while I’ll be offensively late.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Doing the former is the equivalent of buying so much health insurance that you can’t afford to eat. It’s just not practicable. On the other hand, the person you’re late for will &lt;em&gt;really &lt;/em&gt;be offended: people tend to weight one negative interaction about as much as a dozen positive ones. I once heard noted VC Brad Feld say that he would not invest in a company unless every interaction was better than the previous one.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;But think about the paradox there: the only teams that never fail are either much too conservative, absurdly lucky, or outright lying.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;For me, lying is automatically off the table. And my luck is stubbornly resistant to dark magic. But I haven’t figured out another good solution. It pains me to miss my launch target, especially so soon after I’ve posted it publicly. But the alternatives (don’t be transparent, or power through and make myself sicker) seem even worse.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Entrepreneurs build with fragile tools. They’re all we can afford. But earning the confidence of employees and partners seems to require projecting a superhuman façade.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;How do you reconcile that tension?&lt;/p&gt;
&lt;p class="MsoNormal"&gt;[1] I wanted to start this post off with a quote from philosopher Martin Heidegger, since I’m stealing his idea about tools. But I couldn’t find a direct quote that would require less than 500 words of jargon unpacking, so enjoy this secondary source.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;[2] I skipped yesterday; these posts are taking about 75 minutes / per, so a rigid daily cadence is clearly not going to happen.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;[3] Backward incompatible version upgrade, plus forgetting to update the cluster name in code upon spawning a new cluster.&lt;/p&gt;&lt;/p&gt;</description><link>http://rogueleaderr.com/post/43706388474</link><guid>http://rogueleaderr.com/post/43706388474</guid><pubDate>Fri, 22 Feb 2013 00:50:52 -0500</pubDate></item><item><title>Music video of the day — Nightlands, “I Fell In Love...</title><description>&lt;iframe width="400" height="300" src="http://www.youtube.com/embed/YsYWxIVwmTs?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Music video of the day — Nightlands, “I Fell In Love With A Feeling”&lt;/p&gt;</description><link>http://rogueleaderr.com/post/43645964568</link><guid>http://rogueleaderr.com/post/43645964568</guid><pubDate>Thu, 21 Feb 2013 10:00:49 -0500</pubDate></item><item><title>Music video of the day, MS MR — ‘Fantasy’</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/DE5DXUfX0cc?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Music video of the day, MS MR — ‘Fantasy’&lt;/p&gt;</description><link>http://rogueleaderr.com/post/43624685000</link><guid>http://rogueleaderr.com/post/43624685000</guid><pubDate>Wed, 20 Feb 2013 23:53:30 -0500</pubDate></item><item><title>LinerNotes live-blog day 3: "My planning process in action"</title><description>&lt;p class="MsoNormal"&gt;&lt;a href="http://rogueleaderr.com/post/43470649805/live-blogging-the-beta-launch-of-www-linernotes-com" target="_blank"&gt;Last time&lt;/a&gt;, I said that detailed planning is mostly useless. This time, I’m going to make a detailed plan. Why? Two reasons: 1) I have a very clear and tangible goal – make LinerNotes publicly accessible, and 2) I have a long list of small, discrete tasks that need to happen first. So in this case “planning” isn’t as much about figuring out what to do as it is figuring out when to do it.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Technically, I could launch in one step. I’ve got a fully functional version of the site running on production servers, so all I have to do is change the A-Record on &lt;a href="http://www.linernotes.com" target="_blank"&gt;&lt;a href="http://www.linernotes.com" target="_blank"&gt;www.linernotes.com&lt;/a&gt;&lt;/a&gt; to a new I.P. address and you will be able to give it a whirl. But I want to make the best first impression possible, even though the main point of this beta is to test ideas and gather feedback.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Good impressions require polish. Polish is in the details. Keeping track of details means brain-strain. Plans help brain-strain. &lt;strong&gt;So let’s save my brain and make a plan.&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;When I’m in “loose planning” mode (i.e. most of the time when I’m working alone) the plan is a long list of tasks kept in Asana with a rough priority ordering kept in my head. To get more rigorous, I start mapping tasks onto discrete blocks of time. Asana has a lot of virtues, but my biggest frustration is that it doesn’t integrate well with a calendar.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;I mostly use the built-in Mac apps (iMail because I have to many email accounts to use the Gmail website; iCal because I just haven’t found a good calendar app).  So this planning process is going to consist of making sure I have Asana tasks for everything I want to accomplish and then manually putting those tasks into iCal. (Someone please disrupt this process. Or recommend a better flow.)&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Here’s a high-level list of what I need to get done:&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;strong&gt;Update the data and streamline the pipeline.&lt;/strong&gt; LinerNotes starts life as about 10GB of .tar.gz files. It takes about 20 hours and too much manual supervision to bloom into final form.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;strong&gt;Clean up the CSS.&lt;/strong&gt; I’m working with a designer on a professional-looking redesign, but that won’t be ready for a few weeks.&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;strong&gt;Implement basic unit testing. &lt;/strong&gt;TDD + constantly changing developments = a ton of time writing unused tests. I’ve decided to backload the pain.&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;strong&gt;Come up with a solid analytics / metrics plan.&lt;/strong&gt; I’ve got Google Analytics and &lt;a href="http://www.datadoghq.com/" target="_blank"&gt;Datadog&lt;/a&gt;, but I want to make sure I learn as much as possible from early users.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;strong&gt;A bunch of relationship management stuff &lt;/strong&gt;(I’m probably not going to write much about individual people, but I may write &lt;em&gt;about &lt;/em&gt;writing about individual people.)&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;strong&gt;Fix many minor bugs&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;strong&gt;&lt;span&gt;Press the button.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img alt="image" src="http://media.tumblr.com/231bb053297eadfb047a7c1d320f4f02/tumblr_inline_miiepsCpby1qz4rgp.jpg"/&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt;Based on the plan I made while writing this, it looks like &lt;strong&gt;Friday will be the day&lt;/strong&gt;.&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Here’s my calendar for the week:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;img alt="image" src="http://media.tumblr.com/cc9ad7ccb7967499010d28ee7661a992/tumblr_inline_miies0xDMw1qz4rgp.png"/&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description><link>http://rogueleaderr.com/post/43554949483</link><guid>http://rogueleaderr.com/post/43554949483</guid><pubDate>Wed, 20 Feb 2013 03:15:00 -0500</pubDate></item></channel></rss>
