<?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>bdunagan &#187; random</title>
	<atom:link href="http://www.bdunagan.com/category/random/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bdunagan.com</link>
	<description>fill the void</description>
	<lastBuildDate>Thu, 15 Dec 2011 14:04:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Converting MySQL from LATIN1 to UTF8</title>
		<link>http://www.bdunagan.com/2011/09/29/converting-mysql-from-latin1-to-utf8/</link>
		<comments>http://www.bdunagan.com/2011/09/29/converting-mysql-from-latin1-to-utf8/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 12:33:20 +0000</pubDate>
		<dc:creator>bdunagan</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.bdunagan.com/?p=1662</guid>
		<description><![CDATA[MySQL defaults to &#8220;latin1&#8243; as its character set, but at some point, most people want to migrate to &#8220;utf8&#8243;. I realize that there are dozens of posts about how people handled this, and yet, not a single one of those worked completely for me. I wanted MySQL to use &#8220;utf8&#8243; for the character set and [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float:left; padding:10px 10px 10px 0px;" src="http://bdunagan.com/files/mysql.png"/></p>
<p>
MySQL defaults to &#8220;latin1&#8243; as its character set, but at some point, most people want to migrate to &#8220;utf8&#8243;. I realize that there are dozens of posts about how people handled this, and yet, not a single one of those worked completely for me.
</p>
<p>
I wanted MySQL to use &#8220;utf8&#8243; for the character set and &#8220;utf8_unicode_ci&#8221; (not &#8220;utf8_general_ci&#8221;) for the collation, and I wanted it all to work on RDS with ActiveRecord on Rails and Rack.
</p>
<p>
Here are my steps:
</p>
<ol>
<li>use <tt>mysqldump</tt> to extract the old data as &#8220;latin1&#8243;</li>
<li>use <tt>sed</tt> to replace &#8220;latin1&#8243; with &#8220;utf8&#8243; in the dump file</li>
<li>create the new database with the right parameters: <tt>character set utf8 collate utf8_unicode_ci</tt></li>
<li>use <tt>mysql --default-character-set=utf8</tt> to pipe the converted dump into the new database</li>
</ol>
<p>
Here is my code:
</p>
<pre class="brush: plain; title: ; notranslate">
# Dump the old database as latin1, because ironically, mysqldump defaults to utf8.
mysqldump --default-character-set=latin1 db &gt; db.dump

# If you need to convert a MySQL dump from one character set to another, use iconv.
iconv -f LATIN1 -t UTF-8 &lt; db.dump &gt; db.dump

# If you've been running mysqldump without parameters on a latin1 instance, you can convert the dump from UTF8 to latin1 to correct it.
iconv -f UTF-8 -t LATIN1 &lt; db.dump &gt; db.dump

# Rewrite the dump to say 'utf8' and 'utf8_unicode_ci' in all the right places.
sed -e 's/SET NAMES latin1/SET NAMES utf8/g' -i db.dump
sed -e 's/CHARSET=latin1/CHARSET=utf8 COLLATE=utf8_unicode_ci/g' -i db.dump

# Create a new database with the correct parameters.
create database db character set utf8 collate utf8_unicode_ci;
# Verify it.
show create database db;

# Pipe the converted database dump into MySQL.
mysql -h hostname --default-character-set=utf8 -u root -p db &lt; db.dump
</pre>
<p>
To verify the character set and collation, you can always query the MySQL variables:
</p>
<pre class="brush: plain; title: ; notranslate">
show variables like 'collation%';
show variables like 'character%';
</pre>
<h3>Amazon RDS</h3>
<p>
For those using Amazon&#8217;s AWS RDS for their MySQL instance, you have to create a parameter group with &#8220;utf8&#8243; values. I&#8217;d guess you could just modify the current parameter group then apply it, but I haven&#8217;t verified that.
</p>
<pre class="brush: plain; title: ; notranslate">
# Create a parameter group.
rds-create-db-parameter-group utf8 -e mysql5.1 -d utf8

# Modify the parameter group's values
rds-modify-db-parameter-group utf8 \
    --parameters=&quot;name=character_set_server, value=utf8, method=immediate&quot; \
    --parameters=&quot;name=character_set_client, value=utf8, method=immediate&quot; \
    --parameters=&quot;name=character_set_results,value=utf8,method=immediate&quot; \
    --parameters=&quot;name=collation_server, value=utf8_unicode_ci, method=immediate&quot; \
    --parameters=&quot;name=collation_connection, value=utf8_unicode_ci, method=immediate&quot;

# Check the parameter group's values.
rds-describe-db-parameters utf8 --source=User

# Push this new parameter group to your instance.
rds-modify-db-instance rds-db --db-parameter-group-name utf8

# Reboot the instance (necessary: http://aws.amazon.com/articles/Amazon-RDS/2935).
rds-reboot-db-instance rds-db
</pre>
<h3>ActiveRecord in Rails and Rack</h3>
<p>
ActiveRecord supports an <tt>:encoding</tt> option in its <a href="http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/MysqlAdapter.html">parameters</a> for <tt>ActiveRecord::Base.establish_connection</tt>. The option tells the connection to execute <tt>SET NAMES</tt> as soon as the connection is established, thereby telling the server what the character set the client wants.
</p>
<p>
However, I also wanted to specify the collation. When I added <tt>:encoding</tt> to <tt>ActiveRecord::Base.establish_connection</tt>, <tt>collation_connection</tt> (from the MySQL variables, not <tt>connection.collation</tt>) remained as &#8220;utf8_general_ci&#8221;. Some people have indicated that you can specify <tt>:collation</tt> in <tt>database.yml</tt> for the <tt>establish_connection</tt> call, but that never worked for me. I think <a href="http://bugs.mysql.com/bug.php?id=34980">MySQL bug #34980</a> prevented it. Others indicated that you can simply add <tt>ActiveRecord::Base.connection.execute("set collation_connection='utf8_unicode_ci'")</tt> at the bottom of <tt>environment.rb</tt> for Rails; that also never worked for me. To specify the collation in Rails, I used a <tt>before_filter</tt> in <tt>application_controller.rb</tt>. See my code below.
</p>
<pre class="brush: plain; title: ; notranslate">
# Rack: add a statement right after establishing the connection.
ActiveRecord::Base.establish_connection(
  :adapter  =&gt; &quot;mysql&quot;,
  :host     =&gt; &quot;host&quot;,
  :username =&gt; &quot;username&quot;,
  :password =&gt; &quot;password&quot;,
  :database =&gt; &quot;database&quot;,
  :encoding =&gt; &quot;utf8&quot;,
  :reconnect =&gt; true
)
ActiveRecord::Base.connection.execute(&quot;SET collation_connection='utf8_unicode_ci'&quot;);

# Rails: add a before_filter in application_controller.rb
before_filter :set_database_collation
def set_database_collation
  ActiveRecord::Base.connection.execute(&quot;set collation_connection='utf8_unicode_ci'&quot;)
end
</pre>
<h3>Pointers</h3>
<p>
I pieced my steps together from the following helpful links:
</p>
<ul>
<li><a href="http://blog.grayproductions.net/articles/encoding_conversion_with_iconv">iconv</a></li>
<li><a href="http://matthew.mceachen.us/blog/howto-configure-an-amazon-rds-instance-to-use-utf-8-925.html">UTF8 on RDS</a></li>
<li><a href="https://forums.aws.amazon.com/thread.jspa?messageID=263226">Official AWS steps</a></li>
<li><a href="http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html">Derek Sivers converting CD Baby</a></li>
<li><a href="https://gist.github.com/1084682/07aace379ad224de9b1db78611e834321b2ed636">RDS Parameter group</a></li>
<li><a href="http://stackoverflow.com/questions/279170/utf-8-all-the-way-through">UTF8 through the stack</a></li>
<li><a href="http://word.wardosworld.com/?p=164">UTF8 with Rails</a></li>
<li><a href="http://www.bluebox.net/news/2009/07/mysql_encoding">Character Hell in MySQL</a></li>
<li><a href="http://dev.mysql.com/doc/refman/5.0/en/charset-general.html">MySQL character set</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bdunagan.com/2011/09/29/converting-mysql-from-latin1-to-utf8/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Server Tip: Better SSH Timeouts</title>
		<link>http://www.bdunagan.com/2011/09/07/server-tip-better-ssh-timeouts/</link>
		<comments>http://www.bdunagan.com/2011/09/07/server-tip-better-ssh-timeouts/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 11:45:58 +0000</pubDate>
		<dc:creator>bdunagan</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.bdunagan.com/?p=1627</guid>
		<description><![CDATA[I recently had an issue with my SSH connections timing out quickly. At Starbucks, I had no issues, but at home, the connection timed out faster than usual. First, I wanted to see how fast, so I wrote a short bash script that sleeps for increasing periods of time. I found that the connection timed [...]]]></description>
			<content:encoded><![CDATA[<p>I recently had an issue with my SSH connections timing out quickly. At Starbucks, I had no issues, but at home, the connection timed out faster than usual.</p>
<p>First, I wanted to see how fast, so I wrote a short bash script that sleeps for increasing periods of time. I found that the connection timed out after five minutes.</p>
<pre class="brush: plain; title: ; notranslate">
let time=0
while true; do
  let time=time+10
  echo timeout is $time seconds
  sleep $time
done
</pre>
<p>I tried creating a <tt>~/.ssh/config</tt> file and telling the connection to stay alive: <tt>TCPKeepAlive yes</tt>. No luck, because the default time period is two hours.</p>
<p>Instead, I ignored the TCP connection&#8217;s state and told the SSH client to send a null packet every twenty seconds to <a href="http://www.openssh.org/faq.html#2.12">keep the connection alive</a>. The SSH client times out if it doesn&#8217;t receive a server response after ten packets.</p>
<pre class="brush: plain; title: ; notranslate">
# ~/.ssh/config
TCPKeepAlive no
ServerAliveInterval 20
ServerAliveCountMax 10
</pre>
<p>Thanks to <a href="http://andy.wordpress.com/2008/05/16/prevent-ssh-timeouts-disable-keepalive/">Andy Skelton for making this tidbit googleable</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdunagan.com/2011/09/07/server-tip-better-ssh-timeouts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developer Tip: Remap Caps Lock to Command (⌘)</title>
		<link>http://www.bdunagan.com/2011/06/28/developer-tip-remap-caps-lock-to-command-%e2%8c%98/</link>
		<comments>http://www.bdunagan.com/2011/06/28/developer-tip-remap-caps-lock-to-command-%e2%8c%98/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 09:39:08 +0000</pubDate>
		<dc:creator>bdunagan</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.bdunagan.com/?p=1441</guid>
		<description><![CDATA[Apple makes it easy to remap certain keys. The left Command key on my MacBook Pro&#8217;s keyboard never worked well ergonomically, so I remapped the Caps Lock (⇪) key to Command (⌘). I&#8217;ve been happy with it ever since. Frankly, I physically removed the left Command key after that to prevent my muscle memory from [...]]]></description>
			<content:encoded><![CDATA[<p>
Apple makes it easy to remap certain keys. The left Command key on my MacBook Pro&#8217;s keyboard never worked well ergonomically, so I remapped the Caps Lock (⇪) key to Command (⌘). I&#8217;ve been happy with it ever since.
</p>
<p>
Frankly, I physically removed the left Command key after that to prevent my muscle memory from using it. That worked quite well.
</p>
<p><a class="single_image" href="http://bdunagan.com/files/remap.capslock.png"><img src="http://bdunagan.com/files/remap.capslock.thumb.png"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdunagan.com/2011/06/28/developer-tip-remap-caps-lock-to-command-%e2%8c%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server Tip: preserve the user environment</title>
		<link>http://www.bdunagan.com/2011/06/20/server-tip-preserve-the-user-environment/</link>
		<comments>http://www.bdunagan.com/2011/06/20/server-tip-preserve-the-user-environment/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 13:05:04 +0000</pubDate>
		<dc:creator>bdunagan</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.bdunagan.com/?p=1434</guid>
		<description><![CDATA[crontab and sudo don&#8217;t preserve the user environment by default. Here are ways to fix that:]]></description>
			<content:encoded><![CDATA[<p>
<tt>crontab</tt> and <tt>sudo</tt> don&#8217;t preserve the user environment by default. Here are ways to fix that:
</p>
<pre class="brush: plain; title: ; notranslate">
# crontab allows variables.
PATH=/home/user/.gems/bin:/usr/local/bin:/usr/bin:/bin
GEM_PATH=/home/user/.gems:/usr/lib/ruby/gems/1.8
@hourly sh -c '/usr/bin/ruby /home/user/script.rb'

# sudo can preserve the environment with '-E'.
sudo -E ruby /home/user/script.rb
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bdunagan.com/2011/06/20/server-tip-preserve-the-user-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Obligatory iPad Post</title>
		<link>http://www.bdunagan.com/2010/02/11/obligatory-ipad-post/</link>
		<comments>http://www.bdunagan.com/2010/02/11/obligatory-ipad-post/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 08:01:43 +0000</pubDate>
		<dc:creator>bdunagan</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.bdunagan.com/?p=582</guid>
		<description><![CDATA[&#8220;When the Mac first came out, Newsweek asked me what I [thought] of it. I said: Well, it’s the first personal computer worth criticizing. So at the end of the presentation, Steve came up to me and said: Is the iPhone worth criticizing? And I said: Make the screen five inches by eight inches, and [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;When the Mac first came out, Newsweek asked me what I [thought] of it. I said: Well, it’s the first personal computer worth criticizing. So at the end of the presentation, Steve came up to me and said: Is the iPhone worth criticizing? And I said: Make the screen five inches by eight inches, and you’ll rule the world.”<br />
- <a href="http://gigaom.com/2010/01/26/alan-kay-with-the-tablet-apple-will-rule-the-world/">Alan Kay in 2007</a></p>
<p>&#8220;Nothing about the iPad is obviously revolutionary, but it didn’t need to be: the iPhone OS and iPhone hardware are already revolutionary.</p>
<p>Apple already reinvented John’s mobile computing and my input mechanics and novice usability in 2007 with the iPhone. We’ve had the truly magical and revolutionary product this entire time, but we take it for granted now, and we’ve forgotten how awesome it already is.&#8221;<br />
- <a href="http://www.marco.org/358002061">Marco Arment from Tumblr and Instapaper</a></p>
<p>&#8220;The iPad as a particular device is not necessarily the future of computing. But as an ideology, I think it just might be. In hindsight, I think arguments over &#8216;why would I buy this if I already have a phone and a laptop?&#8217; are going to seem as silly as &#8216;why would I buy an iPod if it has less space than a Nomad?&#8217;&#8221;<br />
- <a href="http://stevenf.tumblr.com/post/359224392/i-need-to-talk-to-you-about-computers-ive-been">Steven Frank from Panic</a></p>
<p>Not exactly filling the void with an iPad post, particularly one that&#8217;s two weeks late to the party and starts with what smarter people have already said. I blame <a href="http://culturedcode.com/things/">Things</a> for not being more insistent.</p>
<p>I agree that Apple&#8217;s iPad is the next step in computing: simplified computing. Yes, it has its shortcomings (inherent to a 1.0 release, which the iPhone had only <a href="http://news.google.com/archivesearch?q=iphone&#038;scoring=a&#038;hl=en&#038;ned=us&#038;um=1&#038;sa=N&#038;sugg=d&#038;as_ldate=2007/01&#038;as_hdate=2007/01&#038;lnav=hist0">three years ago</a>), but it keeps with the design decisions that made the iPhone/iPod Touch ridiculously popular.</p>
<p>To illustrate the need, let me tell you about the &#8220;Check disc&#8221; incident. Over Christmas, my Dad subscribed to the New York Times Crossword Puzzle. The NYT doesn&#8217;t have an online puzzle component, so he had to download Across Lite, a third party Windows app. He called me after using it for a couple days about a &#8220;disc&#8221; issue. Whenever he tried to save the day&#8217;s puzzle, the app displayed, &#8220;Cannot write to file. Check disc.&#8221; It was such a weird error that I wanted to see it for myself. With VMWare Fusion on my Mac, I installed Across Lite and got the same error within a minute. I didn&#8217;t actually figure out what the problem was (read-only directory?); instead, I simply told my Dad how to use the &#8220;Save As&#8230;&#8221; option to save the puzzle to the Desktop. Problem solved. </p>
<p>But the larger problem is not solved. The incident is a perfect example of the abstraction problems that current computing environments have. They want to deal in apps and documents and photos, but they still break these abstractions daily. Windows gives me app shortcuts available from the Start menu, but those are a mediocre hack to abstract away the monstrous Program Files folder. Mac apps are nicely treated as atomic objects (even though they are folders), but people still run them out of read-only DMGs, leading to equally confusing error messages. All these semi-porous abstractions lead to a lot of unnecessary confusion.</p>
<p>The iPhone OS enforces the abstraction to a much better degree, and we&#8217;ve seen the results: over two billion apps downloaded on seventy million devices in eighteen months. All these little apps are islands of data, a per-app version of the Newton&#8217;s <a href="http://en.wikipedia.org/wiki/Newton_%28platform%29">data soup</a> platform. The iPad simply extends this OS to a larger surface.</p>
<p>I want one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdunagan.com/2010/02/11/obligatory-ipad-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone WordPress Theme with WPtouch</title>
		<link>http://www.bdunagan.com/2009/11/18/iphone-wordpress-theme-with-wptouch/</link>
		<comments>http://www.bdunagan.com/2009/11/18/iphone-wordpress-theme-with-wptouch/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 06:02:07 +0000</pubDate>
		<dc:creator>bdunagan</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.bdunagan.com/?p=473</guid>
		<description><![CDATA[A couple months ago, I was using Safari on my iPhone when I came across a blog with an amazing iPhone theme. It had a nice UITableView feel, with badges for comment counts and even an on/off switch at the bottom. And right below that, it said, &#8220;Powered by WordPress with WPtouch&#8221;. I thought, &#8220;Man, [...]]]></description>
			<content:encoded><![CDATA[<p>
A couple months ago, I was using Safari on my iPhone when I came across a blog with an amazing iPhone theme. It had a nice <tt>UITableView</tt> feel, with badges for comment counts and even an on/off switch at the bottom. And right below that, it said, &#8220;Powered by WordPress with WPtouch&#8221;. I thought, &#8220;Man, need to get me some of that.&#8221;
</p>
<p>
<a href="http://www.bravenewcode.com/wptouch/">WPtouch</a> is very simple to install and instantly turned my blog into an iPhone app on Mobile Safari. Check out the Photos screenshot. It uses the flickRSS plugin to generate a Photos page. Really neat. And, it&#8217;s free!
</p>
<p><img style="padding:5px;" src="/files/wptouch_home.png"/><br />
<img style="padding:5px;" src="/files/wptouch_post.png"/><br />
<img style="padding:5px;" src="/files/wptouch_photos.png"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdunagan.com/2009/11/18/iphone-wordpress-theme-with-wptouch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Icons, Iterated</title>
		<link>http://www.bdunagan.com/2009/09/24/icons-iterated/</link>
		<comments>http://www.bdunagan.com/2009/09/24/icons-iterated/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 05:58:05 +0000</pubDate>
		<dc:creator>bdunagan</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.bdunagan.com/?p=326</guid>
		<description><![CDATA[iStockPhoto is awesome. I updated the blog icons just now with a great set from iStockPhoto: Satin Icons from scottdunlap. Very vibrant and clean. I love all of his icons. I couldn&#8217;t find a LinkedIn icon on the site, so I googled around and came across IconsPedia. A user there, Quaqe9, posted a huge set [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://www.istockphoto">iStockPhoto</a> is awesome. I updated the blog icons just now with a great set from iStockPhoto: <a href="http://www.istockphoto.com/stock-illustration-9834110-satin-icons-blog-social-media.php">Satin Icons</a> from <a href="http://www.istockphoto.com/user_view.php?id=245060">scottdunlap</a>. Very vibrant and clean. I love all of his icons. I couldn&#8217;t find a LinkedIn icon on the site, so I googled around and came across <a href="http://www.iconspedia.com">IconsPedia</a>. A user there, Quaqe9, posted a huge set of social media icons, <a href="http://www.iconspedia.com/icon/linkedin-4221.html">LinkedIn</a> among them. If you&#8217;re at all dissatisfied with your icons, definitely check out iStockPhoto; there is a lot of fantastic work there, but pay attention to the license agreement if it&#8217;s for a commercial product.
</p>
<p>
I&#8217;m pretty happy with the iteration.
</p>
<p><img src="/files/icons_iterated.png"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdunagan.com/2009/09/24/icons-iterated/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Filter Failure</title>
		<link>http://www.bdunagan.com/2008/10/04/filter-failure/</link>
		<comments>http://www.bdunagan.com/2008/10/04/filter-failure/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 04:12:43 +0000</pubDate>
		<dc:creator>bdunagan</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.bdunagan.com/?p=71</guid>
		<description><![CDATA[Clay Shirky gave an excellent talk at the 2008 Web 2.0 Expo NY entitled &#8220;It&#8217;s Not Information Overload. It&#8217;s Filter Failure.&#8221; Referring to the world before the internet, he said, &#8220;the inefficieny of information flow wasn&#8217;t a bug. It was a feature.&#8221; We can all relate to the feeling of information overload, but Shirky gave [...]]]></description>
			<content:encoded><![CDATA[<p>Clay Shirky gave an excellent talk at the 2008 Web 2.0 Expo NY entitled <a href="http://web2expo.blip.tv/file/1277460/">&#8220;It&#8217;s Not Information Overload. It&#8217;s Filter Failure.&#8221;</a> Referring to the world before the internet, he said, &#8220;the inefficieny of information flow wasn&#8217;t a bug. It was a feature.&#8221; We can all relate to the feeling of information overload, but Shirky gave a compelling argument that we&#8217;ve always had to deal with information overload. The problem is the filters we used to rely on are structurally broken for the current era of overload.</p>
<p>Aaron Johnson <a href="http://cephas.net/blog/2008/08/17/distilling-data-vs-harvesting-data/">posted</a> a great analogy: &#8220;We need better distilleries, not better harvesters.&#8221; It&#8217;s simple to collect more information; we&#8217;ve gotten very good at that. The next step is distilling that information down into something easily consumable. That&#8217;s where companies like <a href="http://friendfeed.com/">FriendFeed</a> (for RSS feeds) and <a href="http://www.xobni.com/">Xobni</a> (for email) come in. They&#8217;re trying to solve the problem of filtering. How do we want email prioritized? How do we see the most important items first? While those guys refine their filtering systems, the best solution is to just ask yourself, &#8220;What do I actually care about?&#8221; and let the rest go. At least that&#8217;s what I tell myself when I stare at the 173 feeds in my Google Reader.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdunagan.com/2008/10/04/filter-failure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Atomic Transactions</title>
		<link>http://www.bdunagan.com/2008/09/15/atomic-transactions/</link>
		<comments>http://www.bdunagan.com/2008/09/15/atomic-transactions/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 05:15:24 +0000</pubDate>
		<dc:creator>bdunagan</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.bdunagan.com/blog/?p=49</guid>
		<description><![CDATA[I went to the gas station yesterday to fill up my car. It was the normal routine until I squeezed the pump handle and nothing happened. I tried it again, took the pump out, put it back in, squeezed. Nothing. After half a minute of this, the machine beeped and asked if I&#8217;d like my [...]]]></description>
			<content:encoded><![CDATA[<p>I went to the gas station yesterday to fill up my car. It was the normal routine until I squeezed the pump handle and nothing happened. I tried it again, took the pump out, put it back in, squeezed. Nothing. After half a minute of this, the machine beeped and asked if I&#8217;d like my receipt. I said yes. It had charged my card $82, the amount the last person at the pump had paid.</p>
<p>I spent five minutes with the woman behind the gas station register, going back and forth about what exactly I did. Finally, she looked at my receipt and looked at her printout of credit card charges. No match. The gas pump machine had given me a receipt, but it hadn&#8217;t actually charged my card. I had no idea those two processes weren&#8217;t an atomic transaction.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdunagan.com/2008/09/15/atomic-transactions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fill the void</title>
		<link>http://www.bdunagan.com/2008/08/17/fill-the-void/</link>
		<comments>http://www.bdunagan.com/2008/08/17/fill-the-void/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 05:08:40 +0000</pubDate>
		<dc:creator>bdunagan</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.bdunagan.com/blog/?p=3</guid>
		<description><![CDATA[I worked on a campus magazine, Counterpoint, in college. While brainstorming ideas for a fundraiser, I came up with shotglasses with &#8220;fill the void&#8221; written across them. It seemed like an appropriate title for a blog. There are a lot of great blogs already, but they don&#8217;t cover everything; I&#8217;d like to fill the void.]]></description>
			<content:encoded><![CDATA[<p>I worked on a campus magazine, <a href="http://counterpoint.mit.edu">Counterpoint</a>, in college. While brainstorming ideas for a fundraiser, I came up with shotglasses with &#8220;fill the void&#8221; written across them. It seemed like an appropriate title for a blog. There are a lot of great blogs already, but they don&#8217;t cover everything; I&#8217;d like to fill the void.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bdunagan.com/2008/08/17/fill-the-void/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

