<?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.qgyen.net/~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>In Valid Logic</title>
	
	<link>http://invalidlogic.com</link>
	<description>Endlessly expanding technology</description>
	<lastBuildDate>Mon, 30 Aug 2010 16:05:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.qgyen.net/krobertson" /><feedburner:info uri="krobertson" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>A Personal Retrospective</title>
		<link>http://feeds.qgyen.net/~r/krobertson/~3/nrY8xcBQ7Yo/</link>
		<comments>http://invalidlogic.com/2010/08/30/a-personal-retrospective/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 16:05:10 +0000</pubDate>
		<dc:creator>krobertson</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://invalidlogic.com/?p=592</guid>
		<description><![CDATA[I&#8217;d heard of people applying agile methodologies to their lives through things like personal kanban. I recently decided to apply another practice: retrospectives. Sounds simple, but when I thought about it, it really isn&#8217;t that often that I sit down and take stock of where I am and have action items at the end of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;d heard of people applying agile methodologies to their lives through things like personal kanban.  I recently decided to apply another practice: retrospectives.  Sounds simple, but when I thought about it, it really isn&#8217;t that often that I sit down and take stock of where I am and have action items at the end of it.</p>
<p>The idea is simple.  Get away from distractions for a while.  Grab a whiteboard, piece of paper, or whatever you have.  Mark out three columns.  In the first, list the things that have been going well or that you like about where you are in life.  In the second, list the things you don&#8217;t like.  And in the final, come up with a resolution or first action item for each of the things you don&#8217;t like.</p>
<p>The goal of it is to acknowledge what has been going well, figure out what hasn&#8217;t, and get the ball rolling on tackling those.  Just like you do with your projects!</p>
<p>I am by no means an agile expert, or a super organized, together person.  But I was thinking about how it has been 3 months since making a rather big career change and wanted to take stock of how things have gone, but personally and not just professionally.</p>
<p>Try it for yourself and see how it goes.  For me, I think a 3 month rotation is about right.</p>
<div class="feedflare">
<a href="http://feeds.qgyen.net/~ff/krobertson?a=nrY8xcBQ7Yo:iQzOxJPtQbo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=nrY8xcBQ7Yo:iQzOxJPtQbo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=nrY8xcBQ7Yo:iQzOxJPtQbo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/krobertson?i=nrY8xcBQ7Yo:iQzOxJPtQbo:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://invalidlogic.com/2010/08/30/a-personal-retrospective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://invalidlogic.com/2010/08/30/a-personal-retrospective/</feedburner:origLink></item>
		<item>
		<title>Presenting on Chef at next SacRuby Meetup</title>
		<link>http://feeds.qgyen.net/~r/krobertson/~3/wbgtCt2Xk-M/</link>
		<comments>http://invalidlogic.com/2010/08/13/presenting-on-chef-at-next-sacruby-meetup/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 17:52:12 +0000</pubDate>
		<dc:creator>krobertson</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[chef]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://invalidlogic.com/?p=583</guid>
		<description><![CDATA[If you are in the Sacramento area next Thursday, come by the SacRuby Meetup! I will be presenting on using Chef for server and configuration management. I will be talking about using Chef on a large scale with a cluster of servers, all the way down to aiding management of a single server. If you [...]]]></description>
			<content:encoded><![CDATA[<p>If you are in the Sacramento area next Thursday, come by the SacRuby Meetup!  I will be presenting on using <a href="http://wiki.opscode.com/">Chef</a> for server and configuration management.  I will be talking about using Chef on a large scale with a cluster of servers, all the way down to aiding management of a single server.</p>
<p>If you are in the area, please stop by!  Pizza and refreshments are normally available.</p>
<blockquote><p>Meetup details: <a href="http://www.meetup.com/sacruby/calendar/14122667/">http://www.meetup.com/sacruby/calendar/14122667/</a><br />
Date: Thursday, August 19th<br />
Time: 7:30pm til we go home<br />
Location: 10911 White Rock Road, Rancho Cordova, CA 95670  (see details for number to call to get building access)</p></blockquote>
<p>The main talk starts at 7:30, however we will also have a Ruby Clinic starting at 6:30.  Bring your questions, problems, or other issues in and we&#8217;ll try to help you out.</p>
<div class="feedflare">
<a href="http://feeds.qgyen.net/~ff/krobertson?a=wbgtCt2Xk-M:Uzo-_ez1lck:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=wbgtCt2Xk-M:Uzo-_ez1lck:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=wbgtCt2Xk-M:Uzo-_ez1lck:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/krobertson?i=wbgtCt2Xk-M:Uzo-_ez1lck:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://invalidlogic.com/2010/08/13/presenting-on-chef-at-next-sacruby-meetup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://invalidlogic.com/2010/08/13/presenting-on-chef-at-next-sacruby-meetup/</feedburner:origLink></item>
		<item>
		<title>Using server aliases with Capistrano output</title>
		<link>http://feeds.qgyen.net/~r/krobertson/~3/_HkeH8s8ZA8/</link>
		<comments>http://invalidlogic.com/2010/07/15/using-server-aliases-with-capistrano-output/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 16:31:17 +0000</pubDate>
		<dc:creator>krobertson</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://invalidlogic.com/?p=572</guid>
		<description><![CDATA[One thing we often run into without deploys is &#8220;what server is that executing on?&#8221; After updating code, we actually a fairly elaborate process to remove servers from load balancing, restart, wait for load to drop off, then add it back in to load balancing. We also just use the AWS hostnames rather than our [...]]]></description>
			<content:encoded><![CDATA[<p>One thing we often run into without deploys is &#8220;what server is that executing on?&#8221;  After updating code, we actually a fairly elaborate process to remove servers from load balancing, restart, wait for load to drop off, then add it back in to load balancing.  We also just use the AWS hostnames rather than our own since our server list pretty much changes weekly.  Wouldn&#8217;t it be nice to have the ouptut show &#8220;app10&#8243; instead of &#8220;ec2-123-123-123-123.compute-1.amazonaws.com&#8221;.</p>
<p>Luckily adding an alias to Capistrano is pretty easy!</p>
<pre class="brush: ruby;">class Capistrano::ServerDefinition
  def to_s
    @to_s ||= begin
      s = @options[:alias] || host
      s = &quot;#{user}@#{s}&quot; if user
      s = &quot;#{s}:#{port}&quot; if port &amp;&amp; port != 22
      s
    end
  end
end</pre>
<p>Simply add that to your deploy.rb, or another file that is included with your recipes for utility methods.  It works simply by overriding the ServerDefinition.to_s method, which is used for the logger output.  The only change to the default method is line 4.</p>
<p>Then for your role definitions:</p>
<pre class="brush: ruby; light: true;">role :app, 'ec2-123-123-123-123.compute-1.amazonaws.com', :alias =&gt; 'app10'</pre>
<p>Then you see much better output:</p>
<pre class="brush: plain; light: true;"> ** [out :: app10] Alive</pre>
<div class="feedflare">
<a href="http://feeds.qgyen.net/~ff/krobertson?a=_HkeH8s8ZA8:yS9h2Mu3x7A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=_HkeH8s8ZA8:yS9h2Mu3x7A:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=_HkeH8s8ZA8:yS9h2Mu3x7A:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/krobertson?i=_HkeH8s8ZA8:yS9h2Mu3x7A:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://invalidlogic.com/2010/07/15/using-server-aliases-with-capistrano-output/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://invalidlogic.com/2010/07/15/using-server-aliases-with-capistrano-output/</feedburner:origLink></item>
		<item>
		<title>Tracing controller filters in New Relic</title>
		<link>http://feeds.qgyen.net/~r/krobertson/~3/njH3EigUoXQ/</link>
		<comments>http://invalidlogic.com/2010/06/18/tracing-controller-filters-in-new-relic/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 15:44:34 +0000</pubDate>
		<dc:creator>krobertson</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[new relic]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://invalidlogic.com/?p=565</guid>
		<description><![CDATA[Yet another New Relic goodie today. One thing I was kind of surprised that New Relic didn&#8217;t already have instrumentation around out of the box was controller filters. We had noticed some occasional gaps after the main processing of an action, where all the templates would be rendered, but the execution still went on for [...]]]></description>
			<content:encoded><![CDATA[<p>Yet another New Relic goodie today.</p>
<p>One thing I was kind of surprised that New Relic didn&#8217;t already have instrumentation around out of the box was controller filters.  We had noticed some occasional gaps after the main processing of an action, where all the templates would be rendered, but the execution still went on for a few hundred milliseconds (or sometimes more).  Finally, it dawned that it is probably one of the after_filters.</p>
<p>So we aded tracing around filter execution, and lo and behold, we had one that from time to time would misbehave and execute slow.</p>
<p>To instrument the filters, the simplest way seemed to be by tacking on to the &#8216;call&#8217; method of each filter type.</p>
<pre class="brush: ruby;">::ActionController::Filters::BeforeFilter.class_eval do
  add_method_tracer :call, 'Custom/BeforeFilter/#{method.to_s}'
end

::ActionController::Filters::AfterFilter.class_eval do
  add_method_tracer :call, 'Custom/AfterFilter/#{method.to_s}'
end

::ActionController::Filters::AroundFilter.class_eval do
  add_method_tracer :call, 'Custom/AroundFilter/#{method.to_s}'
end</pre>
<p>And one more goodie while I&#8217;m looking at my list of New Relic tracers&#8230; ActionMailer.  Have seen this time and time again, that sending email synchronously with the HTTP request can drastically slow down performance.  SMTP server can be slow, can be mailing a number of recipients, submission fails, etc.  For us, most email delivery is asynchronous in the background, but one or two are triggered in line.</p>
<p>To trace ActionMailer delivery:</p>
<pre class="brush: ruby;">::ActionMailer::Base.class_eval do
  add_method_tracer :deliver!, 'Custom/ActionMailer/deliver!'
end</pre>
<p>Will maybe sometime look at email processing more, but email templates are often far simpler and their action methods do less loading.</p>
<div class="feedflare">
<a href="http://feeds.qgyen.net/~ff/krobertson?a=njH3EigUoXQ:zIVYolV4qXg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=njH3EigUoXQ:zIVYolV4qXg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=njH3EigUoXQ:zIVYolV4qXg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/krobertson?i=njH3EigUoXQ:zIVYolV4qXg:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://invalidlogic.com/2010/06/18/tracing-controller-filters-in-new-relic/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://invalidlogic.com/2010/06/18/tracing-controller-filters-in-new-relic/</feedburner:origLink></item>
		<item>
		<title>Tracing Cache Money transactions through New Relic</title>
		<link>http://feeds.qgyen.net/~r/krobertson/~3/X6z6Xxzrnlc/</link>
		<comments>http://invalidlogic.com/2010/06/15/tracing-cache-money-transactions-through-new-relic/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 16:03:41 +0000</pubDate>
		<dc:creator>krobertson</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[new relic]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://invalidlogic.com/?p=558</guid>
		<description><![CDATA[At Involver, we&#8217;ve been starting to make heavy use of New Relic to start monitoring performance and track down bottlenecks. I&#8217;ve been working to add method tracers around components that utilize external APIs or services, and some of the major components we leverage to know how much time is spent in various areas. We use [...]]]></description>
			<content:encoded><![CDATA[<p>At Involver, we&#8217;ve been starting to make heavy use of <a href="http://newrelic.com/">New Relic</a> to start monitoring performance and track down bottlenecks.  I&#8217;ve been working to add method tracers around components that utilize external APIs or services, and some of the major components we leverage to know how much time is spent in various areas.</p>
<p>We use <a href="http://github.com/nkallen/cache-money">Cache Money</a>, a gem that helps transparently cache models in Memcached.  Out of the box, New Relic supports tracing calls for Memcached, however on traces we&#8217;d see a long list of Memcached calls but no information as to which request they were associated with.</p>
<p>For a lot of our additional traces, we&#8217;ve added an rpm_extras.rb file.  To include tracing for Cache Money, just need to define it as follows:</p>
<pre class="brush: ruby;">::ActiveRecord::Base.class_eval do
  class &lt;&lt; self
    add_method_tracer :transaction, 'Custom/CacheMoney/transaction'
    add_method_tracer :find_every, 'Custom/CacheMoney/find_every'
    add_method_tracer :find_from_ids, 'Custom/CacheMoney/find_from_ids'
  end
end</pre>
<p>New Relic itself uses add_method_tracer around transaction and find_by_sql, however Cache Money works by alias_method_chaining transaction, find_every, and find_from_ids.</p>
<p>One thing worth noting is that since both New Relic and Cache Money make use of transaction, order of loading could be important.  In our environment.rb, we load our rpm_extras.rb in the after_initialize block.  When RPM is loaded, it wraps the actual ActiveRecord#transaction call, then Cache Money chains it, and our own tracer wraps the chained call.</p>
<p>Initially, I tried putting the tracer around Cache Money&#8217;s own transaction_with_cache_transaction, however that didn&#8217;t show up in traces.</p>
<div class="feedflare">
<a href="http://feeds.qgyen.net/~ff/krobertson?a=X6z6Xxzrnlc:Ul9qk8KPWro:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=X6z6Xxzrnlc:Ul9qk8KPWro:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=X6z6Xxzrnlc:Ul9qk8KPWro:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/krobertson?i=X6z6Xxzrnlc:Ul9qk8KPWro:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://invalidlogic.com/2010/06/15/tracing-cache-money-transactions-through-new-relic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://invalidlogic.com/2010/06/15/tracing-cache-money-transactions-through-new-relic/</feedburner:origLink></item>
		<item>
		<title>Isms</title>
		<link>http://feeds.qgyen.net/~r/krobertson/~3/m-tqh43Ihgg/</link>
		<comments>http://invalidlogic.com/2010/05/24/isms/#comments</comments>
		<pubDate>Mon, 24 May 2010 16:13:21 +0000</pubDate>
		<dc:creator>krobertson</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://invalidlogic.com/?p=553</guid>
		<description><![CDATA[Last week, I gave a presentation at the SacRuby meetup on using Twilio with Sinatra. Someone, I believe it was Jeremy Evans (author of the Sequel ORM) asked me why I was using exclusive returns at the end of my methods (code in question). It had never occurred to me and I had just answered [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I gave a presentation at the SacRuby meetup on using Twilio with Sinatra.</p>
<p>Someone, I believe it was <a href="http://code.jeremyevans.net/">Jeremy Evans</a> (author of the <a href="http://sequel.rubyforge.org/">Sequel ORM</a>) asked me why I was using exclusive returns at the end of my methods (<a href="http://github.com/krobertson/kens-twilio-resume/blob/master/resume.rb#L46">code in question</a>).  It had never occurred to me and I had just answered with no reason.</p>
<p>While going over the video of the presentation, came across his question again and was thinking about it.  I realized it is still a .NET-ism that I&#8217;m carrying.  In Ruby, you don&#8217;t need to explicitly return at the end of a method.  The result of the last command will automatically be returned.  However in .NET, everything has to be an explicit return.</p>
<p>When working with multiple languages, it is interesting to see the idioms cross over.  There have been multiple times I&#8217;ve been in C# and started typing &#8220;return &#8230; if &#8230;&#8221; or something similar.  Much the same, I&#8217;m so used to explicit returns in C# that I&#8217;ve used them in Ruby where I didn&#8217;t really need to.</p>
<p>It is important to be aware of the &#8220;isms&#8221; that influence you.  When moving into a new language, often times they are visible to others more familiar with the language, and more importantly, can shield you from other techniques the language offers.  While many are innocent, awareness is important to help you continue to grow.</p>
<p>However when &#8220;isms&#8221; cross back to a language you already know, they offer a chance to gain new perspective on methodologies you already practice and a might offer an opportunity to pose the question &#8220;how can I make this better&#8221;.</p>
<div class="feedflare">
<a href="http://feeds.qgyen.net/~ff/krobertson?a=m-tqh43Ihgg:_JVjlrsjcmQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=m-tqh43Ihgg:_JVjlrsjcmQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=m-tqh43Ihgg:_JVjlrsjcmQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/krobertson?i=m-tqh43Ihgg:_JVjlrsjcmQ:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://invalidlogic.com/2010/05/24/isms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://invalidlogic.com/2010/05/24/isms/</feedburner:origLink></item>
		<item>
		<title>Taking a new direction</title>
		<link>http://feeds.qgyen.net/~r/krobertson/~3/2wsAli7MlKY/</link>
		<comments>http://invalidlogic.com/2010/05/14/taking-a-new-direction/#comments</comments>
		<pubDate>Fri, 14 May 2010 16:37:22 +0000</pubDate>
		<dc:creator>krobertson</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://invalidlogic.com/?p=549</guid>
		<description><![CDATA[Today is my last day at Telligent. After almost 6 years at Telligent, I have decided it is time to move on. I&#8217;ve certainly enjoyed my time and taken pleasure in watching our products mature over that time and working with amazing developers who&#8217;ve definitely helped me grow. On Monday begins a new chapter though. [...]]]></description>
			<content:encoded><![CDATA[<p>Today is my last day at <a href="http://telligent.com">Telligent</a>.  After almost 6 years at Telligent, I have decided it is time to move on.  I&#8217;ve certainly enjoyed my time and taken pleasure in watching our products mature over that time and working with amazing developers who&#8217;ve definitely helped me grow.</p>
<p>On Monday begins a new chapter though.  I&#8217;ve decided to make the leap from developing in .NET full time to focusing on Ruby and Rails.  On Monday, I join the team at <a href="http://involver.com">Involver</a>, where I&#8217;ll be building applications for marketers and brands to reach audiences through social media.  I am really looking forward to working on their platform and to get back to face to face time with my coworkers.</p>
<div class="feedflare">
<a href="http://feeds.qgyen.net/~ff/krobertson?a=2wsAli7MlKY:AbWliqSCFhQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=2wsAli7MlKY:AbWliqSCFhQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=2wsAli7MlKY:AbWliqSCFhQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/krobertson?i=2wsAli7MlKY:AbWliqSCFhQ:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://invalidlogic.com/2010/05/14/taking-a-new-direction/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://invalidlogic.com/2010/05/14/taking-a-new-direction/</feedburner:origLink></item>
		<item>
		<title>Is the netbook form factor good for anything?</title>
		<link>http://feeds.qgyen.net/~r/krobertson/~3/Db-dV8KWcSQ/</link>
		<comments>http://invalidlogic.com/2010/04/14/is-the-netbook-form-factor-good-for-anything/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 14:51:31 +0000</pubDate>
		<dc:creator>krobertson</dc:creator>
				<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://invalidlogic.com/?p=544</guid>
		<description><![CDATA[Last night, my uncle called me to ask the same question about his netbook for the third time. Right when he started out, I knew what it was and was just thinking he should get an iPad the whole time. Netbooks are the wrong form factor for just about everything, especially if you aren&#8217;t tech [...]]]></description>
			<content:encoded><![CDATA[<p>Last night, my uncle called me to ask the same question about his netbook for the third time.  Right when he started out, I knew what it was and was just thinking he should get an iPad the whole time.  Netbooks are the wrong form factor for just about everything, especially if you aren&#8217;t tech savvy.</p>
<p>He called me to ask me about how to use a dialog box that goes off the screen.  It was his third time with that issue.  The first time, he was installing Adobe Acrobat Reader and the button on the license acceptance dialog was off screen.  The second time, it was with installing some DVD software.  And now, the third time, he was trying to print and the button was off screen.</p>
<p>The problem with netbooks is they take an operating system meant for a full system and squeeze it down to a little 9-10&#8243; display with a resolution of only 1024&#215;600.  Nobody has designed anything with that small a resolution in mind for at least 10 years, if not longer.  800&#215;600 dialogs were common before the web really caught on, before DVDs, and before laptops were actually mobile.</p>
<p>I&#8217;d thought of getting a netbook but am very glad I didn&#8217;t.  Having seen my uncle&#8217;s and a few others, and especially after getting my hands on an iPad, there is no comparison.  The iPad is an OS and software designed with the form factor in mind.  A netbook and even future products like the HP Slate take a desktop OS and software and use it in a way never intended.</p>
<div class="feedflare">
<a href="http://feeds.qgyen.net/~ff/krobertson?a=Db-dV8KWcSQ:gqknzeFgk8w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=Db-dV8KWcSQ:gqknzeFgk8w:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=Db-dV8KWcSQ:gqknzeFgk8w:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/krobertson?i=Db-dV8KWcSQ:gqknzeFgk8w:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://invalidlogic.com/2010/04/14/is-the-netbook-form-factor-good-for-anything/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://invalidlogic.com/2010/04/14/is-the-netbook-form-factor-good-for-anything/</feedburner:origLink></item>
		<item>
		<title>On the other side</title>
		<link>http://feeds.qgyen.net/~r/krobertson/~3/HmVrztrQYc0/</link>
		<comments>http://invalidlogic.com/2010/04/12/on-the-other-side/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 15:56:47 +0000</pubDate>
		<dc:creator>krobertson</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://invalidlogic.com/?p=540</guid>
		<description><![CDATA[It&#8217;s too overwhelming to remember that at the end of every computer is a real person, a lot like you, whose birthday was last week, who has three best friends but nobody to spoon at night, and is personally affected by what you say. From A real person, a lot like you Probably the biggest [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>It&#8217;s too overwhelming to remember that at the end of every computer is a real person, a lot like you, whose birthday was last week, who has three best friends but nobody to spoon at night, and is personally affected by what you say.</p></blockquote>
<p>From <a href="http://sivers.org/real">A real person, a lot like you</a></p>
<p>Probably the biggest problem with communicating online is the lack of context.  When online you can&#8217;t see facial expressions, hear the tone on their voice, or anything.  All you get is a blurb of text.</p>
<p>I know I can be difficult for others to read at times, because I can be quite short and terse.  And I&#8217;ve certainly had encounters like Derek Sivers pointed out in his post with doing support.</p>
<p>Since reading that post, I&#8217;ve tried to remain more conscious of that when working with others.  But it is also important to keep it in mind when you receive emails, IMs, comments, or other messages.  It can be easier for them to come off the wrong way and you just need to realize it might not actually be meant how it sounds.</p>
<div class="feedflare">
<a href="http://feeds.qgyen.net/~ff/krobertson?a=HmVrztrQYc0:wLcIG0nG6qs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=HmVrztrQYc0:wLcIG0nG6qs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=HmVrztrQYc0:wLcIG0nG6qs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/krobertson?i=HmVrztrQYc0:wLcIG0nG6qs:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://invalidlogic.com/2010/04/12/on-the-other-side/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://invalidlogic.com/2010/04/12/on-the-other-side/</feedburner:origLink></item>
		<item>
		<title>Where do your loyalties lay?</title>
		<link>http://feeds.qgyen.net/~r/krobertson/~3/h5bhn9GXZO4/</link>
		<comments>http://invalidlogic.com/2010/04/11/where-do-your-loyalties-lay/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 18:54:10 +0000</pubDate>
		<dc:creator>krobertson</dc:creator>
				<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://invalidlogic.com/?p=534</guid>
		<description><![CDATA[I&#8217;ve been reading through Rework and enjoying it quite a bit. They are quite vocal in their dislike of businesses thinking they need to take VC money, and especially in flipping businesses. Divvyshot just had their public release at the beginning of March, and barely a month later, they&#8217;re now acquired by Facebook and shutting [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been reading through <a href="http://www.amazon.com/gp/product/0307463745?ie=UTF8&#038;tag=qgyennet-20&#038;link_code=as3&#038;camp=211189&#038;creative=373489&#038;creativeASIN=0307463745">Rework</a> and enjoying it quite a bit.  They are quite vocal in their dislike of businesses thinking they need to take VC money, and especially in flipping businesses.</p>
<p><a href="http://divvyshot.com/">Divvyshot</a> just had their public release at the beginning of March, and barely a month later, they&#8217;re now acquired by <a href="http://www.facebook.com/">Facebook</a> and shutting down.  They recently announced their shutdown timeline and in 6 weeks, they will be done.  Of course, they&#8217;re going to be working on new stuff at Facebook, but it does raise some interesting points.</p>
<p>They&#8217;d only been in open for a little over a year, and in business for a month (&#8220;in business&#8221; as in public and being a paid service&#8230;  making money like a business), and now they&#8217;re acquired and shutting down.</p>
<p>Even if you aren&#8217;t building a business with an exit strategy already set, where do your loyalties lay?  Is it in the service that you are building, or is it in the idea behind your service?  And which is better?</p>
<p>If your loyalties are to <em>your</em> business and <em>your</em> service, then the last thing you&#8217;d want to do would be to get acquired knowing you&#8217;ll be shut down.  Even if you&#8217;ll get to work on the same stuff again at the new job, you&#8217;ll be starting over and abandoning what you&#8217;ve already built.</p>
<p>If your loyalties are with the idea, then it doesn&#8217;t matter where you&#8217;re working on it at.  Getting acquired by a company like Facebook give you more funding, more resources, and able to reach a larger audience.  However since the service you just built is secondary, you do end up screwing over the user base your <em>already reached</em> in order to have a larger base of <em>potential</em> users.</p>
<p>I tend to lean towards loyalties to your own business.  Flipping, especially so early on, only screws your users.  I can see the positive reasons the Divvyshot founders are likely looking at, however if I was a paid users, I&#8217;d likely be looking for a refund and have a bit of a foul taste in my mouth.</p>
<p>Aside from that&#8230; I don&#8217;t really want all my photos within Facebook and likely won&#8217;t consider using it once its in Facebook.  I don&#8217;t believe in &#8220;one service to rule them all&#8221;.  I prefer services with a set focus.</p>
<div class="feedflare">
<a href="http://feeds.qgyen.net/~ff/krobertson?a=h5bhn9GXZO4:VQu7tysI8Nc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=h5bhn9GXZO4:VQu7tysI8Nc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/krobertson?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.qgyen.net/~ff/krobertson?a=h5bhn9GXZO4:VQu7tysI8Nc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/krobertson?i=h5bhn9GXZO4:VQu7tysI8Nc:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://invalidlogic.com/2010/04/11/where-do-your-loyalties-lay/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://invalidlogic.com/2010/04/11/where-do-your-loyalties-lay/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.353 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-09-02 22:31:19 --><!-- Compression = gzip -->
