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

<channel>
	<title>Ramblings of a digital insomniac</title>
	<atom:link href="http://www.digitalinsomniac.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.digitalinsomniac.com</link>
	<description></description>
	<lastBuildDate>Thu, 20 Oct 2011 22:35:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Test driving JRuby 1.6</title>
		<link>http://www.digitalinsomniac.com/2011/04/07/testing-jruby-1-6/</link>
		<comments>http://www.digitalinsomniac.com/2011/04/07/testing-jruby-1-6/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 02:26:21 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://www.digitalinsomniac.com/?p=384</guid>
		<description><![CDATA[I&#8217;ve been hacking away at ruby on rails for some time now, but I&#8217;ve never stopped to try out JRuby. That&#8217;s probably because I initially fell in love with rails after an eight-year stint in the &#8230; <a class="more-link" href="http://www.digitalinsomniac.com/2011/04/07/testing-jruby-1-6/">More<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been hacking away at ruby on rails for some time now, but I&#8217;ve never stopped to try out JRuby.  That&#8217;s probably because I initially fell in love with rails after an eight-year stint in the java insane asylum.  However, with the release of JRuby 1.6, I decided it was finally time to forgive Java, and see how hard it&#8217;d be to run our fairly mature ruby (1.9.2) on rails codebase with JRuby.</p>
<p>I already used RVM, so I used that to install JRuby 1.6:</p>
<pre>
$ rvm install jruby-1.6.0
</pre>
<p>Two minutes later, JRuby was installed.  Easy enough.  Let&#8217;s use it:</p>
<pre>
$ rvm jruby
$ which ruby
/Users/adam/.rvm/rubies/jruby-1.6.0/bin/ruby
</pre>
<p>OK, we&#8217;re in business.  I&#8217;m still not sure how different JRuby is, so let&#8217;s see what gems I have to start with:</p>
<pre>
$ gem list

*** LOCAL GEMS ***

bouncy-castle-java (1.5.0145.2)
jruby-launcher (1.0.7 java)
jruby-openssl (0.7.3)
rake (0.8.7)
sources (0.0.1)
</pre>
<p>Let&#8217;s get bunder installed:</p>
<pre>
$ sudo gem install bundler
...
</pre>
<p>And now, before I switch to my project and try a bundle install, let&#8217;s just see if I can easily install the rails gem:</p>
<pre>
$ sudo gem install rails
...
Successfully installed rails-3.0.6
23 gems installed
</pre>
<p>Easy!  Alright, enough of this tip-toeing around, let&#8217;s see what happens when I switch to my project and try a bundle install:</p>
<pre>
$ bundle install
Fetching git://github.com/nhowell/subdomain-fu.git
Fetching git://github.com/flori/json.git
Fetching git://github.com/adamrubin/acts-as-taggable-on.git
Fetching source index for http://rubygems.org/
Using rake (0.8.7)
Using abstract (1.0.0)
Using activesupport (3.0.6)
Using builder (2.1.2)
...
Installing mysql2 (0.2.6) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
...
</pre>
<p>Ugh. An error with the mysql gem. Is this the beginning of the end?  Well, maybe not.  A few minutes of googling and I discovered that JRuby needs a different gem for mysql.  And there&#8217;s an easy way to conditionalize my Gemfile:</p>
<pre class="brush: ruby; title: ; notranslate">
if defined?(JRUBY_VERSION)
  gem 'jdbc-mysql'
    gem 'activerecord-jdbc-adapter', :require =&gt; false
    gem 'rmagick4j'
else
    gem 'mysql2'
    gem 'rmagick'
end
</pre>
<p>(I ran into the similar problem with rmagick)</p>
<p>After making that change and running bundle install again, there were no issues reported. Hrm. This is too easy. Let&#8217;s see what happens when I try to start the server:</p>
<pre>
$ rails s
JRuby limited openssl loaded. http://jruby.org/openssl
gem install jruby-openssl for full support.
=> Booting WEBrick
=> Rails 3.0.6 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-04-07 20:39:37] INFO  WEBrick 1.3.1
[2011-04-07 20:39:37] INFO  ruby 1.8.7 (2011-03-15)
[2011-04-07 20:39:37] INFO  WEBrick::HTTPServer#start: pid=50128 port=3000
</pre>
<p>The server started up fine. I opened the browser and did a smoke test of the app and couldn&#8217;t find a single problem. HOLY CRAP that was easy!  JRuby is an option.  I&#8217;ll sleep a little better tonight knowing that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalinsomniac.com/2011/04/07/testing-jruby-1-6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The cost of not listening</title>
		<link>http://www.digitalinsomniac.com/2010/04/01/the-cost-of-not-listening/</link>
		<comments>http://www.digitalinsomniac.com/2010/04/01/the-cost-of-not-listening/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 21:56:35 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[startup lessons]]></category>

		<guid isPermaLink="false">http://www.digitalinsomniac.com/?p=326</guid>
		<description><![CDATA[I quit smoking a couple years back with the aid of nicotine lozenges. I had tried countless different ways to quit, but for me, the lozenges (and the right attitude) were what finally worked. Yet, as &#8230; <a class="more-link" href="http://www.digitalinsomniac.com/2010/04/01/the-cost-of-not-listening/">More<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I quit smoking a couple years back with the aid of nicotine lozenges.  I had tried countless different ways to quit, but for me, the lozenges (and the right attitude) were what finally worked.  Yet, as the proverbial joke goes, I became addicted to the damn lozenges.  I was able to transition from the 4mg to the 2mg (the lowest dosage), but struggled mightily to stop using them all together.</p>
<p>I tried mint flavored candy, but it wouldn&#8217;t last as long, wasn&#8217;t the same shape, and didn&#8217;t have the same minty taste.  I tried chewing on gum, straws, fingernails, etc.  I tried going cold turkey.  At one point, I got down to one lozenge per day, but that one lozenge was a huge security blanket.</p>
<p>After doing this for *too long to admit*, I googled a bit and found others in the same situation.  And as I read their stories, I realized that there might be an untapped market.  I found the website of the company which produced the lozenges and wrote them a nice email.  I explained how grateful I was for their product, but that I was having a difficult time weaning myself off it.  I asked if they had ever considered a 1mg option, or even a 0mg option with the same flavor, texture, size, etc.  I suggested that if they could sell the 0mg option for a cheaper price, they might have an opportunity to create a long(er) lasting relationship with their customer base.</p>
<p>Now, I didn&#8217;t know the first thing about the inner-workings of their business, or what it takes to produce those lozenges, but I figured it was worth a shot.  Who knows, maybe I would lead them to a gold mine of untapped revenue.  I figured, worst case scenario, I&#8217;d get a response saying &#8220;We&#8217;ve explored that option, but it wasn&#8217;t feasible.&#8221;</p>
<p>After a few days, I received their response.  I&#8217;ve edited it to protect their identity:</p>
<blockquote><p>
Dear Mr. Rubin,</p>
<p>We have received your e-mail message regarding our product.</p>
<p>Thank you for notifying us of your experience with a XYZ product. While we expect that the majority of people will be able to use XYZ with no problems, we realize that individual reactions are always possible.</p>
<p>Since you encountered a problem while using XYZ, we recommend that you contact your doctor or other healthcare professional.</p>
<p>So that we can collect additional information about your experience, please call one of our Representatives at 1-888-888-8888 weekdays between 9:00 am and 4:30 pm Eastern Time. To help us expedite this process, we ask that you also have the product in hand at the time of your call. There is important coding information that will enable us to thoroughly investigate your complaint.</p>
<p>All of this additional information is valuable and enables us to continue to monitor and evaluate the safety of our products.</p>
<p>So that we may better assist you, please refer to the case number below when you call. We appreciate your bringing this matter to our attention and look forward to hearing from you again soon. If we may be of further assistance, please call us weekdays at 1-888-888-8888.</p>
<p>Sincerely,</p>
<p>Jane Doe<br />
[company name]
</p></blockquote>
<p>Uh, what?  I understand the need to for a large corporation to protect themselves from any legal issues &#8212; this was a nicotine product after all, but my email was not a complaint, nor a cry for help.  I was merely a loyal customer presenting a potential business opportunity.  There MUST have been a better way of acknowledging the positive intent of my email, without supporting the extended usage of their product.  But to completely ignore my message and reply with a canned response?  C&#8217;mon, I don&#8217;t care what size company you have, those days are over.  Not only did they alienate a customer, but they may have missed out on a million dollar idea.  </p>
<p>Or maybe they were trying to alienate me and it was a brilliant strategy to get me to stop using their product.  If so, it worked.</p>
<p>Regardless, I was frustrated enough, that I decided to give them a taste of their own medicine:</p>
<blockquote><p>
Thank you for efficiently selecting a canned response.  Reading emails and responding appropriately is not a cost-effective way to run a company.  I applaud your agility and shall follow suit.</p>
<p>> scanning your message&#8230;<br />
> picking canned response&#8230;</p>
<p>Dear customer communications,</p>
<p>Thank you for passing along your contact information.  Unfortunately, we are not hiring at this time.</p>
<p>To apply for positions in the future, please use the following reference code:  NA1MB1LA</p>
<p>Sincerely,<br />
Adam Rubin
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalinsomniac.com/2010/04/01/the-cost-of-not-listening/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Are we having fun yet?</title>
		<link>http://www.digitalinsomniac.com/2010/03/29/are-we-having-fun-yet/</link>
		<comments>http://www.digitalinsomniac.com/2010/03/29/are-we-having-fun-yet/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 15:08:03 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[startup lessons]]></category>

		<guid isPermaLink="false">http://www.digitalinsomniac.com/?p=286</guid>
		<description><![CDATA[In 1998, I took a position with a budding start-up named JuniorNet. It was the height of the dotcom boom and a new generation of entrepreneurs were attempting to change the business landscape forever. While at &#8230; <a class="more-link" href="http://www.digitalinsomniac.com/2010/03/29/are-we-having-fun-yet/">More<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In 1998, I took a position with a budding start-up named JuniorNet. It was the height of the dotcom boom and a new generation of entrepreneurs were attempting to change the business landscape forever. While at JuniorNet, we raised &#8212; and subsequently blew &#8212; more than $80 million. It was the quintessential dotcom story, which came to an abrupt end as the bubble burst. And yet, no matter how ridiculous those times were, they yielded some valuable lessons for today&#8217;s entrepreneurs.</p>
<p>Like many start-ups during those days, JuniorNet put a ton of effort into making the office fun. Plus, it was an online service for children, so all of the decor was meant to bring out the child in everyone. There were Nerf guns, medicine balls, slinkys, action figures, RC cars, and play sets in every room. The walls were brightly painted and the desks had fun little designs on them. There were video game consoles, projection screens, comfortable couches, fully stocked Coke and Snapple vending machines (free, of course), and enough bagels to feed an army.<br />
And, for when we wanted to act like adults, there was a fully stocked bar, appropriately called the &#8220;nav bar.&#8221;  We had everything &#8212; and did everything &#8211;that would make old-timers in large, traditional corporations roll their eyes.  </p>
<p>The result of pepping up the office, and focusing so heavily on the culture and morale of the company was that people showed up to work happy every day.  We worked late into the night (often sleeping in the office), showed up on weekends, and rarely used our allotted vacation time. Whatever time was &#8220;wasted&#8221; playing video games or goofing off paled in comparison to the extra hours the company got from its employees.</p>
<p>Was it excessive?  Yes, of course.  But that wasn&#8217;t why the company failed.  We didn&#8217;t blow $80 million on making the office fun; we blew it on a terrible marketing plan, a worthless acquisition, an insane amount of legal costs, and the same idiotic things that other dotcoms were doing back then. We paid LaVar Burton a ton of money to be our spokesperson. Yes, the guy from <em>Star Trek: The Next Generation</em> and <em>Reading Rainbow</em>. In addition to the spokesperson salary, we paid for him and his family to fly first class to various events, yet I think he said a total of three sentences about the company at said events.  </p>
<p>If only we had thought to get William Shatner instead.</p>
<p>In the years since JuniorNet went under, I&#8217;ve had the good fortune to work for a handful of start-ups; some successful, some not. I&#8217;ve worked with some brilliant people on causes that I believed in, but I&#8217;ve never been a part of the same culture that JuniorNet had. Unsurprisingly, I&#8217;ve never seen the same work ethic and camaraderie either.  One start-up in particular took the exact opposite approach of JuniorNet. The office was cold and industrial-feeling. Consuming alcohol was forbidden. Kibitzing with a co-worker about non-work-related topics was frowned upon. There were virtually no company outings, except for a few times when we left the office only to talk about work the entire time we were out. Company parties were as fun as funerals. </p>
<p>As a result of this culture, there was constant bickering between employees, everyone was starved for vacation time, and the entire place would empty out at 5PM on the dot.</p>
<p>The lesson here is simple: By their very nature, startups are a grind. There&#8217;s a lot of work, and too few people to do it. You&#8217;re likely to suffer a lot of failure before finding the right path. Those failures eat away at morale and confidence, which, if not treated, can lead to the team imploding. Frowning upon your staff for blowing off steam between 9-5 not only tells them that work shouldn&#8217;t be fun, but it also insinuates that work should only happen between 9-5. Start-ups need to blur those lines. Instead of guilting people into working long hours, make them jealous for missing out on all of the fun.</p>
<p>Buy a ping-pong table, or invent a silly game.  Ask someone to bring in an old video game console, or buy one for cheap on eBay. On Mondays, make the rounds and talk to everyone about their weekend. Hire a masseuse, manicurist, florist, yoga instructor, clown, etc. to come by the office for an afternoon. Give the company a surprise three-day weekend. Encourage the men to grow moustaches. Organize a potluck for Talk Like A Pirate Day. Bring donuts in on a random morning. Give $10 giftcards to iTunes at random times. Have a movie night in the office. </p>
<p>The dotcom infancy may be over, but the change in business culture it brought is here to stay. Embrace it and you&#8217;ll have a team that will counter any bump in the road with the humility, energy, and passion needed to make your startup a success.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalinsomniac.com/2010/03/29/are-we-having-fun-yet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Team chemistry and decision making</title>
		<link>http://www.digitalinsomniac.com/2010/03/23/team-chemistry-and-decision-making/</link>
		<comments>http://www.digitalinsomniac.com/2010/03/23/team-chemistry-and-decision-making/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 04:33:53 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[startup lessons]]></category>

		<guid isPermaLink="false">http://www.digitalinsomniac.com/?p=244</guid>
		<description><![CDATA[One of the best parts of working at a startup is the intense collaboration. When there are only a handful of employees it&#8217;s impossible not to be involved in every aspect of the business. It&#8217;s not &#8230; <a class="more-link" href="http://www.digitalinsomniac.com/2010/03/23/team-chemistry-and-decision-making/">More<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of the best parts of working at a startup is the intense collaboration.  When there are only a handful of employees it&#8217;s impossible not to be involved in every aspect of the business.  It&#8217;s not uncommon to see a programmer writing marketing copy, an intern working on a fundraising deck, and the CEO buying the toilet paper.</p>
<p>When you&#8217;re in a cramped office space, there are no closed-door meetings.  Everyone is a part of every discussion.  This is great if you have good chemistry.  Fueled by adrenaline (and pizza and beer), you build off one another&#8217;s thoughts and come up with creative approaches to bulldoze any obstacle in your way.  Decisions come fast and furious with good chemistry.  But when you have bad chemistry, problem solving becomes individualized; egos trump common sense, and obstacles multiply exponentially.</p>
<p>There are so many critical decisions to make in the first six months of a startup.  Designing your brand, constructing your mission statement, defining your audience, picking a fundraising strategy, developing a marketing plan, choosing a technology platform, etc.  And don&#8217;t forget about the small, yet plentiful, decisions.  Do you send a Christmas card or holiday card?  Should job applicants send an email to jobs@ or careers@?  Should you bold the opt-out link in your e-newsletters?  Do you give away pens or keychains?  Should you get a foosball table, or will that scare away investors?</p>
<p>When you have a bad chemistry, these decisions take forever.  One person thinks you should send a Christmas card.   Another says no, just send a holiday card.  Another suggests sending one card to Christians, and another one to everyone else.  How about a red and green card that says &#8220;Happy holidays!&#8221;  Or maybe you just do a New Years Eve card to avoid the conflict.  After debating for a few days, everyone is worn down and you decided to do nothing.  Now, I&#8217;ve never heard of startup that blamed their failure on a bad Christmas card, but I have heard of plenty who said they ran out of money before being able to execute on their plan.  </p>
<p>The thing with startups is that it&#8217;s super easy to become opinionated when you&#8217;re dealing with unchartered territory.  If someone thinks the logo should be red, not blue, they can point to all of the successful companies with a red logo.  Those who like blue can do the same.  It&#8217;s easy to google your opinion on virtually any topic and come up with supporting &#8220;facts&#8221;.  Yet, for your startup, there are no facts.  Nobody can dig up that data from ten years back, when a red logo was been tested and sales declined by 20%.  You have no precedents; everything you do is a test.  You can try to mimic other successful companies, and avoid mistakes of failures, but ultimately, you have to make hard decisions about <em>your</em> company &#8211; even if that means taking a shot in the dark.  </p>
<p>When you make a bad decision &#8212; and you will make plenty of them &#8212; fail fast.  Recognize when something isn&#8217;t working, figure out why, then change course appropriately.  The costly failures occur when egos or ignorance prevent your startup from being responsive to what the market is telling you.  And yes, chemistry plays a critical role here as well.   Admitting a mistake is easy when you have good chemistry.  You&#8217;re rewarded for fixing a problem.  But when you have bad chemistry, it becomes <em>your</em> mistake.  You were the bastard who won that epic logo argument, and now we have to redesign it (or worse, go on pretending that it&#8217;s fine).  You fucked up and if you continue to fuck up, you will be banished from the island forever.  </p>
<p>You know what happens when that type of blame game begins?  Everyone becomes scared of making deicions, as it may cost them their job.  They stop weighing in on the discussion, waiting for someone else to screw up so that they can call them out on it.</p>
<p>Game over, before it even began.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalinsomniac.com/2010/03/23/team-chemistry-and-decision-making/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>20 things I believe in as a technologist</title>
		<link>http://www.digitalinsomniac.com/2010/03/22/20-things-i-believe-in-as-a-technologist/</link>
		<comments>http://www.digitalinsomniac.com/2010/03/22/20-things-i-believe-in-as-a-technologist/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 18:11:05 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[other]]></category>

		<guid isPermaLink="false">http://www.digitalinsomniac.com/?p=47</guid>
		<description><![CDATA[Brooks&#8217;s law: Adding manpower to a late software project makes it later Parkinson&#8217;s law: Work expands so as to fill the time available for its completion. Hofstadter&#8217;s law: It always takes longer than you expect, even &#8230; <a class="more-link" href="http://www.digitalinsomniac.com/2010/03/22/20-things-i-believe-in-as-a-technologist/">More<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<ol>
<li>Brooks&#8217;s law: Adding manpower to a late software project makes it later</li>
<li>Parkinson&#8217;s law: Work expands so as to fill the time available for its completion.</li>
<li>Hofstadter&#8217;s law: It always takes longer than you expect, even when you take Hofstadter&#8217;s Law into account.</li>
<li>Clark&#8217;s law: Sufficiently advanced cluelessness is indistinguishable from malice.</li>
<li>Lewin&#8217;s equation: B=ƒ(P,E).  An individual&#8217;s behavior is a function of both their personality and their environment.</li>
<li>Fast, good or cheap.  Pick two.</li>
<li>&#8220;The bearing of a child takes nine months, no matter how many women are assigned.&#8221; &#8211; Frederick P. Brooks</li>
<li><a href="http://sethgodin.typepad.com/seths_blog/2008/08/where-to-might.html">Flitting doesn&#8217;t work, nor does sitting tight</a></li>
<li><a href="http://en.wikipedia.org/wiki/Attention_economy">Attention economics</a></li>
<li><a href="http://www.37signals.com/svn/archives/001050.php">Don’t write a functional spec</a></li>
<li><a href="http://www.slideshare.net/dmc500hats/startup-metrics-for-pirates-aarrr-sxsw-march-2008/">Start-up metrics for pirates</a></li>
<li><a href="http://headrush.typepad.com/creating_passionate_users/2005/12/braindeath_by_m.html">The Zombie Function</a>: micromanagers create zombies</li>
<li><a href="http://headrush.typepad.com/creating_passionate_users/2006/01/death_by_riskav.html">Death by risk aversion</a></li>
<li> Fail fast, fail cheap (re: tactics, not the overall business).</li>
<li><a href="http://37signals.com/svn/posts/1324-beware-of-future-creep">Beware of future creep</a></li>
<li><a href="http://www.37signals.com/svn/posts/1193-preaching-to-the-choir-is-a-waste-of-time">To create change, you need to reach out to those who don’t already agree with you.</a></li>
<li><a href="http://www.paulgraham.com/startupmistakes.html">The 18 mistakes that kill startups</a></li>
<li><a href="http://jprall.vox.com/library/post/85-operations-rules-to-live-by.html">85 operations rules to live by</a></li>
<li>Things that get in the way of good software:
<ul>
<li> Competing interest (departmental)</li>
<li> Political infighting</li>
<li> Lack of audience clarity</li>
<li> Fuzzy strategy</li>
<li> No vision for success</li>
</ul>
<li>Aspects of good software
<ul>
<li> Functionality: does it do what I need?</li>
<li> Correctness: does it do it correctly, without a bunch of bugs?</li>
<li> Learnability: can I learn it quickly?  Is the manual good?</li>
<li> Efficiency: does it let me do what I need without long workarounds?</li>
<li> Usability: is it user-friendly?</li>
<li> Intuitiveness: does it feel natural?</li>
<li> Flow/enhancement: does it keep me fully engaged where the world drops away?</li>
</ul>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalinsomniac.com/2010/03/22/20-things-i-believe-in-as-a-technologist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s your management style?</title>
		<link>http://www.digitalinsomniac.com/2010/03/15/startup-lesson-whats-your-management-style/</link>
		<comments>http://www.digitalinsomniac.com/2010/03/15/startup-lesson-whats-your-management-style/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 18:18:44 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[startup lessons]]></category>

		<guid isPermaLink="false">http://www.digitalinsomniac.com/?p=102</guid>
		<description><![CDATA[What&#8217;s your management style? I hear that question often. Truth is, it&#8217;s constantly evolving and varies from job-to-job and employee-to-employee. My first management opportunity came when I was 19 years old, working full time while getting &#8230; <a class="more-link" href="http://www.digitalinsomniac.com/2010/03/15/startup-lesson-whats-your-management-style/">More<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>What&#8217;s your management style?  I hear that question often.  Truth is, it&#8217;s constantly evolving and varies from job-to-job and employee-to-employee.</p>
<p>My first management opportunity came when I was 19 years old, working full time while getting my BS at Syracuse University.  I ran an R&#038;D lab staffed by a dozen-or-so students.  I&#8217;m not sure how I got the position, but I was too young to question whether I deserved it or not.  The world was my oyster and my ego was massive.</p>
<p>It wasn&#8217;t a total train wreck.  In fact we got a lot accomplished, won some awards, got some great press for SU, and all went on to lead successful careers.  I&#8217;m still in touch with nearly everyone I worked with back in that lab, with the exception of one person.  Let&#8217;s call him Frank.   Frank taught me my first real management lesson, and probably the most important one.</p>
<p>One week, during an all-hands meeting, I asked Frank to present the work he had been tasked with completing the prior week.  Frank nonchalantly replied that he didn&#8217;t do the work.  There were some new team members in the meeting, including Frank, and I didn&#8217;t want them thinking this was acceptable behavior.  I went on a ten minute rant about how there was no room for apathy or laziness on our team; how it was unprofessional and detrimental to our success.  I singled Frank out.  I wasn&#8217;t yelling, or swearing, or pounding my fist on a table, but I was undoubtedly beating Frank up.  I had used this tough-guy management style in the past, and it had always seemed to inspire the team, or at least scare them straight.  Yet, in this case, as I was wrapping up my rant, Frank&#8217;s face turned bright red, he began to cry, and he stormed out of the room.  </p>
<p>Frank never returned.  He quit the team and never spoke to me again.</p>
<p>The first lesson I learned that day: beware of calling someone out in a group setting.  That&#8217;s something that should only be done in the rarest of circumstances.  I&#8217;ve used that tactic less than five times in my now 15-year management career.  When and why to use it is probably worth its own blog post.</p>
<p>The second, and most valuable lesson I learned that day was that everyone is unique.  Chances are that the same management strategy that works for one person, won&#8217;t work for the next.  As a manager, your most important job is to learn how to motivate each employee.  Some are motivated by a kick in the ass, others require a gentle pat on the back, others are motivated by recognition of their work, or creative freedom, or financial gain, or job security, or collaboration, or one-on-one communication.  The list goes on.</p>
<p>If you can figure out what motivates each and every member of your team, you&#8217;ll earn their respect and get the most out of them.  That alone won&#8217;t make you a great manager, but it&#8217;s certainly a good start.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalinsomniac.com/2010/03/15/startup-lesson-whats-your-management-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hiring technologists &#8211; part I</title>
		<link>http://www.digitalinsomniac.com/2009/11/25/startup-hiring-part-i/</link>
		<comments>http://www.digitalinsomniac.com/2009/11/25/startup-hiring-part-i/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 16:09:14 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[startup lessons]]></category>

		<guid isPermaLink="false">http://www.digitalinsomniac.com/?p=48</guid>
		<description><![CDATA[In real estate, it&#8217;s all about the location, location, location. In startups, it&#8217;s all about the people, people, people. There&#8217;s no task more important than hiring good people. But let&#8217;s face it, you&#8217;re not Google, you &#8230; <a class="more-link" href="http://www.digitalinsomniac.com/2009/11/25/startup-hiring-part-i/">More<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In real estate, it&#8217;s all about the location, location, location.  In startups, it&#8217;s all about the people, people, people.</p>
<p>There&#8217;s no task more important than hiring good people.  But let&#8217;s face it, you&#8217;re not Google, you don&#8217;t have the best and brightest hand-delivering their resumes to your office.  You don&#8217;t have a massive HR department.  You probably don&#8217;t even have a single employee with &#8220;HR&#8221; in their title.  You don&#8217;t have experienced interviewers who can spend all day quizzing potential hires about the amount of oxygen in the atmosphere, or how people wearing red hats and blue hats can prevent themselves from dying.</p>
<p>So, how does a startup, with limited resources, hire quality people?  </p>
<p><strong>Clearly define your needs</strong><br />
Every hire you make must be for a reason.  Don&#8217;t hire because you&#8217;re lonely, or your buddy is looking for a job.  Hire because you need to fill a specific void.  There&#8217;s one exception to this rule, which is when a rock star walks through your doors.  At that point, you should change gears and hire for talent.  That topic is worthy of a future blog post.</p>
<p><strong>Write up a job posting</strong><br />
It&#8217;s important to pick the proper job title.  Don&#8217;t make up a title unless that&#8217;s part of your company&#8217;s culture.  If you&#8217;re hiring a &#8220;Chief Hacker,&#8221; your applicants will expect to be referred to as &#8220;Chief Hacker.&#8221;   If company politics get in the way and they end up becoming &#8220;Senior Programmer,&#8221; they&#8217;re not going to have a very good first-day.</p>
<p>Beware of gimmicky job titles, they become dated quickly.  Coding Guru and Rails Ninja will attract some and alienate others.  And think about people searching job listings, are they more likely to for &#8220;Coding Guru&#8221; or &#8220;Senior Engineer&#8221;?  And for the love of god, avoid job titles that won&#8217;t make sense to anyone outside of your company.  If nobody knows that your internal CMS is named Bonzo, don&#8217;t post a job for &#8220;Bonzo Support Engineer.&#8221;  Yes, that should be obvious, but you&#8217;d be surprised how many companies do it.</p>
<p>Start off with a blurb about your company.  There&#8217;s nothing wrong with writing a dry and conservative blurb, especially if you&#8217;re looking for experienced applicants, but try to match the tone to the culture of your company.  If you&#8217;re a bunch of goofballs, this is no time to be conservative.  </p>
<p>Now, what&#8217;s this person going to do?  If you can&#8217;t answer this, refer back to the top of this page.  If you&#8217;re having trouble wording the roles &#038; responsibilities, search similar job postings on sites like indeed.com or simplyhired for inspiration.  Be careful not to use dated buzzwords or incorrect technology terms.  The talented applicants will sniff out your ignorance and avoid you like the plague.</p>
<p>Be specific and tough with  your requirements.  It&#8217;s miserable sifting through hundreds of entry-level resumes when you&#8217;re hiring for a senior-level position.  Don&#8217;t worry about alienating people that don&#8217;t meet every requirement.  If they have the chutzpah, they&#8217;ll still apply.</p>
<p><strong>Positing the job</strong><br />
Start off by positing the position on your own site.  Even if you get minimal traffic, it&#8217;s worth it for all the bots that crawl your site daily.</p>
<p>Craigslist is always a safe (and cheap) place to start.  Authentic Jobs is worth the cabbage.  Dice, Monster, and HotJobs haven&#8217;t been useful in years.  I&#8217;ve had luck with 37 Signals job board, but no luck with Joel Spolsky&#8217;s.  One of the best places to find candidates these days is LinkedIn.  It gives you the ability to reach those who aren&#8217;t actively looking for jobs.  Those folks are *generally* the talented, passionate, loyal folks.  Poach them!</p>
<p><strong>Reviewing resumes</strong><br />
OK, so the job has been posted and the resumes start pouring in.  The first few times you go through this process, you&#8217;ll likely review each resume from top to bottom.  However, after you&#8217;ve hired a handful of people, odds are that you&#8217;ll start to despise this phase.  In order to find that one great resume, it may take reviewing fifty crappy ones.  That can be quite a grind.</p>
<p>At this point in my career, I spend seconds reviewing a resume before making a decision.  Job seekers, this is why the cover letter resume are so important.  To err is human, but there are some documents in business that need to be perfect.  When I review a resume, grammar and spelling mistakes are instantly tossed.  Nine times out of ten, that says something about their quality of work.  If the cover-letter is boilerplate garble, it gets tossed.  I want to see someone invest time into researching my company to make sure it&#8217;s a good fit for both sides.  Verbose cover-letters get tossed.  Those are the people that end up causing a 15 minute meeting to run 45 minutes.   </p>
<p>Cover letters that say things like &#8220;stop your search, you&#8217;ve found the right person&#8221; get tossed.  Those folks are typically aggressive and don&#8217;t work well in teams.  Resumes that aren&#8217;t formatted properly, get tossed.  I don&#8217;t want a text version of your resume with random line breaks and 3,000 word paragraphs.  </p>
<p>Resumes with no substance and loads of buzzwords, get tossed.  Candidates who spent under a year at multiple jobs, or have inflated titles for their level of experience, raise a red flag.  Folks coming from large consulting companies, applying for startup gigs, usually make me wary.  Those who put their education above their work experience also make me wary.  </p>
<p>Long story short, I&#8217;m a prick when it comes to resumes.  I didn&#8217;t start out like that, but after wasting countless hours on phone screens, I&#8217;ve learned that you sometimes, you really have to judge a book by its cover.</p>
<p><em>(Note to job seekers: Format the filename of your resume as firstname-lastname-resume.pdf.  Whoever is reading it, will likely save it to a folder and share it with their colleagues.  Saving them the pain of renaming &#8220;resume.pdf&#8221; will earn you bonus points.)</em></p>
<p><strong>First contact</strong><br />
After whittling down the pile of resumes to the top 5-10 candidates, it&#8217;s time to see how they handle a phone screen.  Email each candidate a short message.  Something like &#8220;Hi John, Thanks for sending along your resume.  Your background looks like a good fit.  Can we set up a time to chat sometime this week?&#8221;    </p>
<p>There&#8217;s a reason you&#8217;ll want to say this, rather than suggesting a specific time. Those who respond with &#8220;Sure, I&#8217;m flexible, let me know what works for you&#8221; get brownie points.  Those who respond with &#8220;Sure, does 2:30p tomorrow work for you?&#8221; show promise.  Those who respond with &#8220;Yeah, let&#8217;s do that&#8221; show a lack of common sense.  Those who respond with &#8220;Yes, I can fit you in tomorrow at 2:30&#8243; are usually clueless.</p>
<p><strong>The phone screen</strong><br />
You should initiate the call.  Believe it or not, a good number of people will answer the phone like they just woke up.  Bad sign.  And then there are those who you&#8217;ll catch completely off guard even though you agreed to chat at that exact time.  BAD sign.  </p>
<p>During the call, let the conversation flow naturally.  This isn&#8217;t the time to grill them, you really just want to get a sense of their personality and how they communicate.  Ask them about their professional background.  Listen for passional, self-awareness, confidence, etc.  Are they overselling themselves?  Underselling?</p>
<p>Ask questions like &#8220;what motivates you?&#8221; and &#8220;describe the ideal job&#8221; to see if they&#8217;ve actually thought these things through.  Those who can immediately answer those questions, and don&#8217;t obviously tailor them to your job opening, get brownie points.  Ask &#8220;how would a co-worker describe you?&#8221; &#8212; that&#8217;ll come in handy when checking references.  Ask &#8220;what&#8217;s the most frustrating thing you have to deal with in your current job?&#8221;  If they start venting, it should raise a flag.  Finally, ask &#8220;what do  you know about our company?&#8221;  If they haven&#8217;t done their research, they lose points.</p>
<p>I typically try to cut the candidate off once or twice during the conversation to see if they continue talking or let me interject.  Those who talk over you, tend not to be the collaborative type.  </p>
<p>Wrap up the call with giving a little additional background of the company.  Give them a feel for the culture, work environment, types of projects they&#8217;d be working on, etc.  If you like them, this is a good time to start selling your company.  It&#8217;s not the time to let them know about the skeletons in your company&#8217;s closet though.  That&#8217;ll come later.</p>
<p><strong>What&#8217;s next?</strong><br />
Congratulations, you&#8217;ve determined your needs, written and posted the job description, and whittled down the list through reviewing the resumes and conducting phone screens.  Now, the real interview begins.  I&#8217;ll cover that in Part II.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalinsomniac.com/2009/11/25/startup-hiring-part-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My favorite television shows</title>
		<link>http://www.digitalinsomniac.com/2009/09/01/my-favorite-television-shows/</link>
		<comments>http://www.digitalinsomniac.com/2009/09/01/my-favorite-television-shows/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 11:56:48 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.digitalinsomniac.com/?p=349</guid>
		<description><![CDATA[Over the last year and a half, I&#8217;ve been using my laptop as a bedroom TV. This started when Samantha was born. When she was sleeping in our room, the light from our TV would keep &#8230; <a class="more-link" href="http://www.digitalinsomniac.com/2009/09/01/my-favorite-television-shows/">More<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Over the last year and a half, I&#8217;ve been using my laptop as a bedroom TV.  This started when Samantha was born.  When she was sleeping in our room, the light from our TV would keep her up, but my laptop screen wouldn&#8217;t.  (Noise was never an issue as I&#8217;ve always used wireless headphones)</p>
<p>Sam has long since migrated to her own room, but I&#8217;ve grown accustomed to using my laptop as a TV.  I actually find it a more intimate viewing experience.  I spend an hour or two every night unwinding in bed (or wrestling with my insomnia), watching DVDs from Netflix.  For the last year, I&#8217;ve been catching up on all of the television series that I had somehow missed over the years.</p>
<p>My favorite shows have been:</p>
<ol>
<li>The Wire</li>
<li>West Wing</li>
<li>Sopranos</li>
<li>Twin Peaks</li>
<li>Lost</li>
<li>Rescue Me</li>
<li>The Shield</li>
<li>Sons of Anarchy</li>
<li>It&#8217;s Always Sunny In Philadelphia</li>
<li>Dexter</li>
<li>Mad Men</li>
<li>Breaking Bad</li>
<li>Californication</li>
<li>Band of Brothers</li>
<li>Generation Kill</li>
<li>Friday Night Lights</li>
<li>The Black Donnellys</li>
</ol>
<blockquote><p>Update 01/06/11: How could I forget The Black Donnellys?!</p></blockquote>
<p>And some top-rated shows that I tried, and probably should&#8217;ve liked, but didn&#8217;t.</p>
<ol>
<li>BSG</li>
<li>Deadwood</li>
<li>X-Files</li>
<li>Alias</li>
<li>Six Feet Under</li>
<li>Oz</li>
<li>Weeds</li>
<li>Big Love</li>
<li>Arrested Development</li>
<li>Rome</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalinsomniac.com/2009/09/01/my-favorite-television-shows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing Kafka&#8230;</title>
		<link>http://www.digitalinsomniac.com/2009/08/02/introducing-kafka/</link>
		<comments>http://www.digitalinsomniac.com/2009/08/02/introducing-kafka/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 23:55:01 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[kafka]]></category>

		<guid isPermaLink="false">http://www.digitalinsomniac.com/?p=174</guid>
		<description><![CDATA[In my last post, I mentioned that I was working on a pet project in Ruby on Rails. While I’m only in the early stages of the project, I’m discussing it with anyone who will listen &#8230; <a class="more-link" href="http://www.digitalinsomniac.com/2009/08/02/introducing-kafka/">More<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://www.digitalinsomniac.com/2009/07/27/how-i-got-my-groove-back/">last post</a>, I mentioned that I was working on a pet project in Ruby on Rails.   While I’m only in the early stages of the project, I’m discussing it with anyone who will listen to help gauge interest and inform the requirements.  So, here goes nothing…</p>
<p>The project is a social web application called <a href="http://kafkaapp.com" target="_blank">Kafka</a>.  It’ll help web development teams and their customers keep track of frontend changes to their sites.  Kind of like an archive.org, built specifically for web geeks.  </p>
<p><strong>Upon deploying a frontend change to your site, Kafka will automagically take a snapshot and catalog the URLs that changed.</strong></p>
<p>Seems kinda basic, right?  In a way, it is.  It’s already quite easy to take a screenshot, and there are plenty of services to manage your photos.  Yet, I keep finding myself deep into a project thinking “holy crap, this has come a long way”, yet I have no visual proof of that.  As much as I’ve always wanted to, I’ve never paused after each new release to capture the frontend changes.</p>
<p>In these days of release early, release often development, we’re constantly reworking our frontends, adding features, and tweaking the UX.  Our sites are evolving faster than ever.  Assuming you’re sober, you know how much your site has changed, but do your customers, colleagues, and stakeholders?</p>
<p>We have source control browsers like <a href="http://warehouseapp.com" target="_blank">Warehouse</a> and <a href="http://github.com" target="_blank">Github</a> to keep track of the ‘when’ and ‘what’ of backend changes.   And we have ticketing systems like <a href="http://sifterapp.com" target="_blank">Sifter</a> and <a href="http://lighthouseapp.com" target="_blank">Lighthouse</a> to document the ‘why’.  But these tools are usually too private for your customers and too granular for your stakeholders.  Kafka uses simple visuals to tell the story of your site’s evolution to anyone.</p>
<p>You can use it to generate executive reports on the site’s progress, to collect feedback from users as soon as a change is deployed, to show new users how often the site is updated, to start a conversation on your blog, or to fuel your portfolio, etc.</p>
<p>Like the majority of web app ideas, the execution is what will make or break it.  It must be dead simple, performing the core task of automatically capturing screenshots with virtually no effort.  It needs to display the catalog in a variety of ways, satisfying the needs of each user type.  It needs to improve your feedback loop and help manage expectations with your stakeholders.</p>
<p>I’m on it.  All of it.  </p>
<p>Wish me luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalinsomniac.com/2009/08/02/introducing-kafka/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I got my groove back</title>
		<link>http://www.digitalinsomniac.com/2009/07/27/how-i-got-my-groove-back/</link>
		<comments>http://www.digitalinsomniac.com/2009/07/27/how-i-got-my-groove-back/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 04:15:44 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.digitalinsomniac.com/?p=161</guid>
		<description><![CDATA[Until a few weeks ago, I hadn’t written a single line of code in nearly a year and a half. For over a decade as a manager / director/ VP, I hadn’t gone longer than a &#8230; <a class="more-link" href="http://www.digitalinsomniac.com/2009/07/27/how-i-got-my-groove-back/">More<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Until a few weeks ago, I hadn’t written a single line of code in nearly a year and a half.</p>
<p>For over a decade as a manager / director/ VP, I hadn’t gone longer than a month without at least writing <em>some</em> code.  But as soon as I accepted my first CTO job, coding became a thing of the past.  It’s as if I had completed the final phase of my metamorphosis from programmer to suit.</p>
<p>My career as a technologist began when I first discovered the web in 1993.  I had very little computer experience back then, but was mesmerized by the web and felt an overwhelming need to contribute to it.  I taught myself HTML and Photoshop and UNIX and built my first site, “the eye of the storm,” a hideous homepage that utilized every Photoshop filter available.</p>
<p>Soon I became bored with static HTML and spent every waking hour teaching myself Perl/CGI.  Like many in those days, I started with a simple contact form, then moved on to dynamic pages, administrative tools, intelligent 404’s, etc.  I built my first full-fledged web app, Dr. Iptscrae, in 1995.  It was a tool that automated the scripting and configuration of Palace servers.  Under the hood, it was a shit storm of cruft Perl – lots of repetition, no commenting, no error handling.  Yet was good enough that I sold the code to the folks behind The Palace and walked away with more money than a starving college student knew what to do with.</p>
<p>I never became a rockstar programmer, but over the years, I hacked together more than fifty web apps in Perl, ASP, Java, and PHP.  I built web apps for tiny companies, that were used by only a few people and apps for start-ups used by millions of people.  I’ve done it as a one-man show, as part of a team, and as a manager.  I was that guy who slept in the office and worked from home during vacations, even when my managers begged me to take a break.</p>
<p>But somewhere along the way, building web software became tedious.  The excitement of learning and creating was replaced with an assembly line mentality.  Every app required the same old methods, business logic, database queries, etc.   In hope of recharging my passion, I shifted my focus to process-oriented things like gathering requirements and writing specs.  When that became mundane, I moved on to design patterns, code optimization, and hardware tuning.  Then I moved on to UX and IA.  Finally I moved on to the non-technical realms of launching web applications like marketing and sales.  </p>
<p>This is the path that led me to obtain my first executive position &mdash; a fantastic opportunity to challenge myself in unfamiliar territory &mdash; and use my experience, not my coding, to help guide a new start-up.  Nine months after taking the job, I conceived the strategy for, and led my team in the development of a sophisticated social web app.  The project lasted nine grueling months, and throughout it all, I didn’t contribute a single line of code.  </p>
<p>And to my surprise, I missed it.  </p>
<p>I missed being part of those all-night coding sessions.  I missed the creative problem solving.  I missed being pissed off at the death-march schedule and constant feature creep.  After all those years of trying to distance myself from coding, the one thing that finally brought my passion back was, not coding.  I found myself with all of this creative energy, and no outlet.  I can’t draw, paint, or play an instrument.  I’m not a very good writer.  I don’t sing or dance.  I don’t even like the outdoors very much.  As it turns out, I like building software.</p>
<p>I had come up with an idea for a pet project years ago, but was always too fried to build it and was so soured on all of the languages and frameworks that I knew, to use them again on a personal project.  I had read a lot about Rails and wanted to learn it, but didn’t have the energy to teach myself yet another framework.  I’d been down that road too many times, and while the outcome had always been rewarding, the process could be downright maddening.</p>
<p>And then a couple weeks ago, after a particularly grueling day at work, I woke up at 2AM with a mixture of frustration and creative energy.  Instead of fighting it and going back to sleep, I opened up my laptop, and began following a Rails intro tutorial.  By 9AM, I had the shell of my new app created.  I was coding again!  And holy crap, Rails delivered on its promise to make coding fun.  Sure, I’ve had some head-banging moments, but in only a couple of weeks, I’m further along than where I’d have been after two months in Java.</p>
<p>I’ve now spent all my free time on the project, which isn&#8217;t a lot after a full time job and a four-month old baby.  It’s not the next Google &mdash; far from it &mdash; but it’s something that I’d use as a developer/manager.  More importantly, it’s my chance to take everything I’ve learned over the last decade and incorporate it into one (potentially final) web app.  I’ll build it myself, design it myself, market it myself, etc.  No specs, no mockups, no revenue projections, no meetings to discuss the progress.  Just me, my laptop, and a problem I’d like to solve.</p>
<p>Let the experiment begin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalinsomniac.com/2009/07/27/how-i-got-my-groove-back/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

