<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Josh Earl</title>
	
	<link>http://aspirecode.com</link>
	<description>Code, Tech and Productivity</description>
	<lastBuildDate>Tue, 11 Jun 2013 14:00:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/joshearl" /><feedburner:info uri="joshearl" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Win a free Sublime Text license</title>
		<link>http://feedproxy.google.com/~r/joshearl/~3/1mWDZCqOWQ0/</link>
		<comments>http://aspirecode.com/win-a-free-sublime-text-license/#comments</comments>
		<pubDate>Tue, 11 Jun 2013 14:00:49 +0000</pubDate>
		<dc:creator>josh</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Header Slider]]></category>
		<category><![CDATA[sublime text]]></category>

		<guid isPermaLink="false">http://aspirecode.com/?p=780</guid>
		<description><![CDATA[Sublime Text is a key part of your daily workflow. You couldn&#8217;t live without it and the dozens of plugins that let you tweak and customize to your heart&#8217;s content. But there&#8217;s that &#8220;trial mode&#8221; message again, prompting a little stab of guilt. I should pay for a license. You&#8217;re not a freeloader&#8211;you like to [...]]]></description>
				<content:encoded><![CDATA[<p>Sublime Text is a key part of your daily workflow. You couldn&#8217;t live without it and the dozens of plugins that let you tweak and customize to your heart&#8217;s content.</p>
<p>But there&#8217;s that &#8220;trial mode&#8221; message again, prompting a little stab of guilt. </p>
<p><em>I should pay for a license.</em></p>
<p>You&#8217;re not a freeloader&#8211;you like to support programmers who make the tools you love. </p>
<p><em>But $70</em> is <em>a lot to shell out &#8230;</em></p>
<h2>I&#8217;m giving away a full Sublime Text license this month.</h2>
<p>This contest is only for subscribers to my <a href="http://sublimetexttips.com/newsletter">Sublime Weekly newsletter</a>.</p>
<p>To subscribe to the newsletter for your chance to win, just drop your email address in the form below.</p>
<!-- OptinSkin -->
	<div align="center" class="ois_wrapper " data="7" data-popup-scroll="100px" style="margin-top:15px;margin-bottom:20px;" id="ois_7" rel="780"><section class="optinForm clearfix">
    <form action="http://joshearl.us6.list-manage.com/subscribe/post?u=5246107b90655bf9815848797&id=a677527fca" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate clearfix" novalidate>
        <h2>I want to win a FREE Sublime Text license</h2>
        <div class="mc-field-group">
            <label for="MERGE1">First Name (optional, but I won't have to say, "Hey you!")</label>
            <input value=""  type="text" name="MERGE1" id="mce-FIRSTNAME" placeholder="First Name">
            
            <label for="EMAIL">Email Address</label>
            <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Your Email">
            <div id="mce-responses" class="clear">
                <div class="response" id="mce-error-response" style="display:none"></div>
                <div class="response" id="mce-success-response" style="display:none"></div>
            </div>
            <input type="submit" value="Enter me in the contest!" name="subscribe" id="mc-embedded-subscribe" class="button">
        </div>
       
    </form>
</section><style type="text/css">.optinForm.clearfix:before,
    .optinForm.clearfix:after {
        content: " ";
        display: table;
    }

    .optinForm.clearfix:after {
        clear: both;
    }

    .optinForm {
        width: 600px;
        color: #53585f;
        background-color: #f8f8f8;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-size: 12px;
        font-weight: bold;
    }

    .optinForm h2 {
        margin: 15px 0 !important;
        text-align: center;
        font: 24px 'Rokkitt', Georgia, Times, serif;
    }

    .optinForm label {
        display: block;
        text-align: left;
        font-weight: bold;
    }

    .optinForm input[type="text"], .optinForm input[type="email"] {
        height: 20px;
        line-height: normal;
        padding: 8px;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-family: 'Droid Serif', Georgia, serif;
        color: #60636b;
        border-radius: 2px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        -o-border-radius: 2px;
        outline: none;
        border: none;
        width: 388px;
        margin-bottom: 15px;
        font-weight: bold;
        font-size: 12px;
    }

    #mce-EMAIL {
        background-color: #ffffcc;
    }

    .optinForm label.error {
        color: red;
    }

    .optinForm .button {
        cursor: pointer;
        width: 200px;
        height: 30px;
        font: 14px/14px Helvetica, Arial, sans-serif;
        font-weight: bold;
        color: #fff;
        background-color: #f8976f;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        -o-border-radius: 3px;
    }

    .optinForm .button:hover {
        opacity: 0.9;
    }

    .optinForm .mc-field-group {
        float: left;
        margin-left: 100px;
    }

    .optinForm .featuredImage {
        margin-right: 25px;
        float: right;
        width: 130px;
        background-color: green;
    }</style><div style="clear:both;"></div>
		</div><!-- End OptinSkin -->
<h2>Are you going to spam me?</h2>
<p>No, I promise not to spam you, and <strong>I won&#8217;t share your email address with anyone.</strong></p>
<p>You&#8217;ll get the free Sublime Weekly newsletter, which includes great Sublime tips and links to helpful articles and plugins I&#8217;ve stumbled across. Still not sure? Check out <a href="http://eepurl.com/z57fL">a previous edition</a>.</p>
<p>I&#8217;ll also occasionally send updates or announcements about other Sublime Text-related projects I&#8217;m working on, like my <a href="http://sublimeproductivity.com">Sublime Productivity ebook</a>.</p>
<h2>But I already get the newletter!</h2>
<p>Great, then you&#8217;re eligible. No additional steps required!</p>
<h2>Will this license cover the Sublime Text 3 upgrade?</h2>
<p>Yes, it&#8217;ll be good for Sublime Text 3.</p>
<h2>I&#8217;ve already paid for a Sublime license!</h2>
<p>No problem&#8211;I&#8217;ll reimburse you if you win.</p>
<h2>When will you announce the winner?</h2>
<p>I&#8217;ll announce the winner in the June 27, 2013 edition of the newsletter.</p>
<h2>What is the deadline for entering?</h2>
<p>The cutoff is <strong>midnight Eastern Time (US &amp; Canada) in June 25, 2013</strong>. </p>
<p>Don&#8217;t miss out&#8211;drop your email address in the form below to enter.</p>
<!-- OptinSkin -->
	<div align="center" class="ois_wrapper " data="7" data-popup-scroll="100px" style="margin-top:15px;margin-bottom:20px;" id="ois_7" rel="780"><section class="optinForm clearfix">
    <form action="http://joshearl.us6.list-manage.com/subscribe/post?u=5246107b90655bf9815848797&id=a677527fca" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate clearfix" novalidate>
        <h2>I want to win a FREE Sublime Text license</h2>
        <div class="mc-field-group">
            <label for="MERGE1">First Name (optional, but I won't have to say, "Hey you!")</label>
            <input value=""  type="text" name="MERGE1" id="mce-FIRSTNAME" placeholder="First Name">
            
            <label for="EMAIL">Email Address</label>
            <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Your Email">
            <div id="mce-responses" class="clear">
                <div class="response" id="mce-error-response" style="display:none"></div>
                <div class="response" id="mce-success-response" style="display:none"></div>
            </div>
            <input type="submit" value="Enter me in the contest!" name="subscribe" id="mc-embedded-subscribe" class="button">
        </div>
       
    </form>
</section><style type="text/css">.optinForm.clearfix:before,
    .optinForm.clearfix:after {
        content: " ";
        display: table;
    }

    .optinForm.clearfix:after {
        clear: both;
    }

    .optinForm {
        width: 600px;
        color: #53585f;
        background-color: #f8f8f8;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-size: 12px;
        font-weight: bold;
    }

    .optinForm h2 {
        margin: 15px 0 !important;
        text-align: center;
        font: 24px 'Rokkitt', Georgia, Times, serif;
    }

    .optinForm label {
        display: block;
        text-align: left;
        font-weight: bold;
    }

    .optinForm input[type="text"], .optinForm input[type="email"] {
        height: 20px;
        line-height: normal;
        padding: 8px;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-family: 'Droid Serif', Georgia, serif;
        color: #60636b;
        border-radius: 2px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        -o-border-radius: 2px;
        outline: none;
        border: none;
        width: 388px;
        margin-bottom: 15px;
        font-weight: bold;
        font-size: 12px;
    }

    #mce-EMAIL {
        background-color: #ffffcc;
    }

    .optinForm label.error {
        color: red;
    }

    .optinForm .button {
        cursor: pointer;
        width: 200px;
        height: 30px;
        font: 14px/14px Helvetica, Arial, sans-serif;
        font-weight: bold;
        color: #fff;
        background-color: #f8976f;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        -o-border-radius: 3px;
    }

    .optinForm .button:hover {
        opacity: 0.9;
    }

    .optinForm .mc-field-group {
        float: left;
        margin-left: 100px;
    }

    .optinForm .featuredImage {
        margin-right: 25px;
        float: right;
        width: 130px;
        background-color: green;
    }</style><div style="clear:both;"></div>
		</div><!-- End OptinSkin -->
<img src="http://feeds.feedburner.com/~r/joshearl/~4/1mWDZCqOWQ0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://aspirecode.com/win-a-free-sublime-text-license/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://aspirecode.com/win-a-free-sublime-text-license/</feedburner:origLink></item>
		<item>
		<title>Why I’m publishing my ebook 100 words at a time</title>
		<link>http://feedproxy.google.com/~r/joshearl/~3/w_VBhqblKck/</link>
		<comments>http://aspirecode.com/why-im-publishing-my-ebook-100-words-at-a-time/#comments</comments>
		<pubDate>Fri, 31 May 2013 16:00:30 +0000</pubDate>
		<dc:creator>josh</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Header Slider]]></category>

		<guid isPermaLink="false">http://aspirecode.com/?p=772</guid>
		<description><![CDATA[I&#8217;m writing my ebook in the least efficient way possible: Every day, I publish an update of at least 100 words. And you know what? It&#8217;s working great. Publishing 100-word chunks throws the &#8220;writing process&#8221; out the window Writing involves several discrete steps: organization and outlining, research, writing the first draft, editing the final draft, [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m writing <a href="http://sublimeproductivity.com">my ebook</a> in the least efficient way possible: Every day, I publish an update of at least 100 words.</p>
<p>And you know what? It&#8217;s working great.</p>
<h2>Publishing 100-word chunks throws the &#8220;writing process&#8221; out the window</h2>
<p>Writing involves several discrete steps: organization and outlining, research, writing the first draft, editing the final draft, formatting and publishing. To write quickly and efficiently, you shouldn&#8217;t combine steps.</p>
<p>In my case that&#8217;s even more true: Writing about a technical topic requires a <em>lot</em> of research, which usually means I spend a lot of time fiddling with Sublime Text plugins, reading configuration files, scanning documentation and source code. </p>
<p>Publishing an update every day means I spend 80 percent of my &#8220;writing&#8221; time doing research before pounding out a few sentences and hitting the publish button. </p>
<p>Yesterday I spent 20 minutes working up a PHP example function and making sure it actually ran before I used it in a screenshot.</p>
<h2>My inner efficiency geek recoils in horror</h2>
<p>&#8220;You should be batching your research, then cranking out a full chapter from your notes!&#8221; he screams.</p>
<p>But you know what? That didn&#8217;t work.</p>
<p>I tried setting ambitious goals for my writing: I&#8217;ll publish one chapter a week! I&#8217;ll write 1,000 words a week!</p>
<p>I then tackled my big goal as efficiently as possible, starting with doing some research, then typing up an outline, and then &#8230; </p>
<p>It just sat.</p>
<p>By breaking up my writing into a week-long project, I never developed the habit of writing daily. And my self-imposed deadlines slipped by unmet.</p>
<h2>Habits trump efficient process</h2>
<p>So I&#8217;ve changed my goal. Rather than focusing on finishing my book, which encourages me to put a premium on efficiency, I&#8217;ve dedicated myself 100 percent to developing the habit of daily writing.</p>
<p>Personal finance guru Dave Ramsey recommends paying off a mountain of debt by starting with the smallest credit card balance, rather than tackling the one with the highest interest rate. </p>
<p>Why? Because the biggest impediment to financial success is habits, not math. </p>
<p>Paying off the smallest debt provides a quick win that reinforces the new financial habits you&#8217;re developing.  </p>
<h2>Success is 80 percent about consistency, and 20 percent about efficiency</h2>
<p>I&#8217;d like to write 1,000 words a day like <a href="http://nathanbarry.com/commitment-changed-career/">Nathan Barry</a>. I want to become a writing machine, cranking out blog posts and ebooks at dizzying speed.</p>
<p>But before I worry about optimizing my writing process and increasing my words per hour, I&#8217;m going to ensure that writing is as much a part of my daily routine as brushing my teeth.</p>
<p>Because the 100 words I wrote this morning beat all those chapters that never happened.</p>
<p>P.S. If this habit stuff sounds interesting, I&#8217;d encourage you to check out the <a href="http://www.amazon.com/gp/product/B0055PGUYU/ref=as_li_ss_tl?ie=UTF8&amp;tag=programproduc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0055PGUYU">Power of Habit</a>.</p>
<!-- OptinSkin -->
	<div align="center" class="ois_wrapper " data="5" data-popup-scroll="100px" style="margin-top:5px;margin-bottom:5px;" id="ois_5" rel="772"><section class="optinForm clearfix">
    <form action="http://joshearl.us6.list-manage.com/subscribe/post?u=5246107b90655bf9815848797&id=a677527fca" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate clearfix" novalidate>
        <h2>Send me 12 FREE pages of advanced Sublime tips!</h2>
        <div class="mc-field-group">
            <label for="MERGE1">First Name (optional, but I won't have to say, "Hey you!")</label>
            <input value=""  type="text" name="MERGE1" id="mce-FIRSTNAME" placeholder="First Name">
            
            <label for="EMAIL">Email Address</label>
            <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Your Email">
            <div id="mce-responses" class="clear">
                <div class="response" id="mce-error-response" style="display:none"></div>
                <div class="response" id="mce-success-response" style="display:none"></div>
            </div>
            <input type="submit" value="Send Me My Guide!" name="subscribe" id="mc-embedded-subscribe" class="button">
        </div>
        <img class="featuredImage" src="http://aspirecode.com/wp-content/uploads/2013/01/title_page.png" alt="sublime productivity ebook">
    </form>
</section><style type="text/css">.optinForm.clearfix:before,
    .optinForm.clearfix:after {
        content: " ";
        display: table;
    }

    .optinForm.clearfix:after {
        clear: both;
    }

    .optinForm {
        width: 600px;
        color: #53585f;
        background-color: #f8f8f8;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-size: 12px;
        font-weight: bold;
    }

    .optinForm h2 {
        margin: 15px 0 !important;
        text-align: center;
        font: 24px 'Rokkitt', Georgia, Times, serif;
    }

    .optinForm label {
        display: block;
        text-align: left;
        font-weight: bold;
    }

    .optinForm input[type="text"], .optinForm input[type="email"] {
        height: 20px;
        line-height: normal;
        padding: 8px;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-family: 'Droid Serif', Georgia, serif;
        color: #60636b;
        border-radius: 2px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        -o-border-radius: 2px;
        outline: none;
        border: none;
        width: 388px;
        margin-bottom: 15px;
        font-weight: bold;
        font-size: 12px;
    }

    #mce-EMAIL {
        background-color: #ffffcc;
    }

    .optinForm label.error {
        color: red;
    }

    .optinForm .button {
        cursor: pointer;
        width: 200px;
        height: 30px;
        font: 14px/14px Helvetica, Arial, sans-serif;
        font-weight: bold;
        color: #fff;
        background-color: #f8976f;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        -o-border-radius: 3px;
    }

    .optinForm .button:hover {
        opacity: 0.9;
    }

    .optinForm .mc-field-group {
        float: left;
        margin-left: 25px;
    }

    .optinForm .featuredImage {
        margin-right: 25px;
        float: right;
        width: 130px;
        background-color: green;
    }</style><div style="clear:both;"></div>
		</div><!-- End OptinSkin -->
<img src="http://feeds.feedburner.com/~r/joshearl/~4/w_VBhqblKck" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://aspirecode.com/why-im-publishing-my-ebook-100-words-at-a-time/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://aspirecode.com/why-im-publishing-my-ebook-100-words-at-a-time/</feedburner:origLink></item>
		<item>
		<title>Create and Open GitHub Gists from Sublime Text</title>
		<link>http://feedproxy.google.com/~r/joshearl/~3/DKqwGM5dmiE/</link>
		<comments>http://aspirecode.com/create-and-open-github-gists-from-sublime-text/#comments</comments>
		<pubDate>Tue, 21 May 2013 14:00:57 +0000</pubDate>
		<dc:creator>josh</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Header Slider]]></category>
		<category><![CDATA[sublime text]]></category>
		<category><![CDATA[sublime-plugins]]></category>

		<guid isPermaLink="false">http://aspirecode.com/?p=764</guid>
		<description><![CDATA[I use GitHub gists when I want to save a snippet of code for easy reuse, or to save readers of my Sublime Productivity ebook from having to retype code examples. Creating gists through GitHub&#8217;s web interface is a bit of a pain, though. I used to bounce back and forth between Sublime Text and [...]]]></description>
				<content:encoded><![CDATA[<p>I use <a href="https://gist.github.com/discover">GitHub gists</a> when I want to save a snippet of code for easy reuse, or to save readers of my <a href="http://sublimeproductivity.com">Sublime Productivity ebook</a> from having to retype code examples.</p>
<p>Creating gists through GitHub&#8217;s web interface is a bit of a pain, though. I used to bounce back and forth between Sublime Text and the GitHub site a few times to tweak the formatting of my gist before I was happy with it.</p>
<p>Now I do the whole process without leaving Sublime, using the <a href="https://github.com/bgreenlee/sublime-github">sublime-github plugin</a>, and I created a video walkthrough that&#8217;ll show you how to set up and use the plugin:</p>
<p><iframe width="500" height="281" src="http://www.youtube.com/embed/wVgkWJpaDcM?feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<h2>Creating a Gist</h2>
<p>Creating a new gist is as simple as highlighting the code you want to include and executing the <code>github public gist</code> command from the <strong>Command Palette</strong>. </p>
<p>The first time you run the plugin, it&#8217;ll prompt you for your GitHub credentials, which it uses to get an access token from GitHub.</p>
<p>Next, enter a description for your gist and a filename, and sublime-gist publishes your gist and copies the URL to your clipboard for easy sharing. Brilliant!</p>
<h2>Managing and Sharing Your Gists</h2>
<p>The sublime-github plugin also gives you several commands for viewing and editing your gists.</p>
<p>Type <code>github</code> in the <strong>Command Palette</strong> to view a list of all commands you can perform, which include:</p>
<ul>
<li>Opening a gist in your browser</li>
<li>Copying a gist URL to the clipboard</li>
<li>Opening a gist directly in Sublime</li>
</ul>
<p>P.S. Do you love using Sublime to get more done? Drop your email address in the box below to get more free tips every week. As a bonus, I&#8217;ll send you a 12-page guide to Sublime&#8217;s advanced editing features so you can start using Sublime more effectively&#8211;today.</p>
<!-- OptinSkin -->
	<div align="center" class="ois_wrapper " data="5" data-popup-scroll="100px" style="margin-top:5px;margin-bottom:5px;" id="ois_5" rel="764"><section class="optinForm clearfix">
    <form action="http://joshearl.us6.list-manage.com/subscribe/post?u=5246107b90655bf9815848797&id=a677527fca" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate clearfix" novalidate>
        <h2>Send me 12 FREE pages of advanced Sublime tips!</h2>
        <div class="mc-field-group">
            <label for="MERGE1">First Name (optional, but I won't have to say, "Hey you!")</label>
            <input value=""  type="text" name="MERGE1" id="mce-FIRSTNAME" placeholder="First Name">
            
            <label for="EMAIL">Email Address</label>
            <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Your Email">
            <div id="mce-responses" class="clear">
                <div class="response" id="mce-error-response" style="display:none"></div>
                <div class="response" id="mce-success-response" style="display:none"></div>
            </div>
            <input type="submit" value="Send Me My Guide!" name="subscribe" id="mc-embedded-subscribe" class="button">
        </div>
        <img class="featuredImage" src="http://aspirecode.com/wp-content/uploads/2013/01/title_page.png" alt="sublime productivity ebook">
    </form>
</section><style type="text/css">.optinForm.clearfix:before,
    .optinForm.clearfix:after {
        content: " ";
        display: table;
    }

    .optinForm.clearfix:after {
        clear: both;
    }

    .optinForm {
        width: 600px;
        color: #53585f;
        background-color: #f8f8f8;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-size: 12px;
        font-weight: bold;
    }

    .optinForm h2 {
        margin: 15px 0 !important;
        text-align: center;
        font: 24px 'Rokkitt', Georgia, Times, serif;
    }

    .optinForm label {
        display: block;
        text-align: left;
        font-weight: bold;
    }

    .optinForm input[type="text"], .optinForm input[type="email"] {
        height: 20px;
        line-height: normal;
        padding: 8px;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-family: 'Droid Serif', Georgia, serif;
        color: #60636b;
        border-radius: 2px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        -o-border-radius: 2px;
        outline: none;
        border: none;
        width: 388px;
        margin-bottom: 15px;
        font-weight: bold;
        font-size: 12px;
    }

    #mce-EMAIL {
        background-color: #ffffcc;
    }

    .optinForm label.error {
        color: red;
    }

    .optinForm .button {
        cursor: pointer;
        width: 200px;
        height: 30px;
        font: 14px/14px Helvetica, Arial, sans-serif;
        font-weight: bold;
        color: #fff;
        background-color: #f8976f;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        -o-border-radius: 3px;
    }

    .optinForm .button:hover {
        opacity: 0.9;
    }

    .optinForm .mc-field-group {
        float: left;
        margin-left: 25px;
    }

    .optinForm .featuredImage {
        margin-right: 25px;
        float: right;
        width: 130px;
        background-color: green;
    }</style><div style="clear:both;"></div>
		</div><!-- End OptinSkin -->
<img src="http://feeds.feedburner.com/~r/joshearl/~4/DKqwGM5dmiE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://aspirecode.com/create-and-open-github-gists-from-sublime-text/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://aspirecode.com/create-and-open-github-gists-from-sublime-text/</feedburner:origLink></item>
		<item>
		<title>Starting a New WordPress Plugin with Sublime Text</title>
		<link>http://feedproxy.google.com/~r/joshearl/~3/uf0_CmoXSqo/</link>
		<comments>http://aspirecode.com/starting-a-new-wordpress-plugin-with-sublime-text/#comments</comments>
		<pubDate>Tue, 07 May 2013 14:00:06 +0000</pubDate>
		<dc:creator>josh</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Header Slider]]></category>
		<category><![CDATA[sublime text]]></category>
		<category><![CDATA[sublime-plugins]]></category>

		<guid isPermaLink="false">http://aspirecode.com/?p=745</guid>
		<description><![CDATA[Starting a new project is always fun — no unfamiliar code to grok, no need to worry about breaking existing features. Then &#8230; the setup begins Copy and paste the files from a previous project. Delete a bunch of files. Whack blocks of unneeded code. Update jQuery. Download and unzip libraries from Github. &#8220;Yay!&#8221; turns [...]]]></description>
				<content:encoded><![CDATA[<p>Starting a new project is always fun — no unfamiliar code to grok, no need to worry about breaking existing features. </p>
<h2>Then &#8230; the setup begins</h2>
<p>Copy and paste the files from a previous project. </p>
<p>Delete a bunch of files. </p>
<p>Whack blocks of unneeded code. </p>
<p>Update jQuery. </p>
<p>Download and unzip libraries from Github. </p>
<h2>&#8220;Yay!&#8221; turns into &#8220;Ugh &#8230;&#8221;</h2>
<p>What if you could set up a new project in seconds, without visiting a dozen different websites and Github repositories? And all from the comfort of your favorite editor?</p>
<p>Here&#8217;s how to quickly bootstrap a new project in Sublime Text. The example involves creating a new WordPress plugin, but the principles apply to any project.</p>
<h2>Fetch installs libraries for you</h2>
<p><a href="https://github.com/weslly/Nettuts-Fetch">Fetch</a> is a brilliant, flexible plugin for Sublime that makes it a snap to grab the latest versions of your favorite open source libraries and frameworks.</p>
<p>Once you install and configure Fetch, you can install the latest version of jQuery from Sublime with a simple command:</p>
<p><img src="http://aspirecode.com/wp-content/uploads/2013/05/fetch-file-list.png" alt="" width="550"/></p>
<h2>Installing Fetch</h2>
<p>If you haven&#8217;t already <a href="http://wbond.net/sublime_packages/package_control">installed Package Control</a>, you&#8217;ll need to do that before you can set up Fetch.</p>
<p>Once you have Package Control installed, launch the Command Palette, type <code>install package</code>, hit <strong>Enter</strong>, then type <code>fetch</code>. Hit <strong>Enter</strong> one more time and Package Control will install Fetch for you.</p>
<h2>Configuring Fetch</h2>
<p>Fetch can download either single files or <em>packages</em>, which are just zip files containing several files.</p>
<p>Fetch comes preconfigured with one file, jQuery, and one package, HTML5 Boilerplate. Adding more files and packages is just a matter of making a quick change to Fetch&#8217;s configuration file.</p>
<p>Let&#8217;s configure Fetch to download <a href="https://github.com/tommcfarlin/WordPress-Plugin-Boilerplate">WordPress Plugin Boilerplate</a>, which makes it easy to get up and running when you&#8217;re starting a new WordPress plugin.  </p>
<p>First, launch the Command Palette and type <code>fetch: manage</code>, then press <strong>Enter</strong> to open the Fetch configuration file in a new tab. </p>
<p>The jQuery and HTML5 Boilerplate entries illustrate how to add your own files and packages:</p>
<pre class="wp-code-highlight prettyprint">
{
  {
    &quot;files&quot;:
  {
    &quot;jquery&quot;: &quot;http://code.jquery.com/jquery.min.js&quot;
  },
  &quot;packages&quot;:
  {
    &quot;html5_boilerplate&quot;: &quot;https://github.com/h5bp/html5-boilerplate/zipball/master&quot;
  }
}
</pre>
<p>Notice that in both cases, the links allow you to always get the latest versions of these projects. The jQuery link isn&#8217;t tied to a specific version of the library, and the Github link always gets the newest commit to the <code>master</code> branch of HTML5 Boilerplate.</p>
<p>Also note the <code>zipball</code> portion of the HTML5 Boilerplate link. When you want to download a collection of files, Fetch expects a link to a zipped archive, which it will then extract for you to a folder of your choice. Github allows you to download the latest version of any project by appending <code>/zipball/master</code> to the project&#8217;s URL, which works well with Fetch.</p>
<p>Here&#8217;s the Fetch settings file after adding the WordPress Plugin Boilerplate package:</p>
<pre class="wp-code-highlight prettyprint">
{  
  {
    &quot;files&quot;:
  {
    &quot;jquery&quot;: &quot;http://code.jquery.com/jquery.min.js&quot;
  },
  &quot;packages&quot;:
  {
    &quot;html5_boilerplate&quot;: &quot;https://github.com/h5bp/html5-boilerplate/zipball/master&quot;,
    &quot;wordpress_plugin_boilerplate&quot;: &quot;https://github.com/tommcfarlin/WordPress-Plugin-Boilerplate/zipball/master&quot;
  }
}
</pre>
<p>This example is available for <a href="https://gist.github.com/5517849">download as a gist</a>.</p>
<h2>Using Fetch</h2>
<p>Now let&#8217;s use Fetch to bootstrap a new WordPress plugin.</p>
<p>Launch the Command Palette and type <code>fetch package</code>, press <strong>Enter</strong>, then type <code>wordpress</code> and hit <strong>Enter</strong> again. </p>
<p>Fetch prompts you to enter the path where you&#8217;d like to unzip your package:</p>
<p><img src="http://aspirecode.com/wp-content/uploads/2013/05/fetch-choose-file-path.png" alt="" width="550"/></p>
<p>After you type a path and press <strong>Enter</strong>, you&#8217;ll see the download progressing in Sublime&#8217;s status bar.</p>
<p>Once the download completes, open Windows Explorer or Finder and browse to the path you specified, where you&#8217;ll see a <code>plugin-boilerplate</code> folder. Rename that folder to whatever you&#8217;d like to call your plugin, then drag it into Sublime to open the folder in the side bar. </p>
<p>That&#8217;s it—you&#8217;re ready to go. You&#8217;ll probably want to save this folder as a new Sublime project by clicking <strong>Project | Save As &#8230;</strong> so you can easily reopen it later.</p>
<p><img src="http://aspirecode.com/wp-content/uploads/2013/05/fetch-completed-project.png" alt="" width="550"/></p>
<p>Note: Having to open your file browser and rename the plugin folder is a little clumsy, but that&#8217;s due to a quirk in the WordPress Boilerplate Plugin project, not a shortcoming of Fetch. The WordPress Plugin Boilerplate project uses the <code>plugin-boilerplate</code> subfolder to organize all of the <code>php</code>, <code>js</code> and <code>css</code> files and folders, instead of keeping them in the project&#8217;s root directory. Fetch expects the files to live in the root directory. The HTML5 Boilerplate project is structured this way, and you can install it right into the root directory of an existing Sublime project, providing a much smoother workflow.</p>
<p>P.S. Do you love using Sublime to get more done? Drop your email address in the box below to get more free tips every week. As a bonus, I&#8217;ll send you a 12-page guide to Sublime&#8217;s advanced editing features so you can start using Sublime more effectively—today.</p>
<!-- OptinSkin -->
	<div align="center" class="ois_wrapper " data="5" data-popup-scroll="100px" style="margin-top:5px;margin-bottom:5px;" id="ois_5" rel="745"><section class="optinForm clearfix">
    <form action="http://joshearl.us6.list-manage.com/subscribe/post?u=5246107b90655bf9815848797&id=a677527fca" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate clearfix" novalidate>
        <h2>Send me 12 FREE pages of advanced Sublime tips!</h2>
        <div class="mc-field-group">
            <label for="MERGE1">First Name (optional, but I won't have to say, "Hey you!")</label>
            <input value=""  type="text" name="MERGE1" id="mce-FIRSTNAME" placeholder="First Name">
            
            <label for="EMAIL">Email Address</label>
            <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Your Email">
            <div id="mce-responses" class="clear">
                <div class="response" id="mce-error-response" style="display:none"></div>
                <div class="response" id="mce-success-response" style="display:none"></div>
            </div>
            <input type="submit" value="Send Me My Guide!" name="subscribe" id="mc-embedded-subscribe" class="button">
        </div>
        <img class="featuredImage" src="http://aspirecode.com/wp-content/uploads/2013/01/title_page.png" alt="sublime productivity ebook">
    </form>
</section><style type="text/css">.optinForm.clearfix:before,
    .optinForm.clearfix:after {
        content: " ";
        display: table;
    }

    .optinForm.clearfix:after {
        clear: both;
    }

    .optinForm {
        width: 600px;
        color: #53585f;
        background-color: #f8f8f8;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-size: 12px;
        font-weight: bold;
    }

    .optinForm h2 {
        margin: 15px 0 !important;
        text-align: center;
        font: 24px 'Rokkitt', Georgia, Times, serif;
    }

    .optinForm label {
        display: block;
        text-align: left;
        font-weight: bold;
    }

    .optinForm input[type="text"], .optinForm input[type="email"] {
        height: 20px;
        line-height: normal;
        padding: 8px;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-family: 'Droid Serif', Georgia, serif;
        color: #60636b;
        border-radius: 2px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        -o-border-radius: 2px;
        outline: none;
        border: none;
        width: 388px;
        margin-bottom: 15px;
        font-weight: bold;
        font-size: 12px;
    }

    #mce-EMAIL {
        background-color: #ffffcc;
    }

    .optinForm label.error {
        color: red;
    }

    .optinForm .button {
        cursor: pointer;
        width: 200px;
        height: 30px;
        font: 14px/14px Helvetica, Arial, sans-serif;
        font-weight: bold;
        color: #fff;
        background-color: #f8976f;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        -o-border-radius: 3px;
    }

    .optinForm .button:hover {
        opacity: 0.9;
    }

    .optinForm .mc-field-group {
        float: left;
        margin-left: 25px;
    }

    .optinForm .featuredImage {
        margin-right: 25px;
        float: right;
        width: 130px;
        background-color: green;
    }</style><div style="clear:both;"></div>
		</div><!-- End OptinSkin -->
<img src="http://feeds.feedburner.com/~r/joshearl/~4/uf0_CmoXSqo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://aspirecode.com/starting-a-new-wordpress-plugin-with-sublime-text/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://aspirecode.com/starting-a-new-wordpress-plugin-with-sublime-text/</feedburner:origLink></item>
		<item>
		<title>How to Add SASS Support in Sublime Text</title>
		<link>http://feedproxy.google.com/~r/joshearl/~3/b6IehgIyClk/</link>
		<comments>http://aspirecode.com/how-to-add-sass-support-in-sublime-text/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 14:00:05 +0000</pubDate>
		<dc:creator>josh</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Header Slider]]></category>
		<category><![CDATA[SASS]]></category>
		<category><![CDATA[sublime text]]></category>

		<guid isPermaLink="false">http://aspirecode.com/?p=725</guid>
		<description><![CDATA[SASS, short for Syntactically Awesome Style Sheets, is a massively popular tool for web developers that takes a lot of the pain out of writing CSS. Unfortunately, Sublime doesn&#8217;t provide a lot of help if you want to use SASS in your project. Package Control lists a number of seemingly useful plugins, but each provides [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://sass-lang.com/">SASS</a>, short for Syntactically Awesome Style Sheets, is a massively popular tool for web developers that takes a lot of the pain out of writing CSS. Unfortunately, Sublime doesn&#8217;t provide a lot of help if you want to use SASS in your project. </p>
<p>Package Control lists a number of seemingly useful plugins, but each provides just one or two SASS features&#8211;none of them gives you everything you need to use SASS effectively. Then there&#8217;s the whole compiling thing&#8211;messing with a separate command line tool every time you want to make a CSS tweak is a royal pain. </p>
<p>Here&#8217;s the setup I use that makes working with SASS as seamless as using plain old CSS.</p>
<h2>Install SASS</h2>
<p>Since this isn&#8217;t a SASS 101 tutorial, I&#8217;m going to assume that you&#8217;ve already installed SASS and know how to use the command line compiler. If not, here&#8217;s a <a href="http://www.metropoliscreative.com/web-development/how-to-install-sass-an-easy-guide-for-developers/">good walkthrough</a>.</p>
<p>I&#8217;m also assuming that you have Package Control set up in Sublime. If you haven&#8217;t encountered it yet, Package Control lets you install hundreds of plugins with just a few keystrokes—without leaving Sublime. The <a href="http://wbond.net/sublime_packages/package_control/installation">Package Control site</a> includes setup instructions. </p>
<h2>Configure Syntax Highlighting</h2>
<p>The first time you open a <code>sass</code> or <code>scss</code> file, Sublime just shrugs its shoulders and treats it like plain text, rendering your meticulously formatted style rules in monotonous black and white. </p>
<p><img src="http://aspirecode.com/wp-content/uploads/2013/04/scss-as-plain-text.png" alt="" width="550"/></p>
<p>Package Control lists a handful of plugins that add syntax highlighting for SASS. The runaway favorite is the <a href="https://github.com/nathos/sass-textmate-bundle">sass-textmate-bundle plugin</a>, called simply <code>Sass</code> in Package Control.</p>
<p>After you install the Sass plugin, when you open a <code>scss</code> file you&#8217;re greeted with beautifully highlighted code:</p>
<p><img src="http://aspirecode.com/wp-content/uploads/2013/04/scss-with-highlighting.png" alt="" width="550"/></p>
<p>But don&#8217;t celebrate yet&#8211;if you open a <code>sass</code> file, you&#8217;ll find it&#8217;s still devoid of color. What gives?</p>
<p>If you look in the lower right-hand corner of the screen, you&#8217;ll see a clue:</p>
<p><img src="http://aspirecode.com/wp-content/uploads/2013/04/sass-as-haml.png" alt="" width="550"/></p>
<p>As it turns out, a line in the <code>Data/Packages/Rails/Ruby Haml.tmLanguage</code> file is hijacking the <code>sass</code> extension and incorrectly setting the syntax to <code>Ruby Haml</code> instead of <code>Sass</code>.</p>
<p>I&#8217;ve seen &#8220;fixes&#8221; for this problem that involve editing the <code>Ruby Haml.tmLanguage</code> file itself, or one of the files in the SASS plugin. That&#8217;s a bad idea because future updates to either of those packages will overwrite your customization, and you&#8217;ll be back where you started.</p>
<p>Fortunately, the simplest fix is also the best: Sublime allows you to specify what syntax to use for a given file extension. </p>
<p>To force Sublime to correctly highlight <code>sass</code> files:<br />
  1. Open a <code>sass</code> file.<br />
  2. Click <strong>View | Syntax | Open all with current extension as &#8230; | Sass</strong>. </p>
<h2>Compiling from Sublime</h2>
<p>Messing with the command line SASS compiler is a bit of a hassle&#8211;and it&#8217;s unnecessary. With help from a couple of plugins, you can configure Sublime to automatically compile your SASS stylesheets every time you save a change. </p>
<p>Sublime&#8217;s build system feature allows you to create custom build tasks and associate them with specific file types. You can do this by hand in your <code>sublime-project</code> file, or you can let the <a href="https://github.com/jaumefontal/SASS-Build-SublimeText2">SASS Build plugin</a> handle the heavy lifting for you.</p>
<p>Installing the SASS Build plugin creates two new entries under <strong>Tools | Build</strong>: <strong>Sass</strong> and <strong>Sass &#8211; Compressed</strong>. </p>
<p>Compiling your SASS files with this plugin is simple. While editing a <code>sass</code> or <code>scss</code> file, just hit <strong>Ctrl+B</strong> on Windows or Linux or <strong>Command+B</strong> on OS X. </p>
<p>By default, Sublime will use the regular <strong>Sass</strong> build option, which compiles your SASS and formats the CSS output for easy readability. </p>
<p>To create minified CSS files for production, change the build option by clicking <strong>Tools | Build | Sass &#8211; Compressed</strong>. </p>
<h2>Automating Builds</h2>
<p>Building your SASS files straight from Sublime is convenient, but at some point you&#8217;re going to spend 30 minutes debugging a crazy stubborn CSS issue only to realize that you actually fixed it 25 minutes ago and just forgot to recompile the <code>scss</code> file. Not that I&#8217;m bitter or anything.</p>
<p>You can avoid this by installing the <a href="https://github.com/alexnj/SublimeOnSaveBuild">SublimeOnSaveBuild plugin</a>, which will automatically execute the default build action whenever you save changes to a file. (It&#8217;s also handy when you&#8217;re working with CoffeeScript.)</p>
<p>SublimeOnSaveBuild supports a filename filter, and by default it&#8217;s only configured to run for <code>css</code>, <code>js</code>, <code>sass</code>, <code>less</code> and <code>scss</code> files.</p>
<p>P.S. Do you love using Sublime to get more done? Drop your email address in the box below to get more free tips every week. As a bonus, I&#8217;ll send you a 12-page guide to Sublime&#8217;s advanced editing features so you can start using Sublime more effectively—today.</p>
<!-- OptinSkin -->
	<div align="center" class="ois_wrapper " data="5" data-popup-scroll="100px" style="margin-top:5px;margin-bottom:5px;" id="ois_5" rel="725"><section class="optinForm clearfix">
    <form action="http://joshearl.us6.list-manage.com/subscribe/post?u=5246107b90655bf9815848797&id=a677527fca" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate clearfix" novalidate>
        <h2>Send me 12 FREE pages of advanced Sublime tips!</h2>
        <div class="mc-field-group">
            <label for="MERGE1">First Name (optional, but I won't have to say, "Hey you!")</label>
            <input value=""  type="text" name="MERGE1" id="mce-FIRSTNAME" placeholder="First Name">
            
            <label for="EMAIL">Email Address</label>
            <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Your Email">
            <div id="mce-responses" class="clear">
                <div class="response" id="mce-error-response" style="display:none"></div>
                <div class="response" id="mce-success-response" style="display:none"></div>
            </div>
            <input type="submit" value="Send Me My Guide!" name="subscribe" id="mc-embedded-subscribe" class="button">
        </div>
        <img class="featuredImage" src="http://aspirecode.com/wp-content/uploads/2013/01/title_page.png" alt="sublime productivity ebook">
    </form>
</section><style type="text/css">.optinForm.clearfix:before,
    .optinForm.clearfix:after {
        content: " ";
        display: table;
    }

    .optinForm.clearfix:after {
        clear: both;
    }

    .optinForm {
        width: 600px;
        color: #53585f;
        background-color: #f8f8f8;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-size: 12px;
        font-weight: bold;
    }

    .optinForm h2 {
        margin: 15px 0 !important;
        text-align: center;
        font: 24px 'Rokkitt', Georgia, Times, serif;
    }

    .optinForm label {
        display: block;
        text-align: left;
        font-weight: bold;
    }

    .optinForm input[type="text"], .optinForm input[type="email"] {
        height: 20px;
        line-height: normal;
        padding: 8px;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-family: 'Droid Serif', Georgia, serif;
        color: #60636b;
        border-radius: 2px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        -o-border-radius: 2px;
        outline: none;
        border: none;
        width: 388px;
        margin-bottom: 15px;
        font-weight: bold;
        font-size: 12px;
    }

    #mce-EMAIL {
        background-color: #ffffcc;
    }

    .optinForm label.error {
        color: red;
    }

    .optinForm .button {
        cursor: pointer;
        width: 200px;
        height: 30px;
        font: 14px/14px Helvetica, Arial, sans-serif;
        font-weight: bold;
        color: #fff;
        background-color: #f8976f;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        -o-border-radius: 3px;
    }

    .optinForm .button:hover {
        opacity: 0.9;
    }

    .optinForm .mc-field-group {
        float: left;
        margin-left: 25px;
    }

    .optinForm .featuredImage {
        margin-right: 25px;
        float: right;
        width: 130px;
        background-color: green;
    }</style><div style="clear:both;"></div>
		</div><!-- End OptinSkin -->
<img src="http://feeds.feedburner.com/~r/joshearl/~4/b6IehgIyClk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://aspirecode.com/how-to-add-sass-support-in-sublime-text/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://aspirecode.com/how-to-add-sass-support-in-sublime-text/</feedburner:origLink></item>
		<item>
		<title>Flatland: The best minimal theme for Sublime Text</title>
		<link>http://feedproxy.google.com/~r/joshearl/~3/bNV2-TVr2cA/</link>
		<comments>http://aspirecode.com/flatland-the-best-minimal-theme-for-sublime-text/#comments</comments>
		<pubDate>Sat, 13 Apr 2013 18:38:14 +0000</pubDate>
		<dc:creator>josh</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Header Slider]]></category>
		<category><![CDATA[sublime text]]></category>

		<guid isPermaLink="false">http://aspirecode.com/?p=679</guid>
		<description><![CDATA[The first time I tried Sublime Text, I was completely turned off by the editor&#8217;s user interface &#8220;chrome&#8221;: I hated the glossy gradients, the subtle shadows that gave the tabs that 3D look and the harsh mismatch between the dark editor window and the light sidebar. It all felt a little cheesy. What I didn&#8217;t [...]]]></description>
				<content:encoded><![CDATA[<p>The first time I tried <a href="http://sublimetext.com">Sublime Text</a>, I was completely turned off by the editor&#8217;s user interface &#8220;chrome&#8221;: I hated the glossy gradients, the subtle shadows that gave the tabs that 3D look and the harsh mismatch between the dark editor window and the light sidebar. It all felt a little cheesy. </p>
<p>What I didn&#8217;t realize at the time that you could completely change the UI chrome by applying a new <em>theme</em>. (In Sublime-speak, a <em>scheme</em> dictates the colors inside the editing window, including the syntax highlighting and background color. A <em>theme</em> controls the look of other UI elements like tabs and the sidebar.)</p>
<p>I quickly settled on my favorite theme, the lovely <a href="https://github.com/buymeasoda/soda-theme">Soda</a> by Ian Hill. Soda dials back the shading, shadows and gradients to a minimum and darkens the sidebar: </p>
<p><img src="http://aspirecode.com/wp-content/uploads/2013/03/soda-theme.png" alt="Soda is an improvement over the default theme." width="550"/></p>
<p>I coded in bliss.</p>
<h2>Moar Minimalist!</h2>
<p>Until this week, that is. Now there&#8217;s a new reigning champion of minimal Sublime themes: <a href="https://github.com/thinkpixellab/flatland">Flatland</a>, published by Pixel Lab.</p>
<p>Flatland picks up where Soda left off, banishing gradients altogether to create a flat, clean UI that looks equally at home on  Mac OS X or Windows 8. </p>
<p><img src="http://aspirecode.com/wp-content/uploads/2013/03/flatland.png" alt="Flatland gives Sublime a clean, sleek look." width="550"/></p>
<p>The theme makes intelligent use of color to highlight key bits of UI without pulling your focus away from the code. For example, splashes of color make selected search options buttons stand out, something that both the default Sublime theme and Soda fail to do.</p>
<p><img src="http://aspirecode.com/wp-content/uploads/2013/03/flatland-colors.png" alt="Color highlights important UI elements." width="550"/></p>
<p>I also really like the theme&#8217;s customization of the command palette. The selected item stands out clearly and the menu somehow feels more solidly anchored.</p>
<p><img src="http://aspirecode.com/wp-content/uploads/2013/03/flatland-command-palette.png" alt="Flatland's customize command palette looks sharp." width="550" /></p>
<h2>Installing Flatland</h2>
<ol>
<li>Download the <a href="https://github.com/thinkpixellab/flatland/archive/master.zip">zip file</a> from Github.</li>
<li>Extract the files and copy <b>Theme &#8211; Flatland</b> into your packages directory. Mine is at <b>Data\Packages</b>.</li>
<li>Add the following settings to your user preferences:
<pre class="wp-code-highlight prettyprint">{
    &quot;theme&quot;: &quot;Flatland.sublime-theme&quot;,
    &quot;color_scheme&quot;: &quot;Packages/Theme - Flatland/Flatland.tmTheme&quot;
  }</pre>
</li>
<li>
<p>Restart Sublime. You&#8217;ll get really weird artifacts in the UI if you don&#8217;t do this.</p>
</li>
</ol>
<p><del datetime="2013-04-20T16:55:30+00:00">Sadly, Flatland isn&#8217;t available through <a href="http://wbond.net/sublime_packages/package_control">Package Control</a> yet, but I&#8217;m sure it&#8217;s coming.</del></p>
<p>UPDATE: You can now install Flatland via Package Control, but you&#8217;ll still need to activate it by setting the theme and color scheme in your user preferences as I outlined above.</p>
<p>P.S. Do you love using Sublime to get more done? Drop your email address in the box below to get more free tips every week. As a bonus, I&#8217;ll send you a 12-page guide to Sublime&#8217;s advanced editing features so you can start using Sublime more effectively&#8211;today.</p>
<!-- OptinSkin -->
	<div align="center" class="ois_wrapper " data="5" data-popup-scroll="100px" style="margin-top:5px;margin-bottom:5px;" id="ois_5" rel="679"><section class="optinForm clearfix">
    <form action="http://joshearl.us6.list-manage.com/subscribe/post?u=5246107b90655bf9815848797&id=a677527fca" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate clearfix" novalidate>
        <h2>Send me 12 FREE pages of advanced Sublime tips!</h2>
        <div class="mc-field-group">
            <label for="MERGE1">First Name (optional, but I won't have to say, "Hey you!")</label>
            <input value=""  type="text" name="MERGE1" id="mce-FIRSTNAME" placeholder="First Name">
            
            <label for="EMAIL">Email Address</label>
            <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Your Email">
            <div id="mce-responses" class="clear">
                <div class="response" id="mce-error-response" style="display:none"></div>
                <div class="response" id="mce-success-response" style="display:none"></div>
            </div>
            <input type="submit" value="Send Me My Guide!" name="subscribe" id="mc-embedded-subscribe" class="button">
        </div>
        <img class="featuredImage" src="http://aspirecode.com/wp-content/uploads/2013/01/title_page.png" alt="sublime productivity ebook">
    </form>
</section><style type="text/css">.optinForm.clearfix:before,
    .optinForm.clearfix:after {
        content: " ";
        display: table;
    }

    .optinForm.clearfix:after {
        clear: both;
    }

    .optinForm {
        width: 600px;
        color: #53585f;
        background-color: #f8f8f8;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-size: 12px;
        font-weight: bold;
    }

    .optinForm h2 {
        margin: 15px 0 !important;
        text-align: center;
        font: 24px 'Rokkitt', Georgia, Times, serif;
    }

    .optinForm label {
        display: block;
        text-align: left;
        font-weight: bold;
    }

    .optinForm input[type="text"], .optinForm input[type="email"] {
        height: 20px;
        line-height: normal;
        padding: 8px;
        box-shadow: 0 0 3px #bebec0;
        -webkit-box-shadow: 0 0 3px #bebec0;
        -moz-box-shadow: 0 0 3px #bebec0;
        -ms-box-shadow: 0 0 3px #bebec0;
        -o-box-shadow: 0 0 3px #bebec0;
        font-family: 'Droid Serif', Georgia, serif;
        color: #60636b;
        border-radius: 2px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -ms-border-radius: 2px;
        -o-border-radius: 2px;
        outline: none;
        border: none;
        width: 388px;
        margin-bottom: 15px;
        font-weight: bold;
        font-size: 12px;
    }

    #mce-EMAIL {
        background-color: #ffffcc;
    }

    .optinForm label.error {
        color: red;
    }

    .optinForm .button {
        cursor: pointer;
        width: 200px;
        height: 30px;
        font: 14px/14px Helvetica, Arial, sans-serif;
        font-weight: bold;
        color: #fff;
        background-color: #f8976f;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        -o-border-radius: 3px;
    }

    .optinForm .button:hover {
        opacity: 0.9;
    }

    .optinForm .mc-field-group {
        float: left;
        margin-left: 25px;
    }

    .optinForm .featuredImage {
        margin-right: 25px;
        float: right;
        width: 130px;
        background-color: green;
    }</style><div style="clear:both;"></div>
		</div><!-- End OptinSkin -->
<img src="http://feeds.feedburner.com/~r/joshearl/~4/bNV2-TVr2cA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://aspirecode.com/flatland-the-best-minimal-theme-for-sublime-text/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://aspirecode.com/flatland-the-best-minimal-theme-for-sublime-text/</feedburner:origLink></item>
		<item>
		<title>How I made $2,000 in 7 days launching my ebook</title>
		<link>http://feedproxy.google.com/~r/joshearl/~3/MDm-uVtGYNA/</link>
		<comments>http://aspirecode.com/how-i-made-2000-in-7-days-launching-my-ebook/#comments</comments>
		<pubDate>Sat, 26 Jan 2013 13:00:04 +0000</pubDate>
		<dc:creator>josh</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Header Slider]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[self publishing]]></category>
		<category><![CDATA[sublime productivity]]></category>

		<guid isPermaLink="false">http://joshearl.me/?p=655</guid>
		<description><![CDATA[August, 2012: I&#8217;m pounding out pages for an ebook about Sublime Text. The book is growing steadily, and with it, a sense of panic: What happens when I&#8217;m done? My entire promotional strategy consists of pushing the publish button! I&#8217;m a programmer, not a sales wizard. Marketing seems like black magic. The thought of my [...]]]></description>
				<content:encoded><![CDATA[<p><strong>August, 2012:</strong> I&#8217;m pounding out pages for an <a href="http://sublimeproductivity.com">ebook about Sublime Text</a>. </p>
<p>The book is growing steadily, and with it, a sense of panic: What happens when I&#8217;m done? My entire promotional strategy consists of pushing the publish button! I&#8217;m a programmer, not a sales wizard. Marketing seems like black magic.</p>
<p>The thought of my hard work going to waste makes me sick.</p>
<h2>Launch Day</h2>
<p><strong>September 27, 2012.</strong> I feel queasy, but I&#8217;ve already announced the big day &#8212; no turning back now. </p>
<p>Over my lunch break, I log in to the dashboard for the publishing software I&#8217;m using, take a deep breath, and do the deed. I close my browser and get back to work, trying hard to pretend nothing is happening.</p>
<p>An hour later, a HipChat message from a colleague forces me out of my cocoon: &#8220;Hey, congrats on your book launch! Looks like you already have 20 readers!&#8221; </p>
<p>And the sales kept coming. I earned more than $1,000 in the first 24 hours, and ended my first week at the $2,000 mark. The book is still selling steadily four months later, and my total earnings are closing in on $5,000.</p>
<p>As I learned, promoting a book isn&#8217;t a black art. With a little advance planning and effort, <strong>you can ensure sales from day one</strong>.</p>
<p>Here are five key actions I took that contributed to my successful launch. </p>
<h2>1. Start Collecting Email Addresses Early</h2>
<p>I originally chose <a href="http://leanpub.com">Leanpub</a> as my publishing platform because of their unique workflow: You write your manuscript in <a href="http://daringfireball.net/projects/markdown/">Markdown</a>, then publish from your Dropbox account. </p>
<p>But I took for granted a Leanpub feature that made a much more significant contribution to my launch-day results: the humble &#8220;coming soon&#8221; page, which features a description of your book and a form where would-be buyers can enter an email address.</p>
<p>It didn&#8217;t seem that important, so I threw up a few lines about the book and linked to the page from my blog. </p>
<p>At the time I was too shy to say much about my project, but this page did the talking for me. By launch day, I had a mailing list of 157 potential buyers.</p>
<p>This list was rocket fuel for my launch-day sales: At least <strong>20% of my email list subscribers purchased the book</strong>.</p>
<p>I learned late in the game that <strong>email is far and away <em>the</em> best way to promote a product.</strong> So push past your shyness and start building an email list as early as possible.</p>
<p>If your publishing platform doesn&#8217;t offer a &#8220;coming soon&#8221; page, invest few hours to set up <a href="https://www.youtube.com/watch?v=QwhNBIz831I">your own hosted WordPress site</a> and <a href="http://kb.mailchimp.com/article/how-to-add-a-mailchimp-signup-form-to-your-wordpress-blog">creating a MailChimp form</a>.</p>
<p>Every email address you collect now is one more potential sale on launch day. </p>
<h2>2. Ask for Help</h2>
<p>A third of my launch sales were a direct result of a step I almost overlooked.</p>
<p>Shortly before the launch, I realized that I should see if I could enlist the aid of community leaders with established followings. I contacted 10 or so well-known programmers via Twitter and offered them a customized discount code they could share with their audiences. </p>
<p>About half of them responded positively, including the biggest ally I was hoping to recruit: Peter Cooper, lord of the open source email newsletter realm. Peter kindly included my discount code in a weekly newsletter that focuses on programming tools. As a result, <strong>I increased my first-week sales by 33%</strong>. </p>
<p>Before you launch, <strong>reach out to community leaders</strong> and ask them to help you promote your book to their audiences. <strong>Give them something they can offer their followers</strong>, so they can do their audiences a favor while helping you out. Wins all around.</p>
<h2>3. Don&#8217;t Underprice</h2>
<p>Deciding what price to charge was gut wrenching. I agonized. I emailed other successful ebook authors. I read blog posts.</p>
<p>One piece of advice stuck with me, although I don&#8217;t remember the source: <strong>Settle on a price that you feel comfortable with. Then double it.</strong></p>
<p>Gulp. I felt $9 or $10 was a nice, comfortable price, so I chose a minimum price of $19 and a &#8220;suggested&#8221; price of $22. (Leanpub uses a variable pricing feature that allows the author to set a minimum and suggested price. Buyers determine what they finally pay.)</p>
<p>I just <em>knew</em> people were going to hate me for it. But that didn&#8217;t happen. Sure, a few people complained, but amazingly, <strong>many people paid me <em>more</em> than the cover price.</strong> One person even paid $50 for the book.</p>
<p>It was a great lesson in value-based pricing. Most of my readers are software developers who make $30, $50 or $150 an hour. I&#8217;ve personally saved myself hours of time with some of the tips I was including in the book, and my suggested price is equivalent to 5 to 45 minutes of billable time.</p>
<p>The takeaway: <strong>Set a price that&#8217;s based on the value you&#8217;re providing readers, not what everyone else is charging.</strong></p>
<h2>4. Launch Before You&#8217;re Ready</h2>
<p>Writing a book is a lot of work, and I soon realized that it would be a lot easier to keep my momentum if I launched the book before it was &#8220;done.&#8221; I waited until I had enough a critical mass of content to provide value to my readers, and then I published it as a beta version.</p>
<p>I was worried that I&#8217;d lose out on launch revenue. You usually make the most sales during an ebook&#8217;s launch, and since I offered the beta at a lower price than what I&#8217;m eventually planning to charge, I felt like I might be leaving money on the table. </p>
<p>But on the flip side, <strong>a smaller launch payday is better than no payday at all</strong>, which could happen if I lost steam before publishing it. </p>
<p>Launching early was a good decision. I&#8217;ve gotten great feedback from readers that I&#8217;m using to shape the book, and the income motivates me to keep working on the book instead of taking on a consulting gig.  </p>
<h2>5. Create Urgency</h2>
<p>Another decision I agonized over was whether to offer any kind of launch-day discount. The idea made me nervous: Would offering a discount cut into my earnings?</p>
<p>I bit the bullet and sent my email list and Twitter followers a 30% discount code, good for 24 hours.</p>
<p>Of those who bought a copy of my book in the first week, 69% used one of the discount codes I sent out.</p>
<p><strong>Give people who are on the fence about your product a reason to buy <em>today</em></strong> with an attractive, limited-time discount. </p>
<h2>Learn More</h2>
<p>If you&#8217;d like to learn more about launching products, the following are a couple of killer resources you should check out. I don&#8217;t make any money from promoting either: I&#8217;m just a happy customer.</p>
<p>For a focused look at making the most of your ebook, I recommend <em><a href="http://www.howtosellyourebook.com/">How to Launch the **** Out of Your Ebook</a></em> by Dave Navarro and Naomi Dunford. When I first found their site, I thought, &#8220;$97? For an ebook about selling ebooks? Sure, it&#8217;ll look great on my coffee table that&#8217;s a coffee table book about coffee tables.&#8221; But most of what I did right during my launch came from reading this book, and I&#8217;m convinced it paid for itself 10 times over.  </p>
<p>If you <em>really</em> want to crush it with ebooks and other information products, check out Amy Hoy&#8217;s <a href="http://unicornfree.com/30x500/">30&#215;500 product development course</a>. The cost for this course makes $97 look like couch cushion money, but it&#8217;s well worth it to learn a top-to-bottom system for creating products that sell. </p>
<p>I&#8217;m planning more posts about my experience creating my first ebook, so be sure to <a href="http://twitter.com/josh_earl">follow me on Twitter</a> for updates, or enter your email address in the subscription form below.</p>
<img src="http://feeds.feedburner.com/~r/joshearl/~4/MDm-uVtGYNA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://aspirecode.com/how-i-made-2000-in-7-days-launching-my-ebook/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://aspirecode.com/how-i-made-2000-in-7-days-launching-my-ebook/</feedburner:origLink></item>
		<item>
		<title>Zombie time: How habits helped me fight failure and slay the procrastination monster</title>
		<link>http://feedproxy.google.com/~r/joshearl/~3/du9rUOnBAnU/</link>
		<comments>http://aspirecode.com/zombie-time-how-habits-helped-me-fight-failure-and-slay-the-procrastination-monster/#comments</comments>
		<pubDate>Mon, 14 Jan 2013 01:00:10 +0000</pubDate>
		<dc:creator>josh</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Header Slider]]></category>
		<category><![CDATA[habits]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[self improvement]]></category>

		<guid isPermaLink="false">http://joshearl.me/?p=640</guid>
		<description><![CDATA[<p>Every couple of months, it occurs to me that I'd be way more productive if I could just get up earlier and get some writing done on my <a href="http://www.sublimeproductivity.com">ebook</a>, <a href="http://www.sublimetexttips.com/newsletter">weekly newsletter</a> and blog before starting work at my day job. Writing is important to me, so why not tackle it first thing?</p>

<p>I get fired up, set an arbitrary goal (500 words a day sounds achievable!), crank my alarm back to 6:15 and hit the pillow with head abuzz about how I'm going to crush it on my new schedule. </p>]]></description>
				<content:encoded><![CDATA[<p>Every couple of months, it occurs to me that I&#8217;d be way more productive if I could just get up earlier and get some writing done on my <a href="http://www.sublimeproductivity.com">ebook</a>, <a href="http://www.sublimetexttips.com/newsletter">weekly newsletter</a> and blog before starting work at my day job. Writing is important to me, so why not tackle it first thing?</p>
<p>I get fired up, set an arbitrary goal (500 words a day sounds achievable!), crank my alarm back to 6:15 and hit the pillow with head abuzz about how I&#8217;m going to crush it on my new schedule. </p>
<p>The rest of the story goes something like this:</p>
<p>6:15 a.m. Did you hear something? No, didn&#8217;t think so.</p>
<p>6:45 a.m. — Alarm again. Hrmm, writing. Before work. Grumble.</p>
<p>7 a.m. — Coffee started. Wait, wat? Where&#8217;d the last 15 minutes go?</p>
<p>7:25 a.m. — Breakfast ready. Still groggy. I&#8217;ll write while I eat and drink my coffee. Hey, what&#8217;s this in my Twitter feed?</p>
<p>8:15 a.m. — Whoa, getting late, better hop in the shower. Bummer about that writing thing. I&#8217;ll get to it this evening when the kids are in bed. </p>
<p>8:35 a.m. — Nuts, starting work late again today.</p>
<p>8 p.m. — Kids in bed. So. Tired. Writing? Let&#8217;s just open my Macbook and see what happens &#8230; <code>hulu.com</code>.</p>
<p>11 p.m. — Time for bed. No writing today. Guilt. Maybe I&#8217;ll do better tomorrow &#8230; I can always carve out few hours this weekend &#8230;</p>
<h3>Same Story, New Ending</h3>
<p>Today was different.</p>
<p>My alarm went off at 5 a.m. today and I got up immediately. Today&#8217;s clothes were waiting for me in the bathroom, brushed my teeth and jumped in the shower. My coffee brewed while I fed the cat, and then I headed downstairs to my office. </p>
<p>I knocked out a couple of menial tasks while I sipped my coffee, and then at 6 a.m. on the dot, I opened Sublime Text and start writing this post. After 90 minutes of high-octane work, I&#8217;ll head back upstairs for a good breakfast before signing in at work at 8 a.m. sharp. Starting earlier means I can finish up earlier and spend more time with my family before our boys go to bed. After an evening of guilt-free reading on my new <a href="http://www.amazon.com/gp/product/B007OZNVNM/ref=as_li_ss_tl?ie=UTF8&amp;tag=programproduc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B007OZNVNM">Kindle Paperwhite</a>, I&#8217;ll turn in for the night.</p>
<p>What changed?</p>
<h3>Hacking Habits</h3>
<p>In a word, habits.</p>
<p>I acquired the know-how I needed to make this shift from an unlikely source: Amy Hoy&#8217;s outstanding <a href="http://unicornfree.com/30x500/">30&#215;500</a> product development class. While the course is geared toward helping students learn to create and market informational and software products, Amy teaches that personal weaknesses inevitably bleed over into business endeavors. During orientation, we spent a week learning to analyze our habits and behavior, looking for patterns that lead to success and failure.</p>
<p>Because failure, as it turns out, doesn&#8217;t just fall out of the sky one day and stomp your dreams into oblivion. It sneaks up on you, growing larger with each tiny fail, until one day it knocks you flat on your back. Which is usually about when you notice there&#8217;s a problem.</p>
<p>By reverse engineering failures, it&#8217;s often easy to find simple habits that you can change, mechanical tweaks that turn a few small fails into little wins. And when you swap out enough micro fails for micro wins, big changes happen effortlessly.</p>
<h3>Failure Points</h3>
<p>There were lots of problems with my previous attempts to change my morning routine. A sampling:</p>
<ul>
<li>Treating <strong>getting up</strong> and <strong>getting going</strong> as the same problem. They&#8217;re actually two problems.</li>
<li>Setting and snoozing multiple alarms because I thought this would make it easier to get up.</li>
<li>Attempting to implement an entire new schedule for my day at once. </li>
<li>Trying to tackle mentally or physically difficult tasks first thing.</li>
<li>Convincing myself that I could make it up in the evening. That&#8217;s just not realistic for me now that I have a mentally challenging day job and two cute little boys vying for my attention.</li>
</ul>
<p>Once I saw the micro problems that caused my previous routine-change efforts to fail, I was tempted to try to fix all of them in one fell swoop. But I&#8217;ve tried that before, so I decided to take it <strong>one habit at a time</strong>, implementing incremental changes that would eventually add up to the result I was seeking.</p>
<h3>Stimulus, Response</h3>
<p>The most obvious problem was just getting myself out of bed on time. I&#8217;d previously assumed this just required good discipline, but I came to realize I was battling a deeply ingrained habit: <em>When my alarm goes off, I snooze it so I can get a little more sleep.</em> I&#8217;ve reinforced this habit over the years by setting my alarm to go off at least 30 minutes before I actually want to get up. (It&#8217;s hard to believe my college roommates didn&#8217;t kill me in my sleep&#8230;)</p>
<p>Instead of worrying about getting up at a set time, I focused on creating a new habit: <em>When my alarm goes off, I get up immediately.</em> To develop this habit, I stopped worrying about what time I actually got up—I even let myself sleep in until 7 a.m. to make it easier—and focused on conditioning myself to <a href="http://www.stevepavlina.com/blog/2006/04/how-to-get-up-right-away-when-your-alarm-goes-off/">get up when my alarm goes off</a>. After a few weeks of rising immediately when my alarm chimed, I stopped feeling the urge to snooze it. And surprisingly, it wasn&#8217;t really much harder to get up when I started setting the alarm for 5 a.m. Getting up was just the thing I did.</p>
<h3>Zombie Time</h3>
<p>Getting myself moving was the next hurdle. I was failing on multiple fronts here. For starters, I typically tried to implement a whole new morning routine at once. One example: Starting the day with a grueling 60-minute P90X workout, followed by a shower. Then writing for 30 minutes. Then cooking breakfast. Changing one habit is for girly-men—I was going to turn my entire life upside down.</p>
<p>This tied in to another failure point, my denial of a fundamental truth: There are morning people, and then there&#8217;s me. I shuffle around like a zombie until I&#8217;ve at least had some coffee and a shower. </p>
<p>So while it seemed like a good idea in theory to get my blood pumping and mind working by plunging into a challenging routine, what I really needed was a gentler transition. I needed to reorder my routine so that I spent my &#8220;zombie time&#8221; doing brainless tasks that I needed to do at some point anyway. Trying to fight how I&#8217;m wired usually ends with me staring at a Twitter feed on my phone.</p>
<p>Simply by showering, making my coffee and feeding the cat before I sit down to work, I&#8217;m giving myself enough time and stimulus to wake my brain up. I&#8217;ve made this even easier by developing the habit of setting the next day&#8217;s clothes out and prepping my coffee maker before I head to bed each night.</p>
<p>Getting showered and dressed also helps me quickly shift into a &#8220;let&#8217;s get some work done&#8221; mindset when I sit down to write.</p>
<h3>Small Changes, Big Impact</h3>
<p>Since implementing these changes, I&#8217;ve averaged 10-15 hours per week of work on my side projects. I&#8217;m starting work at my day job 30 to 60 minutes earlier and wrapping up earlier, leaving more time in the evenings to playing with my kids and read (I&#8217;ve crushed the Hunger Games trilogy since my wife gave me my new Kindle for Christmas).</p>
<p>But the biggest changes have been to my attitude and overall happiness. In the past I&#8217;ve struggled with overcommitting myself, which leads me to start resenting my self-imposed workload, which leads to procrastination. Now I just show up every day and work gets done. My evenings are also more relaxed because I&#8217;ve come to understand that <a href="http://calnewport.com/blog/2008/01/21/monday-master-class-how-to-use-time-arbitrage-to-maximize-your-productivity-profit/">blocks of time in the morning are most valuable for work, and blocks of time in the evening are most valuable for relaxation</a>. Eliminating that &#8220;I should be working&#8221; pressure in the back of my mind means I&#8217;m happier while spending time with my family.</p>
<p>If this habit stuff sounds interesting, I&#8217;d encourage you to check out the <a href="http://www.amazon.com/gp/product/B0055PGUYU/ref=as_li_ss_tl?ie=UTF8&amp;tag=programproduc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0055PGUYU">Power of Habit</a>, which was the foundation of much of our discussion in 30&#215;500.</p>
<p>Do you have a favorite strategy for changing ingrained habits? Leave a comment—I&#8217;d love to hear about it.</p>
<img src="http://feeds.feedburner.com/~r/joshearl/~4/du9rUOnBAnU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://aspirecode.com/zombie-time-how-habits-helped-me-fight-failure-and-slay-the-procrastination-monster/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://aspirecode.com/zombie-time-how-habits-helped-me-fight-failure-and-slay-the-procrastination-monster/</feedburner:origLink></item>
		<item>
		<title>Sublime Productivity</title>
		<link>http://feedproxy.google.com/~r/joshearl/~3/vnHCYUK-UUk/</link>
		<comments>http://aspirecode.com/sublime-productivity/#comments</comments>
		<pubDate>Sun, 13 Jan 2013 01:31:59 +0000</pubDate>
		<dc:creator>josh</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Header Slider]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[sublime productivity]]></category>

		<guid isPermaLink="false">http://joshearl.me/?p=614</guid>
		<description><![CDATA[<p><i>Remember that time you had to build a whole page of HTML links from a .csv file, and you wound up copying and pasting the opening and closing anchor tags 300 times?</i></p>

<p><i>Or when you transferred that list of names into an Excel spreadsheet just to sort it alphabetically?</i></p>
]]></description>
				<content:encoded><![CDATA[<p><i>Remember that time you had to build a whole page of HTML links from a .csv file, and you wound up copying and pasting the opening and closing anchor tags 300 times?</i></p>
<p><i>Or when you transferred that list of names into an Excel spreadsheet just to sort it alphabetically?</i></p>
<p>Isn’t it a pain to hit Delete three dozen times just because you decided that you want to join the line you’re editing with the line below it?</p>
<p>You already have a powerful ally in the fight against tedium: your text editor. And Sublime Text 2 is a heavyweight—just the partner you want to have in your corner.</p>
<p>But all that power doesn’t do you any good if you don’t know it’s there. If you haven’t taken the time to learn Sublime’s advanced features, you’re wasting time every day.</p>
<p>Sublime Productivity is packed with tips and tricks that turn painful editing chores into trivial tasks. You’ll smile inside every time you fire off a keyboard shortcut instead of groping for the mouse, or use a couple of quick commands to shave off dozens of clumsy keystrokes.</p>
<p>Proficiency with your text editor won’t make you a rock star programmer. But Sublime Productivity will help you learn to quickly complete those boring-but-necessary tasks and get back to doing what you do best: solving problems.</p>
<p><a href="http://sublimeproductivity.com" target="_blank">Learn more &#8230;</a></p>
<img src="http://feeds.feedburner.com/~r/joshearl/~4/vnHCYUK-UUk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://aspirecode.com/sublime-productivity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://aspirecode.com/sublime-productivity/</feedburner:origLink></item>
	</channel>
</rss>
