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

<channel>
	<title>Sam's World Of No by Sam Phillips &#187; Sam</title>
	<atom:link href="http://www.samsworldofno.com/category/sam/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.samsworldofno.com</link>
	<description>Bringing negativity to the digital world</description>
	<lastBuildDate>Sun, 14 Mar 2010 14:42:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer</title>
		<link>http://www.samsworldofno.com/2010/03/14/identifying-missing-indexes-in-your-rails-app-improvements-to-ambitious-query-indexer/</link>
		<comments>http://www.samsworldofno.com/2010/03/14/identifying-missing-indexes-in-your-rails-app-improvements-to-ambitious-query-indexer/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 14:42:14 +0000</pubDate>
		<dc:creator>Sam Phillips</dc:creator>
				<category><![CDATA[Sam]]></category>

		<guid isPermaLink="false">http://www.samsworldofno.com/?p=170</guid>
		<description><![CDATA[Last night, I took the opportunity of a free evening to add a few new features to Ambitious Query Indexer. My inspiration was a spot of welcome coverage from a few blogs, and also the changes that have been made to Elad Meidar&#8217;s RailsIndexes plugin. That project interests me a great deal because it is [...]]]></description>
			<content:encoded><![CDATA[<p>Last night, I took the opportunity of a free evening to add a few new features to <a href="http://github.com/samdanavia/ambitious_query_indexer">Ambitious Query Indexer</a>. My inspiration was a spot of welcome coverage from <a href="http://crispyco.de/2010/03/10/cc-links-18/">a</a> <a href="http://blog.eizesus.com/2010/03/bag-o-links-4-3-2010/">few</a> <a href="http://afreshcup.com/home/2010/3/2/double-shot-659.html">blogs</a>, and also the changes that have been made to Elad Meidar&#8217;s <a href="http://github.com/eladmeidar/rails_indexes">RailsIndexes</a> plugin. That project interests me a great deal because it is aimed at the same problem, but our implementations are quite different. There&#8217;s nothing wrong with a little friendly competition, and AQI was lacking a few features (especially around <a href="http://github.com/samdanavia/ambitious_query_indexer">adding indexes for rails associations</a>) that RailsIndexes had.</p>
<p>Ambitious Query Indexer can now:</p>
<ul>
<li>Identify associations between ActiveRecord models, execute the queries used and show what indexes are required.</li>
<li>Automatically generate the ActiveRecord::Migration syntax, so it&#8217;s now really easy to translate the plugin&#8217;s output into an actual improvement in the application&#8217;s performance.</li>
<li>Move accurately parse the Ruby code, including no longer getting foxed by commented-out lines.</li>
<li>Identify optimisation candidates within the Model layer itself.</li>
</ul>
<p>Of course, I also took the opportunity to tidy up some of the code and leave it in a better state than when I opened it up. As ever, I&#8217;m gagging for feedback &#8211; especially as this plugin is quite difficult to test. It&#8217;s working on every Rails app I can get my hands on at the moment &#8211; let me know if you have any issues and I&#8217;ll do my best to address them.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em>Bookmark:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.samsworldofno.com/2010/03/14/identifying-missing-indexes-in-your-rails-app-improvements-to-ambitious-query-indexer/&amp;title=Identifying+missing+indexes+in+your+Rails+App+%26%238211%3B+Improvements+to+Ambitious+Query+Indexer" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Del.icio.us"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Del.icio.us" alt="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.samsworldofno.com/2010/03/14/identifying-missing-indexes-in-your-rails-app-improvements-to-ambitious-query-indexer/&amp;title=Identifying+missing+indexes+in+your+Rails+App+%26%238211%3B+Improvements+to+Ambitious+Query+Indexer" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to digg"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to digg" alt="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.samsworldofno.com/2010/03/14/identifying-missing-indexes-in-your-rails-app-improvements-to-ambitious-query-indexer/&amp;title=Identifying+missing+indexes+in+your+Rails+App+%26%238211%3B+Improvements+to+Ambitious+Query+Indexer" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to reddit"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to reddit" alt="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.samsworldofno.com/2010/03/14/identifying-missing-indexes-in-your-rails-app-improvements-to-ambitious-query-indexer/" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Technorati"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Technorati" alt="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.samsworldofno.com/2010/03/14/identifying-missing-indexes-in-your-rails-app-improvements-to-ambitious-query-indexer/&amp;title=Identifying+missing+indexes+in+your+Rails+App+%26%238211%3B+Improvements+to+Ambitious+Query+Indexer&amp;description=Identifying+missing+indexes+in+your+Rails+App+%26%238211%3B+Improvements+to+Ambitious+Query+Indexer" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Ma.gnolia"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/magnolia.png" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Ma.gnolia" alt="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Ma.gnolia" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.samsworldofno.com/2010/03/14/identifying-missing-indexes-in-your-rails-app-improvements-to-ambitious-query-indexer/&amp;title=Identifying+missing+indexes+in+your+Rails+App+%26%238211%3B+Improvements+to+Ambitious+Query+Indexer" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Stumble Upon"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Stumble Upon" alt="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.samsworldofno.com/2010/03/14/identifying-missing-indexes-in-your-rails-app-improvements-to-ambitious-query-indexer/&amp;title=Identifying+missing+indexes+in+your+Rails+App+%26%238211%3B+Improvements+to+Ambitious+Query+Indexer" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Google Bookmarks"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Google Bookmarks" alt="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.samsworldofno.com/2010/03/14/identifying-missing-indexes-in-your-rails-app-improvements-to-ambitious-query-indexer/" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Bloglines"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/bloglines.png" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Bloglines" alt="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to Bloglines" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.samsworldofno.com/2010/03/14/identifying-missing-indexes-in-your-rails-app-improvements-to-ambitious-query-indexer/" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to FaceBook"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to FaceBook" alt="Add 'Identifying missing indexes in your Rails App &#8211; Improvements to Ambitious Query Indexer' to FaceBook" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.samsworldofno.com/2010/03/14/identifying-missing-indexes-in-your-rails-app-improvements-to-ambitious-query-indexer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Bundler, Rails and MySQL on OS X Snow Leopard</title>
		<link>http://www.samsworldofno.com/2010/01/04/installing-bundler-rails-and-mysql-on-os-x-snow-leopard/</link>
		<comments>http://www.samsworldofno.com/2010/01/04/installing-bundler-rails-and-mysql-on-os-x-snow-leopard/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 23:11:42 +0000</pubDate>
		<dc:creator>Sam Phillips</dc:creator>
				<category><![CDATA[Sam]]></category>

		<guid isPermaLink="false">http://www.samsworldofno.com/?p=162</guid>
		<description><![CDATA[I&#8217;ve been feeling the love for bundler over the last week or so &#8211; if you&#8217;ve not used it before, it&#8217;s a new way to vendor gems within a ruby project that a distinct advantage over config.gem &#8211; it doesn&#8217;t suck. And it&#8217;s much better suited to deployment. I&#8217;ve already added it to a hobby [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been feeling the love for <a href="http://github.com/wycats/bundler">bundler</a> over the last week or so &#8211; if you&#8217;ve not used it before, it&#8217;s a new way to vendor gems within a ruby project that a distinct advantage over config.gem &#8211; it doesn&#8217;t suck. And it&#8217;s much better suited to deployment. I&#8217;ve already added it to a hobby rails project, a work gem project and have been working with one of our teams to get it added to a major project today. Here&#8217;s some stuff I&#8217;ve learned:</p>
<h3>MySQL</h3>
<p>As we all know, installing the MySQL gem on Snow Leopard required specifying the architecture under which to build &#8211; because the gem cannot work universally. Because the build is quite specific to the OS you&#8217;re working on, you have two choices when running with bundler.</p>
<h5>Option A: bundle the gem and specify the architecture on the CLI</h5>
<p>I&#8217;m storing (and versioning) the .gem binary files, and not files created when you run &#8216;gem bundle&#8217;. If you&#8217;ve got the MySQL gem cached as well, you&#8217;ll need to run &#8216;gem bundle&#8217; passing a config file, something like this:</p>
<p><code> --build-options build_options.yml</code></p>
<p>Where the build_options.yml looks something like:</p>
<pre>mysql:
  mysql-config: /usr/local/lib/mysql
</pre>
<p><strong>And</strong> you&#8217;ll have to specify the architecture, bringing the whole command to:</p>
<p><code>$ env ARCHFLAGS="-arch x86_64" gem bundle --build-options build_options.yml</code></p>
<p>Instead, I chose to go with:</p>
<h5>Option B: Use ruby&#8217;s MySQL gem</h5>
<p>This might be your <a href="http://rvm.beginrescueend.com/">rvm</a> ruby, or your system. Either way, if you want your app to be able to access the MySQL gem, but not to bundle it, add the following to your Gemfile:</p>
<p><code>gem 'mysql', :bundle => false</code></p>
<p>And run &#8216;gem bundle&#8217; again to regenerate the environment file. It seems that, depending on your system, bundler will sometimes fall back to ruby&#8217;s own gems automatically, and sometimes it won&#8217;t. For me, I was getting &#8216;no such file to load &#8211; mysql&#8217; until I added the config to the Gemfile.</p>
<p>Btw, adding &#8216;disable_system_gems&#8217; to your Gemfile when you&#8217;re calling a system gem will not work. Perhaps this is obvious &#8211; I had assumed (perhaps mistakenly) that the behaviour would only disable the graceful &#8216;fallback&#8217; to the system; in fact it seems to block even explicit calls to the system.</p>
<h3>Changing the vendor directory with Rails</h3>
<p>The current default for the bundler gem cache is vendor/gems &#8211; this is the same as Rails 2.x and can mean config.gem tries to deal with them. Do yourself a favour and add the following to your Gemfile:</p>
<p><code>bundle_path "vendor/bundler_gems"</code></p>
<p>Or similar&#8230; this helped me with a few weird Rails issues.</p>
<p>Helpful stuff on bundler:</p>
<ul>
<li><a href="http://github.com/wycats/bundler">Main docs</a></li>
<li><a href="http://litanyagainstfear.com/blog/2009/10/14/gem-bundler-is-the-future/">Gem Bundler is the Future</a></li>
<li><a href="http://tomafro.net/2009/11/a-rails-template-for-gem-bundler">A rails template for gem bundler</a></li>
</ul>
<p>The peeps in #carlhuda on irc.freenode.net were also very helpful when I was struggling with this.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em>Bookmark:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.samsworldofno.com/2010/01/04/installing-bundler-rails-and-mysql-on-os-x-snow-leopard/&amp;title=Installing+Bundler%2C+Rails+and+MySQL+on+OS+X+Snow+Leopard" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Del.icio.us"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Del.icio.us" alt="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.samsworldofno.com/2010/01/04/installing-bundler-rails-and-mysql-on-os-x-snow-leopard/&amp;title=Installing+Bundler%2C+Rails+and+MySQL+on+OS+X+Snow+Leopard" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to digg"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to digg" alt="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.samsworldofno.com/2010/01/04/installing-bundler-rails-and-mysql-on-os-x-snow-leopard/&amp;title=Installing+Bundler%2C+Rails+and+MySQL+on+OS+X+Snow+Leopard" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to reddit"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to reddit" alt="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.samsworldofno.com/2010/01/04/installing-bundler-rails-and-mysql-on-os-x-snow-leopard/" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Technorati"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Technorati" alt="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.samsworldofno.com/2010/01/04/installing-bundler-rails-and-mysql-on-os-x-snow-leopard/&amp;title=Installing+Bundler%2C+Rails+and+MySQL+on+OS+X+Snow+Leopard&amp;description=Installing+Bundler%2C+Rails+and+MySQL+on+OS+X+Snow+Leopard" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Ma.gnolia"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/magnolia.png" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Ma.gnolia" alt="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Ma.gnolia" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.samsworldofno.com/2010/01/04/installing-bundler-rails-and-mysql-on-os-x-snow-leopard/&amp;title=Installing+Bundler%2C+Rails+and+MySQL+on+OS+X+Snow+Leopard" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Stumble Upon"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Stumble Upon" alt="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.samsworldofno.com/2010/01/04/installing-bundler-rails-and-mysql-on-os-x-snow-leopard/&amp;title=Installing+Bundler%2C+Rails+and+MySQL+on+OS+X+Snow+Leopard" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Google Bookmarks"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Google Bookmarks" alt="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.samsworldofno.com/2010/01/04/installing-bundler-rails-and-mysql-on-os-x-snow-leopard/" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Bloglines"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/bloglines.png" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Bloglines" alt="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to Bloglines" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.samsworldofno.com/2010/01/04/installing-bundler-rails-and-mysql-on-os-x-snow-leopard/" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to FaceBook"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to FaceBook" alt="Add 'Installing Bundler, Rails and MySQL on OS X Snow Leopard' to FaceBook" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.samsworldofno.com/2010/01/04/installing-bundler-rails-and-mysql-on-os-x-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Playing nicely: Notes on installing RVM + Passenger</title>
		<link>http://www.samsworldofno.com/2009/12/30/playing-nicely-notes-on-installing-rvm-and-passenger/</link>
		<comments>http://www.samsworldofno.com/2009/12/30/playing-nicely-notes-on-installing-rvm-and-passenger/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 23:13:29 +0000</pubDate>
		<dc:creator>Sam Phillips</dc:creator>
				<category><![CDATA[Sam]]></category>

		<guid isPermaLink="false">http://www.samsworldofno.com/?p=145</guid>
		<description><![CDATA[Upon installing a new Mac for home development, I decided to try out a few new technologies &#8211; RVM was one of them. It was relatively painless in terms of commands; but it did require a bit of a mindset shift to understand how to debug it. Hopefully this will help someone; the steps below [...]]]></description>
			<content:encoded><![CDATA[<p>Upon installing a new Mac for home development, I decided to try out a few new technologies &#8211; RVM was one of them. It was relatively painless in terms of commands; but it did require a bit of a mindset shift to understand how to debug it. Hopefully this will help someone; the steps below should work for linux machines too, albeit with some slight changes to paths.</p>
<p><a href="http://rvm.beginrescueend.com/">RVM</a>, Ruby Version Manager, allows you to run multiple ruby versions on the same machine. This is good if you want to test upgrades etc. For me, a pleasant side effect was being forced away from using the system version of ruby. Relying on the system version (and system gems&#8230; more on that in a bit!) seemed a little lazy, and was always a bit of a pain when unraveling dependencies and moving stuff live.</p>
<p>Another complementary tool, which I&#8217;ll hopefully blog about separately, is <a href="http://github.com/wycats/bundler/">bundler</a>. Do yourself a big favour and don&#8217;t try to install both at once; it can get a mind-boggling. Get to the point where you&#8217;re happy with one of the two, and then start on the other.</p>
<p>The <a href="http://rvm.beginrescueend.com/">RVM site</a> is full of useful information, although it&#8217;s not always super easy to find what you need. The <a href="http://rvm.beginrescueend.com/install/">stuff on installation</a> is vital (for the record, the gem version worked for me &#8211; in fact, rvm is the <em>only</em> gem I have installed on the system ruby).</p>
<p>Once installed, I installed ruby 1.8.7 with:</p>
<p><code>$ rvm install 1.8.7</code></p>
<p>The system was already running 1.8.7, so I figured this was probably the best place to start. The plan is run within this version by default, and to use other versions as appropriate.</p>
<p>Once installed, activate with:</p>
<p><code>$ rvm use 1.8.7</code></p>
<p>This will switch the ruby version for the current terminal. Only. This wasn&#8217;t immediately clear to me; if you want to switch for all terminals, add the default flag:</p>
<p><code>$ rvm use 1.8.7 --default</code></p>
<p>Fire up a new terminal, and it should now also be running the same version of ruby. Check with &#8216;ruby -v&#8217;:</p>
<p><code>$ ruby -v<br />
ruby 1.8.7 (2009-12-24 patchlevel 248) [i686-darwin10.2.0]<br />
</code></p>
<p>To be sure that you&#8217;re using the version of ruby you expect, there are a few things you can check:</p>
<p><code>$ which ruby<br />
/Users/samphillips/.rvm/ruby-1.8.7-p248/bin/ruby<br />
</code></p>
<p>If you get &#8216;/usr/bin/ruby&#8217; instead, you&#8217;re still using the system version.</p>
<p>RubyGems is installed separately for each ruby instance. To check that the &#8216;gem&#8217; command is hitting the right place, again, break out &#8216;which&#8217;:</p>
<p><code>$ which gem<br />
/Users/samphillips/.rvm/ruby-1.8.7-p248/bin/gem<br />
</code></p>
<p>Another good check is &#8216;gem env&#8217;:</p>
<p><code>$ gem env<br />
RubyGems Environment:<br />
  - RUBYGEMS VERSION: 1.3.5<br />
  - RUBY VERSION: 1.8.7 (2009-12-24 patchlevel 248) [i686-darwin10.2.0]<br />
  - INSTALLATION DIRECTORY: /Users/samphillips/.rvm/gems/ruby-1.8.7-p248<br />
  - RUBY EXECUTABLE: /Users/samphillips/.rvm/ruby-1.8.7-p248/bin/ruby<br />
  - EXECUTABLE DIRECTORY: /Users/samphillips/.rvm/gems/ruby-1.8.7-p248/bin<br />
  - RUBYGEMS PLATFORMS:<br />
    - ruby<br />
    - x86-darwin-10<br />
  - GEM PATHS:<br />
     - /Users/samphillips/.rvm/gems/ruby-1.8.7-p248<br />
  - GEM CONFIGURATION:<br />
     - :update_sources => true<br />
     - :verbose => true<br />
     - :benchmark => false<br />
     - :backtrace => false<br />
     - :bulk_threshold => 1000<br />
     - :sources => ["http://gems.rubyforge.org/", "http://gemcutter.org/"]<br />
  - REMOTE SOURCES:<br />
     - http://gems.rubyforge.org/<br />
     - http://gemcutter.org/<br />
</code></p>
<p>Again, if you&#8217;re seeing references to directories like these:</p>
<p><code>  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8<br />
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby<br />
  - EXECUTABLE DIRECTORY: /usr/bin<br />
</code></p>
<p>Then your switch hasn&#8217;t worked. </p>
<p>Some reasons I&#8217;ve found why switching hasn&#8217;t worked:</p>
<ul>
<li>It&#8217;s apparently possible to drop the &#8216;use&#8217; keyword when choosing ruby versions. I&#8217;ve learned not to do this; firstly it doesn&#8217;t give you a nice confirmation that it&#8217;s worked, and secondly it didn&#8217;t seem to work correctly (perhaps the two are related&#8230;)</li>
<li>Similarly, although you&#8217;ve assigned the &#8216;default&#8217; version of ruby, running &#8216;rvm use default&#8217; doesn&#8217;t seem to work properly all the time.</li>
</ul>
<p>If keeping to the full &#8216;rvm use xxx &#8211;default&#8217; command doesn&#8217;t help you, it might be worth re-installing. This is easy; switch back to the system version of ruby (&#8217;rvm use system&#8217;), delete the .rvm directory in your home directory and uninstall the gem. It seems that my mistake with my original install was a classic one:</p>
<p><strong>Too much sudo</strong></p>
<p>We&#8217;ve got very used to installing gems, and doing anything to do with them, with sudo. With rvm, you don&#8217;t need to do this and it will lead to confusing results, as the <a href="http://rvm.beginrescueend.com/gems/">docs point out at length</a>. Every time you use sudo, you&#8217;re going to be messing with the system ruby version (as this is in root&#8217;s path), and weird results will follow.</p>
<p>To summarise: use sudo to install the gem on system ruby, and then leave the sudo well alone.</p>
<p><strong>Passenger</strong></p>
<p>If you&#8217;re using with passenger + apache, first <a href="http://modrails.com/install.html">install</a> the passenger gem against your rvm ruby version:</p>
<p><code>$ rvm use 1.8.7<br />
$ gem install passenger<br />
[snip]<br />
$ passenger-install-apache2-module<br />
</code></p>
<p>Note the lack of sudo. The module installer will suggest the apache config syntax. This needs changing slightly, <a href="http://rvm.beginrescueend.com/passenger/">as per the docs</a> &#8211; </p>
<p><code>$ cat /etc/apache2/other/passenger.conf<br />
LoadModule passenger_module /Users/samphillips/.rvm/gems/ruby-1.8.7-p248/gems/passenger-2.2.8/ext/apache2/mod_passenger.so<br />
PassengerRoot /Users/samphillips/.rvm/gems/ruby-1.8.7-p248/gems/passenger-2.2.8<br />
PassengerRuby /Users/samphillips/.rvm/bin/passenger_ruby<br />
</code></p>
<p>(restart apache&#8230;)</p>
<p>The last line will point apache at your rvm ruby version. When using passenger with rvm, switch the rvm version with the following syntax:</p>
<p><code>$ rvm use 1.9.1 --default --passenger</code></p>
<p>I was confused for a number of minutes when gems installed on my rvm version of ruby weren&#8217;t available to apache; not doing this was why.</p>
<p>RVM works nicely already, and has potential to do lots of good. If you&#8217;ve got any problems, hop on to #rvm on irc.freenode.net, where friendly folks will help you out.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em>Bookmark:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.samsworldofno.com/2009/12/30/playing-nicely-notes-on-installing-rvm-and-passenger/&amp;title=Playing+nicely%3A+Notes+on+installing+RVM+%2B+Passenger" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to Del.icio.us"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to Del.icio.us" alt="Add 'Playing nicely: Notes on installing RVM + Passenger' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.samsworldofno.com/2009/12/30/playing-nicely-notes-on-installing-rvm-and-passenger/&amp;title=Playing+nicely%3A+Notes+on+installing+RVM+%2B+Passenger" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to digg"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to digg" alt="Add 'Playing nicely: Notes on installing RVM + Passenger' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.samsworldofno.com/2009/12/30/playing-nicely-notes-on-installing-rvm-and-passenger/&amp;title=Playing+nicely%3A+Notes+on+installing+RVM+%2B+Passenger" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to reddit"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to reddit" alt="Add 'Playing nicely: Notes on installing RVM + Passenger' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.samsworldofno.com/2009/12/30/playing-nicely-notes-on-installing-rvm-and-passenger/" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to Technorati"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to Technorati" alt="Add 'Playing nicely: Notes on installing RVM + Passenger' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.samsworldofno.com/2009/12/30/playing-nicely-notes-on-installing-rvm-and-passenger/&amp;title=Playing+nicely%3A+Notes+on+installing+RVM+%2B+Passenger&amp;description=Playing+nicely%3A+Notes+on+installing+RVM+%2B+Passenger" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to Ma.gnolia"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/magnolia.png" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to Ma.gnolia" alt="Add 'Playing nicely: Notes on installing RVM + Passenger' to Ma.gnolia" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.samsworldofno.com/2009/12/30/playing-nicely-notes-on-installing-rvm-and-passenger/&amp;title=Playing+nicely%3A+Notes+on+installing+RVM+%2B+Passenger" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to Stumble Upon"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to Stumble Upon" alt="Add 'Playing nicely: Notes on installing RVM + Passenger' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.samsworldofno.com/2009/12/30/playing-nicely-notes-on-installing-rvm-and-passenger/&amp;title=Playing+nicely%3A+Notes+on+installing+RVM+%2B+Passenger" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to Google Bookmarks"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to Google Bookmarks" alt="Add 'Playing nicely: Notes on installing RVM + Passenger' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.samsworldofno.com/2009/12/30/playing-nicely-notes-on-installing-rvm-and-passenger/" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to Bloglines"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/bloglines.png" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to Bloglines" alt="Add 'Playing nicely: Notes on installing RVM + Passenger' to Bloglines" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.samsworldofno.com/2009/12/30/playing-nicely-notes-on-installing-rvm-and-passenger/" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to FaceBook"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'Playing nicely: Notes on installing RVM + Passenger' to FaceBook" alt="Add 'Playing nicely: Notes on installing RVM + Passenger' to FaceBook" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.samsworldofno.com/2009/12/30/playing-nicely-notes-on-installing-rvm-and-passenger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>November In Manchester: Twitter As A Reality Show</title>
		<link>http://www.samsworldofno.com/2009/12/02/november-in-manchester-twitter-as-a-reality-show/</link>
		<comments>http://www.samsworldofno.com/2009/12/02/november-in-manchester-twitter-as-a-reality-show/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 00:04:57 +0000</pubDate>
		<dc:creator>Sam Phillips</dc:creator>
				<category><![CDATA[Sam]]></category>

		<guid isPermaLink="false">http://www.samsworldofno.com/?p=126</guid>
		<description><![CDATA[November In Manchester, the brainchild of my good friend Tom Mason, is a social media love story. What does this mean? It means that the eight characters have played out their story in real time, over social media. But what is &#8217;social media&#8217;? Well, for this project, it meant Flickr, Blogger, and, fundamentally, Twitter.
Twitter is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://novemberinmanchester.com">November In Manchester</a>, the brainchild of my good friend <a href="http://manchester-seo.blogspot.com/">Tom Mason</a>, is a social media love story. What does this mean? It means that the eight characters have played out their story in real time, over social media. But what is &#8217;social media&#8217;? Well, for this project, it meant <a href="http://www.flickr.com">Flickr</a>, <a href="http://www.blogger.com">Blogger</a>, and, fundamentally, <a href="http://www.twitter.com">Twitter</a>.</p>
<p>Twitter is the stage on which this story was played out. What is Twitter? The best explanation I&#8217;ve heard so far is &#8216;one-to-many text messaging&#8217;. You send a text &#8211; 140 characters &#8211; and instead of it being sent to just one friend, it&#8217;s sent to all of your &#8216;followers&#8217;. They receive the text on their phones, through the Twitter website, or through Twitter software installed on their computers.</p>
<p>The story is not set in stone, and it happens in real time. In this way, it&#8217;s almost more of a reality show than a fictional work with a predetermined path. The characters &#8211; <a href="http://twitter.com/yellow_scarves">Persephone</a>, <a href="http://twitter.com/james_venn">James</a>, <a href="http://twitter.com/le_french">Leonie</a>, <a href="http://twitter.com/dazz_tale">Darren</a>, <a href="http://twitter.com/reg_in_a_box">Regina</a>, <a href="http://twitter.com/paulie_mills">Paul</a>, <a href="http://twitter.com/melodicmiss">Melody</a> and <a href="http://twitter.com/parker_pen">Lee</a> &#8211; live in our reality. When we put together the main site, we even gave it a feel of a <a href="http://www.channel4.com/bigbrother/index.html">Big Brother</a> microsite. This is a reality show like no other.</p>
<p>Persephone and Leonie went to the christmas lights being turned on in Manchester city centre, for example. It was quite the live drama! Paul and James went to a football match at Old Trafford. Leonie&#8217;s in PR, so if there&#8217;s a party or networking event going on, she&#8217;s there. </p>
<p>The characters also respond to other people&#8217;s tweets &#8211; meaning that, just by tweeting them and getting a reply, anybody can become a character in the story. It&#8217;s been fascinating to watch people get involved <a href="http://twitter.com/MrRickWaghorn/statuses/6077032821">with</a> <a href="http://twitter.com/WalrusBar/statuses/6080876663">the</a> <a href="http://twitter.com/_Chappers_/statuses/6082240756">story</a>. </p>
<p>But what is most striking about these characters is that they are very almost real people, very believably existing on Twitter &#8211; in a way that, in reality, most people don&#8217;t. Although Facebook is a mass phenomenon, and MySpace/Bebo remain a modernised version of Geocities, Twitter isn&#8217;t quite there yet. It&#8217;s the domain of geeks, marketeers and companies doing innovative customer engagement. The November In Manchester characters aren&#8217;t any of these types &#8211; they&#8217;re normal mancunians trying to get from the start to the end of a day unscathed. You can believe that they are real, and reading their tweets you can believe that other, real, people could use Twitter in this way as well.</p>
<p>November In Manchester is now my first example when I explain to a client, colleague, friend or grandparent what Twitter is, what it does, and what it&#8217;s for. What is Twitter for? It&#8217;s for telling your story to the rest of us.</p>
<p><em>Interested in how the November In Manchester site works? Check out <a href="http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/">November In Manchester: Joining those technical dots</a>.</em></p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em>Bookmark:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.samsworldofno.com/2009/12/02/november-in-manchester-twitter-as-a-reality-show/&amp;title=November+In+Manchester%3A+Twitter+As+A+Reality+Show" title="Add 'November In Manchester: Twitter As A Reality Show' to Del.icio.us"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'November In Manchester: Twitter As A Reality Show' to Del.icio.us" alt="Add 'November In Manchester: Twitter As A Reality Show' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.samsworldofno.com/2009/12/02/november-in-manchester-twitter-as-a-reality-show/&amp;title=November+In+Manchester%3A+Twitter+As+A+Reality+Show" title="Add 'November In Manchester: Twitter As A Reality Show' to digg"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'November In Manchester: Twitter As A Reality Show' to digg" alt="Add 'November In Manchester: Twitter As A Reality Show' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.samsworldofno.com/2009/12/02/november-in-manchester-twitter-as-a-reality-show/&amp;title=November+In+Manchester%3A+Twitter+As+A+Reality+Show" title="Add 'November In Manchester: Twitter As A Reality Show' to reddit"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'November In Manchester: Twitter As A Reality Show' to reddit" alt="Add 'November In Manchester: Twitter As A Reality Show' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.samsworldofno.com/2009/12/02/november-in-manchester-twitter-as-a-reality-show/" title="Add 'November In Manchester: Twitter As A Reality Show' to Technorati"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'November In Manchester: Twitter As A Reality Show' to Technorati" alt="Add 'November In Manchester: Twitter As A Reality Show' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.samsworldofno.com/2009/12/02/november-in-manchester-twitter-as-a-reality-show/&amp;title=November+In+Manchester%3A+Twitter+As+A+Reality+Show&amp;description=November+In+Manchester%3A+Twitter+As+A+Reality+Show" title="Add 'November In Manchester: Twitter As A Reality Show' to Ma.gnolia"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/magnolia.png" title="Add 'November In Manchester: Twitter As A Reality Show' to Ma.gnolia" alt="Add 'November In Manchester: Twitter As A Reality Show' to Ma.gnolia" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.samsworldofno.com/2009/12/02/november-in-manchester-twitter-as-a-reality-show/&amp;title=November+In+Manchester%3A+Twitter+As+A+Reality+Show" title="Add 'November In Manchester: Twitter As A Reality Show' to Stumble Upon"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'November In Manchester: Twitter As A Reality Show' to Stumble Upon" alt="Add 'November In Manchester: Twitter As A Reality Show' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.samsworldofno.com/2009/12/02/november-in-manchester-twitter-as-a-reality-show/&amp;title=November+In+Manchester%3A+Twitter+As+A+Reality+Show" title="Add 'November In Manchester: Twitter As A Reality Show' to Google Bookmarks"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'November In Manchester: Twitter As A Reality Show' to Google Bookmarks" alt="Add 'November In Manchester: Twitter As A Reality Show' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.samsworldofno.com/2009/12/02/november-in-manchester-twitter-as-a-reality-show/" title="Add 'November In Manchester: Twitter As A Reality Show' to Bloglines"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/bloglines.png" title="Add 'November In Manchester: Twitter As A Reality Show' to Bloglines" alt="Add 'November In Manchester: Twitter As A Reality Show' to Bloglines" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.samsworldofno.com/2009/12/02/november-in-manchester-twitter-as-a-reality-show/" title="Add 'November In Manchester: Twitter As A Reality Show' to FaceBook"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'November In Manchester: Twitter As A Reality Show' to FaceBook" alt="Add 'November In Manchester: Twitter As A Reality Show' to FaceBook" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.samsworldofno.com/2009/12/02/november-in-manchester-twitter-as-a-reality-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>November In Manchester: Joining those technical dots</title>
		<link>http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/</link>
		<comments>http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 17:35:01 +0000</pubDate>
		<dc:creator>Sam Phillips</dc:creator>
				<category><![CDATA[Sam]]></category>

		<guid isPermaLink="false">http://www.samsworldofno.com/?p=119</guid>
		<description><![CDATA[November In Manchester is a social media love story. It focuses on the lives of eight fictional mancunians over the course of November &#8211; their story is played out over the characters&#8217; tweets and blog posts; all of which are disguised as real people. They even interact with real people; they attend real events and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://novemberinmanchester.com">November In Manchester</a> is a social media love story. It focuses on the lives of <a href="http://novemberinmanchester.blogspot.com/2009/11/november-in-manchester-begins.html">eight fictional mancunians</a> over the course of November &#8211; their story is played out over the characters&#8217; tweets and blog posts; all of which are disguised as real people. They even interact with real people; they attend real events and they take real photos of the city. The main <a href="http://novemberinmanchester.com/">November In Manchester</a> site was to bring their story together in to a single timeline, and when <a href="http://manchester-seo.blogspot.com/">Tom</a> approached me to build it, I was happy to oblige.</p>
<p>For my own notes, I thought I&#8217;d jot down a few details of the implementation for future reference, or for anyone who was interested. November In Manchester is built in <a href="http://rubyonrails.org/">Rails</a> using <a href="http://haml-lang.com/">HAML</a> and <a href="http://sass-lang.com/">SASS</a>.</p>
<h5>Scheduling</h5>
<p>This was a nice opportunity to use the <a href="http://github.com/javan/whenever">whenever</a> gem. If you&#8217;ve not used this before, check it out &#8211; it&#8217;s a cracking gem and its example <a href="http://www.capify.org">Capistrano</a> recipe works a treat. Although I&#8217;m happy enough with cron syntax I was pleasantly surprised to have it so smoothly taken out of my hands, and means that our various scheduled tasks are managed straight from a config file in our application.</p>
<h5>Twitter</h5>
<p>The Twitter implementation was the most difficult part. The initial version used <a href="http://github.com/dancroak/twitter-search">dancroak&#8217;s twitter search</a> gem and worked a treat with the code. I don&#8217;t particularly like the query syntax, but this is down to twitter, not the gem. Also down to twitter is the job of updating the search results. Unlike the main site, the <a href="http://search.twitter.com">search</a> site (and API) is not always real-time and can lag heavily behind. It&#8217;s no good being 8 hours on a story that&#8217;s supposed to be happening in real time.</p>
<p>We therefore switched the search gem out and ended up using the main API and <a href="http://twitter.rubyforge.org/">gem</a>. Initially we were perplexed about how to best get the information about various users&#8217; tweets. The API is designed for a piece of software acting as a twitter user, and so can tweet, follow, etc &#8211; but it can&#8217;t search. In the end we settled on using the &#8216;user_timeline&#8217; method and passing the username (screen_name) of the user we wanted to get the tweets for. We run this search every five minutes, and as long as we&#8217;re not more than 20 tweets behind (the method&#8217;s limit &#8211; although you may be able to override), we&#8217;re golden. It&#8217;s not ideal (better suggestions received) but it got us back to real-time.</p>
<p>Thankfully our architecture allowed this switch to be made in 10 lines or so of code. Good job &#8211; I had a matter of minutes before <a href="http://bcman2.nwdc.org.uk/">BarCamp Manchester 2</a> started to switch it over!</p>
<h5>RSS/Atom</h5>
<p>Ruby has <a href="http://ruby-doc.org/stdlib/libdoc/rss/rdoc/index.html">built-in support</a> for RSS, and we initially used this for the integration. However, it doesn&#8217;t support Atom and I didn&#8217;t want to be caught by surprise if a new blog turned up that used this format (I didn&#8217;t know what new characters and data sources Tom would introduce as the plot twisted and turned!), so we switched over to the excellent <a href="http://simple-rss.rubyforge.org/">Simple RSS</a> gem. This gem also supports reading from the content of the posts &#8211; which at one point we were using &#8211; which the built-in Ruby stuff doesn&#8217;t.</p>
<h5>Flickr</h5>
<p>Photos are a big part of the project, and we wanted to have the most recent photos displaying on the site, pulled from the flickr feed.</p>
<p>We used the <a href="http://github.com/commonthread/flickr_fu">flickr-fu</a> (not &#8216;flickr_fu&#8217;, confusingly) gem for our integration here, and took inspiration from this <a href="http://www.pixellatedvisions.com/2009/04/06/integrating-flickr-into-your-rails-website">blog post</a>. I don&#8217;t think that helpers are the right approach here, though, so we instead import our flickr photos every 3 hours through a scheduled process and stick them in a database &#8211; hotlinking the actual images straight from flickr.</p>
<h5>Deployment</h5>
<p>We use <a href="http://www.capify.org">Capistrano</a> for deployment and <a href="http://git-scm.com/">git</a> for version control.</p>
<p>Overall the tech stuff on the site was just the work of a weekend or two and a few evenings. It was nice to have a small project that was live quickly &#8211; something I&#8217;ll definitely try to bear in mind for the future. Hope you&#8217;re enjoying the story!</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em>Bookmark:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/&amp;title=November+In+Manchester%3A+Joining+those+technical+dots" title="Add 'November In Manchester: Joining those technical dots' to Del.icio.us"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'November In Manchester: Joining those technical dots' to Del.icio.us" alt="Add 'November In Manchester: Joining those technical dots' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/&amp;title=November+In+Manchester%3A+Joining+those+technical+dots" title="Add 'November In Manchester: Joining those technical dots' to digg"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'November In Manchester: Joining those technical dots' to digg" alt="Add 'November In Manchester: Joining those technical dots' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/&amp;title=November+In+Manchester%3A+Joining+those+technical+dots" title="Add 'November In Manchester: Joining those technical dots' to reddit"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'November In Manchester: Joining those technical dots' to reddit" alt="Add 'November In Manchester: Joining those technical dots' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/" title="Add 'November In Manchester: Joining those technical dots' to Technorati"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'November In Manchester: Joining those technical dots' to Technorati" alt="Add 'November In Manchester: Joining those technical dots' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/&amp;title=November+In+Manchester%3A+Joining+those+technical+dots&amp;description=November+In+Manchester%3A+Joining+those+technical+dots" title="Add 'November In Manchester: Joining those technical dots' to Ma.gnolia"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/magnolia.png" title="Add 'November In Manchester: Joining those technical dots' to Ma.gnolia" alt="Add 'November In Manchester: Joining those technical dots' to Ma.gnolia" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/&amp;title=November+In+Manchester%3A+Joining+those+technical+dots" title="Add 'November In Manchester: Joining those technical dots' to Stumble Upon"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'November In Manchester: Joining those technical dots' to Stumble Upon" alt="Add 'November In Manchester: Joining those technical dots' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/&amp;title=November+In+Manchester%3A+Joining+those+technical+dots" title="Add 'November In Manchester: Joining those technical dots' to Google Bookmarks"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'November In Manchester: Joining those technical dots' to Google Bookmarks" alt="Add 'November In Manchester: Joining those technical dots' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/" title="Add 'November In Manchester: Joining those technical dots' to Bloglines"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/bloglines.png" title="Add 'November In Manchester: Joining those technical dots' to Bloglines" alt="Add 'November In Manchester: Joining those technical dots' to Bloglines" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/" title="Add 'November In Manchester: Joining those technical dots' to FaceBook"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'November In Manchester: Joining those technical dots' to FaceBook" alt="Add 'November In Manchester: Joining those technical dots' to FaceBook" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.samsworldofno.com/2009/11/12/november-in-manchester-joining-those-technical-dots/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database</title>
		<link>http://www.samsworldofno.com/2009/10/05/introducing-ambitious-query-indexer/</link>
		<comments>http://www.samsworldofno.com/2009/10/05/introducing-ambitious-query-indexer/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 21:13:01 +0000</pubDate>
		<dc:creator>Sam Phillips</dc:creator>
				<category><![CDATA[Sam]]></category>

		<guid isPermaLink="false">http://www.samsworldofno.com/?p=106</guid>
		<description><![CDATA[Relational databases like MySQL rely on correct indexing of tables in order to function quickly. In fact, adding proper database indexes is often one of the biggest improvements you can make to any application, including Rails applications.
A few well-known blog posts have dealt with this subject, giving excellent advice on how to index your tables [...]]]></description>
			<content:encoded><![CDATA[<p>Relational databases like MySQL rely on correct indexing of tables in order to function quickly. In fact, adding proper database indexes is often one of the biggest improvements you can make to any application, including Rails applications.</p>
<p>A few well-known blog posts have dealt with this subject, giving excellent advice on how to index your tables for best performance. Jamis dealt with the subject <a href="http://weblog.jamisbuck.org/2006/10/23/indexing-for-db-performance">a while ago</a>, and recently Matt Jankowski has posted a <a href="http://robots.thoughtbot.com/post/163627511/a-grand-piano-for-your-violin">fairly exhaustive guide</a>. I felt that this excellent guides could be built upon, and the analysis that I would do, given a query to index, could be automated.</p>
<p>Enter <a href="http://github.com/samdanavia/ambitious_query_indexer">Ambitious Query Indexer</a>. Unlike other plugins in this space, AQI (I&#8217;m starting to shorten it to &#8216;aqute&#8217;; not sure if this will stick) doesn&#8217;t optimise queries on the fly by reducing eager loading, and it doesn&#8217;t look at tables in an attempt to guess what indexes might be needed to query it.</p>
<p>AQI&#8217;s approach is to analyse your Rails app, work out what queries it will run during its operation and spot any indexes that could be added for the MySQL engine to use. Why is this a good approach? Simply, because it focuses on the queries you run, not the tables they run upon. Imagine the following story:</p>
<ol>
<li>You have an <em>Article</em> model containing a <em>user_id</em> field in an <em>articles</em> table</li>
<li>You have a <em>User</em> model that<em> has_many articles</em></li>
<li>Calling <em>User.first.articles</em> will run a query like &#8220;SELECT * FROM articles WHERE user_id = &#8216;1&#8242;&#8221;.</li>
</ol>
<p>How do you speed this query up? You would add an index to the articles table on the user_id field. Happy days.</p>
<p>Now imagine you install <em>acts_as_paranoid</em> on the Article model or something similar &#8211; a plugin that overrides the default finders &#8211; suddenly, your query will be something like:</p>
<pre>
SELECT * FROM articles WHERE user_id = '1' AND (deleted_at IS NULL or deleted_at < '2009-10-05 22:07:00')
</pre>
<p>Whoops - your index doesn't work any more because you've added a field to the query. Your database is about to go to the dogs, and only a cursory look at the table wouldn't reveal why because it's not immediately obvious that you now need a compound index on <em>user_id <strong>and</strong> deleted_at</em>.</p>
<p>Unfortunately, when it comes to indexing, looking at a table to work out what indexes you need is not enough. Adding indexes during your migrations won't always cover you, and best practice indexing won't fly on most real-world applications. You have to look at the queries that interrogate that table. AQI will do this; it will find, run and analyse your queries and give you a list of indexes that will improve performance. Yay!</p>
<p>To install, follow the easy instructions on GitHub - <a href="http://github.com/samdanavia/ambitious_query_indexer">Ambitious Query Indexer</a>. This plugin is still under active development and I'm adding new features all the time. Please let me know any feedback you have, or any issues you encounter.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em>Bookmark:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.samsworldofno.com/2009/10/05/introducing-ambitious-query-indexer/&amp;title=Introducing+Ambitious+Query+Indexer+%26%238211%3B+A+new+way+to+index+your+Rails+app%26%238217%3Bs+database" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Del.icio.us"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Del.icio.us" alt="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.samsworldofno.com/2009/10/05/introducing-ambitious-query-indexer/&amp;title=Introducing+Ambitious+Query+Indexer+%26%238211%3B+A+new+way+to+index+your+Rails+app%26%238217%3Bs+database" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to digg"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to digg" alt="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.samsworldofno.com/2009/10/05/introducing-ambitious-query-indexer/&amp;title=Introducing+Ambitious+Query+Indexer+%26%238211%3B+A+new+way+to+index+your+Rails+app%26%238217%3Bs+database" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to reddit"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to reddit" alt="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.samsworldofno.com/2009/10/05/introducing-ambitious-query-indexer/" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Technorati"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Technorati" alt="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.samsworldofno.com/2009/10/05/introducing-ambitious-query-indexer/&amp;title=Introducing+Ambitious+Query+Indexer+%26%238211%3B+A+new+way+to+index+your+Rails+app%26%238217%3Bs+database&amp;description=Introducing+Ambitious+Query+Indexer+%26%238211%3B+A+new+way+to+index+your+Rails+app%26%238217%3Bs+database" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Ma.gnolia"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/magnolia.png" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Ma.gnolia" alt="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Ma.gnolia" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.samsworldofno.com/2009/10/05/introducing-ambitious-query-indexer/&amp;title=Introducing+Ambitious+Query+Indexer+%26%238211%3B+A+new+way+to+index+your+Rails+app%26%238217%3Bs+database" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Stumble Upon"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Stumble Upon" alt="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.samsworldofno.com/2009/10/05/introducing-ambitious-query-indexer/&amp;title=Introducing+Ambitious+Query+Indexer+%26%238211%3B+A+new+way+to+index+your+Rails+app%26%238217%3Bs+database" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Google Bookmarks"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Google Bookmarks" alt="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.samsworldofno.com/2009/10/05/introducing-ambitious-query-indexer/" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Bloglines"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/bloglines.png" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Bloglines" alt="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to Bloglines" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.samsworldofno.com/2009/10/05/introducing-ambitious-query-indexer/" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to FaceBook"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to FaceBook" alt="Add 'Introducing Ambitious Query Indexer &#8211; A new way to index your Rails app&#8217;s database' to FaceBook" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.samsworldofno.com/2009/10/05/introducing-ambitious-query-indexer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top 5 Least Favourite Spotify Adverts</title>
		<link>http://www.samsworldofno.com/2009/09/01/top-5-least-favourite-spotify-adverts/</link>
		<comments>http://www.samsworldofno.com/2009/09/01/top-5-least-favourite-spotify-adverts/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 22:50:30 +0000</pubDate>
		<dc:creator>Sam Phillips</dc:creator>
				<category><![CDATA[Sam]]></category>

		<guid isPermaLink="false">http://www.samsworldofno.com/?p=64</guid>
		<description><![CDATA[Even with the iPhone app, I&#8217;m not sold on Spotify Premium. £10 is too much. £5, I&#8217;d consider it, but £10 is too much when the music is never really mine. Fair play to the guys, though, the streaming quality is spot on, the cross-platform is impressive and the interface is so good that I [...]]]></description>
			<content:encoded><![CDATA[<p>Even with the <a href="http://www.theregister.co.uk/2009/08/27/spotify_on_iphone/">iPhone app</a>, I&#8217;m not sold on <a href="http://www.spotify.com">Spotify</a> Premium. £10 is too much. £5, I&#8217;d consider it, but £10 is too much when the music is never really mine. Fair play to the guys, though, the streaming quality is spot on, the cross-platform is impressive and the interface is so good that I often listen to music I have on iTunes, on my hard drive, on Spotify instead.</p>
<p>But £10 is too much, so for now I&#8217;m going to be listening to the following terrible adverts:</p>
<p><strong>The Right Livelihood Award</strong></p>
<p>I&#8217;ve never heard of this award, and I&#8217;m sure it&#8217;s all for a very good cause. But the advert is some shonky stuff. It starts with a vocal stumble when trying to say &#8216;Right Livelihood Award&#8217; (never a good start to fluff the brand!), and then goes to tell me absolutely nothing about what the award is or does. But apparently there&#8217;s <strong>one </strong>thing I should remember &#8211; that we can all do something if we try hard enough, that wishing and dreaming make crazy things happen, and that you should never eat yellow snow. Or something like that &#8211; the point is, this &#8216;one&#8217; thing I should remember is divided into three meaningless clichés, and there&#8217;s no chance I&#8217;m remembering them.</p>
<p>The whole thing sounds like it was recorded outside on a busy street. And still I&#8217;m none the wiser about what this doubtless very worthy award is for!</p>
<p><strong>ShareMyPlaylist.com/ShareMyPlaylists.com</strong></p>
<p>Nice idea; social playlists for spotify. Presumably a feature that spotify will make themselves eventually, but anyway, what I love about this advert is the <strong>girl talking gets the domain name wrong</strong>. It&#8217;s <a href="http://www.sharemyplaylists.com">www.sharemyplaylists.com</a> (playlists <em>plural</em>), but she twice calls it <a href="http://www.sharemyplaylist.com">www.sharemyplaylist.com</a> (playlist <em>singular</em>). The latter domain is a most certainly not a production ready website &#8211; in that it&#8217;s a file index with a couple of favicons and a robots.txt file. Fail!</p>
<p><strong>Crucial Memory</strong></p>
<p>Your computer has slowed down &#8211; do you need more memory, or just to be patronised by the &#8216;computer doctor&#8217;? Apparently, with crucial, both are possible. Joy.</p>
<p>This one seems to have buggered off for now, but it sure was odious when it was about &#8211; and for one 48 hour heavy work weekend it seemed to be the only advert available.</p>
<p><strong>MTV safe sex ultra-liberal moralising</strong></p>
<p>&#8216;Everybody loves music&#8230; especially in the bedroom&#8217;. What?! I prefer music in my study. Or at my piano. Quite the impressive segue though. This MTV ad, featuring some beautiful Irish bird, suggests that I should refrain from unsafe sex and enjoy &#8217;sexy playlists&#8217; in the bedroom instead. Not entirely sure that this is the best way to reach &#8216;young people&#8217;.</p>
<p>That said, I still chuckle to myself when this ad comes on; just once I wish she&#8217;d say &#8216;<em>Everybody loves sex&#8230; especially in the music room</em>&#8216;. Then I&#8217;d definitely never pay for the premium subscription.</p>
<p><strong>Rhino Vinyl</strong></p>
<p>&#8216;Spotify is ace; streaming, high quality, distributed. At Rhino, we love it almost as much as vinyl records&#8217;. Say again?You like mp3s, but really you like vinyl and think mp3 is shit? Again, quite the segue and as the advert rolls on, it does seem to make sense. But I love the transition; it&#8217;s akin to local news shifting between a murder case and a human interest piece about puppies and their hilarious habits.</p>
<p>Other favourites include the advert for Scarlett Johansson&#8217;s single getting cut off half way through<em> every single time</em>, and Amy McDonald, who talks for what seems like hours about how, somewhere, live tracks and her whole album is available to listen. It might be on Spotify &#8211; it probably is &#8211; but she seems to neglect to mention it!</p>
<p>And just as I write, Adam from Spotify has used the Spotify recording microphone, bought for £7.99 at Argos, to record an ad telling me how good their ad targetting is. Touché!</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em>Bookmark:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.samsworldofno.com/2009/09/01/top-5-least-favourite-spotify-adverts/&amp;title=Top+5+Least+Favourite+Spotify+Adverts" title="Add 'Top 5 Least Favourite Spotify Adverts' to Del.icio.us"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'Top 5 Least Favourite Spotify Adverts' to Del.icio.us" alt="Add 'Top 5 Least Favourite Spotify Adverts' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.samsworldofno.com/2009/09/01/top-5-least-favourite-spotify-adverts/&amp;title=Top+5+Least+Favourite+Spotify+Adverts" title="Add 'Top 5 Least Favourite Spotify Adverts' to digg"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Top 5 Least Favourite Spotify Adverts' to digg" alt="Add 'Top 5 Least Favourite Spotify Adverts' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.samsworldofno.com/2009/09/01/top-5-least-favourite-spotify-adverts/&amp;title=Top+5+Least+Favourite+Spotify+Adverts" title="Add 'Top 5 Least Favourite Spotify Adverts' to reddit"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'Top 5 Least Favourite Spotify Adverts' to reddit" alt="Add 'Top 5 Least Favourite Spotify Adverts' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.samsworldofno.com/2009/09/01/top-5-least-favourite-spotify-adverts/" title="Add 'Top 5 Least Favourite Spotify Adverts' to Technorati"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'Top 5 Least Favourite Spotify Adverts' to Technorati" alt="Add 'Top 5 Least Favourite Spotify Adverts' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.samsworldofno.com/2009/09/01/top-5-least-favourite-spotify-adverts/&amp;title=Top+5+Least+Favourite+Spotify+Adverts&amp;description=Top+5+Least+Favourite+Spotify+Adverts" title="Add 'Top 5 Least Favourite Spotify Adverts' to Ma.gnolia"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/magnolia.png" title="Add 'Top 5 Least Favourite Spotify Adverts' to Ma.gnolia" alt="Add 'Top 5 Least Favourite Spotify Adverts' to Ma.gnolia" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.samsworldofno.com/2009/09/01/top-5-least-favourite-spotify-adverts/&amp;title=Top+5+Least+Favourite+Spotify+Adverts" title="Add 'Top 5 Least Favourite Spotify Adverts' to Stumble Upon"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Top 5 Least Favourite Spotify Adverts' to Stumble Upon" alt="Add 'Top 5 Least Favourite Spotify Adverts' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.samsworldofno.com/2009/09/01/top-5-least-favourite-spotify-adverts/&amp;title=Top+5+Least+Favourite+Spotify+Adverts" title="Add 'Top 5 Least Favourite Spotify Adverts' to Google Bookmarks"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'Top 5 Least Favourite Spotify Adverts' to Google Bookmarks" alt="Add 'Top 5 Least Favourite Spotify Adverts' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.samsworldofno.com/2009/09/01/top-5-least-favourite-spotify-adverts/" title="Add 'Top 5 Least Favourite Spotify Adverts' to Bloglines"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/bloglines.png" title="Add 'Top 5 Least Favourite Spotify Adverts' to Bloglines" alt="Add 'Top 5 Least Favourite Spotify Adverts' to Bloglines" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.samsworldofno.com/2009/09/01/top-5-least-favourite-spotify-adverts/" title="Add 'Top 5 Least Favourite Spotify Adverts' to FaceBook"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'Top 5 Least Favourite Spotify Adverts' to FaceBook" alt="Add 'Top 5 Least Favourite Spotify Adverts' to FaceBook" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.samsworldofno.com/2009/09/01/top-5-least-favourite-spotify-adverts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forget the technology &#8211; is the very idea of Twitter scalable?</title>
		<link>http://www.samsworldofno.com/2009/08/26/forget-the-technology-is-the-very-idea-of-twitter-scalable/</link>
		<comments>http://www.samsworldofno.com/2009/08/26/forget-the-technology-is-the-very-idea-of-twitter-scalable/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 22:53:12 +0000</pubDate>
		<dc:creator>Sam Phillips</dc:creator>
				<category><![CDATA[Industry]]></category>
		<category><![CDATA[New Media]]></category>
		<category><![CDATA[Sam]]></category>

		<guid isPermaLink="false">http://www.samsworldofno.com/?p=54</guid>
		<description><![CDATA[So, all of a sudden, we&#8217;re all addicted to Twitter. I can follow my favourite female singers, have ladies who like to lounge in their underwear follow me. I can bitch about a company and all of a sudden their customer experience manager is on my case, trying like hell to sort my problem out [...]]]></description>
			<content:encoded><![CDATA[<p>So, all of a sudden, we&#8217;re all addicted to Twitter. I can follow my <a href="http://manchester-seo.blogspot.com/2009/07/musical-chairs-ten-female-musicians-to.html">favourite female singers</a>, have ladies who like to lounge in their underwear follow me. I can bitch about a company and all of a sudden their customer experience manager is on my case, trying like hell to sort my problem out so I tweet about how good their service is. And this is great &#8211; I get my problem sorted quicker.</p>
<p>It&#8217;s fair to say that Twitter&#8217;s influence is, in some spheres, pretty large. <a href="http://www.techcrunch.com/2009/06/14/for-techcrunch-twitter-traffic-a-statistical-breakdown/">TechCrunch gets more traffic from Twitter than from Digg</a>. That&#8217;s pretty impressive, considering the amount of time that people still spend gaming Digg. But its influence is still pretty limited. As a rule, it&#8217;s still fairly restricted to the technology industry. It&#8217;s not that easy to use, and as replies, retweets and hashtags take over, it&#8217;s becoming more and more like a raw message format than something that&#8217;s human readable. URL shortening services are hardly accessible to the lay person.</p>
<p>I think we&#8217;ve all tried to explain what twitter is to a friend, even a tech-savvy one. Perhaps we&#8217;ve got as far as getting them signed up and an iPhone client downloaded. Three months later, they haven&#8217;t updated it. They don&#8217;t understand what it&#8217;s for, and they don&#8217;t have any followers. People who abandoned MySpace and Bebo for Facebook  in a heartbeat are not migrating to Twitter in the same way.</p>
<p>Twitter is still a niche product. So, if it does become the &#8216;<a href="http://www.techcrunch.com/2009/07/16/twitters-internal-strategy-laid-bare-to-be-the-pulse-of-the-planet/">pulse of the planet</a>&#8216;, is its current utility as a community management/traffic driving/networking/brand management/corporate communications/customer service tool going to be limited? I think it might be.</p>
<p>I follow 119 people &#8211; and something like 20 of these tweet on any sort of regular basis. Even that is a bit much. I had to unfollow <a href="http://twitter.com/Wossy">Jonathan Ross</a> and <a href="http://twitter.com/zeldman">Zeldman</a>; I couldn&#8217;t hack it. More than 20 new tweets in an hour and I&#8217;m screwed. How am I going to cope if every tweet that mentions a company has an @reply from that company&#8217;s community management being dead helpful? I&#8217;m not. If there a billion people on twitter, I&#8217;ll be swamped and I&#8217;ll have to leave.</p>
<p>More to the point, how am I going to get that personalised service if said community managers are inundated because there are a billion people on twitter? Think of the companies with REALLY dreadful customer service, like O2 and BT. How are they going to keep up with the moaning? They couldn&#8217;t, unless the metric/filtering stuff gets really clever. So there goes my personal service.</p>
<p>So perhaps we should view the current state of Twitter as a VIP customer service and get-satisfaction-esque issue resolution tool available to geeks who can understand it. Will every moan and question get dealt with if the user base multiplies? No, unless the very basis of the whole idea changes. There&#8217;s a reason that all of these companies have taken their phone numbers of their sites and instead installed automated customer service systems/mantraps &#8211; individual interaction with the whole customer base just isn&#8217;t possible.</p>
<p>Will <a href="http://twitter.com/DellOutletUK">Dell</a> be able to post and get a conversion on real-time offers of limited product lines/refurb products, if the user base was massively bigger? Not under the current model &#8211; the offers would be snapped up so quickly that people would stop bothering to click on the links.</p>
<p>What of real time web? What of it. Whilst aggregating tweets is a good way to find out news really quickly, it&#8217;s a job for a computer, not a person. I can&#8217;t have more than one or two &#8216;news&#8217; (be it world affairs, the BBC or something on formula 1) users in my follow list; anything more is information overload. I rely on power users to filter the real time web down for me, again in real time, so that it&#8217;s just enough information to digest.</p>
<p>So perhaps the future of Twitter under the current model is stronger groups/networks that are reliant on real-world connections, mixed with a lot less business interaction and a selection of a very few, very important, power users.</p>
<p>Sounds like a pretty shaky business idea to me. No doubt, I&#8217;ll be proven wrong.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em>Bookmark:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.samsworldofno.com/2009/08/26/forget-the-technology-is-the-very-idea-of-twitter-scalable/&amp;title=Forget+the+technology+%26%238211%3B+is+the+very+idea+of+Twitter+scalable%3F" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Del.icio.us"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Del.icio.us" alt="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.samsworldofno.com/2009/08/26/forget-the-technology-is-the-very-idea-of-twitter-scalable/&amp;title=Forget+the+technology+%26%238211%3B+is+the+very+idea+of+Twitter+scalable%3F" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to digg"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to digg" alt="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.samsworldofno.com/2009/08/26/forget-the-technology-is-the-very-idea-of-twitter-scalable/&amp;title=Forget+the+technology+%26%238211%3B+is+the+very+idea+of+Twitter+scalable%3F" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to reddit"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to reddit" alt="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.samsworldofno.com/2009/08/26/forget-the-technology-is-the-very-idea-of-twitter-scalable/" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Technorati"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Technorati" alt="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.samsworldofno.com/2009/08/26/forget-the-technology-is-the-very-idea-of-twitter-scalable/&amp;title=Forget+the+technology+%26%238211%3B+is+the+very+idea+of+Twitter+scalable%3F&amp;description=Forget+the+technology+%26%238211%3B+is+the+very+idea+of+Twitter+scalable%3F" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Ma.gnolia"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/magnolia.png" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Ma.gnolia" alt="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Ma.gnolia" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.samsworldofno.com/2009/08/26/forget-the-technology-is-the-very-idea-of-twitter-scalable/&amp;title=Forget+the+technology+%26%238211%3B+is+the+very+idea+of+Twitter+scalable%3F" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Stumble Upon"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Stumble Upon" alt="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.samsworldofno.com/2009/08/26/forget-the-technology-is-the-very-idea-of-twitter-scalable/&amp;title=Forget+the+technology+%26%238211%3B+is+the+very+idea+of+Twitter+scalable%3F" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Google Bookmarks"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Google Bookmarks" alt="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.samsworldofno.com/2009/08/26/forget-the-technology-is-the-very-idea-of-twitter-scalable/" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Bloglines"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/bloglines.png" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Bloglines" alt="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to Bloglines" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.samsworldofno.com/2009/08/26/forget-the-technology-is-the-very-idea-of-twitter-scalable/" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to FaceBook"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to FaceBook" alt="Add 'Forget the technology &#8211; is the very idea of Twitter scalable?' to FaceBook" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.samsworldofno.com/2009/08/26/forget-the-technology-is-the-very-idea-of-twitter-scalable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Going back to paper as a task collection system</title>
		<link>http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/</link>
		<comments>http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 23:18:42 +0000</pubDate>
		<dc:creator>Sam Phillips</dc:creator>
				<category><![CDATA[Sam]]></category>

		<guid isPermaLink="false">http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/</guid>
		<description><![CDATA[Lately I find myself using a lot of paper at work &#8211; this is partly because a new PM at a client produces a lot of the stuff and partly because I fancied a change from a lot of notes on computer/iPhone. Let&#8217;s face it, there&#8217;s not a whole lot more usable than a pen [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I find myself using a lot of paper at work &#8211; this is partly because a new PM at a client produces a <em>lot</em> of the stuff and partly because I fancied a change from a lot of notes on computer/iPhone. Let&#8217;s face it, there&#8217;s not a whole lot more usable than a pen and paper.</p>
<p>Previously I have spurned pen and paper because it feels very messy and can be difficult to keep track of. All of a sudden your centralised task list is split over various scraps of whatever you could lay your hands on at a particular moment, and my <a href="http://www.backpackit.com">Backpack</a> isn&#8217;t seeing the stuff it should be.</p>
<p>My new solution is unbelievably simple but still seems to have turned a few heads.</p>
<ol>
<li>On any piece of paper, anywhere (spec document, chart, graph, list of tasks), draw an empty circle next to any &#8216;actionable&#8217; item. What do I mean by &#8216;actionable&#8217;? I mean <em>anything that you would miss if this piece of paper was lost</em>. A lot of notes you make you will never read again; they are just to help you think. For everything that you need to do something on, draw a circle.</li>
<li>Once the item next to the circle has either been completed or graduated to another list, fill in the cirle.</li>
</ol>
<p>Yep, that&#8217;s it. This means that any piece of paper I may have on my person may have these little circles on them. Once I&#8217;m done reading a particular document, or I&#8217;m back at my desk, I complete the tasks I can (in five minutes or less, GTD style), and graduate any items that can&#8217;t to <a href="http://www.backpackit.com">Backpack</a>. Once the paper has no empty circles, file it or (better) throw it.</p>
<p>This idea is not new by any stretch, and it&#8217;s certainly not anything clever, but it does help me keep things in order. The key to it really is the graduation. If you force yourself to keep all pieces of paper with a pending task or piece of information floating around (most likely on your desk), you will quickly go mad.</p>
<p>The other key is to have a &#8216;buck stops here&#8217; list &#8211; that&#8217;s what Backpack is perfect for. Its email dropboxes also mean you can add stuff directly to this last-stop list easily. For me, the best thing about the dropboxes is that I can send tasks straight from my phone. This means that whilst I lay awake at night remembering all the stuff I need to do, I can send off a series of emails and turn my mind to other things like going to sleep.</p>
<p>Who knows, maybe Backpack is helping my insomnia!</p>
<p>Oh, and do yourself a favour when trying the pen and paper system &#8211; buy a nice pen, nice paper and instigate a recycling bin under your desk.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em>Bookmark:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/&amp;title=Going+back+to+paper+as+a+task+collection+system" title="Add 'Going back to paper as a task collection system' to Del.icio.us"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'Going back to paper as a task collection system' to Del.icio.us" alt="Add 'Going back to paper as a task collection system' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/&amp;title=Going+back+to+paper+as+a+task+collection+system" title="Add 'Going back to paper as a task collection system' to digg"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Going back to paper as a task collection system' to digg" alt="Add 'Going back to paper as a task collection system' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/&amp;title=Going+back+to+paper+as+a+task+collection+system" title="Add 'Going back to paper as a task collection system' to reddit"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'Going back to paper as a task collection system' to reddit" alt="Add 'Going back to paper as a task collection system' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/" title="Add 'Going back to paper as a task collection system' to Technorati"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'Going back to paper as a task collection system' to Technorati" alt="Add 'Going back to paper as a task collection system' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/&amp;title=Going+back+to+paper+as+a+task+collection+system&amp;description=Going+back+to+paper+as+a+task+collection+system" title="Add 'Going back to paper as a task collection system' to Ma.gnolia"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/magnolia.png" title="Add 'Going back to paper as a task collection system' to Ma.gnolia" alt="Add 'Going back to paper as a task collection system' to Ma.gnolia" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/&amp;title=Going+back+to+paper+as+a+task+collection+system" title="Add 'Going back to paper as a task collection system' to Stumble Upon"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Going back to paper as a task collection system' to Stumble Upon" alt="Add 'Going back to paper as a task collection system' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/&amp;title=Going+back+to+paper+as+a+task+collection+system" title="Add 'Going back to paper as a task collection system' to Google Bookmarks"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'Going back to paper as a task collection system' to Google Bookmarks" alt="Add 'Going back to paper as a task collection system' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/" title="Add 'Going back to paper as a task collection system' to Bloglines"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/bloglines.png" title="Add 'Going back to paper as a task collection system' to Bloglines" alt="Add 'Going back to paper as a task collection system' to Bloglines" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/" title="Add 'Going back to paper as a task collection system' to FaceBook"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'Going back to paper as a task collection system' to FaceBook" alt="Add 'Going back to paper as a task collection system' to FaceBook" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.samsworldofno.com/2009/03/22/going-back-to-paper-as-a-task-collection-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update Facebook status from Twitter</title>
		<link>http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/</link>
		<comments>http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 20:17:32 +0000</pubDate>
		<dc:creator>Sam Phillips</dc:creator>
				<category><![CDATA[Sam]]></category>

		<guid isPermaLink="false">http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/</guid>
		<description><![CDATA[This is under the category of &#8216;useful stuff I&#8217;ve found which might save someone else some googling&#8217;:

Log in to Facebook
Add the Twitter Facebook App
Register your Twitter account with said app
Click &#8216;Allow Twitter to update your Facebook status&#8217;
Click yes to Vista-esque security settings to allow Twitter access to your Facebook status

Done!
Should you later want to stop [...]]]></description>
			<content:encoded><![CDATA[<p>This is under the category of &#8216;useful stuff I&#8217;ve found which might save someone else some googling&#8217;:
<ol>
<li>Log in to Facebook</li>
<li>Add the Twitter Facebook App</li>
<li>Register your Twitter account with said app</li>
<li>Click &#8216;Allow Twitter to update your Facebook status&#8217;</li>
<li>Click yes to Vista-esque security settings to allow Twitter access to your Facebook status</li>
</ol>
<p>Done!</p>
<p>Should you later want to stop Twitter updating your Facebook status:
<ol>
<li>In Facebook, hover over &#8216;Settings&#8217; and choose &#8216;Twitter Settings&#8217; from the menu</li>
<li>Click on &#8216;Additional Permissions&#8217;</li>
<li>Uncheck &#8216;Update my status without notifying me.&#8217;</li>
</ol>
<p>NB: Apparently @reply tweets won&#8217;t turn up. Probably for the best; they wouldn&#8217;t make a whole lot of sense!</p>
<p>Anybody else think that with all the @, # and RT: syntax, Twitter is turning into an obfuscated language of its own? It reminds me of the weird format we used to have to send to roaming GPS boxes, back when I worked on a <a href="http://www.trackyou.co.uk">project</a> that involved involved such things, and debugging problems with the message syntax got really quite difficult!</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em>Bookmark:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/&amp;title=Update+Facebook+status+from+Twitter" title="Add 'Update Facebook status from Twitter' to Del.icio.us"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'Update Facebook status from Twitter' to Del.icio.us" alt="Add 'Update Facebook status from Twitter' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/&amp;title=Update+Facebook+status+from+Twitter" title="Add 'Update Facebook status from Twitter' to digg"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Update Facebook status from Twitter' to digg" alt="Add 'Update Facebook status from Twitter' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/&amp;title=Update+Facebook+status+from+Twitter" title="Add 'Update Facebook status from Twitter' to reddit"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'Update Facebook status from Twitter' to reddit" alt="Add 'Update Facebook status from Twitter' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/" title="Add 'Update Facebook status from Twitter' to Technorati"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'Update Facebook status from Twitter' to Technorati" alt="Add 'Update Facebook status from Twitter' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/&amp;title=Update+Facebook+status+from+Twitter&amp;description=Update+Facebook+status+from+Twitter" title="Add 'Update Facebook status from Twitter' to Ma.gnolia"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/magnolia.png" title="Add 'Update Facebook status from Twitter' to Ma.gnolia" alt="Add 'Update Facebook status from Twitter' to Ma.gnolia" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/&amp;title=Update+Facebook+status+from+Twitter" title="Add 'Update Facebook status from Twitter' to Stumble Upon"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Update Facebook status from Twitter' to Stumble Upon" alt="Add 'Update Facebook status from Twitter' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/&amp;title=Update+Facebook+status+from+Twitter" title="Add 'Update Facebook status from Twitter' to Google Bookmarks"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'Update Facebook status from Twitter' to Google Bookmarks" alt="Add 'Update Facebook status from Twitter' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/" title="Add 'Update Facebook status from Twitter' to Bloglines"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/bloglines.png" title="Add 'Update Facebook status from Twitter' to Bloglines" alt="Add 'Update Facebook status from Twitter' to Bloglines" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/" title="Add 'Update Facebook status from Twitter' to FaceBook"><img src="http://www.samsworldofno.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'Update Facebook status from Twitter' to FaceBook" alt="Add 'Update Facebook status from Twitter' to FaceBook" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.samsworldofno.com/2009/02/21/update-facebook-status-from-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
