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

<channel>
	<title>MemeRocket</title>
	<atom:link href="http://memerocket.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://memerocket.com</link>
	<description>Bill Burcham's Launch Platform</description>
	<lastBuildDate>Thu, 02 Jul 2009 19:18:02 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
		<url>http://www.gravatar.com/blavatar/048c0b3b1b3b5279e320104a4b5d0bb0?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>MemeRocket</title>
		<link>http://memerocket.com</link>
	</image>
			<item>
		<title>Ive on Focus Groups</title>
		<link>http://memerocket.com/2009/07/02/ive-on-focus-groups/</link>
		<comments>http://memerocket.com/2009/07/02/ive-on-focus-groups/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 19:18:02 +0000</pubDate>
		<dc:creator>bburcham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://memerocket.com/?p=257</guid>
		<description><![CDATA[I was going to tell you about Jonathan Ive&#8217;s recent pithy pronouncement on focus groups to wit:
&#8220;We don&#8217;t do focus groups,&#8221; he said firmly, explaining that they resulted in bland products designed not to offend anyone.
But I won&#8217;t do that because when I went to Wikipedia to research &#8220;focus group&#8221; for the post, I noticed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=257&subd=memerocket&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="attachment_259" class="wp-caption alignright" style="width: 250px"><a href="http://www.flickr.com/photos/eyesplash/3507011764/"><img class="size-full wp-image-259" title="3507011764_1201bf4cfb_m" src="http://memerocket.files.wordpress.com/2009/07/3507011764_1201bf4cfb_m.jpg?w=240&#038;h=163" alt="by eyesplash Mikul (flickr)" width="240" height="163" /></a><p class="wp-caption-text">by eyesplash Mikul (flickr)</p></div>
<p>I was going to tell you about Jonathan Ive&#8217;s <a title="BBC dot.life interview with Jonathan Ive" href="http://www.bbc.co.uk/blogs/technology/2009/07/listening_to_mr_iphone.html">recent pithy pronouncement</a> on focus groups to wit:</p>
<blockquote><p>&#8220;We don&#8217;t do focus groups,&#8221; he said firmly, explaining that they resulted in bland products designed not to offend anyone.</p></blockquote>
<p>But I won&#8217;t do that because when I went to Wikipedia to research &#8220;focus group&#8221; for the post, I noticed that their page had already been updated with the Ive quote. <a title="Wikipedia &quot;focus group&quot; edit" href="http://en.wikipedia.org/w/index.php?title=Focus_group&amp;oldid=299684522">It had been updated</a> on the same day as the original BBC dot.life article. Wikipedia surprises me again with its velocity.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/memerocket.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/memerocket.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/memerocket.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/memerocket.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/memerocket.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/memerocket.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/memerocket.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/memerocket.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/memerocket.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/memerocket.wordpress.com/257/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=257&subd=memerocket&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://memerocket.com/2009/07/02/ive-on-focus-groups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a88a8da103044de18418f303bf0c1507?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">bburcham</media:title>
		</media:content>

		<media:content url="http://memerocket.files.wordpress.com/2009/07/3507011764_1201bf4cfb_m.jpg" medium="image">
			<media:title type="html">3507011764_1201bf4cfb_m</media:title>
		</media:content>
	</item>
		<item>
		<title>OOCSS + SASS = Fewer Classes On Your Elements</title>
		<link>http://memerocket.com/2009/03/28/oocss-sass-fewer-classes-on-your-elements/</link>
		<comments>http://memerocket.com/2009/03/28/oocss-sass-fewer-classes-on-your-elements/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 23:44:06 +0000</pubDate>
		<dc:creator>bburcham</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://memerocket.com/?p=164</guid>
		<description><![CDATA[update 3/29/2009 8:23 AM: Turns out Chris Eppstein is way ahead of me. Check out Compass. It&#8217;s a project that delivers your favorite CSS frameworks as SASS mix-ins. Oh and also it integrated with your favorite Ruby web development framework.
Stubbornella you have captivated me. I am now watching Nicole Sullivan&#8217;s Object Oriented CSS talk for the second [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=164&subd=memerocket&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>update</strong> 3/29/2009 8:23 AM: Turns out <a href="http://acts-as-architect.blogspot.com/">Chris Eppstein</a> is way ahead of me. Check out <a href="http://compass-style.org/">Compass</a>. It&#8217;s a project that delivers your favorite <a href="http://wiki.github.com/chriseppstein/compass/supported-frameworks">CSS frameworks</a> as SASS mix-ins. Oh and also it integrated with your favorite Ruby web development framework.</p>
<p>Stubbornella you have captivated me. I am now watching <a href="http://www.stubbornella.org/content/">Nicole Sullivan</a>&#8217;s <a href="http://www.stubbornella.org/content/2009/03/23/object-oriented-css-video-on-ydn/">Object Oriented CSS talk</a> for the second time. The <a href="http://wiki.github.com/stubbornella/oocss">OOCSS framework</a> is a terse but ambitious thing in the tradition of <a href="http://developer.yahoo.com/yui/grids/">YUI Grids CSS</a> and <a href="http://www.blueprintcss.org/">Blueprint</a> but with opinions that reach beyond grids, resets and typography.</p>
<p>While I have certainly not mastered the OOCSS concepts I do have some early observations I&#8217;d like to share nevertheless. This of course is dangerous territory since I risk having to eat my words later. So be it. Feel free to feed ’em to me as appropriate…</p>
<p>It strikes me from looking at the <a href="http://wiki.github.com/stubbornella/oocss/uml">UML diagram</a> for OOCSS that something is missing, or more accurately, some things are being conflated which shouldn&#8217;t be. If we&#8217;re thinking about objects and classes here the first question should be: what are we modeling? Well the <a href="http://en.wikipedia.org/wiki/HTML#Semantic_HTML">semantic HTML</a> folks might say we need to model things like paragraphs and headings, or at another level contacts and phone numbers, or at another level sidebars and navigation. These are all semantics.</p>
<p>When we think about modeling these things in HTML in such as way that CSS can be profitably applied, we use HTML element types to directly model semantics where we can (p element for paragraph, h1 element for top-level heading) and we use class attributes to express the rest (&#8217;top-nav&#8217;, &#8216;address&#8217;, &#8216;phone&#8217;). If you have a look at the OOCSS UML diagram you will see in the &#8220;page layout&#8221; section a set of classes that fall into the former category ( &#8216;doc&#8217;, &#8216;hd&#8217; for header, &#8216;bd&#8217; for body, &#8216;ft&#8217; for footer).</p>
<p>So far so good. But now how do we actually extend a class? The approach suggested in OOCSS is to change the (HTML) markup. One example from the talk is to specialize the media block class &#8216;media&#8217; so that the fixed-size media is on the right instead of on the left. The suggestion is to define a new class &#8216;media_ext&#8217; along with a new set of CSS rules. Then the idea is to change our HTML so that the element of interest carries two classes: &#8216;media&#8217; and &#8216;media_ext&#8217;. And then we define some CSS for the new media_ext module, something like this:</p>
<pre>.media_ext .fixedMedia { float:right }</pre>
<p>This is the fundamental approach in OOCSS, so fundamental that it is on the short list of <em>10 Best Practices</em> from slide 19 of <a href="http://www.slideshare.net/stubbornella/object-oriented-css">the talk</a>:</p>
<p style="padding-left:30px;">9. Extend objects by applying multiple classes to an element</p>
<p>The library defines a small set of base classes and a few core extensions to those. Users are invited to extend these further and we change our HTML to carry the full set of classes expressing semantics, layout and skinning too, all as separate classes.</p>
<p>The value in this approach is it certainly brings order to chaos. The downside is twofold: first we must pollute our HTML with layout and skinning choices and second, we must rely solely on coding conventions to ensure that each HTML element carries a self-consistent and complete set of classes.</p>
<p style="padding-left:30px;">aside: To me this feels much more akin to structured programming or maybe at best &#8220;abstract data types&#8221; than it does OO. I don&#8217;t really see language-level inheritance here, nor do I see polymorphism. But that&#8217;s just a terminological nit.</p>
<p>The first problem we need to solve is to get rid of the superfluous classes (on our elements). How could we make a media block (&#8221;fixed-width media object on the left with an open editable zone on the right&#8221;) into a right-handed media block without changing our HTML? Well the classic way in CSS is to use context to distinguish this situation. So let&#8217;s imagine that every odd media block ought to be right-handed. A classic approach is to have an &#8216;odd&#8217; class on the element (or to use nth-child pseudo class). Perhaps something like this:</p>
<pre>.media.odd .fixedMedia { float:right }</pre>
<p>Where target is the fixed-width object we&#8217;d like to be on the right-hand side instead of the left. You get the idea. The problem with this approach is that we&#8217;ve just coded up some potentially reusable stuff (the {float:right} part) and we&#8217;ve got no way to reuse it in other circumstances. Also we are now guilty of committing pitfall #1 from the talk:</p>
<p style="padding-left:30px;">1. Location dependent styles</p>
<p>So you can see that we are definitely violating a key tennet of OOCSS. If you&#8217;re already an OOCSS dogmatist you may want to stop reading now. Still with me? OK, what if we want a right-hand media block for even rows next time? We&#8217;d have to edit that last CSS rule to look something like this:</p>
<pre>.media.even .fixedMedia { float:right }</pre>
<p>Yuck. What&#8217;s going on here? The problem is that CSS has no named/reusable/callable construct. No macro. No function. No Class. OOCSS does the best it can with plain old CSS by requiring us to define a new HTML class name. That lets us define a reusable set of CSS rules for it, but at the cost of polluting our HTML at each use.</p>
<p>I think a good way out of this is to break out of plain old CSS into a higher realm. Both <a href="http://haml.hamptoncatlin.com/docs/rdoc/classes/Sass.html">SASS</a> and <a href="http://shauninman.com/archive/2007/06/27/css_server_side_pre_processor">CSS-SSC</a> have a macro concept. SASS has its mixins and CSS-SSC has its base and based-on. What these actually add to CSS is named abstractions and reuse. So I could define a SASS mixin like this:</p>
<pre>=right-hand-media
  .fixedMedia
    float: right</pre>
<p>Now that is a reusable module. In my application I can apply that module to an element:</p>
<pre>.media.odd
  +right-hand-media</pre>
<p>Yay. Now I have the best of both worlds. If we have another app that wants even media items to be right-handed then we just define this:</p>
<pre>.media.even
  +right-hand-media</pre>
<p>The value of this is that I didn&#8217;t have to change my HTML markup in order to change the layout. There are examples of using the same approach to define a <a href="http://wonderfullyflawed.com/2008/05/21/clearfix-as-mixin/">clearfix module</a>. To those who say this approach is going to generate a lot of CSS I say, &#8220;well maybe, but I think our first priority needs to be making our source code manageable and this approach may just help us do that.&#8221;</p>
<p>As I already pointed out, this proposal (using SASS mix-ins or CSS-SSC macros to implement reusable modules, and then using contextual CSS Rules to apply those modules) violates a core principle of OOCSS. On the upside it solves one of the wish list items from the <a href="http://www.slideshare.net/stubbornella/object-oriented-css">talk</a> (on slide 60):</p>
<p style="padding-left:30px;">1. Extending objects—possible to make &#8220;sale module&#8221; inherit from &#8220;module&#8221;</p>
<p style="padding-left:30px;">
<pre>.module{}
.saleModule{extends: module}</pre>
<p>Now that approach is a bit different from the one I described for right-hand-media. But it is clear that mix-ins or macros could easily be used to reuse .module in .saleModule right? SASS mix-ins, for instance can be used (as in my first example) as straight-up mix-ins, or to implement inheritance. The choice is yours.</p>
<p>To close, I highly recommend watching the <a href="http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/nicolesullivan.m4v">Stubbornella&#8217;s presentation</a>. <strong>Twice</strong>. There is just a ton of gold in there. Meanwhile, I&#8217;ll go experiment with SASS mix-ins and let you know how it works in practice and how it can be combined with some of the other principles highlighted in the talk.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/memerocket.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/memerocket.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/memerocket.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/memerocket.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/memerocket.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/memerocket.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/memerocket.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/memerocket.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/memerocket.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/memerocket.wordpress.com/164/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=164&subd=memerocket&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://memerocket.com/2009/03/28/oocss-sass-fewer-classes-on-your-elements/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://us.dl1.yimg.com/download.yahoo.com/dl/ydn/nicolesullivan.m4v" length="583962269" type="video/x-m4v" />
	
		<media:content url="http://0.gravatar.com/avatar/a88a8da103044de18418f303bf0c1507?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">bburcham</media:title>
		</media:content>
	</item>
		<item>
		<title>Design Hope</title>
		<link>http://memerocket.com/2008/12/19/design-hope/</link>
		<comments>http://memerocket.com/2008/12/19/design-hope/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 21:35:56 +0000</pubDate>
		<dc:creator>bburcham</dc:creator>
				<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://memerocket.com/?p=143</guid>
		<description><![CDATA[
Veerle is one of my favorite Web designers. She came clean recently and republished her first website circa 1996! She cited Jason Santamaria&#8217;s recent post about his own earliest Web work. OK so now I have another new favorite Web designer.
What&#8217;s so cool is how unappetizing, especially Veerle&#8217;s, early sites are. To be fair, hers [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=143&subd=memerocket&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a title="Veerle's Blog" href="http://veerle.duoh.com"></p>
<div id="attachment_144" class="wp-caption alignleft" style="width: 203px"><a href="http://www.duoh.com/duoh-v2/"><img class="size-full wp-image-144" title="snap from Veerle's Duoh! circa 1997" src="http://memerocket.files.wordpress.com/2008/12/picture-1.png?w=193&#038;h=169" alt="snap from Veerle's Duoh! circa 1997" width="193" height="169" /></a><p class="wp-caption-text">snap from Veerle&#39;s Duoh! circa 1997</p></div>
<p>Veerle</a> is one of my favorite Web designers. She <a title="Veerle describes the first duoh! site" href="http://veerle.duoh.com/blog/comments/my_first_duoh_website/">came clean recently</a> and republished her first website circa 1996! She cited Jason Santamaria&#8217;s recent post about <a title="Jason Santamaria describes his first site" href="http://jasonsantamaria.com/articles/my-first-website/">his own earliest Web work</a>. OK so now I have another new favorite Web designer.</p>
<p>What&#8217;s so cool is how unappetizing, especially Veerle&#8217;s, early sites are. To be fair, hers was perpetrated four years before Jason&#8217;s. And those were four big years too. But my intention is not to criticize.</p>
<p>What strikes me about this exercise is that it shows once again that there is no such thing as overnight success. You see in the decade-or-so of work a progression from ugh/ho-hum to pow! Take heart. Keep working.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/memerocket.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/memerocket.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/memerocket.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/memerocket.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/memerocket.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/memerocket.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/memerocket.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/memerocket.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/memerocket.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/memerocket.wordpress.com/143/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=143&subd=memerocket&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://memerocket.com/2008/12/19/design-hope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a88a8da103044de18418f303bf0c1507?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">bburcham</media:title>
		</media:content>

		<media:content url="http://memerocket.files.wordpress.com/2008/12/picture-1.png" medium="image">
			<media:title type="html">snap from Veerle's Duoh! circa 1997</media:title>
		</media:content>
	</item>
		<item>
		<title>Secular Manger</title>
		<link>http://memerocket.com/2008/12/18/secular-manager/</link>
		<comments>http://memerocket.com/2008/12/18/secular-manager/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 20:32:38 +0000</pubDate>
		<dc:creator>bburcham</dc:creator>
				<category><![CDATA[diversion]]></category>
		<category><![CDATA[fun]]></category>

		<guid isPermaLink="false">http://memerocket.com/?p=138</guid>
		<description><![CDATA[My daughter Mia just gave me the best Christmas present ever!
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=138&subd=memerocket&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>My daughter Mia just gave me the best Christmas present ever!</p>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://en.wikipedia.org/wiki/Bernhard_Riemann"><img title="Secular Manger" src="http://farm4.static.flickr.com/3088/3119055584_c38b3f1846.jpg" alt="wise men and a special infant" width="500" height="375" /></a><p class="wp-caption-text">wise men, angel and special infant</p></div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/memerocket.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/memerocket.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/memerocket.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/memerocket.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/memerocket.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/memerocket.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/memerocket.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/memerocket.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/memerocket.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/memerocket.wordpress.com/138/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=138&subd=memerocket&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://memerocket.com/2008/12/18/secular-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a88a8da103044de18418f303bf0c1507?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">bburcham</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3088/3119055584_c38b3f1846.jpg" medium="image">
			<media:title type="html">Secular Manger</media:title>
		</media:content>
	</item>
		<item>
		<title>Promiscuous Power</title>
		<link>http://memerocket.com/2008/12/09/promiscuous-power/</link>
		<comments>http://memerocket.com/2008/12/09/promiscuous-power/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 23:07:02 +0000</pubDate>
		<dc:creator>bburcham</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://memerocket.wordpress.com/2008/12/09/promiscuous-power/</guid>
		<description><![CDATA[I was the beneficiary of a new social norm at iPhone Tech Talk here in Seattle today. Unsurprisingly just about everybody&#8217;s got an Apple laptop and power outlets are scarce. What&#8217;s interesting is that since all our power connectors are compatible (MagSafe), folks are usually happy to just let you borrow their power supply for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=137&subd=memerocket&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I was the beneficiary of a new social norm at iPhone Tech Talk here in Seattle today. Unsurprisingly just about everybody&#8217;s got an Apple laptop and power outlets are scarce. What&#8217;s interesting is that since all our power connectors are compatible (MagSafe), folks are usually happy to just let you borrow their power supply for a while while you get a charge. Felt kinda uncomfortable at first. But that discomfort was brief. Now I&#8217;m boldly power surfing with impunity.</p>
<p><a href="http://memerocket.files.wordpress.com/2008/12/p-640-480-6e89fb8d-3208-4c03-bf97-840c97ab3d02.jpeg"><img src="http://memerocket.files.wordpress.com/2008/12/p-640-480-6e89fb8d-3208-4c03-bf97-840c97ab3d02.jpeg?w=225&#038;h=300" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/memerocket.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/memerocket.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/memerocket.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/memerocket.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/memerocket.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/memerocket.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/memerocket.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/memerocket.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/memerocket.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/memerocket.wordpress.com/137/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=137&subd=memerocket&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://memerocket.com/2008/12/09/promiscuous-power/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a88a8da103044de18418f303bf0c1507?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">bburcham</media:title>
		</media:content>

		<media:content url="http://memerocket.files.wordpress.com/2008/12/p-640-480-6e89fb8d-3208-4c03-bf97-840c97ab3d02.jpeg" medium="image" />
	</item>
		<item>
		<title>wordpress.com Migration Hang-up: OpenID Delegation</title>
		<link>http://memerocket.com/2008/12/08/wordpresscom-migration-hang-up-openid-delegation/</link>
		<comments>http://memerocket.com/2008/12/08/wordpresscom-migration-hang-up-openid-delegation/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 18:24:40 +0000</pubDate>
		<dc:creator>bburcham</dc:creator>
				<category><![CDATA[OpenID]]></category>

		<guid isPermaLink="false">http://memerocket.com/?p=129</guid>
		<description><![CDATA[The first issue I&#8217;ve run into with my migration from wordpress.org (self-hosted) to wordpress.com is that I see no way to insert OpenID delegation links into my template.

See I&#8217;ve been using http://meme-rocket.com as my OpenID. By ensuring that my template had appropriate link elements, I was able to delegate actual OpenID authentication to JanRain&#8217;s myopenid.com [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=129&subd=memerocket&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The first issue I&#8217;ve run into with my <a title="Home Again" href="/2008/12/05/home-again/">migration</a> from wordpress.org (self-hosted) to wordpress.com is that I see no way to insert <a title="OpenID Delegation" href="http://wiki.openid.net/Delegation">OpenID delegation</a> links into my template.</p>
<p><span id="more-129"></span></p>
<p>See I&#8217;ve <a title="how I used OpenID Delegation" href="/2008/01/07/wordpress-23-messes-up-your-openid-delegation/">been using</a> http://meme-rocket.com as my OpenID. By ensuring that my template had appropriate link elements, I was able to delegate actual OpenID authentication to JanRain&#8217;s myopenid.com provider. The idea was that rather than using my JanRain-issued OpenID everywhere, I&#8217;d use http://meme-rocket.com and then I&#8217;d be free to change providers at a later date if needed.</p>
<p>Since moving to wordpress.com I&#8217;ve found no way to add the necessary links to the template. Only <a title="OpenID delegation thread on wordpress.com support forum" href="http://en.forums.wordpress.com/topic/add-openid-delegation-link-to-head?replies=3#post-268176">answer I got</a> on the support forum was:</p>
<blockquote><p>Sorry, I don&#8217;t think you&#8217;re in the right place…</p></blockquote>
<p>I get that a lot.</p>
<p>If I can&#8217;t get the folks at wordpress.com support to solve this it&#8217;ll mean I won&#8217;t be able to use my blog URL as my OpenID any more. That will be a little sad. Also It&#8217;ll entail groveling around to a bunch of sites and updating profiles. Worst case I may have to temporarily redirect my domain back to my (self-hosted) blog in order to authenticate (under my old OpenID) in order to change to a new one</p>
<p><strong>update 15:19: </strong>well while it&#8217;s true that there is no way to insert those links, since wordpress.com is an OpenID provider I don&#8217;t strictly need the links in order for my blog URL to serve as my OpenID. I just verified that I am able to enter http://meme-rocket.com into relying party sites and that they are able to authenticate me. Minor issue that remains is that since I&#8217;m redirecting (DNS) meme-rocket.com to memerocket.com I actually get authenticated under the latter domain. So if I really want my accounts back I&#8217;ll have to temporarily un-redirect that domain and then log in to all the affected accounts and change them to use memerocket.com.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/memerocket.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/memerocket.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/memerocket.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/memerocket.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/memerocket.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/memerocket.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/memerocket.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/memerocket.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/memerocket.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/memerocket.wordpress.com/129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=129&subd=memerocket&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://memerocket.com/2008/12/08/wordpresscom-migration-hang-up-openid-delegation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a88a8da103044de18418f303bf0c1507?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">bburcham</media:title>
		</media:content>
	</item>
		<item>
		<title>Home Again</title>
		<link>http://memerocket.com/2008/12/05/home-again/</link>
		<comments>http://memerocket.com/2008/12/05/home-again/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 00:37:33 +0000</pubDate>
		<dc:creator>bburcham</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[One Step Forward]]></category>
		<category><![CDATA[identity]]></category>

		<guid isPermaLink="false">http://memerocket.com/?p=119</guid>
		<description><![CDATA[Wherein Bill recovers his domain and says bye-bye to manual WordPress upgrades.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=119&subd=memerocket&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It&#8217;s been about 1 year, 8 months, 19 days since I <a title="RegisterFly Me Harder" href="/2007/03/16/registerfly-me-harder/" target="_self">lost memerocket.com</a>. In the interim I ran this blog at meme-rocket.com.</p>
<p>Numerous issues kept me from moving it back to the original domain. First, of course, there was the fact that I didn&#8217;t have control of the domain at all for three months. When I did regain control in the summer of &#8216;07 I was right in the middle of the Oregon move. By then I&#8217;d been posting away and it just never seemed like a good time to switch back.</p>
<p>If you know me, you know I&#8217;ve got lots of opinions about what&#8217;s good and bad about our various online communication tools such as blogs, email, Twitter, forums. What better way to test some of those ideas than to um, write a prototype and then uh, use that prototype. So as &#8216;07 neared its end I made a little pact with myself that I wasn&#8217;t going to blog until I did so on my own stinking blogging platform (one I&#8217;d created).</p>
<p>Well what with the day job and design school and the family and all, that progress was slow. However in <a title="Go for Burn" href="/2008/09/25/thought-propulsion™-is-go-for-burn/">September, &#8216;08</a> I did launch a first cut as part of the Thought Propulsion corporate site. If you look at the blog tab there is a beginning there. Not a lot of the functionality is exposed yet and my assessment is that to expose a whole lot more is gonna take a whole lot more work. Go figure.</p>
<p>While all this was going on, my WordPress installation at TextDrive (the one running meme-rocket.com) got upgraded about once and was in need of another upgrade. I kept putting it off because I loathe upgrading WordPress. It makes me crazy that &#8220;themes&#8221; are not isolated from the rest of the system. It&#8217;s crazy that a WordPress upgrade cannot be push-button.</p>
<p>So I decided to go ahead and kill a few birds with a big hammer and set up a shiny new wordpress.com blog on my original domain. That&#8217;s what you&#8217;re reading now. I&#8217;m feeling great about this decision so far since:</p>
<ol>
<li>I was able to use my own domain—yay!</li>
<li>I was able to reclaim my original domain</li>
<li>I was able (using my DNS provider dnsmadeeasy.com) to HTTP (permanent) redirect meme-rocket.com to memerocket.com</li>
<li>I never again have to upgrade WordPress</li>
</ol>
<p>A few minutes after upgrading I received a positive message from The Universe in the form of a wordpress.com alert on my dashboard. It said that the system was going to be upgraded to version 2.7 in 23 minutes. And guess what. I didn&#8217;t have to back up my files or my database. And I didn&#8217;t have to do anything but refresh my browser to enjoy the sweet new UI.</p>
<p>On the downside I&#8217;m sure I&#8217;ll miss some customization features. More on those as I run into them. For now though, I feel like I got my old megaphone back. Get ready for some blasts. Ahem! And what of that early &#8216;08 pledge to roll my own. Well we&#8217;ll just have to see about that…</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/memerocket.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/memerocket.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/memerocket.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/memerocket.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/memerocket.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/memerocket.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/memerocket.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/memerocket.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/memerocket.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/memerocket.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=119&subd=memerocket&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://memerocket.com/2008/12/05/home-again/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a88a8da103044de18418f303bf0c1507?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">bburcham</media:title>
		</media:content>
	</item>
		<item>
		<title>Are Ruby Session ID&#8217;s Secure?</title>
		<link>http://memerocket.com/2008/10/14/are-ruby-session-ids-secure/</link>
		<comments>http://memerocket.com/2008/10/14/are-ruby-session-ids-secure/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 01:47:15 +0000</pubDate>
		<dc:creator>bburcham</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://meme-rocket.com/2008/10/14/are-ruby-session-ids-secure/</guid>
		<description><![CDATA[The question of the security of cookie-based session storage in Rails has pretty much been settled it seems to me. Out of the box, Rails uses cookie-based session storage. When you generate a new Rails app you get a nice new 128 character long (numbers and lowercase letters) secret set in config.action_controller.session[:secret] in your Rails::Initializer. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=110&subd=memerocket&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The question of the security of cookie-based session storage in Rails has pretty much been settled it seems to me. <a href="http://ryandaigle.com/articles/2007/2/21/what-s-new-in-edge-rails-cookie-based-sessions">Out of the box</a>, Rails uses cookie-based session storage. When you generate a new Rails app you get a nice new 128 character long (numbers and lowercase letters) secret set in config.action_controller.session[:secret] in your Rails::Initializer. That secret is used to sign and validate cookies for your application. Now the cookie data isn&#8217;t secret mind you, but it is tamper-proof. Good.</p>
<p>Now what if you don&#8217;t use cookie-based session storage at all? Well, just because you aren&#8217;t using cookie-based session storage doesn&#8217;t mean you aren&#8217;t using cookies. If your application has sessions at all, be they memcached ones or ActiveRecord ones, it is probably using cookies. It&#8217;s using cookies to <a href="http://www.quarkruby.com/2007/10/21/sessions-and-cookies-in-ruby-on-rails#sinrails">store the session id</a> so that when a request arrives, that id can be mapped to the corresponding session storage.</p>
<p>&#8220;So what&#8221; you say. &#8220;Well&#8221; I say… isn&#8217;t it cool that Rails generates that big random secret for you when you use cookie-based session storage? When we are not using cookie-based session storage, and that secret is not generated, don&#8217;t you wonder what secret is being used to secure your session id&#8217;s? You see, a <a href="http://www.technicalinfo.net/papers/WebBasedSessionManagement.html">session id must be hard to guess</a> lest bad people <a href="http://www.cgisecurity.com/lib/SessionIDs.pdf">gain access to your site</a>. Usually when you want to make something hard to guess, you start with a secret and mix that with something that changes a lot and hash the whole shebang. So I went in search of this other secret.</p>
<p>What I found was that Rails calls <a href="http://corelib.rubyonrails.org/classes/CGI/Session.html#M000366">CGI::Session#create_new_id</a> to generate new session id&#8217;s. That routine uses no secrete per se. It hashes (MD5) a combination of:</p>
<ol>
<li>the current date and time (expressed as a human-readable string)</li>
<li>the microseconds elapsed since the last second (expressed as a human-readable string)</li>
<li>a pseudo-random number greater than zero and less than one (from Kernel#rand)</li>
<li>the current process id number</li>
<li>the string &#8216;foobar&#8217;</li>
</ol>
<p>Notice there is no secret keying material there. &#8220;But what about the Kernel#rand call Bill!&#8221; I hear you saying. If you go have a look at <a href="http://www.ruby-doc.org/core/classes/Kernel.html#M005977">Kernel#rand</a> and <a href="http://www.ruby-doc.org/core/classes/Kernel.html#M005976">Kernel#srand</a> you&#8217;ll see that if rand is called before srand is called with a number parameter then the random number will be generated from a combination of:</p>
<ol>
<li>the current time</li>
<li>the process id number</li>
</ol>
<p>So the security of these session ids hinges on the secrecy of current time (on the server running Ruby) and the process id. Given that the system time is returned in HTTP headers and process id&#8217;s are often in the hundreds or thousands, it&#8217;s only really the microseconds that are hard to guess here, from a statistical standpoint. <a href="http://www.nycbsdcon.org/2006/files/BSDRailsBenninger.pdf">Others have expressed</a> similar concerns.</p>
<p>If you&#8217;re worried about this two suggestions come to mind:</p>
<ul>
<li>time out sessions on the server so that an attacker has to guess faster</li>
<li>monkey-patch <a href="http://corelib.rubyonrails.org/classes/CGI/Session.html#M000366">CGI::Session#create_new_id</a> to hash its result with a great big old 128 character secret</li>
</ul>
<p><strong>Updated</strong>: October 15, 2008 expanded analysis of Kernel#rand and Kernel#srand and updated suggestions.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/memerocket.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/memerocket.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/memerocket.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/memerocket.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/memerocket.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/memerocket.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/memerocket.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/memerocket.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/memerocket.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/memerocket.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=110&subd=memerocket&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://memerocket.com/2008/10/14/are-ruby-session-ids-secure/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a88a8da103044de18418f303bf0c1507?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">bburcham</media:title>
		</media:content>
	</item>
		<item>
		<title>Thought Propulsion™ is Go For Burn</title>
		<link>http://memerocket.com/2008/09/25/thought-propulsion%e2%84%a2-is-go-for-burn/</link>
		<comments>http://memerocket.com/2008/09/25/thought-propulsion%e2%84%a2-is-go-for-burn/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 16:47:14 +0000</pubDate>
		<dc:creator>bburcham</dc:creator>
				<category><![CDATA[OpenID]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web as Platform]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://meme-rocket.com/2008/09/25/thought-propulsion%e2%84%a2-is-go-for-burn/</guid>
		<description><![CDATA[
The Thought Propulsion™ corporate site is up and running. For the technically inclined, here are some interesting facts:

hosted on Amazon EC2
using the extremely slick EC2 On Rails Ubuntu/Ruby on Rails virtual appliance
there&#8217;s a tasty microformatted hcard on the contact page (check it out with Operator)
OpenID login (foreshadowing)

And of course a nice gray and orange theme [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=109&subd=memerocket&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img style="float:left;margin-top:10px;margin-bottom:10px;margin-right:20px;" src="http://thoughtpropulsion.com/images/logo.png" />
<p>The <a href="http://thoughtpropulsion.com/">Thought Propulsion™</a> corporate site is up and running. For the technically inclined, here are some interesting facts:</p>
<ul>
<li>hosted on <a href="http://aws.amazon.com/">Amazon EC2</a></li>
<li>using the extremely slick <a href="http://ec2onrails.rubyforge.org/">EC2 On Rails</a> Ubuntu/Ruby on Rails <a href="http://en.wikipedia.org/wiki/Virtual_appliance">virtual appliance</a></li>
<li>there&#8217;s a tasty microformatted <a href="http://microformats.org/wiki/hcard">hcard</a> on the <a href="http://thoughtpropulsion.com/contact">contact</a> page (check it out with <a href="https://addons.mozilla.org/en-US/firefox/addon/4106">Operator</a>)</li>
<li>OpenID login (<span style="font-style:italic;">foreshadowing</span>)</li>
</ul>
<p>And of course a nice gray and orange theme just in time for Halloween.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/memerocket.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/memerocket.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/memerocket.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/memerocket.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/memerocket.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/memerocket.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/memerocket.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/memerocket.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/memerocket.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/memerocket.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=109&subd=memerocket&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://memerocket.com/2008/09/25/thought-propulsion%e2%84%a2-is-go-for-burn/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a88a8da103044de18418f303bf0c1507?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">bburcham</media:title>
		</media:content>

		<media:content url="http://thoughtpropulsion.com/images/logo.png" medium="image" />
	</item>
		<item>
		<title>A Gmail Devotee Experiments With Apple Mail and iPhone Mail App</title>
		<link>http://memerocket.com/2008/07/19/a-gmail-devotee-experiments-with-apple-mail-and-iphone-mail-app/</link>
		<comments>http://memerocket.com/2008/07/19/a-gmail-devotee-experiments-with-apple-mail-and-iphone-mail-app/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 18:37:21 +0000</pubDate>
		<dc:creator>bburcham</dc:creator>
				<category><![CDATA[OS X]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://meme-rocket.com/2008/07/19/a-gmail-devotee-experiments-with-apple-mail-and-iphone-mail-app/</guid>
		<description><![CDATA[I&#8217;ve been using Gmail since its inception and I&#8217;ve used it (the web interface) as pretty much my sole email interface for the past 18 months. During that same time I&#8217;ve been pretty much solely a Mac user and when I recently bought an iPhone 3G I thought it would be an opportune time to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=107&subd=memerocket&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;ve been using Gmail since its inception and I&#8217;ve used it (the web interface) as pretty much my sole email interface for the past 18 months. During that same time I&#8217;ve been pretty much solely a Mac user and when I recently bought an iPhone 3G I thought it would be an opportune time to revisit the possibility of Apple Mail, Address Book, iCal since those integrate with their iPhone counterparts and synchronize with MobileMe (née .Mac).</p>
<p>Punchline is: a few days into the process I have decided not to use Mail App nor the iPhone counterpart. I am using Apple&#8217;s Address Book (with MobileMe synching). As for Calendar App vs. Google Calendar I&#8217;d say the jury is still out. Here&#8217;s what I&#8217;ve found…<br />
<span id="more-107"></span></p>
<h2>Email</h2>
<p>I wanted to continue routine all my email through Gmail in case the exercise went squirrely. Also I definitely wished to retain my Gmail email address as opposed to switching to a MobileMe one. No problem, Gmail offers an IMAP interface and the Apple mail apps both support IMAP too. One thing I found confusing was that the notion of synching email (via MobileMe) didn&#8217;t make much sense. My friends tell me that what is actually synched in that case is mail preferences and settings. The actual email messages are not synched per se since SMTP and IMAP do that job for you.</p>
<p>One thing I really like about Gmail is that I seldom delete emails. I delete emails forwarded from Google groups since I know they are archived on the groups. Basically I delete most stuff that I know is archived and available elsewhere. Also if someone sends me huge photos, I&#8217;ll download those to iPhoto and then delete the message. In this way I have managed to use &#8220;only&#8221; 390 MB of the 6943 MB available to me on Gmail. That&#8217;s 5%.</p>
<p>It is not obvious how to continue this practice using the IMAP interface. Some searching yielded a solution: to archive a message from Mail App, just drag it to the &#8220;[Gmail]/All Mail&#8221; folder. This has the same effect as archiving the message via the Gmail web interface. Problem solved.</p>
<p>Gmail threading is a necessity for me. The iPhone mail app doesn&#8217;t offer threading, but Mail App does. Just turn on &#8220;organize by thread&#8221; in the View menu. If the threading on Mail App worked more like Gmail&#8217;s then this would probably be acceptable since I use the laptop for heavy email use anyway.</p>
<p>The problem is that Mail App has a different idea of what threading means (versus Gmail). In Gmail the thread is the fundamental unit. This is not so in Mail App. In Gmail, you can archive a thread. If a new reply arrives on that thread then the whole thread returns to your inbox. This is not the case with Apple Mail. With the latter threads do not span &#8220;folders&#8221;. So once you archive a piece of a thread (one or more messages), when new messages arrive on that thread you will not see the older ones reappear in your inbox.</p>
<p>One of the truly great outcomes of adopting the threaded approach to email is that you eliminate the need to include original messages in your replies. In fact when you do this, Gmail hides the originals (&#8221;folds&#8221; them for you). If you assume that your correspondents are also using Gmail threading then it is never necessary to include complete originals in your replies. You end up quoting only small parts of originals and even that isn&#8217;t very frequent. So when you look at a thread it&#8217;s nice and clean. No redundancies in the replies.</p>
<p>A key Gmail feature that supports this approach is that the thread shows not only messages sent to you but also messages you&#8217;ve sent. Without the messages you have sent it can be hard to follow the thread (e.g. if you read it a week later). Because Apple Mail does not &#8220;knit&#8221; threads back together across &#8220;folders&#8221; and because messages you send are relegated to the &#8220;Sent&#8221; folder, you will not see messages originated by you integrated into your threads.</p>
<p>Gmail threading, with its elimination of redundancy and its ability to resurrect full-fledged threads when new messages arrives is critical for me. As a result I&#8217;m sticking with the Gmail interface for mail both on my Macs and on the iPhone. On the iPhone I&#8217;m using Google&#8217;s excellent <a href="http://googlemobile.blogspot.com/2008/01/google-on-iphone-macworld-makeover.html">integrated Google.com for the iPhone</a>. That gives me iGoogle, Gmail with threading and Google Calendar all with iPhone optimized interfaces.</p>
<h2>Contacts</h2>
<p>All my contacts were in Gmail before getting the iPhone. Since then, I&#8217;ve exported them (as .vcf) and imported them to Address Book on the Mac and synched them down to the iPhone Address Book. I&#8217;ve configured address book synchronization via MobileMe. Also I set Address Book on my Mac to synch with Gmail (a feature that appears in Address Book after you&#8217;ve docked the iPhone for the first time).</p>
<p>Since then I&#8217;ve been combing through my contacts using the Address Book app on the Mac and the iPhone one too. Also since my contacts are now driving not just email, but the Phone app as well I&#8217;m cleaning up lots of first name/last name issues and consolidating duplicate records. It&#8217;s taken a bit of clean up since for some reason there are many duplicates.</p>
<p>This all seems to be working. And it is truly magical to tweak contact information on the iPhone and then see it magically updated (over the Web via MobileMe) on the Mac and in Gmail contacts. I don&#8217;t fully trust it yet since there are so many moving parts but the early signs here are very good.</p>
<p>I now have complete contacts available now via Gmail, Address Book App (on the Mac), Address Book App (on the iPhone) and in the Phone App on the iPhone too. It&#8217;s often bugged me that Google has not made contact management a first-class application. (I&#8217;m continually digging through links in Gmail to get to my contacts). Now I&#8217;ve got first-class contact management at my fingertips on my phone and my non-phone computers and it&#8217;s integrated not only with email but my telephone as well. This makes me very happy.</p>
<h2>Calendar</h2>
<p>I&#8217;ve set up MobileMe synchronization on iCal calendars but haven&#8217;t tried to synchronize between Google Calendar and iCal. Jury&#8217;s still out on this one. Essentially I have two calendaring systems at my disposal now. Both Google Calendar interfaces are darn good. There&#8217;s the general-purpose browser-based one and the iPhone-specific one mentioned earlier. Since calendar is much less critical for me than email and contacts I suspect this one will simmer for a while.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/memerocket.wordpress.com/107/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/memerocket.wordpress.com/107/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/memerocket.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/memerocket.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/memerocket.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/memerocket.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/memerocket.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/memerocket.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/memerocket.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/memerocket.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/memerocket.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/memerocket.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=memerocket.com&blog=5432592&post=107&subd=memerocket&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://memerocket.com/2008/07/19/a-gmail-devotee-experiments-with-apple-mail-and-iphone-mail-app/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a88a8da103044de18418f303bf0c1507?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">bburcham</media:title>
		</media:content>
	</item>
	</channel>
</rss>