<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://feeds.feedblitz.com/feedblitz_rss.xslt"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	 xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
<channel>
	<title>Atomic Spin</title>
	<atom:link href="http://spin.atomicobject.com/feed/?redirect=false&#038;r=1&#038;fbz=0" rel="self" type="application/rss+xml" />
	<link>http://spin.atomicobject.com</link>
	<description>Atomic Object's Blog on Software Design &amp; Development</description>
	<lastBuildDate>Tue, 18 Jun 2013 18:35:07 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
<image>
	<url>https://s3.amazonaws.com/users.feedblitz.com/11ccaefebf470d493a858839c60c2ba7/AO-wordmark-color-smaller.png</url>
	<title>Atomic Spin</title>
	<link>http://spin.atomicobject.com</link>
</image>
<item>
<feedburner:origLink>http://spin.atomicobject.com/2013/06/18/reactivecocoa-rubymotion/</feedburner:origLink>
		<title>ReactiveCocoa &amp; RubyMotion: The Setup</title>
		<link>http://feeds.feedblitz.com/~/42440587/0/atomicspin~ReactiveCocoa-amp-RubyMotion-The-Setup/</link>
		<comments>http://feeds.feedblitz.com/~/42440587/0/atomicspin~ReactiveCocoa-amp-RubyMotion-The-Setup/#comments</comments>
		<pubDate>Tue, 18 Jun 2013 12:00:32 +0000</pubDate>
		<dc:creator>Jason Porritt</dc:creator>
				<category><![CDATA[Languages]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[frp]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[reactivecocoa]]></category>
		<category><![CDATA[rubymotion]]></category>
		<guid isPermaLink="false">http://spin.atomicobject.com/?p=97872</guid>
		<description><![CDATA[<p><p><a href="http://www.rubymotion.com/">RubyMotion</a> promises to bring the clarity and concise syntax of Ruby to iOS and OS X development. <a href="https://github.com/ReactiveCocoa">ReactiveCocoa&#8217;s</a> aim is to help reduce complexity by deriving state instead of declaring it. Sounds like a great combination, right?</p>
<p><a href="http://feeds.feedblitz.com/~/42440587/0/atomicspin~ReactiveCocoa-amp-RubyMotion-The-Setup/" class="more-link">Read more on ReactiveCocoa &#038; RubyMotion: The Setup <span class="meta-nav">&#187;</span></a></p>
</p><p>The post <a href="http://feeds.feedblitz.com/~/42440587/0/atomicspin~ReactiveCocoa-amp-RubyMotion-The-Setup/">ReactiveCocoa &#038; RubyMotion: The Setup</a> appeared first on <a href="http://spin.atomicobject.com">Atomic Spin</a>.</p>]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/04/28/reactivecocoa/&quot;&gt;ReactiveCocoa: The Future of Cocoa Programming&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/06/wpf-ui-widgets/&quot;&gt;Complicated UI Widgets in WPF&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/03/ovf-virtual-machine/&quot;&gt;OVF? OVA? VMDK? &amp;#x2013; File Formats and Tools for Virtualization&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</description>
				<content:encoded><![CDATA[<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.rubymotion.com/">RubyMotion</a> promises to bring the clarity and concise syntax of Ruby to iOS and OS X development. <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://github.com/ReactiveCocoa">ReactiveCocoa&#8217;s</a> aim is to help reduce complexity by deriving state instead of declaring it. Sounds like a great combination, right?</p>
<p>There are some complications. First, the documentation and examples almost all use the <span class="caps">RAC</span> and <span class="caps">RACA</span>ble macros provided by ReactiveCocoa, something we can&#8217;t use from RubyMotion. Bummer. And RubyMotion&#8217;s bridgesupport doesn&#8217;t allow us to call Objective-C methods that take blocks typed as id. Rats. Fortunately these can be overcome, thanks to some helpful folks on the internet, so let&#8217;s get started.
<br>
<span id="more-97872"></span>
<br>
<h2>1. Install ReactiveMotion</h2>
</p>
<p>ReactiveMotion is available through <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~cocoapods.org/">CocoaPods</a>. Update your RubyMotion project&#8217;s Rakefile to include it:</p>
<div class="wp_syntax"><table><tr><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#6666ff; font-weight:bold;">Motion::Project::App</span>.<span style="color:#9900CC;">setup</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>app<span style="color:#006600; font-weight:bold;">|</span>
  ...
  <span style="color:#9900CC;">app</span>.<span style="color:#9900CC;">pods</span> <span style="color:#9966CC; font-weight:bold;">do</span>
    pod <span style="color:#996600;">'ReactiveCocoa'</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
  ...
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>
<p>The next time you build your project, CocoaPods will retrieve and build the ReactiveCocoa library. There are <span class="caps">RAC</span> extensions for many popular libraries. I recommend checking out <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://github.com/CodaFi/AFNetworking-RACExtensions"><span class="caps">AFN</span>etworking-<span class="caps">RACE</span>xtensions</a> in particular.</p>
<h2>2. Set Up a Shim for RubyMotion</h2>
<p>We ran across <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://github.com/kastiglione/RACSignupDemo-RubyMotion">an example project from Dave Lee</a>. He sets up a convenient shim that solves both of the complications I mentioned in the opening. There are two primary pieces.</p>
<p>On <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://github.com/kastiglione/RACSignupDemo-RubyMotion/blob/master/app/IMMViewController.rb#L84">line 84 of IMMViewController.rb</a> a new class method, <code>reduceLatest</code>, is added to the <span class="caps">RACS</span>ignal class. This method wraps the existing <code>combineLatest</code> to resolve the problem of passing blocks as type `id`. It works in conjunction with an <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://github.com/kastiglione/RACSignupDemo-RubyMotion/tree/master/vendor/ReactiveMotion">Objective-C shim and .bridgesupport file</a> that enumerate methods taking blocks of specific arity (1-5 in this case, add more if you need them).</p>
<p>The other piece, <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://github.com/kastiglione/RACSignupDemo-RubyMotion/blob/master/app/IMMViewController.rb#L159">starting at line 159 of IMMViewController.rb</a>, is a replacement for the convenient <code>RAC</code> and <code>RACAble</code> macros. Keep in mind that objects passed to the <code>rac</code> method need to be <span class="caps">KVO</span>-compliant.</p>
<p>Overall, lines 77 &#8211; 219 of IMMViewController.rb and the contents of the vendor/ReactiveMotion make a pretty good shim.</p>
<h2>3. Read the Docs</h2>
<p>ReactiveCocoa&#8217;s paradigms can be challenging to get a good grasp on. Fortunately the team has provided <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://github.com/ReactiveCocoa/ReactiveCocoa/blob/master/Documentation">good documentation</a>. Read it. In particular, I&#8217;d recommend starting with:</p>
<ul>
<li><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://github.com/ReactiveCocoa/ReactiveCocoa#reactivecocoa">The Readme</a></li>
<li><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://github.com/ReactiveCocoa/ReactiveCocoa/blob/master/Documentation/FrameworkOverview.md">The Framework Overview</a></li>
</ul>
<p>I&#8217;ve also had a great experience diving into ReactiveCocoa&#8217;s source code.</p>
<h2>Example: Triggering Authentication Using a Command</h2>
<p>This is an example of using a command to start the authentication process.</p>
<div class="wp_syntax"><table><tr><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> LoginViewController <span style="color:#006600; font-weight:bold;">&lt;</span> UIViewController
  attr_accessor <span style="color:#ff3333; font-weight:bold;">:credentials</span>
  <span style="color:#9966CC; font-weight:bold;">def</span> viewDidLoad
    <span style="color:#9966CC; font-weight:bold;">super</span>
    <span style="color:#0066ff; font-weight:bold;">@credentials</span> = RACSignal.<span style="color:#9900CC;">reduceLatest</span><span style="color:#006600; font-weight:bold;">&#40;</span>usernameField.<span style="color:#9900CC;">rac_textSignal</span>, passwordField.<span style="color:#9900CC;">rac_textSignal</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>user, pass<span style="color:#006600; font-weight:bold;">|</span>
      <span style="color:#0066ff; font-weight:bold;">@_credentials</span> = <span style="color:#006600; font-weight:bold;">&#91;</span>user, pass<span style="color:#006600; font-weight:bold;">&#93;</span>
    <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
  <span style="color:#008000; font-style:italic;"># Wired up to a button in our storyboard</span>
  <span style="color:#9966CC; font-weight:bold;">def</span> signInClicked
    <span style="color:#0066ff; font-weight:bold;">@command</span>.<span style="color:#9900CC;">execute</span><span style="color:#006600; font-weight:bold;">&#40;</span>@_credentials<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#008000; font-style:italic;"># elsewhere, in a class that has a reference to the</span>
<span style="color:#008000; font-style:italic;"># LoginViewController (@view) and user model (@user)</span>
<span style="color:#9966CC; font-weight:bold;">class</span> LoginManager
  attr_accessor <span style="color:#ff3333; font-weight:bold;">:credentialsAreNotEmpty</span>
&nbsp;
  ...
&nbsp;
  <span style="color:#008000; font-style:italic;"># Gets triggered after the view for the view controller above is loaded</span>
  <span style="color:#9966CC; font-weight:bold;">def</span> configure
    <span style="color:#0066ff; font-weight:bold;">@credentialsAreNotEmpty</span> = <span style="color:#0066ff; font-weight:bold;">@view</span>.<span style="color:#9900CC;">credentials</span>.<span style="color:#9900CC;">map</span> <span style="color:#006600; font-weight:bold;">-&gt;</span> <span style="color:#006600; font-weight:bold;">&#40;</span>creds<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span>
      creds.<span style="color:#9900CC;">length</span> == <span style="color:#006666;">2</span> <span style="color:#9966CC; font-weight:bold;">and</span> !creds.<span style="color:#9900CC;">any</span>? <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>c<span style="color:#006600; font-weight:bold;">|</span> c.<span style="color:#0000FF; font-weight:bold;">nil</span>? <span style="color:#9966CC; font-weight:bold;">or</span> c.<span style="color:#9900CC;">empty</span>? <span style="color:#006600; font-weight:bold;">&#125;</span>
    <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
    <span style="color:#0066ff; font-weight:bold;">@authCommand</span> = RACCommand.<span style="color:#9900CC;">commandWithCanExecuteSignal</span> credentialsAreNotEmpty
    <span style="color:#0066ff; font-weight:bold;">@authCommand</span>.<span style="color:#9900CC;">allowsConcurrentExecution</span> = <span style="color:#0000FF; font-weight:bold;">false</span>
&nbsp;
    <span style="color:#008000; font-style:italic;"># The command's `executing` will remain YES until the</span>
    <span style="color:#008000; font-style:italic;"># signal returned by the block completes or errors.</span>
    <span style="color:#0066ff; font-weight:bold;">@authCommand</span>.<span style="color:#9900CC;">addSignalBlock</span> <span style="color:#006600; font-weight:bold;">-&gt;</span><span style="color:#006600; font-weight:bold;">&#40;</span>credentials<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span>
      <span style="color:#008000; font-style:italic;"># User#authenticate uses AFNetworking-RACExtensions under the hood and </span>
      <span style="color:#008000; font-style:italic;"># returns a signal that completes when the auth request is complete.</span>
      <span style="color:#0066ff; font-weight:bold;">@user</span>.<span style="color:#9900CC;">authenticate</span> credentials
    <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>
<p>One thing I&#8217;d love to find a better way to accomplish is aggregating the command execution with the stream of current credentials. Keeping the added state @_credentials is gross. I tried a few variations of reduceLatest but didn&#8217;t get the behavior I was looking for. 
<br>
&nbsp;</p>
<p>The post <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com/2013/06/18/reactivecocoa-rubymotion/">ReactiveCocoa &#038; RubyMotion: The Setup</a> appeared first on <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com">Atomic Spin</a>.</p><Img align="left" border="0" height="1" width="1" style="border:0;float:left;margin:0;padding:0" hspace="0" src="http://feeds.feedblitz.com/~/i/42440587/0/atomicspin">
]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42440587/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/04/28/reactivecocoa/&quot;&gt;ReactiveCocoa: The Future of Cocoa Programming&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/06/wpf-ui-widgets/&quot;&gt;Complicated UI Widgets in WPF&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/03/ovf-virtual-machine/&quot;&gt;OVF? OVA? VMDK? &amp;#x2013; File Formats and Tools for Virtualization&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</content:encoded>
			<wfw:commentRss>http://feeds.feedblitz.com/~/42440587/0/atomicspin~ReactiveCocoa-amp-RubyMotion-The-Setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments></item>
<item>
<feedburner:origLink>http://spin.atomicobject.com/2013/06/17/bootloader-first/</feedburner:origLink>
		<title>Tackle Your Bootloader First!!</title>
		<link>http://feeds.feedblitz.com/~/42400324/0/atomicspin~Tackle-Your-Bootloader-First/</link>
		<comments>http://feeds.feedblitz.com/~/42400324/0/atomicspin~Tackle-Your-Bootloader-First/#comments</comments>
		<pubDate>Mon, 17 Jun 2013 12:00:44 +0000</pubDate>
		<dc:creator>Greg Williams</dc:creator>
				<category><![CDATA[Embedded Software]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Project Planning]]></category>
		<category><![CDATA[Risk]]></category>
		<guid isPermaLink="false">http://spin.atomicobject.com/?p=96968</guid>
		<description><![CDATA[<p><p><img class=" wp-image-98146 alignright" alt="Be Proactive NOT Recative" src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/iStock_000016223043XSmall.jpg" width="340" height="226" />Every embedded product I&#8217;ve worked on has required field update capabilities in order to deploy firmware upgrades. Unfortunately, the pressure to get a product to market can lead to bad practices like deferring <em>non-customer-facing</em> features, even if they are critical.</p>
<p><a href="http://feeds.feedblitz.com/~/42400324/0/atomicspin~Tackle-Your-Bootloader-First/" class="more-link">Read more on Tackle Your Bootloader First!! <span class="meta-nav">&#187;</span></a></p>
</p><p>The post <a href="http://feeds.feedblitz.com/~/42400324/0/atomicspin~Tackle-Your-Bootloader-First/">Tackle Your Bootloader First!!</a> appeared first on <a href="http://spin.atomicobject.com">Atomic Spin</a>.</p>]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/05/17/tend-build-system/&quot;&gt;Not Tending to &amp;#8220;The Build&amp;#8221; &#x2013; A Common Anti-Pattern&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/05/09/budget-extensions-are-a-smell/&quot;&gt;Budget Extensions Are a &amp;#8220;Smell&amp;#8221;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/04/12/agile-team-epic/&quot;&gt;Tear Down the Walls! (part duex): Reorganizing Teams Around Epics&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</description>
				<content:encoded><![CDATA[<p><img class=" wp-image-98146 alignright" alt="Be Proactive NOT Recative" src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/iStock_000016223043XSmall.jpg" width="340" height="226" />Every embedded product I&#8217;ve worked on has required field update capabilities in order to deploy firmware upgrades. Unfortunately, the pressure to get a product to market can lead to bad practices like deferring <em>non-customer-facing</em> features, even if they are critical.</p>
<p>It&#8217;s important to get key product features done — and sales, marketing, and management will push hardest on their own must-haves — but having a seamless upgrade strategy in place is <b>crucial</b> for ensuring the long-term success of your product.<span id="more-96968"></span></p>
<p>To help give you and your team the proper ammunition and avoid getting dragged into this situation, here are some common themes that cause a project to end up in this dismal situation.</p>
<p><!--more-->
<br>
<h2>Bootloaders are <span class="caps">HARD</span>, so don&#8217;t deprioritize!</h2>
</p>
<p>Management always knows that this is a crucial feature, but they seldom doesn&#8217;t understand the complexities involved and the level of customization and robustness required to have this safety valve in place. After all, field updates are a fallback mechanism in the event that a crucial bug gets discovered too late, or if research and beta-testing didn&#8217;t catch that an important feature was did not hit the mark expected by customers.</p>
<h2>No Bootloader means developers will have to update prototypes&#8230; again and again.</h2>
<p>There are valuable, but not necessarily obvious, benefits of having a convenient update mechanism in place during the course of product development as well. In the absence of such a mechanism, I personally have spent hours with a <span class="caps">JTAG</span> adapter, various tools, and rigged up connectors applying updates to dozens of devices, burning valuable development time&#8230; not to mention the interruption and time it takes to get back on track, to getting the <em><strong>real</strong></em> work done.</p>
<h2>Partitioning your resources early saves time!</h2>
<p>Getting your bootloader in place early forces the proper partitioning of the system at an early stage, when the separation and allocation of code and resources is much easier to do. Even if you don&#8217;t get the separation completely right the first time around, you will know it earlier and will have more time to carefully address the issues. Furthermore, you are getting more road-time to test, refine, and document the procedure with the help of test technicians and system engineers.</p>
<h2>Take the reigns and <strong>just do it!</strong></h2>
<p>If you have read this far, you likely have experienced many of the pitfalls I have mentioned. This is disappointingly too common of a problem, and one that occurs over and over — despite the retros, missed deadlines, and returned devices due to a flaw or lack of a solid bootloader.</p>
<p>Don&#8217;t let this happen to you, your teammates, and the products you develop any longer. Stand up for the early introduction of an update strategy. It is unethical to do otherwise, and doing so will result in a notable increase in your sanity, and your coworkers, and even you beta and end users.</p>
<p>If you have been, or are in this situation now, please share your war stories and frustrations!
<br>
&nbsp;</p>
<p>The post <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com/2013/06/17/bootloader-first/">Tackle Your Bootloader First!!</a> appeared first on <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com">Atomic Spin</a>.</p><Img align="left" border="0" height="1" width="1" style="border:0;float:left;margin:0;padding:0" hspace="0" src="http://feeds.feedblitz.com/~/i/42400324/0/atomicspin">
]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42400324/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/05/17/tend-build-system/&quot;&gt;Not Tending to &amp;#8220;The Build&amp;#8221; &#x2013; A Common Anti-Pattern&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/05/09/budget-extensions-are-a-smell/&quot;&gt;Budget Extensions Are a &amp;#8220;Smell&amp;#8221;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/04/12/agile-team-epic/&quot;&gt;Tear Down the Walls! (part duex): Reorganizing Teams Around Epics&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</content:encoded>
			<wfw:commentRss>http://feeds.feedblitz.com/~/42400324/0/atomicspin~Tackle-Your-Bootloader-First/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments></item>
<item>
<feedburner:origLink>http://spin.atomicobject.com/2013/06/16/ubuntus-biggest-bug-squashed/</feedburner:origLink>
		<title>Ubuntu&#8217;s Biggest Bug Squashed</title>
		<link>http://feeds.feedblitz.com/~/42375180/0/atomicspin~Ubuntus-Biggest-Bug-Squashed/</link>
		<comments>http://feeds.feedblitz.com/~/42375180/0/atomicspin~Ubuntus-Biggest-Bug-Squashed/#comments</comments>
		<pubDate>Sun, 16 Jun 2013 15:00:10 +0000</pubDate>
		<dc:creator>Adeline Miller</dc:creator>
				<category><![CDATA[Unix, Linux, and Bash]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">http://spin.atomicobject.com/?p=97626</guid>
		<description><![CDATA[<p><p><a href="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/lunapic_137023219917966_3.jpg"><img class="alignright" alt="linux and windows icons" src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/lunapic_137023219917966_3.jpg" width="353" height="242" /></a>Ubuntu’s leader Mark Shuttleworth <a href="http://arstechnica.com/information-technology/2013/05/mark-shuttleworth-gives-up-dream-of-ubuntu-toppling-windows/">closed the operating system’s Bug #1</a> on May 30th, 8 years after the system was first written.</p>
<p>Bug #1 (liberation) was that &#8220;Microsoft has a majority market share&#8221; in the then-new desktop PC marketplace. According to <a href="https://bugs.launchpad.net/ubuntu/+bug/1/comments/1834">Shuttleworth’s comment about closing the bug</a>, the definition of PC has changed since 2004. &#8220;PC&#8221; doesn’t just mean laptops and desktops anymore. Now people do a large majority of their computing on smartphones, tablets, wearable devices, and other devices. Shuttleworth also mentions that it&#8217;s better for Ubuntu to focus on excellence in their own right rather than on impacting someone else&#8217;s products.</p>
<p><a href="http://feeds.feedblitz.com/~/42375180/0/atomicspin~Ubuntus-Biggest-Bug-Squashed/" class="more-link">Read more on Ubuntu&#8217;s Biggest Bug Squashed <span class="meta-nav">&#187;</span></a></p>
</p><p>The post <a href="http://feeds.feedblitz.com/~/42375180/0/atomicspin~Ubuntus-Biggest-Bug-Squashed/">Ubuntu&#8217;s Biggest Bug Squashed</a> appeared first on <a href="http://spin.atomicobject.com">Atomic Spin</a>.</p>]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/08/apache-zookeeper/&quot;&gt;Taming Your Cluster with ZooKeeper&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/04/virtual-appliance-repeatably/&quot;&gt;Building a Virtual Appliance &amp;#8211; Repeatably&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/03/ovf-virtual-machine/&quot;&gt;OVF? OVA? VMDK? &amp;#x2013; File Formats and Tools for Virtualization&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</description>
				<content:encoded><![CDATA[<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/lunapic_137023219917966_3.jpg"><img class="alignright" alt="linux and windows icons" src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/lunapic_137023219917966_3.jpg" width="353" height="242" /></a>Ubuntu’s leader Mark Shuttleworth <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~arstechnica.com/information-technology/2013/05/mark-shuttleworth-gives-up-dream-of-ubuntu-toppling-windows/">closed the operating system’s Bug #1</a> on May 30th, 8 years after the system was first written.</p>
<p>Bug #1 (liberation) was that &#8220;Microsoft has a majority market share&#8221; in the then-new desktop PC marketplace. According to <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://bugs.launchpad.net/ubuntu/+bug/1/comments/1834">Shuttleworth’s comment about closing the bug</a>, the definition of PC has changed since 2004. &#8220;PC&#8221; doesn’t just mean laptops and desktops anymore. Now people do a large majority of their computing on smartphones, tablets, wearable devices, and other devices. Shuttleworth also mentions that it&#8217;s better for Ubuntu to focus on excellence in their own right rather than on impacting someone else&#8217;s products.</p>
<p>When I first saw this, I was frustrated because it seemed Ubuntu was copping out. But the more I think about it, the more I realize that he is right. A lot of things have changed since the bug was first opened. For the longest time, Windows was really the only operating system in use. I myself had never heard of Linux, and very few people I knew had Macs. Open source wasn’t widely used. </p>
<p>Now people use open source in all aspects of their life. A large portion of the population uses the Android OS for their phones, and their web browsing choices are Chrome or Firefox. People go to Wikipedia and YouTube everyday. Gaming used to be only capable on PCs, but now more games are accessible on other platforms like Android, Mac, and <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~store.steampowered.com/">Steam</a>. In fact, Steam doesn&#8217;t support Windows 8 and now encourages people to download Ubuntu to play their video games. </p>
<p>Microsoft now finds itself having to fight to get people to buy their software and hardware and to use their browser and search engine. They are also finding themselves needing to open stores in order to better reach their customers and give them better service.</p>
<p>Open source drives innovation. It allows programmers to focus on making a superior product that <i>works</i> instead of making a product that the maximum number of consumers will want to buy. In the end, the consumer gets high-quality software at no cost. Closing this bug means Ubuntu can focus on what&#8217;s important — creating quality software. If it encourages other companies to create better software, that&#8217;s a win for everyone.
<br>
&nbsp;</p>
<p>The post <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com/2013/06/16/ubuntus-biggest-bug-squashed/">Ubuntu&#8217;s Biggest Bug Squashed</a> appeared first on <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com">Atomic Spin</a>.</p><Img align="left" border="0" height="1" width="1" style="border:0;float:left;margin:0;padding:0" hspace="0" src="http://feeds.feedblitz.com/~/i/42375180/0/atomicspin">
]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42375180/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/08/apache-zookeeper/&quot;&gt;Taming Your Cluster with ZooKeeper&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/04/virtual-appliance-repeatably/&quot;&gt;Building a Virtual Appliance &amp;#8211; Repeatably&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/03/ovf-virtual-machine/&quot;&gt;OVF? OVA? VMDK? &amp;#x2013; File Formats and Tools for Virtualization&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</content:encoded>
			<wfw:commentRss>http://feeds.feedblitz.com/~/42375180/0/atomicspin~Ubuntus-Biggest-Bug-Squashed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments></item>
<item>
<feedburner:origLink>http://spin.atomicobject.com/2013/06/15/web-typography/</feedburner:origLink>
		<title>Tools that Are Changing Type on the Web</title>
		<link>http://feeds.feedblitz.com/~/42350397/0/atomicspin~Tools-that-Are-Changing-Type-on-the-Web/</link>
		<comments>http://feeds.feedblitz.com/~/42350397/0/atomicspin~Tools-that-Are-Changing-Type-on-the-Web/#comments</comments>
		<pubDate>Sat, 15 Jun 2013 15:00:05 +0000</pubDate>
		<dc:creator>Chris Meyer</dc:creator>
				<category><![CDATA[Design & Development]]></category>
		<category><![CDATA[Visual Design]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[typography]]></category>
		<guid isPermaLink="false">http://spin.atomicobject.com/?p=97606</guid>
		<description><![CDATA[<p><p><img src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/web-typography.jpg" alt="web typography" width="590" height="393" class="alignnone size-full wp-image-98108" /></p>
<p>With graphic design having been my focus throughout +3 years in school, I&#8217;m very concerned with typography. I even took three typography courses — that&#8217;s six hours of class time a week during three semesters of studying fonts, the anatomy of letterforms, kerning, etc.</p>
<p><a href="http://feeds.feedblitz.com/~/42350397/0/atomicspin~Tools-that-Are-Changing-Type-on-the-Web/" class="more-link">Read more on Tools that Are Changing Type on the Web <span class="meta-nav">&#187;</span></a></p>
</p><p>The post <a href="http://feeds.feedblitz.com/~/42350397/0/atomicspin~Tools-that-Are-Changing-Type-on-the-Web/">Tools that Are Changing Type on the Web</a> appeared first on <a href="http://spin.atomicobject.com">Atomic Spin</a>.</p>]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/03/21/from-photoshop-to-css/&quot;&gt;From Photoshop to CSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/05/22/google-drive-javascript/&quot;&gt;Convert Google Drive Data to JavaScript with Tabletop&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/02/22/css-sprite-semantics-scaleability/&quot;&gt;Sprites, Semantics &amp;amp; Scalability: A Demo with Playing Cards&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</description>
				<content:encoded><![CDATA[<p><img src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/web-typography.jpg" alt="web typography" width="590" height="393" class="alignnone size-full wp-image-98108" /></p>
<p>With graphic design having been my focus throughout +3 years in school, I&#8217;m very concerned with typography. I even took three typography courses — that&#8217;s six hours of class time a week during three semesters of studying fonts, the anatomy of letterforms, kerning, etc.</p>
<p>That being said, typography on the web hasn&#8217;t always offered much to get excited about. I&#8217;m grateful that I began designing on the web when I did (which truly started about 5 years ago) because type has been improving so much. Today there are many solutions to the old limitations on type.</p>
<p>There&#8217;s nothing more disappointing as a designer than finding out that you can&#8217;t use a particular typeface on a site after spending hours on the mockup and branding. It changes everything! Thankfully we are no longer limited to the typical Helvetica and Times New Roman. Here are my favorite web typography tools.</p>
<p><span id="more-97606"></span></p>
<h2>Google Fonts</h2>
<p><a title="Google Fonts - Hundreds of open-source, web-optimized fonts" href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.google.com/fonts/" target="_blank">Google Fonts</a> has hundreds of free, open-source fonts that are optimized for the web. When you hear that someone has hundreds of free fonts, you know they aren&#8217;t all going to be beautiful, but there definitely are a few gems even on the first page. Using Google Fonts is incredibly easy, you just choose the ones you want to use and they provide the HTML and CSS.</p>
<h2>Font Squirrel</h2>
<p><a title="Font Squirrel - Webfont Generator &amp; Free Web Fonts" href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.fontsquirrel.com" target="_blank">Font Squirrel</a> is even better, but requires just a bit more work. Like Google Fonts, they provide already optimized, free fonts, but where the site really shines is in its Webfont Generator. This allows you to upload fonts that you have on your computer (and own legally, of course) and it spits out web optimized versions of that font along with the CSS. This uses @font-face, which allows you to use fonts other than the &#8216;web-safe&#8217; ones.</p>
<h2>FitText.js</h2>
<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/fittext.png"><img class="aligncenter size-full wp-image-97612" alt="fittext" src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/fittext.png" width="1406" height="430" /></a></p>
<p>With responsive web design being the hottest topic in web design these days, <a title="Fittext.js" href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~fittextjs.com" target="_blank">Fittext.js</a> is something to get excited about. This scales type along with the browser window, and very well I may add. I only hope that something like this becomes a built-in feature of CSS in the future.</p>
<h2>Screen Resolution</h2>
<p>With Retina displays becoming more and more common across several devices, type is becoming even prettier and more important. It&#8217;s getting close to the sharpness you would see in print design. I just recently (after some hesitation) upgraded to the Retina MacBook Pro. I highly recommend it, especially to designers. Eventually it will be a standard, so it&#8217;s best to get used to designing for it already. Not to mention things that are not optimized for Retina are hard to look at.</p>
<h2>Web Typography Wish List</h2>
<p>At this point, there are only a couple of things I still wish for. We have letter-spacing in CSS, but it&#8217;s only okay. I would like more control of kerning, which is the spacing between individual pairs of characters rather than the uniform spacing that letter-spacing controls. I would also like better control of the rag of paragraphs (where the lines in a paragraph end) and widows (when the last line of a paragraph consists of a single word). A beautiful, typographic web that can be compared to print is just around the corner.</p>
<p>If you know of any other web type tools, please share them. New ones are surfacing everyday.</p>
<p>The post <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com/2013/06/15/web-typography/">Tools that Are Changing Type on the Web</a> appeared first on <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com">Atomic Spin</a>.</p><Img align="left" border="0" height="1" width="1" style="border:0;float:left;margin:0;padding:0" hspace="0" src="http://feeds.feedblitz.com/~/i/42350397/0/atomicspin">
]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42350397/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/03/21/from-photoshop-to-css/&quot;&gt;From Photoshop to CSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/05/22/google-drive-javascript/&quot;&gt;Convert Google Drive Data to JavaScript with Tabletop&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/02/22/css-sprite-semantics-scaleability/&quot;&gt;Sprites, Semantics &amp;amp; Scalability: A Demo with Playing Cards&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</content:encoded>
			<wfw:commentRss>http://feeds.feedblitz.com/~/42350397/0/atomicspin~Tools-that-Are-Changing-Type-on-the-Web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments></item>
<item>
<feedburner:origLink>http://spin.atomicobject.com/2013/06/14/graduation-advice/</feedburner:origLink>
		<title>Graduation Advice for Life</title>
		<link>http://feeds.feedblitz.com/~/42316478/0/atomicspin~Graduation-Advice-for-Life/</link>
		<comments>http://feeds.feedblitz.com/~/42316478/0/atomicspin~Graduation-Advice-for-Life/#comments</comments>
		<pubDate>Fri, 14 Jun 2013 12:00:13 +0000</pubDate>
		<dc:creator>Mary O'Neill</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[advice]]></category>
		<category><![CDATA[graduation]]></category>
		<category><![CDATA[success]]></category>
		<guid isPermaLink="false">http://spin.atomicobject.com/?p=97793</guid>
		<description><![CDATA[<p><p><img class="alignnone size-full wp-image-98097" alt="graduation advice" src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/graduation-advice.jpg" width="590" height="393" /></p>
<p>It’s June. It’s graduation time of the year. My son just graduated from high school. <a href="http://atomicobject.com/">Atomic Object</a> has four college interns working with us this summer. And in the last few months, we’ve <a href=" http://spin.atomicobject.com/2013/05/28/new-employees/">welcomed five new employees</a>, four of whom are recent college graduates.</p>
<p><a href="http://feeds.feedblitz.com/~/42316478/0/atomicspin~Graduation-Advice-for-Life/" class="more-link">Read more on Graduation Advice for Life <span class="meta-nav">&#187;</span></a></p>
</p><p>The post <a href="http://feeds.feedblitz.com/~/42316478/0/atomicspin~Graduation-Advice-for-Life/">Graduation Advice for Life</a> appeared first on <a href="http://spin.atomicobject.com">Atomic Spin</a>.</p>]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/09/econ-talk-bernstein/&quot;&gt;Econ Talk: Bernstein on Communication, Power, and Masters of the Word&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/07/know-what-you-dont-know/&quot;&gt;How Do You Know What You Don&amp;#8217;t Know?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/01/keyboard-use/&quot;&gt;Embrace Your Keyboard &amp;#x2013; 4 Ways to Work More Efficiently with Less Wrist Pain&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-98097" alt="graduation advice" src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/graduation-advice.jpg" width="590" height="393" /></p>
<p>It’s June. It’s graduation time of the year. My son just graduated from high school. <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~atomicobject.com/">Atomic Object</a> has four college interns working with us this summer. And in the last few months, we’ve <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~ http://spin.atomicobject.com/2013/05/28/new-employees/">welcomed five new employees</a>, four of whom are recent college graduates.</p>
<p>What to study? What&#8217;s my best career path? What next? The questions and the blizzard of bland advice can be disorienting and disheartening.</p>
<p>And commencement addresses can be really tiresome and filled with hollow platitudes about how graduates should aspire to <em>greatness.</em>  Whatever that&#8217;s supposed to mean.</p>
<p>But there are really good commencement addresses and other writings that give some relevant perspective on the &#8220;how to craft a good life&#8221; work we all face. Here are links to some of my all-time favorite graduation speeches, as well as a few related articles that have captured my attention. The following snippets inspire me and I think they can be helpful to anyone, not just graduates.</p>
<p><span id="more-97793"></span></p>
<h3>Drake</h3>
<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.youtube.com/watch?feature=player_embedded&amp;v=QBi-owfqK2A">From his own high school graduation speech.</a></p>
<blockquote><p>There are many different ways of following through&#8230; Sometimes it’s about going there, not getting there. Sometimes it’s the journey that teaches you a lot about your destination.</p>
</blockquote>
<h3>Cal Newport</h3>
<p>This article by <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~calnewport.com/info/">Cal Newport</a> is one of my personal favorite bits of career advice, because it tells a story so closely analogous to my own circuitous career path to Atomic Object: <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.nytimes.com/2012/09/30/jobs/follow-a-career-passion-let-it-follow-you.html?hpw">Follow a Career Passion? Let It Follow You</a>.</p>
<blockquote><p>Had I subscribed to the “follow our passion” orthodoxy, I probably would have left during those first years, worried that I didn’t feel love for my work every day. But I knew that my sense of fulfillment would grow over time, as I became better at my job. So I worked hard, and, as my competence grew, so did my engagement.</p>
</blockquote>
<h3>Anna Quindlen</h3>
<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.cs.oswego.edu/~wender/quindlen.html">Villanova University commencement address in 2000.</a></p>
<blockquote><p>Get a life in which you are not alone. Find people you love, and who love you. And remember that love is not leisure, it is work. Each time you look at your diploma, remember that you are still a student, still learning how to best treasure your connection to others. Pick up the phone. Send an e-mail. Write a letter. Kiss your Mom. Hug your Dad. Get a life in which you are generous.</p>
</blockquote>
<h3>David Brooks</h3>
<p>New York Times Column: <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.nytimes.com/2013/06/04/opinion/brooks-the-way-to-produce-a-person.html?hpw&amp;_r=0">The Way to Produce a Person</a></p>
<blockquote><p>If you are smart, hard-working, careful and lucky you might even be able to find a job that is both productive and internally ennobling. Taking a job just to make money, on the other hand, is probably going to be corrosive, even if you use the money for charity rather than sports cars.</p>
</blockquote>
<h3>Gretchen Gavett</h3>
<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~hbr.org/search/Gretchen%20Gavett ">Gretchen Gavett</a> captured wisdom from a cross-section of her favorite writers who share the graduation-specific <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~blogs.hbr.org/cs/2013/05/the_graduation_advice_we_wish.html">advice they wish they had been given</a>.</p>
<h3>Amy Jen Su</h3>
<p>Co-author of <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.amazon.com/Own-Room-Discover-Signature-Leadership/dp/B00C7Z6BV8">Own the Room: Discover Your Signature Voice to Master Your Leadership Presence</a>.</p>
<blockquote><p>Recognize you have the power of choice at every moment available to you: choice in what you do for work, who your friends are, even what your attitude will be for the day. Be conscious, stay awake, and live with your eyes wide open. Own your life and career. Accept the trade-offs inherent in every decision and choice you make. For every &#8220;yes&#8221; there is an implicit set of &#8220;no&#8217;s&#8221; you are saying so make your choices and commitments wisely.</p>
</blockquote>
<h3>Karen Dillon</h3>
<p>Former editor of Harvard Business Review and co-author of <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.amazon.com/How-Will-Measure-Your-Life/dp/0062102419">How Will You Measure Your Life?</a></p>
<blockquote><p>Be interesting. When you sit in that interview, don&#8217;t assume that the lines you can write on your resume will be enough to get your foot in the door to the job of your dreams. We&#8217;re going to spend long hours, five days a week working together. I don&#8217;t want to work with someone who is narrow and boring. Have opinions — on politics, on pop culture, on favorite writers or thinkers. Have personal interests that may have nothing to do with the job at hand. Have something to say.</p>
</blockquote>
<h3>Steve Jobs</h3>
<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~news.stanford.edu/news/2005/june15/jobs-061505.html">Stanford University commencement address in 2005.</a></p>
<blockquote><p>Your time is limited, so don&#8217;t waste it living someone else&#8217;s life. Don&#8217;t be trapped by dogma — which is living with the results of other people&#8217;s thinking. Don&#8217;t let the noise of others&#8217; opinions drown out your own inner voice.</p>
</blockquote>
<h3>Theodor Seuss Geisel (Dr. Suess)</h3>
<p>His speech at Lake Forest College in June 1977:</p>
<blockquote><p>My uncle ordered popovers
<br>
from the restaurant’s bill of fare.
<br>
And, when they were served
<br>
he regarded them
<br>
with a penetrating stare
<br>
Then he spoke great Words of Wisdom
<br>
as he sat there on that chair:
<br>
‘To eat these things,’
<br>
said my uncle,
<br>
‘you must exercise great care.
<br>
You may swallow down what’s solid
<br>
BUT
<br>
you must spit out the air!
<br>
And as you partake of the world’s bill of fare,
<br>
that’s darned good advice to follow.
<br>
Do a lot of spitting out the hot air.
<br>
And be careful what you swallow.’</p>
</blockquote>
<p>Hats off to all recent graduates and those who, like me, are inspired by writings that shed a different light on what defines a successful life.</p>
<p>The post <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com/2013/06/14/graduation-advice/">Graduation Advice for Life</a> appeared first on <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com">Atomic Spin</a>.</p><Img align="left" border="0" height="1" width="1" style="border:0;float:left;margin:0;padding:0" hspace="0" src="http://feeds.feedblitz.com/~/i/42316478/0/atomicspin">
]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42316478/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/09/econ-talk-bernstein/&quot;&gt;Econ Talk: Bernstein on Communication, Power, and Masters of the Word&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/07/know-what-you-dont-know/&quot;&gt;How Do You Know What You Don&amp;#8217;t Know?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/01/keyboard-use/&quot;&gt;Embrace Your Keyboard &amp;#x2013; 4 Ways to Work More Efficiently with Less Wrist Pain&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</content:encoded>
			<wfw:commentRss>http://feeds.feedblitz.com/~/42316478/0/atomicspin~Graduation-Advice-for-Life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments></item>
<item>
<feedburner:origLink>http://spin.atomicobject.com/2013/06/13/rake-assets-precompile-jruby-complete/</feedburner:origLink>
		<title>Rake Assets Precompile with JRuby Complete</title>
		<link>http://feeds.feedblitz.com/~/42278100/0/atomicspin~Rake-Assets-Precompile-with-JRuby-Complete/</link>
		<comments>http://feeds.feedblitz.com/~/42278100/0/atomicspin~Rake-Assets-Precompile-with-JRuby-Complete/#comments</comments>
		<pubDate>Thu, 13 Jun 2013 12:00:07 +0000</pubDate>
		<dc:creator>Patrick Bacon</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[asset pipeline]]></category>
		<category><![CDATA[jruby]]></category>
		<category><![CDATA[jruby-complete]]></category>
		<category><![CDATA[rails]]></category>
		<guid isPermaLink="false">http://spin.atomicobject.com/?p=97592</guid>
		<description><![CDATA[<p><p>In my previous post, <a href="http://spin.atomicobject.com/2013/04/24/bundler-jruby-complete/">Using Bundler with JRuby Complete</a>, I described how to configure a Ruby environment using the JRuby Complete jar. While using those techniques, I ran into an issue in the development of a Rails 3.2 application when trying to precompile assets. I came up with a quick workaround which I will share here.</p>
<p><a href="http://feeds.feedblitz.com/~/42278100/0/atomicspin~Rake-Assets-Precompile-with-JRuby-Complete/" class="more-link">Read more on Rake Assets Precompile with JRuby Complete <span class="meta-nav">&#187;</span></a></p>
</p><p>The post <a href="http://feeds.feedblitz.com/~/42278100/0/atomicspin~Rake-Assets-Precompile-with-JRuby-Complete/">Rake Assets Precompile with JRuby Complete</a> appeared first on <a href="http://spin.atomicobject.com">Atomic Spin</a>.</p>]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/04/24/bundler-jruby-complete/&quot;&gt;Using Bundler with JRuby Complete&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/10/pseudo-selector-ie/&quot;&gt;Selectivizr &amp;#x2013; Pseudo Selector Support for IE&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/05/30/html5-progress-meter-element/&quot;&gt;HTML5 Progress and Meter Elements&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</description>
				<content:encoded><![CDATA[<p>In my previous post, <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com/2013/04/24/bundler-jruby-complete/">Using Bundler with JRuby Complete</a>, I described how to configure a Ruby environment using the JRuby Complete jar. While using those techniques, I ran into an issue in the development of a Rails 3.2 application when trying to precompile assets. I came up with a quick workaround which I will share here.</p>
<p>In case you haven&#8217;t read the post mentioned above, the important thing to know here is that <code>rake</code> is actually something like:</p>
<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PATH</span>=bin:<span style="color: #007800;">$PATH</span> \
<span style="color: #007800;">GEM_HOME</span>=vendor<span style="color: #000000; font-weight: bold;">/</span>gem_home \
<span style="color: #007800;">GEM_PATH</span>=vendor<span style="color: #000000; font-weight: bold;">/</span>gem_home \
java <span style="color: #660033;">-jar</span> vendor<span style="color: #000000; font-weight: bold;">/</span>jruby-complete-1.7.0.jar <span style="color: #660033;">-S</span> rake</pre></td></tr></table></div>
<h2>The Problem</h2>
<p>For this particular application, I wanted to precompile the assets on the CI/build server as opposed to during deployment as is the normal case for a Rails app. If I tried to run the <code>assets:precompile</code> rake task, I would get the following error:</p>
<p><span id="more-97592"></span></p>
<div class="wp_syntax"><table><tr><td class="code"><pre class="text" style="font-family:monospace;">file:/projects/rails_app/vendor/jruby-complete-1.7.0.jar!/META-INF/jruby.home/bin/jruby bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
rake aborted!
Command failed with status (127): [file:/projects/rails_ap...]
org/jruby/RubyProc.java:249:in `call'
/projects/rails_app/vendor/bundler/jruby/1.9/gems/actionpack-3.2.13/lib/sprockets/assets.rake:12:in `ruby_rake_task'
/projects/rails_app/vendor/bundler/jruby/1.9/gems/actionpack-3.2.13/lib/sprockets/assets.rake:21:in `invoke_or_reboot_rake_task'
/projects/rails_app/vendor/bundler/jruby/1.9/gems/actionpack-3.2.13/lib/sprockets/assets.rake:29:in `(root)'
org/jruby/RubyProc.java:249:in `call'
org/jruby/RubyArray.java:1612:in `each'
org/jruby/RubyArray.java:1612:in `each'
org/jruby/RubyKernel.java:1045:in `load'
Tasks: TOP =&gt; assets:precompile
(See full trace by running task with --trace)</pre></td></tr></table></div>
<p>It appears to be trying to shell out to a <code>jruby</code> script <em>inside</em> the <code>jruby-complete.jar</code>. The shell does not know how to interpret the path to a file inside of a jar, which is the cause of the error. Examining the <code>assets.rake</code> file from the stack trace shows where this is happening:</p>
<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> ruby_rake_task<span style="color:#006600; font-weight:bold;">&#40;</span>task, <span style="color:#CC0066; font-weight:bold;">fork</span> = <span style="color:#0000FF; font-weight:bold;">true</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  env    = ENV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'RAILS_ENV'</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">||</span> <span style="color:#996600;">'production'</span>
  groups = ENV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'RAILS_GROUPS'</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">||</span> <span style="color:#996600;">'assets'</span>
  args   = <span style="color:#006600; font-weight:bold;">&#91;</span>$0, task,<span style="color:#996600;">&quot;RAILS_ENV=#{env}&quot;</span>,<span style="color:#996600;">&quot;RAILS_GROUPS=#{groups}&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span>
  args <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> <span style="color:#996600;">&quot;--trace&quot;</span> <span style="color:#9966CC; font-weight:bold;">if</span> Rake.<span style="color:#9900CC;">application</span>.<span style="color:#9900CC;">options</span>.<span style="color:#9900CC;">trace</span>
  <span style="color:#9966CC; font-weight:bold;">if</span> $0 =~ <span style="color:#006600; font-weight:bold;">/</span>rake\.<span style="color:#9900CC;">bat</span>\Z<span style="color:#006600; font-weight:bold;">/</span>i
    <span style="color:#CC00FF; font-weight:bold;">Kernel</span>.<span style="color:#CC0066; font-weight:bold;">exec</span> $0, <span style="color:#006600; font-weight:bold;">*</span>args
  <span style="color:#9966CC; font-weight:bold;">else</span>  
<span style="display:block;background-color: #ffc;">    <span style="color:#CC0066; font-weight:bold;">fork</span> ? ruby<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">*</span>args<span style="color:#006600; font-weight:bold;">&#41;</span> : <span style="color:#CC00FF; font-weight:bold;">Kernel</span>.<span style="color:#CC0066; font-weight:bold;">exec</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC00FF; font-weight:bold;">FileUtils</span>::RUBY, <span style="color:#006600; font-weight:bold;">*</span>args<span style="color:#006600; font-weight:bold;">&#41;</span></span>  <span style="color:#9966CC; font-weight:bold;">end</span>    
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>
<p>You can see in line 9 the use of a <code>FileUtils::RUBY</code> constant. When running a Rails app with the jruby-complete, jar <code>Kernel.exec</code> is called, and the constant ends up being something like:</p>
<div class="wp_syntax"><table><tr><td class="code"><pre class="text" style="font-family:monospace;">file:/projects/rails_app/vendor/ \
 jruby-complete-1.7.0.jar!/META-INF/jruby.home/bin/jruby</pre></td></tr></table></div>
<h2>The Work-Around</h2>
<p>Fortunately there is a very simple work-around. First, I created a <code>script/jruby</code> script that encapsulated the way I am running jruby:</p>
<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PATH</span>=bin:<span style="color: #007800;">$PATH</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">GEM_HOME</span>=vendor<span style="color: #000000; font-weight: bold;">/</span>gem_home
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">GEM_PATH</span>=vendor<span style="color: #000000; font-weight: bold;">/</span>gem_home
<span style="color: #007800;">cmd</span>=<span style="color: #ff0000;">&quot;java -jar vendor/jruby-complete-1.7.0.jar $@&quot;</span>
<span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #007800;">$cmd</span></pre></td></tr></table></div>
<p>Then I added a <code>file_utils_ruby.rake</code> file to the <code>lib/tasks</code> directory containing only:</p>
<div class="wp_syntax"><table><tr><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#CC00FF; font-weight:bold;">FileUtils</span>::RUBY = <span style="color:#996600;">&quot;script/jruby&quot;</span></pre></td></tr></table></div>
<p>When Rails loads this file, the constant will point to my jruby script, instead of to something inside the jruby-complete jar. I had assumed I would get a warning about reassigning a constant, but no such warnings seem to be issued. And with this in place, the <code>assets:precompile</code> task executes cleanly. </p>
<p>In addition, the alias for <code>rake</code> can now be changed from what was listed at the beginning of this post to just be something like:</p>
<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">script<span style="color: #000000; font-weight: bold;">/</span>jruby <span style="color: #660033;">-S</span> rake</pre></td></tr></table></div>
<p>&nbsp;</p>
<p>The post <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com/2013/06/13/rake-assets-precompile-jruby-complete/">Rake Assets Precompile with JRuby Complete</a> appeared first on <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com">Atomic Spin</a>.</p><Img align="left" border="0" height="1" width="1" style="border:0;float:left;margin:0;padding:0" hspace="0" src="http://feeds.feedblitz.com/~/i/42278100/0/atomicspin">
]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42278100/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/04/24/bundler-jruby-complete/&quot;&gt;Using Bundler with JRuby Complete&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/10/pseudo-selector-ie/&quot;&gt;Selectivizr &amp;#x2013; Pseudo Selector Support for IE&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/05/30/html5-progress-meter-element/&quot;&gt;HTML5 Progress and Meter Elements&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</content:encoded>
			<wfw:commentRss>http://feeds.feedblitz.com/~/42278100/0/atomicspin~Rake-Assets-Precompile-with-JRuby-Complete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments></item>
<item>
<feedburner:origLink>http://spin.atomicobject.com/2013/06/12/prioritize-refinements/</feedburner:origLink>
		<title>Prioritizing Refinements – Choose Wisely</title>
		<link>http://feeds.feedblitz.com/~/42240249/0/atomicspin~Prioritizing-Refinements-%e2%80%93-Choose-Wisely/</link>
		<comments>http://feeds.feedblitz.com/~/42240249/0/atomicspin~Prioritizing-Refinements-%e2%80%93-Choose-Wisely/#comments</comments>
		<pubDate>Wed, 12 Jun 2013 12:00:48 +0000</pubDate>
		<dc:creator>Micah Alles</dc:creator>
				<category><![CDATA[Design & Development]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[project managment]]></category>
		<guid isPermaLink="false">http://spin.atomicobject.com/?p=97706</guid>
		<description><![CDATA[<p><p>As software craftspeople, we constantly reach for sublime elegance in our work. Just beyond every module rewrite or subsystem refactoring is the paradise of ultimate modularity, configurability, and simplicity — somewhere we never quite arrive.</p>
<p><a href="http://feeds.feedblitz.com/~/42240249/0/atomicspin~Prioritizing-Refinements-%e2%80%93-Choose-Wisely/" class="more-link">Read more on Prioritizing Refinements – Choose Wisely <span class="meta-nav">&#187;</span></a></p>
</p><p>The post <a href="http://feeds.feedblitz.com/~/42240249/0/atomicspin~Prioritizing-Refinements-%e2%80%93-Choose-Wisely/">Prioritizing Refinements – Choose Wisely</a> appeared first on <a href="http://spin.atomicobject.com">Atomic Spin</a>.</p>]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/02/acceptance-testing-games/&quot;&gt;Acceptance Testing Your Games to Fix Bugs and Provide Regression&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/05/31/bsd-license-open-source/&quot;&gt;Checking Your Derivers&amp;#8217; License&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/05/22/google-drive-javascript/&quot;&gt;Convert Google Drive Data to JavaScript with Tabletop&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</description>
				<content:encoded><![CDATA[<p>As software craftspeople, we constantly reach for sublime elegance in our work. Just beyond every module rewrite or subsystem refactoring is the paradise of ultimate modularity, configurability, and simplicity — somewhere we never quite arrive.</p>
<p>However, we shouldn&#8217;t fall prey to actually believing that <strong>given the necessary time</strong> to implement every abstraction, refactoring, and re-organization is doing the world any favors. Useful software needs to be used. To be used, software needs to be in the hands of users. To get into their hands, it needs to be shipped.</p>
<p><img src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/more_introspective_raptor.png" alt="more_introspective_raptor" width="500" height="496" class="alignnone size-full wp-image-98124" /></p>
<p>Most vectors for improvement are only visible once a piece of software is being used by people who <strong>didn&#8217;t</strong> create it. This is the most important point to reach in a software product&#8217;s lifecycle, as quickly as possible.</p>
<p><span id="more-97706"></span>Until this point is reached — while version 1.0 is still unreleased — two lists must be ruthlessly prioritized:</p>
<ol>
<li><strong>The features to be included in 1.0.</strong></li>
<li><strong>The technical refinements to be included in 1.0.</strong></li>
</ol>
<h2>Some Refinements Provide More Value</h2>
<p>Agile and lean project and product management practices largely address how to prioritize features. That task is usually, but not always, out of the hands of software makers. However, <i>which refinements are included</i> is often left up to the dev team.</p>
<p>By refinements I mean refactorings, subsystem redesigns or rewrites, addition of deploy/startup/runtime configurability via metadata, or addressing other forms of technical debt. These are the tasks that make the software more simple, modular, simple, and flexible.</p>
<p>To build the best release, a dev team should not strive to implement every refinement and pay back every penny of technical debt from the project. Rather, it&#8217;s our responsibility to prioritize these items so we can tackle the most important ones, ensuring the resulting release provides the most value for our client and thier users within the time we have.</p>
<p><img src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/choose_wisely.png" alt="choose_wisely" width="590" height="248" class="alignnone size-medium wp-image-98115" /></p>
<h2>Prioritize Refinements Wisely</h2>
<p>Here are a few questions to ask yourself as you evaluate the priority of implementing a particular abstraction, refactoring, or developer tool:</p>
<ol>
<li>Does it fully automate a task requiring the time of your client or the end user?</li>
<li>Does it empower the client to do something I would otherwise have to spend time doing on their behalf?</li>
<li>Does it empower the user of the software to do something I or the client would have to do on their behalf?</li>
<li>Does it insulate most of the system from a component very likely to change or be unreliable?</li>
<li>Does it make the code easier to understand and reason about?</li>
<li>Does it make the code prettier?</li>
</ol>
<p>Ask yourself each of these questions for every task not directly related to a feature or bug. When you say <strong>yes,</strong> give it a priority corresponding to the number for the question. Each week, set aside part of your team&#8217;s time (I usually allocate part or all of each Friday) to tackle the items with the highest priority &#8211; 1 being the highest.</p>
<p>Successful software is usually never done. Once the software is being used, you&#8217;ll learn a lot. And you&#8217;ll hear yourself saying, &#8220;Man, I <i>wish</i> we would&#8217;ve done <span class="caps">XYZ</span>,&#8221; about a task that didn&#8217;t even appear on the dev team&#8217;s list representing the yellow brick road to ultimate software excellence. </p>
<p>Perfect software, from the perspective of a craftsperson, is also never done. There is always an improvement, a refactoring, another abstraction, or a &#8220;Friday task&#8221; that could make the system more elegant, simple, or flexible. As professionals, we need to admit to ourselves that our time is limited, and use that knowledge to our advantage by effectively managing our time. The software we create <strong>will</strong> provide more value as a whole to the world if we do.
<br>
&nbsp;</p>
<p>The post <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com/2013/06/12/prioritize-refinements/">Prioritizing Refinements – Choose Wisely</a> appeared first on <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com">Atomic Spin</a>.</p><Img align="left" border="0" height="1" width="1" style="border:0;float:left;margin:0;padding:0" hspace="0" src="http://feeds.feedblitz.com/~/i/42240249/0/atomicspin">
]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42240249/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/02/acceptance-testing-games/&quot;&gt;Acceptance Testing Your Games to Fix Bugs and Provide Regression&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/05/31/bsd-license-open-source/&quot;&gt;Checking Your Derivers&amp;#8217; License&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/05/22/google-drive-javascript/&quot;&gt;Convert Google Drive Data to JavaScript with Tabletop&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</content:encoded>
			<wfw:commentRss>http://feeds.feedblitz.com/~/42240249/0/atomicspin~Prioritizing-Refinements-%e2%80%93-Choose-Wisely/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments></item>
<item>
<feedburner:origLink>http://spin.atomicobject.com/2013/06/11/digital-brand/</feedburner:origLink>
		<title>Why You Should Care About Branding in a Digital World</title>
		<link>http://feeds.feedblitz.com/~/42197725/0/atomicspin~Why-You-Should-Care-About-Branding-in-a-Digital-World/</link>
		<comments>http://feeds.feedblitz.com/~/42197725/0/atomicspin~Why-You-Should-Care-About-Branding-in-a-Digital-World/#comments</comments>
		<pubDate>Tue, 11 Jun 2013 12:00:46 +0000</pubDate>
		<dc:creator>Paul Hart</dc:creator>
				<category><![CDATA[User Experience]]></category>
		<category><![CDATA[branding]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[interaction design]]></category>
		<category><![CDATA[user experience]]></category>
		<guid isPermaLink="false">http://spin.atomicobject.com/?p=97413</guid>
		<description><![CDATA[<p><p>Many people think of branding as logos and colors. But there&#8217;s more to it than meets the eye. <b>Every</b> encounter a customer has with your product is a brand impression. </p>
<p>When it comes time to creating a new product for existing brands, branding can be difficult to reverse engineer. But as designers of applications, we need to take care to understand the intricacies of the brand. Why is this so important? <strong>Because how you build digital experiences has everything to do with how your users feel about your brand.</strong></p>
<p><a href="http://feeds.feedblitz.com/~/42197725/0/atomicspin~Why-You-Should-Care-About-Branding-in-a-Digital-World/" class="more-link">Read more on Why You Should Care About Branding in a Digital World <span class="meta-nav">&#187;</span></a></p>
</p><p>The post <a href="http://feeds.feedblitz.com/~/42197725/0/atomicspin~Why-You-Should-Care-About-Branding-in-a-Digital-World/">Why You Should Care About Branding in a Digital World</a> appeared first on <a href="http://spin.atomicobject.com">Atomic Spin</a>.</p>]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/04/01/ios-interface-ideas/&quot;&gt;Stacks, Crumbs, and Keynote: iOS Interface Ideas&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/02/21/rethinking-online-mass-registration/&quot;&gt;Rethinking Online Mass Registration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/03/13/usability-testing-matters/&quot;&gt;Why Usability Testing Matters: A Newbie&amp;#8217;s Perspective&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</description>
				<content:encoded><![CDATA[<p>Many people think of branding as logos and colors. But there&#8217;s more to it than meets the eye. <b>Every</b> encounter a customer has with your product is a brand impression. </p>
<p>When it comes time to creating a new product for existing brands, branding can be difficult to reverse engineer. But as designers of applications, we need to take care to understand the intricacies of the brand. Why is this so important? <strong>Because how you build digital experiences has everything to do with how your users feel about your brand.</strong></p>
<h2>More than a Logo</h2>
<p>If brand is more than a logo, what is it? </p>
<blockquote><p>Branding in a word: <strong>Perception.</strong></p>
</blockquote>
<p><span id="more-97413"></span>Your brand is the impression your product creates in a customer’s mind — how they think and feel about your product. Or as <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.designcouncil.org.uk/">The Design Council</a> puts it: </p>
<blockquote class="alt grey"><p>If a brand results from a set of associations and perceptions in people’s minds, then branding is an attempt to harness, generate, influence and control these associations to help the business perform better.</p>
</blockquote>
<p>In a brick and mortar store, a brand is conveyed through layout and decoration, but also intangibles like the speed, attitude, and quality of service. In the digital world, brand is known by your logo and colors, and by the ease and satisfaction of the experience. Visitors may forget how your app looks or the message it conveys, but they will remember how it felt to use it.</p>
<p>Michael Wolff, a thought leader in branding, says, </p>
<blockquote class="alt grey"><p>“People will forget what you said and do, but people will not forget how you make them feel.”</p>
</blockquote>
<p>This is true in both the physical and the digital world.</p>
<p>One quick example is Target&#8217;s online experience. Target stores have a strong visual brand identity, and every time I use <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.target.com/">Target&#8217;s website</a>, I feel great. I can easily find and see what I&#8217;m ordering, and they do an extraordinary job of communicating during and after the order is complete. The way I feel after using the Target website is consistent with how I feel about the the Target brand identity — predictable, simple, effective.</p>
<h2>Branding Is as Branding Does</h2>
<p>A beautiful product does not necessarily mean a functional one. There&#8217;s a difference — sometimes subtle — between the way something looks and how it behaves. We can separate the brand into two parts: the Brand Identity and the Brand Experience.</p>
<ul>
<li><strong>Brand Identity</strong> = How it Looks</li>
<li><strong>Brand Experience</strong> = How it Makes you Feel</li>
</ul>
<p>Find out: &#8220;How do my users <i>feel</i> about my company?&#8221;</p>
<h2>Sweat the Details</h2>
<p>In the digital world, each and every interaction is an experience. The experiences should match the brand perception they already have about your product or company.</p>
<p>What might the brand experience look like in an application? Unfortunately, there&#8217;s not an easy answer to that question because each brand and each encounter people have with a product are different depending on the context and situation. </p>
<p>However, paying attention to specific aspects of using the product will go a long way toward creating a pleasant experience for your users. Give special attention to:</p>
<ul>
<li><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~37signals.com/svn/posts/1926-a-shorthand-for-designing-ui-flows" title="Article about designing user workflows">Workflows</a> (or UI flows)</li>
<li><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.cooper.com/journal/2013/01/self-study-interaction-design.html" title="Self study on interaction design by Cooper">Interactions</a></li>
<li><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com/2012/11/03/creating-passionate-users/" title="Creating passionate users means providing good content">Wording</a></li>
<li><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.usabilityfirst.com/glossary/anticipation/">Anticipation</a></li>
<li><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.usabilityfirst.com/glossary/affordance/">Affordance</a></li>
</ul>
<p>Be attentive and creative when designing interactions within your app. Turn otherwise mundane interactions into a <strong>subtly-addictive experience</strong>, and you will create a user base that loves using your app. Not only that, they will want to <em>show it off to others</em>.</p>
<h2>Examples of Good Digital Brand Experiences</h2>
<h3>Google</h3>
<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://www.google.com">Google</a> auto-completes your search before you hit &#8216;enter.&#8217;</p>
<p><img src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/Google-Autocomplete.png" alt="Google digital brand" width="402" height="188" class="alignleft size-full wp-image-97955" /></p>
<h3>Flickr</h3>
<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.flickr.com/">Flickr</a> lets you advance to the next photo using the right arrow on the keyboard.</p>
<p><img src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/Flickr-next.jpg" alt="Flickr next button" width="500" height="177" class="alignleft size-full wp-image-97957" /></p>
<h3>About Me</h3>
<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://about.me/">About Me</a> provides contextual info and prompting to take you to the next step in the setup process.</p>
<p><img src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/AboutMe-YouAreHere.png" alt="AboutMe-YouAreHere" width="593" height="150" class="alignleft size-full wp-image-97952" /></p>
<h3>Paypal</h3>
<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://www.paypal.com/">Paypal</a> gives different fee informaiton depending on the type of payment.</p>
<p><img src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/Paypal-payment-option1.png" alt="Paypal-payment-option1" width="438" height="156" class="alignleft size-full wp-image-97956" /></p>
<h3>Forcast.io</h3>
<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~forecast.io/">Forecast.io</a> lets you move the radar backwards and forwards in time by dragging.</p>
<p><img src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/forcast-io.png" alt="forcast-io" width="500" height="210" class="alignnone size-full wp-image-97954" /></p>
<h3>Tweetbot</h3>
<p><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~tapbots.com/software/tweetbot/">Tweetbot app for iPhone</a> makes subtle sounds when you press buttons.</p>
<p><img src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/Tweetbot.png" alt="Tweetbot nav bar" width="500" height="168" class="alignnone size-full wp-image-98004" /></p>
<p>Choose wisely the digital experiences where you concentrate your branding efforts. Sweat the details on the look and feel of your products. Spend the time to make them shine. It&#8217;s the only impression people may have with your company. How do you want them to feel?
<br>
&nbsp;</p>
<p>The post <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com/2013/06/11/digital-brand/">Why You Should Care About Branding in a Digital World</a> appeared first on <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com">Atomic Spin</a>.</p><Img align="left" border="0" height="1" width="1" style="border:0;float:left;margin:0;padding:0" hspace="0" src="http://feeds.feedblitz.com/~/i/42197725/0/atomicspin">
]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42197725/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/04/01/ios-interface-ideas/&quot;&gt;Stacks, Crumbs, and Keynote: iOS Interface Ideas&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/02/21/rethinking-online-mass-registration/&quot;&gt;Rethinking Online Mass Registration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/03/13/usability-testing-matters/&quot;&gt;Why Usability Testing Matters: A Newbie&amp;#8217;s Perspective&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</content:encoded>
			<wfw:commentRss>http://feeds.feedblitz.com/~/42197725/0/atomicspin~Why-You-Should-Care-About-Branding-in-a-Digital-World/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments></item>
<item>
<feedburner:origLink>http://spin.atomicobject.com/2013/06/10/pseudo-selector-ie/</feedburner:origLink>
		<title>Selectivizr – Pseudo Selector Support for IE</title>
		<link>http://feeds.feedblitz.com/~/42163159/0/atomicspin~Selectivizr-%e2%80%93-Pseudo-Selector-Support-for-IE/</link>
		<comments>http://feeds.feedblitz.com/~/42163159/0/atomicspin~Selectivizr-%e2%80%93-Pseudo-Selector-Support-for-IE/#comments</comments>
		<pubDate>Mon, 10 Jun 2013 12:00:59 +0000</pubDate>
		<dc:creator>Jared Sartin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Internet Exporer]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Pseudo Selectors]]></category>
		<guid isPermaLink="false">http://spin.atomicobject.com/?p=97527</guid>
		<description><![CDATA[<p><p>Working with visuals for HTML forms can be painful. They are ugly, clunky, and tend to be different in each browser. </p>
<p>One way we have been spicing up our forms is by improving the look of the checkbox and radio button areas. Making toggles and visual cues for standard form elements will make forms feel more interactive. The styling can be done with CSS alone, using pseudo selectors, or with JavaScript to put classes on elements, depending on the state. Unfortunately, Internet Explorer doesn’t play nicely with pseudo selectors, but we can fix that.</p>
<p><a href="http://feeds.feedblitz.com/~/42163159/0/atomicspin~Selectivizr-%e2%80%93-Pseudo-Selector-Support-for-IE/" class="more-link">Read more on Selectivizr – Pseudo Selector Support for IE <span class="meta-nav">&#187;</span></a></p>
</p><p>The post <a href="http://feeds.feedblitz.com/~/42163159/0/atomicspin~Selectivizr-%e2%80%93-Pseudo-Selector-Support-for-IE/">Selectivizr – Pseudo Selector Support for IE</a> appeared first on <a href="http://spin.atomicobject.com">Atomic Spin</a>.</p>]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/15/web-typography/&quot;&gt;Tools that Are Changing Type on the Web&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/02/22/css-sprite-semantics-scaleability/&quot;&gt;Sprites, Semantics &amp;amp; Scalability: A Demo with Playing Cards&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/13/rake-assets-precompile-jruby-complete/&quot;&gt;Rake Assets Precompile with JRuby Complete&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</description>
				<content:encoded><![CDATA[<p>Working with visuals for HTML forms can be painful. They are ugly, clunky, and tend to be different in each browser. </p>
<p>One way we have been spicing up our forms is by improving the look of the checkbox and radio button areas. Making toggles and visual cues for standard form elements will make forms feel more interactive. The styling can be done with CSS alone, using pseudo selectors, or with JavaScript to put classes on elements, depending on the state. Unfortunately, Internet Explorer doesn’t play nicely with pseudo selectors, but we can fix that.</p>
<p>In forms where there are tag selections (checkbox) or an icon selection for the item we are creating (radio buttons), we try to make the visuals nicer:
<br>
<a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/iPhone-Style-Radio-and-Checkbox-Switches-using-jQuery-and-CSS.jpg"><img class="size-full wp-image-97528 aligncenter" alt="iPhone Style Radio and Checkbox Switches using jQuery and CSS" src="http://d37rcl8t6g8sj5.cloudfront.net/wp-content/uploads/iPhone-Style-Radio-and-Checkbox-Switches-using-jQuery-and-CSS.jpg" width="580" height="200" /></a></p>
<p><span id="more-97527"></span>This can be accomplished with HTML and CSS like this:
<br>
<script src="https://gist.github.com/5682626.js?file=pretty_checkbox.html"></script><noscript><pre><code class="language-html html">&lt;div&gt;
  &lt;input type=&quot;checkbox&quot; class=&quot;check-with-label&quot; /&gt;
  &lt;label class=&quot;label-for-check&quot;&gt;My Label&lt;/label&gt;
&lt;div&gt;</code></pre></noscript>
<br>
<script src="https://gist.github.com/5682626.js?file=pretty_checkbox.css"></script><noscript><pre><code class="language-css css">.check-with-label {
  position: absolute;
  left: -100000em;
}
.check-with-label:checked + .label-for-check {
  font-weight: bold;
}</code></pre></noscript></p>
<p>Unfortunately, as noted previously, Internet Explorer doesn’t like pseudo selectors and will not provide the effects. We can bring in a JavaScript library called <a title="Selectivizr" href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~selectivizr.com/">Selectivizr</a> to help bring in the pseudo selector support. You need to have another javascript library loaded, such as <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~jquery.com/">jQuery</a>, <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~dojotoolkit.org/">dojo</a>, <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~prototypejs.org/">prototype</a>, <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~mootools.net/">Mootools</a>, or others. You can add it to your project by putting this snippet in your HTML head section (filling in the JS Library with the proper includes from your choice from the ones listed):
<br>
<script src="https://gist.github.com/5682626.js?file=selectivizr.html"></script><noscript><pre><code class="language-html html">&lt;script type=&quot;text/javascript&quot; src=&quot;[JS library]&quot;&gt;&lt;/script&gt;
&lt;!--[if (gte IE 6)&amp;(lte IE 8)]&gt;
  &lt;script type=&quot;text/javascript&quot; src=&quot;selectivizr.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;</code></pre></noscript></p>
<p>Aside from some lack of support on rounded edges, gradients, and other things that <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~css3pie.com/">CSS3PIE</a> can help with, you will have the pseudo selector support needed to make the form elements a little bit nicer!
<br>
&nbsp;</p>
<p>The post <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com/2013/06/10/pseudo-selector-ie/">Selectivizr – Pseudo Selector Support for IE</a> appeared first on <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com">Atomic Spin</a>.</p><Img align="left" border="0" height="1" width="1" style="border:0;float:left;margin:0;padding:0" hspace="0" src="http://feeds.feedblitz.com/~/i/42163159/0/atomicspin">
]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42163159/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/15/web-typography/&quot;&gt;Tools that Are Changing Type on the Web&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/02/22/css-sprite-semantics-scaleability/&quot;&gt;Sprites, Semantics &amp;amp; Scalability: A Demo with Playing Cards&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/13/rake-assets-precompile-jruby-complete/&quot;&gt;Rake Assets Precompile with JRuby Complete&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</content:encoded>
			<wfw:commentRss>http://feeds.feedblitz.com/~/42163159/0/atomicspin~Selectivizr-%e2%80%93-Pseudo-Selector-Support-for-IE/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments></item>
<item>
<feedburner:origLink>http://spin.atomicobject.com/2013/06/09/econ-talk-bernstein/</feedburner:origLink>
		<title>Econ Talk: Bernstein on Communication, Power, and Masters of the Word</title>
		<link>http://feeds.feedblitz.com/~/42133378/0/atomicspin~Econ-Talk-Bernstein-on-Communication-Power-and-Masters-of-the-Word/</link>
		<comments>http://feeds.feedblitz.com/~/42133378/0/atomicspin~Econ-Talk-Bernstein-on-Communication-Power-and-Masters-of-the-Word/#comments</comments>
		<pubDate>Sun, 09 Jun 2013 14:30:56 +0000</pubDate>
		<dc:creator>Justin DeWind</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<guid isPermaLink="false">http://spin.atomicobject.com/?p=97643</guid>
		<description><![CDATA[<p><p>I recently listened to an <a href="http://econtalk.org">EconTalk</a> on media and communication throughout history entitled, &#8220;<a href="http://www.econtalk.org/archives/2013/05/bernstein_on_co.html">Bernstein on Communication, Power, and Masters of the Word</a>.&#8221;</p>
<p>I thought the podcast did a wonderful job of synthesizing the etymology of written language and the evolution of communication and language throughout history. Not too surprisingly — at least to me — that evolution hinged on the ease-of-access to the masses; where it went from a centrally controlled medium to almost entirely distributed.</p>
<p><a href="http://feeds.feedblitz.com/~/42133378/0/atomicspin~Econ-Talk-Bernstein-on-Communication-Power-and-Masters-of-the-Word/" class="more-link">Read more on Econ Talk: Bernstein on Communication, Power, and Masters of the Word <span class="meta-nav">&#187;</span></a></p>
</p><p>The post <a href="http://feeds.feedblitz.com/~/42133378/0/atomicspin~Econ-Talk-Bernstein-on-Communication-Power-and-Masters-of-the-Word/">Econ Talk: Bernstein on Communication, Power, and Masters of the Word</a> appeared first on <a href="http://spin.atomicobject.com">Atomic Spin</a>.</p>]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/14/graduation-advice/&quot;&gt;Graduation Advice for Life&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/07/know-what-you-dont-know/&quot;&gt;How Do You Know What You Don&amp;#8217;t Know?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/01/keyboard-use/&quot;&gt;Embrace Your Keyboard &amp;#x2013; 4 Ways to Work More Efficiently with Less Wrist Pain&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</description>
				<content:encoded><![CDATA[<p>I recently listened to an <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~econtalk.org">EconTalk</a> on media and communication throughout history entitled, &#8220;<a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.econtalk.org/archives/2013/05/bernstein_on_co.html">Bernstein on Communication, Power, and Masters of the Word</a>.&#8221;</p>
<p>I thought the podcast did a wonderful job of synthesizing the etymology of written language and the evolution of communication and language throughout history. Not too surprisingly — at least to me — that evolution hinged on the ease-of-access to the masses; where it went from a centrally controlled medium to almost entirely distributed.</p>
<p>I spent the time marking my favorite parts of the podcast below and made notes on each part. Enjoy!</p>
<p><span id="more-97643"></span></p>
<h2>3:30 &#8211; 5:50</h2>
<ul>
<li><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~en.wikipedia.org/wiki/Uruk">Uruk</a> in <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~https://en.wikipedia.org/wiki/Mesopotamia">Mesopotamia</a> was one of the first cities to have writing.
<ul>
<li>Uruk was a city of approximately 300,000, which was extraordinarily large at that time.</li>
</ul>
</li>
<li>It is estimated that writing (in the form of symbols) was introduced in 3150 BC.</li>
<li><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~en.wikipedia.org/wiki/Denise_Schmandt-Besserat">Denise Schmandt-Besserat</a> is credited for discovering the evolution of tokens to writing.
<ul>
<li>Argued that she is just as important as Charles Darwin.</li>
</ul>
</li>
<li>Language consisted of over 10,000 symbols but only a few hundred were typically used.</li>
<li>It is estimated that it took approximately 10 years to learn.</li>
</ul>
<h2>11:00 &#8211; 15:10</h2>
<ul>
<li><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~en.wikipedia.org/wiki/Phoenicia">Phoenicians</a> introduced the alphabet to the Greeks.</li>
<li>The &#8220;Semite&#8221; alphabet was made up of only consonants (guttural noises necessary).
<ul>
<li>Took ~4 years to learn.</li>
</ul>
</li>
<li>Greeks replaced certain consonants with vowels, which made it easier to learn.</li>
<li>It is speculated that because of how easy it was to learn the language it helped to make Athenian democracy possible.</li>
</ul>
<h2>17:27 &#8211; 17:50</h2>
<ul>
<li>Discusses how literacy drastically improved the intellect and knowledge of people.</li>
<li>Assisted in removing despots and other bad regimes that used the monopoly of language.</li>
</ul>
<h2>19:30 &#8211; 21:10</h2>
<ul>
<li>Discusses how spaces were introduced between words.</li>
<li>Latin, for instance, did not have word separation.</li>
<li>Irish monks started using it regularly, and it eventually spread to other parts of the world.</li>
</ul>
<h2>22:40 &#8211; 26:00</h2>
<ul>
<li><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~en.wikipedia.org/wiki/Order_of_Saint_Benedict">Benedictines</a> are credited for moving from scrolls to books.</li>
<li>The Chinese invented the original printing presses.</li>
<li>Europeans had moveable type long before the &#8220;Gutenberg Press.&#8221;</li>
<li><a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~en.wikipedia.org/wiki/Johannes_Gutenberg">Gutenberg</a> is (or should be) credited with making the printing press economical and therefore making mass production possible.</li>
</ul>
<h2>26:27 &#8211; 28:15</h2>
<p>Benedictines were not particularly happy about the Gutenberg press:</p>
<blockquote>
<p>They shamelessly print, at negligible cost, material which may, alas, inflame impressionable youths, while a true writer dies of hunger [and] a young girl reads Ovid to learn sinfulness&#8230; Writing indeed, which brings gold for us, should be respected and held to be nobler than all goods, unless she has suffered degradation in the brothel of the printing presses.</p>
</blockquote>
<p>They also sought protectionist legislation and went as far as wanting to ban the press.</p>
<p>The same kind of <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~www.cjr.org/feature/the_uncle_sam_solution.php?page=all">murmurings</a> have come from large modern day newspapers as well — hundreds of years later. :-)</p>
<h2>30:28 &#8211; 32:05; 36:00 &#8211; 36:52</h2>
<ul>
<li>Discusses the introduction of Radio.</li>
<li>Radio, originally,  was less about the distribution of knowledge and was instead used to spread propaganda.
<ul>
<li>It was broadcast only.</li>
<li>It took a tremendous amount of capital and money to own broadcasting stations.</li>
</ul>
</li>
<li>Radio ordinances restricting foreign broadcasts were commonplace in Germany and Russia in the early 20th century.</li>
<li>Ironically, the Soviet Union produced a large amount of short-wave radios that only received foreign broadcasts.</li>
</ul>
<h2>42:48 &#8211; 45:20</h2>
<ul>
<li>Reviews Orwell&#8217;s concern on communication mediums in the 20th century.</li>
<li>How the modern digital age revolutionized communication and made it distributed.
<ul>
<li>Cheaper</li>
<li>&#8220;Ordinary&#8221; people started spreading information</li>
</ul>
</li>
<li>Discusses how most of the important communication inventions of our age were done for intellectual pursuits only or for entirely different reasons than what they are now used for.</li>
</ul>
<h2>50:37 &#8211; End</h2>
<ul>
<li>Review of the Internet age.</li>
<li>Addresses poor experiments that &#8220;prove&#8221; the Internet makes us &#8220;stupid.&#8221;</li>
<li>The age of social media.</li>
<li>The slow death of mainstream media.</li>
<li>Notes that the Internet gets it wrong a lot but it also corrects itself very quickly.
<br>
&nbsp;</li>
</ul>
<p>The post <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com/2013/06/09/econ-talk-bernstein/">Econ Talk: Bernstein on Communication, Power, and Masters of the Word</a> appeared first on <a href="http://feeds.feedblitz.com/~/t/0/0/atomicspin/~spin.atomicobject.com">Atomic Spin</a>.</p><Img align="left" border="0" height="1" width="1" style="border:0;float:left;margin:0;padding:0" hspace="0" src="http://feeds.feedblitz.com/~/i/42133378/0/atomicspin">
]]>
&lt;div style=&quot;clear:both;padding-top:0.2em;&quot;&gt;&lt;a title=&quot;Add to Any&quot; href=&quot;http://feeds.feedblitz.com/_/26/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/addtoany20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to FaceBook&quot; href=&quot;http://feeds.feedblitz.com/_/2/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/fbshare20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Share on Google+&quot; href=&quot;http://feeds.feedblitz.com/_/30/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/googleplus20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Add to LinkedIn&quot; href=&quot;http://feeds.feedblitz.com/_/16/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/linkedin20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Tweet This&quot; href=&quot;http://feeds.feedblitz.com/_/24/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/twitter20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by email&quot; href=&quot;http://feeds.feedblitz.com/_/19/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/email20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&amp;#160;&lt;a title=&quot;Subscribe by RSS&quot; href=&quot;http://feeds.feedblitz.com/_/20/42133378/atomicspin&quot;&gt;&lt;img height=&quot;20&quot; src=&quot;http://assets.feedblitz.com/i/rss20.png&quot; style=&quot;border:0;margin:0;padding:0;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;clear:left;padding-top:10px&quot;&gt;Related Stories&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/14/graduation-advice/&quot;&gt;Graduation Advice for Life&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/07/know-what-you-dont-know/&quot;&gt;How Do You Know What You Don&amp;#8217;t Know?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://spin.atomicobject.com/2013/06/01/keyboard-use/&quot;&gt;Embrace Your Keyboard &amp;#x2013; 4 Ways to Work More Efficiently with Less Wrist Pain&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&amp;#160;&lt;/div&gt;</content:encoded>
			<wfw:commentRss>http://feeds.feedblitz.com/~/42133378/0/atomicspin~Econ-Talk-Bernstein-on-Communication-Power-and-Masters-of-the-Word/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments></item>
</channel></rss>

