<?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>beer planet &#187; MySQL</title> <atom:link href="http://beerpla.net/tag/mysql/feed/" rel="self" type="application/rss+xml" /><link>http://beerpla.net</link> <description>where things have nothing to do with beer - tutorials, tips, how-tos, thoughts, hacks, and other techy nonsense</description> <lastBuildDate>Fri, 06 Jan 2012 08:50:59 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <atom:link rel='hub' href='http://beerpla.net/?pushpress=hub'/> <item><title>How To Diagnose And Fix Incorrect Post Comment Counts In WordPress</title><link>http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/</link> <comments>http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/#comments</comments> <pubDate>Sun, 21 Mar 2010 10:42:10 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Wordpress]]></category> <category><![CDATA[broken]]></category> <category><![CDATA[comment]]></category> <category><![CDATA[count]]></category> <category><![CDATA[database]]></category> <category><![CDATA[fix]]></category> <category><![CDATA[incorrect]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[query]]></category> <category><![CDATA[sql]]></category> <category><![CDATA[wp_comments]]></category> <category><![CDATA[wp_posts]]></category> <guid
isPermaLink="false">http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/</guid> <description><![CDATA[<p><img
style="margin: 0px 10px 10px 0px; display: inline" title="image" alt="image" align="left" src="http://beerpla.net/wp-content/uploads/517e9e45d3fa_2C92/image.png" width="222" height="189" /></p><h2>Introduction</h2><p>If your WordPress comment counts got messed up, whether because of a plugin (I&#039;m talking about you, DISQUS) or you messed with your database manually and did something wrong (yup, that&#039;s what I just did), fear not &#8211; I have a solution for you.</p><p>But first, a little background.</p><h2>Comment Counts In WordPress</h2><p>Here&#039;s how comment counts work in WP:</p><ul><li>Posts live in a table called <strong><em>wp_posts</em></strong> and each has an ID.</li><li>Comments reside in a table called <strong><em>wp_comments</em></strong>, each referring to an ID in wp_posts.</li><li>However, to make queries faster, the comment count is also cached in the wp_posts table, rather than getting calculated on every page load. <br
/>If this count ever gets out of</li></ul><p>...<div
class=clear></div> <a
href="http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p><img
style="margin: 0px 10px 10px 0px; display: inline" title="image" alt="image" align="left" src="http://beerpla.net/wp-content/uploads/517e9e45d3fa_2C92/image.png" width="222" height="189" /></p><h2>Introduction</h2><p>If your WordPress comment counts got messed up, whether because of a plugin (I&#039;m talking about you, DISQUS) or you messed with your database manually and did something wrong (yup, that&#039;s what I just did), fear not &#8211; I have a solution for you.</p><p>But first, a little background.</p><h2>Comment Counts In WordPress</h2><p>Here&#039;s how comment counts work in WP:</p><ul><li>Posts live in a table called <strong><em>wp_posts</em></strong> and each has an ID.</li><li>Comments reside in a table called <strong><em>wp_comments</em></strong>, each referring to an ID in wp_posts.</li><li>However, to make queries faster, the comment count is also cached in the wp_posts table, rather than getting calculated on every page load. <br
/>If this count ever gets out of sync with the actual number of comments for some reason, WordPress, while still displaying all comments properly, will simply show the wrong count.</li></ul><h2>How To Find Out Which Posts Are Out Of Sync</h2><p>Fire up a MySQL shell or your favorite MySQL software (mine is <a
href="http://www.navicat.com" rel="nofollow">Navicat</a>) and run this query.</p><p>It assumes your database is called <strong><em>wordpress</em></strong> and the prefix is <strong><em>wp_</em></strong>, so adjust those accordingly.</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td
class="code"><pre>SELECT wpp.id, wpp.post_title, wpp.comment_count, wpc.cnt
FROM wordpress.wp_posts wpp
LEFT JOIN
(SELECT comment_post_id AS c_post_id, count(*) AS cnt FROM wordpress.wp_comments
 WHERE comment_approved = 1 GROUP BY comment_post_id) wpc
ON wpp.id=wpc.c_post_id
WHERE wpp.post_type IN ('post', 'page')
      AND (wpp.comment_count!=wpc.cnt OR (wpp.comment_count != 0 AND wpc.cnt IS NULL));</pre></td></tr></table></div></p><p>The result of this query is a list of posts whose comment_counts differ from the actual number of comments associated with each of them.</p><p>The left count is the cached number, while the right one is the right one.</p><h2>How To Fix The Counts Automatically</h2><p><div
class="note"><div
class="notewarning">Please make a backup of your database before performing any altering queries such as the one below (I recommend mysqldump or the <a
href="http://lesterchan.net/wordpress/readme/wp-dbmanager.html" rel="nofollow">WP-DBManager plugin</a>).</div></div></p><p>The following query will recalculate and fix the comment counts for all posts that are out of sync (ones we just queried for above):</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td
class="code"><pre>UPDATE wordpress.wp_posts wpp
LEFT JOIN
(SELECT comment_post_id AS c_post_id, count(*) AS cnt FROM wordpress.wp_comments
 WHERE comment_approved = 1 GROUP BY comment_post_id) wpc
ON wpp.id=wpc.c_post_id
SET wpp.comment_count=wpc.cnt
WHERE wpp.post_type IN ('post', 'page')
      AND (wpp.comment_count!=wpc.cnt OR (wpp.comment_count != 0 AND wpc.cnt IS NULL));</pre></td></tr></table></div><p>I tested this approach on a few test cases but if you experience any problems, please do alert me in the comments and desribe your problem.</p><p>Happy WP hacking!</p><div
class='post_blob_1'>Online <a
href="http://www.test-king.com/exams/642-892.htm">642-892</a> training is the quickest way to pass <a
href="http://www.test-king.com/exams/642-642.htm">642-642</a> as well as <a
href="http://www.test-king.com/exams/640-863.htm">640-863</a> exams.</div><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Diagnose+And+Fix+Incorrect+Post+Comment+Counts+In+Wordpress&amp;link=http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/&amp;notes=%0D%0AIntroduction%0D%0AIf%20your%20Wordpress%20comment%20counts%20got%20messed%20up%2C%20whether%20because%20of%20a%20plugin%20%28I%27m%20talking%20about%20you%2C%20DISQUS%29%20or%20you%20messed%20with%20your%20database%20manually%20and%20did%20something%20wrong%20%28yup%2C%20that%27s%20what%20I%20just%20did%29%2C%20fear%20not%20-%20I%20have%20a%20solution%20for%20you.%0D%0ABut%20first%2C%20a%20little%20background.%0D%0AComment&amp;short_link=http://bit.ly/cYF2ks&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Diagnose+And+Fix+Incorrect+Post+Comment+Counts+In+Wordpress&amp;link=http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/&amp;notes=%0D%0AIntroduction%0D%0AIf%20your%20Wordpress%20comment%20counts%20got%20messed%20up%2C%20whether%20because%20of%20a%20plugin%20%28I%27m%20talking%20about%20you%2C%20DISQUS%29%20or%20you%20messed%20with%20your%20database%20manually%20and%20did%20something%20wrong%20%28yup%2C%20that%27s%20what%20I%20just%20did%29%2C%20fear%20not%20-%20I%20have%20a%20solution%20for%20you.%0D%0ABut%20first%2C%20a%20little%20background.%0D%0AComment&amp;short_link=http://bit.ly/cYF2ks&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Diagnose+And+Fix+Incorrect+Post+Comment+Counts+In+Wordpress&amp;link=http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/&amp;notes=%0D%0AIntroduction%0D%0AIf%20your%20Wordpress%20comment%20counts%20got%20messed%20up%2C%20whether%20because%20of%20a%20plugin%20%28I%27m%20talking%20about%20you%2C%20DISQUS%29%20or%20you%20messed%20with%20your%20database%20manually%20and%20did%20something%20wrong%20%28yup%2C%20that%27s%20what%20I%20just%20did%29%2C%20fear%20not%20-%20I%20have%20a%20solution%20for%20you.%0D%0ABut%20first%2C%20a%20little%20background.%0D%0AComment&amp;short_link=http://bit.ly/cYF2ks&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Diagnose+And+Fix+Incorrect+Post+Comment+Counts+In+Wordpress&amp;link=http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/&amp;notes=%0D%0AIntroduction%0D%0AIf%20your%20Wordpress%20comment%20counts%20got%20messed%20up%2C%20whether%20because%20of%20a%20plugin%20%28I%27m%20talking%20about%20you%2C%20DISQUS%29%20or%20you%20messed%20with%20your%20database%20manually%20and%20did%20something%20wrong%20%28yup%2C%20that%27s%20what%20I%20just%20did%29%2C%20fear%20not%20-%20I%20have%20a%20solution%20for%20you.%0D%0ABut%20first%2C%20a%20little%20background.%0D%0AComment&amp;short_link=http://bit.ly/cYF2ks&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Diagnose+And+Fix+Incorrect+Post+Comment+Counts+In+Wordpress&amp;link=http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/&amp;notes=%0D%0AIntroduction%0D%0AIf%20your%20Wordpress%20comment%20counts%20got%20messed%20up%2C%20whether%20because%20of%20a%20plugin%20%28I%27m%20talking%20about%20you%2C%20DISQUS%29%20or%20you%20messed%20with%20your%20database%20manually%20and%20did%20something%20wrong%20%28yup%2C%20that%27s%20what%20I%20just%20did%29%2C%20fear%20not%20-%20I%20have%20a%20solution%20for%20you.%0D%0ABut%20first%2C%20a%20little%20background.%0D%0AComment&amp;short_link=http://bit.ly/cYF2ks&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Diagnose+And+Fix+Incorrect+Post+Comment+Counts+In+Wordpress&amp;link=http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/&amp;notes=%0D%0AIntroduction%0D%0AIf%20your%20Wordpress%20comment%20counts%20got%20messed%20up%2C%20whether%20because%20of%20a%20plugin%20%28I%27m%20talking%20about%20you%2C%20DISQUS%29%20or%20you%20messed%20with%20your%20database%20manually%20and%20did%20something%20wrong%20%28yup%2C%20that%27s%20what%20I%20just%20did%29%2C%20fear%20not%20-%20I%20have%20a%20solution%20for%20you.%0D%0ABut%20first%2C%20a%20little%20background.%0D%0AComment&amp;short_link=http://bit.ly/cYF2ks&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Diagnose+And+Fix+Incorrect+Post+Comment+Counts+In+Wordpress&amp;link=http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/&amp;notes=%0D%0AIntroduction%0D%0AIf%20your%20Wordpress%20comment%20counts%20got%20messed%20up%2C%20whether%20because%20of%20a%20plugin%20%28I%27m%20talking%20about%20you%2C%20DISQUS%29%20or%20you%20messed%20with%20your%20database%20manually%20and%20did%20something%20wrong%20%28yup%2C%20that%27s%20what%20I%20just%20did%29%2C%20fear%20not%20-%20I%20have%20a%20solution%20for%20you.%0D%0ABut%20first%2C%20a%20little%20background.%0D%0AComment&amp;short_link=http://bit.ly/cYF2ks&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=How%20To%20Diagnose%20And%20Fix%20Incorrect%20Post%20Comment%20Counts%20In%20Wordpress&amp;link=http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/&amp;notes=%0D%0AIntroduction%0D%0AIf%20your%20Wordpress%20comment%20counts%20got%20messed%20up%2C%20whether%20because%20of%20a%20plugin%20%28I%27m%20talking%20about%20you%2C%20DISQUS%29%20or%20you%20messed%20with%20your%20database%20manually%20and%20did%20something%20wrong%20%28yup%2C%20that%27s%20what%20I%20just%20did%29%2C%20fear%20not%20-%20I%20have%20a%20solution%20for%20you.%0D%0ABut%20first%2C%20a%20little%20background.%0D%0AComment&amp;short_link=http://bit.ly/cYF2ks&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/" rel="bookmark" title="January 5, 2010">How To Fix Intermittent MySQL Errcode 13 Errors On Windows</a></li><li><a
href="http://beerpla.net/2008/04/16/mysql-conference-liveblogging-mysql-performance-under-a-microscope-the-tobias-and-jay-show-wednesday-200pm/" rel="bookmark" title="April 16, 2008">MySQL Conference Liveblogging: MySQL Performance Under A Microscope: The Tobias And Jay Show (Wednesday 2:00PM)</a></li><li><a
href="http://beerpla.net/2008/04/15/mysql-conference-liveblogging-explain-demystified-tuesday-200p/" rel="bookmark" title="April 15, 2008">MySQL Conference Liveblogging: EXPLAIN Demystified (Tuesday 2:00PM)</a></li><li><a
href="http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/" rel="bookmark" title="May 11, 2009">[MySQL] Deleting/Updating Rows Common To 2 Tables &#8211; Speed And Slave Lag Considerations</a></li><li><a
href="http://beerpla.net/2008/03/25/navicat-for-mysql-bugs-filed/" rel="bookmark" title="March 25, 2008">Navicat For MySQL Bugs Filed</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2010%2F03%2F21%2Fhow-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress%2F&amp;title=How%20To%20Diagnose%20And%20Fix%20Incorrect%20Post%20Comment%20Counts%20In%20WordPress" id="wpa2a_2"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/feed/</wfw:commentRss> <slash:comments>22</slash:comments> </item> <item><title>How To Fix Intermittent MySQL Errcode 13 Errors On Windows</title><link>http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/</link> <comments>http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/#comments</comments> <pubDate>Tue, 05 Jan 2010 10:49:33 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Databases]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[13]]></category> <category><![CDATA[errcode]]></category> <category><![CDATA[errcode 13]]></category> <category><![CDATA[error]]></category> <category><![CDATA[mcafee]]></category> <category><![CDATA[microsoft security essentials]]></category> <category><![CDATA[myd]]></category> <category><![CDATA[myi]]></category> <category><![CDATA[myisam]]></category> <category><![CDATA[windows]]></category> <category><![CDATA[Wordpress]]></category> <guid
isPermaLink="false">http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/</guid> <description><![CDATA[<p><img
style="margin: 0px 10px 10px 0px; display: inline" title="13" alt="13" align="left" src="http://beerpla.net/wp-content/uploads/HowToFixIntermittentMySQLErrcode13Errors_1A77/image.png" width="150" height="150" /></p><h2>The Problem</h2><p>I&#039;ve had MySQL on my Windows 7 laptop for a bit (as part of <a
href="http://www.wampserver.com/en/" rel="nofollow">wampserver</a>), mostly for local offline WordPress development.</p><p>However, even though MySQL is relatively stable, I&#039;ve been observing a vast quantity of intermittent MySQL errors, as reported by WordPress in the PHP error log (C:\wamp\logs\php_error.log). Here are some examples:</p><div
class="wp_syntax"><div
class="code"><pre>[05-Jan-2010 09:47:51] WordPress database error Error on delete of
'C:\Windows\TEMP\#sql17e0_1a2_6.MYD' (Errcode: 13) for query SELECT t.*, tt.*
FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id
INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id =
tt.term_taxonomy_id WHERE tt.taxonomy IN ('category') AND tr.object_id IN (3)
ORDER BY t.name ASC made by require, require_once, include, get_footer,
locate_template, load_template, require_once, dynamic_sidebar,</pre></div></div><p>...<div
class=clear></div> <a
href="http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p><img
style="margin: 0px 10px 10px 0px; display: inline" title="13" alt="13" align="left" src="http://beerpla.net/wp-content/uploads/HowToFixIntermittentMySQLErrcode13Errors_1A77/image.png" width="150" height="150" /></p><h2>The Problem</h2><p>I&#039;ve had MySQL on my Windows 7 laptop for a bit (as part of <a
href="http://www.wampserver.com/en/" rel="nofollow">wampserver</a>), mostly for local offline WordPress development.</p><p>However, even though MySQL is relatively stable, I&#039;ve been observing a vast quantity of intermittent MySQL errors, as reported by WordPress in the PHP error log (C:\wamp\logs\php_error.log). Here are some examples:</p><div
class="wp_syntax"><div
class="code"><pre>[05-Jan-2010 09:47:51] WordPress database error Error on delete of
'C:\Windows\TEMP\#sql17e0_1a2_6.MYD' (Errcode: 13) for query SELECT t.*, tt.*
FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id
INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id =
tt.term_taxonomy_id WHERE tt.taxonomy IN ('category') AND tr.object_id IN (3)
ORDER BY t.name ASC made by require, require_once, include, get_footer,
locate_template, load_template, require_once, dynamic_sidebar,
call_user_func_array, widget_rrm_recent_posts, RecentPosts-&amp;gt;execute,
ppl_expand_template, otf_categorylinks, get_the_category, wp_get_object_terms
&nbsp;
[05-Jan-2010 09:50:42] WordPress database error Error on delete of
'C:\Windows\TEMP\#sql17e0_1b0_0.MYD' (Errcode: 13) for query  SELECT
SQL_CALC_FOUND_ROWS  wp_posts.* FROM wp_posts  INNER JOIN wp_term_relationships
ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_term_taxonomy ON
(wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
WHERE 1=1  AND wp_term_taxonomy.taxonomy = 'category' AND
wp_term_taxonomy.term_id IN ('3') AND wp_posts.post_type = 'post' AND
(wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') GROUP BY
wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 10 made by require, wp,
WP-&amp;gt;main, WP-&amp;gt;query_posts, WP_Query-&amp;gt;query, WP_Query-&amp;gt;get_posts</pre></div></div><p>The important part here is &quot;Errcode: 13&quot;, which is a file access error. The MySQL daemon process (mysqld.exe) randomly cannot access temporary tables it itself creates, which causes these errors and failed queries.</p><h2>Digging Around</h2><p>After looking around and finding nothing obvious, I tracked down a few forum posts mentioning the same issue.</p><p>Here is the gist &#8211; the problem is caused by an anti-virus program that is clearly not working properly.</p><p>The one mentioned on the forums is McAfee (big surprise, right? McAfee is a piece of junk &#8211; probably the worst anti-virus I&#039;ve ever tried). In my case, however, it was the recently installed freeware security program from Microsoft called <a
href="http://www.microsoft.com/Security_Essentials/" rel="nofollow">Microsoft Security Essentials</a>, highly praised but problematic in this case nonetheless.</p><p>After thinking about it, I am confident that these security programs don&#039;t actually purposely prohibit access to the files MySQL creates. Instead, they lock these files for the duration of the check, so that the system doesn&#039;t get infected before they are approved. If you notice, the problems are related to temporary tables, created by MySQL on the fly. MySQL probably has a very short access timeout for these files, for performance reasons, and because it doesn&#039;t get this access fast enough, it considers it a failure (file deletions are failing, as you can see in the log).</p><h2>The Solution</h2><p>Now onto fixing the problem. The solution is to have Microsoft Security Essentials, in my case, or whatever your security program may be ignore these files.</p><p>You can block the whole Temp directory from being checked. It is not a good idea, as viruses can trickle down to that location and bypass your anti-virus:</p><p><a
href="http://beerpla.net/wp-content/uploads/HowToFixIntermittentMySQLErrcode13Errors_1A77/image_3.png" class="lightview" rel="gallery['1313']" title="Ignore Windows Temp dir in Microsoft Security Essentials"><img
style="display: block; float: none; margin-left: auto; margin-right: auto" title="Ignore Windows Temp dir in Microsoft Security Essentials" alt="Ignore Windows Temp dir in Microsoft Security Essentials" src="http://beerpla.net/wp-content/uploads/HowToFixIntermittentMySQLErrcode13Errors_1A77/image_thumb.png" width="700" height="545" /></a></p><p>Instead, you should just ignore by file extension: *.MYI and *.MYD. MySQL uses files with these extensions for its MyISAM table types. Using this approach is obviously safer as it doesn&#039;t single out a directory and instead targets specific files:</p><p><a
href="http://beerpla.net/wp-content/uploads/HowToFixIntermittentMySQLErrcode13Errors_1A77/image_4.png" class="lightview" rel="gallery['1313']" title="Ignore *.MYI and *.MYD in Microsoft Security Essentials"><img
style="display: block; float: none; margin-left: auto; margin-right: auto" title="Ignore *.MYI and *.MYD in Microsoft Security Essentials" alt="Ignore *.MYI and *.MYD in Microsoft Security Essentials" src="http://beerpla.net/wp-content/uploads/HowToFixIntermittentMySQLErrcode13Errors_1A77/image_thumb_3.png" width="700" height="545" /></a></p><p>After I applied either of these exclusions, all MySQL Error 13 problems went away immediately.</p><h2>Conclusion</h2><p>The intermittent Error 13 problem on Windows is caused by 2 otherwise legitimate processes which, when mixed together, end up breaking MySQL.</p><p>Is this entirely the fault of the antivirus programs? Inadvertently, perhaps so.</p><p>Could MySQL be a bit smarter in this scenario? Perhaps so as well.</p><p>What do you, MySQL pros, think?</p><div
class='post_blob_1'>We offer guaranteed success in <a
href="http://www.test-king.com/exams/646-671.htm">646-671</a> as well as <a
href="http://www.test-king.com/exams/646-985.htm">646-985</a> exam using world’s best quality <a
href="http://www.test-king.com/exams/E20-340.htm">E20-340</a> training resources.</div><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fix+Intermittent+MySQL+Errcode+13+Errors+On+Windows&amp;link=http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/&amp;notes=%20%0D%0AThe%20Problem%0D%0AI%27ve%20had%20MySQL%20on%20my%20Windows%207%20laptop%20for%20a%20bit%20%28as%20part%20of%20wampserver%29%2C%20mostly%20for%20local%20offline%20Wordpress%20development.%0D%0AHowever%2C%20even%20though%20MySQL%20is%20relatively%20stable%2C%20I%27ve%20been%20observing%20a%20vast%20quantity%20of%20intermittent%20MySQL%20errors%2C%20as%20reported%20by%20Wordpress%20in%20the%20PHP%20error%20log%20%28&amp;short_link=http://bit.ly/cJxOPu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fix+Intermittent+MySQL+Errcode+13+Errors+On+Windows&amp;link=http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/&amp;notes=%20%0D%0AThe%20Problem%0D%0AI%27ve%20had%20MySQL%20on%20my%20Windows%207%20laptop%20for%20a%20bit%20%28as%20part%20of%20wampserver%29%2C%20mostly%20for%20local%20offline%20Wordpress%20development.%0D%0AHowever%2C%20even%20though%20MySQL%20is%20relatively%20stable%2C%20I%27ve%20been%20observing%20a%20vast%20quantity%20of%20intermittent%20MySQL%20errors%2C%20as%20reported%20by%20Wordpress%20in%20the%20PHP%20error%20log%20%28&amp;short_link=http://bit.ly/cJxOPu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fix+Intermittent+MySQL+Errcode+13+Errors+On+Windows&amp;link=http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/&amp;notes=%20%0D%0AThe%20Problem%0D%0AI%27ve%20had%20MySQL%20on%20my%20Windows%207%20laptop%20for%20a%20bit%20%28as%20part%20of%20wampserver%29%2C%20mostly%20for%20local%20offline%20Wordpress%20development.%0D%0AHowever%2C%20even%20though%20MySQL%20is%20relatively%20stable%2C%20I%27ve%20been%20observing%20a%20vast%20quantity%20of%20intermittent%20MySQL%20errors%2C%20as%20reported%20by%20Wordpress%20in%20the%20PHP%20error%20log%20%28&amp;short_link=http://bit.ly/cJxOPu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fix+Intermittent+MySQL+Errcode+13+Errors+On+Windows&amp;link=http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/&amp;notes=%20%0D%0AThe%20Problem%0D%0AI%27ve%20had%20MySQL%20on%20my%20Windows%207%20laptop%20for%20a%20bit%20%28as%20part%20of%20wampserver%29%2C%20mostly%20for%20local%20offline%20Wordpress%20development.%0D%0AHowever%2C%20even%20though%20MySQL%20is%20relatively%20stable%2C%20I%27ve%20been%20observing%20a%20vast%20quantity%20of%20intermittent%20MySQL%20errors%2C%20as%20reported%20by%20Wordpress%20in%20the%20PHP%20error%20log%20%28&amp;short_link=http://bit.ly/cJxOPu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fix+Intermittent+MySQL+Errcode+13+Errors+On+Windows&amp;link=http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/&amp;notes=%20%0D%0AThe%20Problem%0D%0AI%27ve%20had%20MySQL%20on%20my%20Windows%207%20laptop%20for%20a%20bit%20%28as%20part%20of%20wampserver%29%2C%20mostly%20for%20local%20offline%20Wordpress%20development.%0D%0AHowever%2C%20even%20though%20MySQL%20is%20relatively%20stable%2C%20I%27ve%20been%20observing%20a%20vast%20quantity%20of%20intermittent%20MySQL%20errors%2C%20as%20reported%20by%20Wordpress%20in%20the%20PHP%20error%20log%20%28&amp;short_link=http://bit.ly/cJxOPu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fix+Intermittent+MySQL+Errcode+13+Errors+On+Windows&amp;link=http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/&amp;notes=%20%0D%0AThe%20Problem%0D%0AI%27ve%20had%20MySQL%20on%20my%20Windows%207%20laptop%20for%20a%20bit%20%28as%20part%20of%20wampserver%29%2C%20mostly%20for%20local%20offline%20Wordpress%20development.%0D%0AHowever%2C%20even%20though%20MySQL%20is%20relatively%20stable%2C%20I%27ve%20been%20observing%20a%20vast%20quantity%20of%20intermittent%20MySQL%20errors%2C%20as%20reported%20by%20Wordpress%20in%20the%20PHP%20error%20log%20%28&amp;short_link=http://bit.ly/cJxOPu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fix+Intermittent+MySQL+Errcode+13+Errors+On+Windows&amp;link=http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/&amp;notes=%20%0D%0AThe%20Problem%0D%0AI%27ve%20had%20MySQL%20on%20my%20Windows%207%20laptop%20for%20a%20bit%20%28as%20part%20of%20wampserver%29%2C%20mostly%20for%20local%20offline%20Wordpress%20development.%0D%0AHowever%2C%20even%20though%20MySQL%20is%20relatively%20stable%2C%20I%27ve%20been%20observing%20a%20vast%20quantity%20of%20intermittent%20MySQL%20errors%2C%20as%20reported%20by%20Wordpress%20in%20the%20PHP%20error%20log%20%28&amp;short_link=http://bit.ly/cJxOPu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=How%20To%20Fix%20Intermittent%20MySQL%20Errcode%2013%20Errors%20On%20Windows&amp;link=http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/&amp;notes=%20%0D%0AThe%20Problem%0D%0AI%27ve%20had%20MySQL%20on%20my%20Windows%207%20laptop%20for%20a%20bit%20%28as%20part%20of%20wampserver%29%2C%20mostly%20for%20local%20offline%20Wordpress%20development.%0D%0AHowever%2C%20even%20though%20MySQL%20is%20relatively%20stable%2C%20I%27ve%20been%20observing%20a%20vast%20quantity%20of%20intermittent%20MySQL%20errors%2C%20as%20reported%20by%20Wordpress%20in%20the%20PHP%20error%20log%20%28&amp;short_link=http://bit.ly/cJxOPu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/" rel="bookmark" title="March 21, 2010">How To Diagnose And Fix Incorrect Post Comment Counts In WordPress</a></li><li><a
href="http://beerpla.net/2008/04/15/mysql-conference-liveblogging-explain-demystified-tuesday-200p/" rel="bookmark" title="April 15, 2008">MySQL Conference Liveblogging: EXPLAIN Demystified (Tuesday 2:00PM)</a></li><li><a
href="http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/" rel="bookmark" title="February 17, 2009">Swapping Column Values in MySQL</a></li><li><a
href="http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/" rel="bookmark" title="May 11, 2009">[MySQL] Deleting/Updating Rows Common To 2 Tables &#8211; Speed And Slave Lag Considerations</a></li><li><a
href="http://beerpla.net/2008/04/16/mysql-conference-liveblogging-benchmarking-tools-wednesday-425pm/" rel="bookmark" title="April 16, 2008">MySQL Conference Liveblogging: Benchmarking Tools (Wednesday 4:25PM)</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2010%2F01%2F05%2Fhow-to-fix-intermittent-mysql-errcode-13-errors-on-windows%2F&amp;title=How%20To%20Fix%20Intermittent%20MySQL%20Errcode%2013%20Errors%20On%20Windows" id="wpa2a_4"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2010/01/05/how-to-fix-intermittent-mysql-errcode-13-errors-on-windows/feed/</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>Comparison Between Solr And Sphinx Search Servers (Solr Vs Sphinx &#8211; Fight!)</title><link>http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/</link> <comments>http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/#comments</comments> <pubDate>Thu, 03 Sep 2009 15:00:00 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Databases]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Solr]]></category> <category><![CDATA[backend]]></category> <category><![CDATA[compare]]></category> <category><![CDATA[comparison]]></category> <category><![CDATA[engine]]></category> <category><![CDATA[enterprise]]></category> <category><![CDATA[fulltext]]></category> <category><![CDATA[indexing]]></category> <category><![CDATA[search]]></category> <category><![CDATA[server]]></category> <category><![CDATA[sphinx]]></category> <guid
isPermaLink="false">http://beerpla.net/2009/09/03/detailed-comparison-between-solr-and-sphinx/</guid> <description><![CDATA[<p>In the past few weeks I&#039;ve been implementing advanced search at <a
rel="nofollow" href="http://www.plaxo.com">Plaxo</a>, working quite closely with <a
rel="nofollow" href="http://lucene.apache.org/solr/">Solr</a> enterprise search server. Today, I saw this relatively detailed comparison between Solr and its main competitor <a
rel="nofollow" href="http://www.sphinxsearch.com/">Sphinx</a> (full credit goes to StackOverflow user <a
rel="nofollow" href="http://stackoverflow.com/users/21239/mausch">mausch</a> who had been using Solr for the past 2 years). For those still confused, Solr and Sphinx are similar to MySQL FULLTEXT search, or for those even more confused, think Google (yeah, this is a bit of a stretch, I know).</p><h2>Similarities</h2><ul><li>Both Solr and Sphinx satisfy all of your requirements. They&#039;re fast and designed to index and search large bodies of data efficiently.</li><li>Both have a long list of</li></ul><p>...<div
class=clear></div> <a
href="http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p>In the past few weeks I&#039;ve been implementing advanced search at <a
rel="nofollow" href="http://www.plaxo.com">Plaxo</a>, working quite closely with <a
rel="nofollow" href="http://lucene.apache.org/solr/">Solr</a> enterprise search server. Today, I saw this relatively detailed comparison between Solr and its main competitor <a
rel="nofollow" href="http://www.sphinxsearch.com/">Sphinx</a> (full credit goes to StackOverflow user <a
rel="nofollow" href="http://stackoverflow.com/users/21239/mausch">mausch</a> who had been using Solr for the past 2 years). For those still confused, Solr and Sphinx are similar to MySQL FULLTEXT search, or for those even more confused, think Google (yeah, this is a bit of a stretch, I know).</p><h2>Similarities</h2><ul><li>Both Solr and Sphinx satisfy all of your requirements. They&#039;re fast and designed to index and search large bodies of data efficiently.</li><li>Both have a long list of high-traffic sites using them (<a
rel="nofollow" href="http://wiki.apache.org/solr/PublicServers">Solr</a>, <a
rel="nofollow" href="http://www.sphinxsearch.com/powered.html">Sphinx</a>)</li><li>Both offer commercial support. (<a
rel="nofollow" href="http://www.lucidimagination.com/">Solr</a>, <a
rel="nofollow" href="http://www.sphinxsearch.com/consulting.html">Sphinx</a>)</li><li>Both offer client API bindings for several platforms/languages (<a
rel="nofollow" href="http://www.sphinxsearch.com/contribs.html">Sphinx</a>, <a
rel="nofollow" href="http://wiki.apache.org/solr/#head-ab1768efa59b26cbd30f1acd03b633f1d110ed47">Solr</a>)</li><li>Both can be distributed to increase speed and capacity (<a
rel="nofollow" href="http://www.sphinxsearch.com/docs/current.html#distributed">Sphinx</a>, <a
rel="nofollow" href="http://wiki.apache.org/solr/DistributedSearch">Solr</a>)</li></ul><h2>Here are some differences</h2><ul><li>Solr, being an Apache project, is obviously is Apache2-licensed. <a
rel="nofollow" href="http://www.sphinxsearch.com/licensing.html">Sphinx is GPLv2</a>. This means that if you ever need to embed or extend (not just &#034;use&#034;) Sphinx in a commercial application, you&#039;ll have to buy a commercial license.</li><li>Solr is <a
rel="nofollow" href="http://wiki.apache.org/solr/Solrj#head-02003c15f194db1a691f8b9bb909145a60ccf498">easily embeddable</a> in Java applications.</li><li>Solr is built on top of Lucene, which is a proven technology over <a
rel="nofollow" href="http://svn.apache.org/viewvc/lucene/java/tags/LUCENE%5F1%5F0%5F1/">7 years old</a> with a <a
rel="nofollow" href="http://wiki.apache.org/lucene-java/PoweredBy">huge user base</a> (this is only a small part). Whenever Lucene gets a new feature or speedup, Solr gets it too. Many of the devs committing to Solr are also Lucene committers.</li><li>Sphinx integrates more tightly with RDBMSs, especially MySQL.</li><li>Solr can be <a
rel="nofollow" href="http://highscalability.com/how-rackspace-now-uses-mapreduce-and-hadoop-query-terabytes-data">integrated with Hadoop to build distributed applications</a></li><li>Solr can be <a
rel="nofollow" href="http://stackoverflow.com/questions/211411/using-nutch-crawler-with-solr">integrated with Nutch to quickly build a fully-fledged web search engine with crawler</a>.</li><li>Solr can <a
rel="nofollow" href="http://wiki.apache.org/solr/ExtractingRequestHandler">index proprietary formats like Microsoft Word, PDF, etc</a>. Sphinx <a
rel="nofollow" href="http://stackoverflow.com/questions/1207995/indexing-word-documents-and-pdfs-with-sphinx">can&#039;t</a>.</li><li>Solr comes with a <a
rel="nofollow" href="http://wiki.apache.org/solr/SpellCheckComponent">spell-checker out of the box</a>.</li><li>Solr comes with <a
rel="nofollow" href="http://wiki.apache.org/solr/SolrFacetingOverview">facet support out of the box</a>. Faceting in Sphinx <a
rel="nofollow" href="http://api-meal.eu/memo/128-faceted-search-with-sphinx-and-php/">takes more work</a>.</li><li><a
rel="nofollow" href="http://stackoverflow.com/questions/737275/pros-cons-of-full-text-search-engine-lucene-sphinx-postgresql-full-text-searc/737931#737931">Sphinx doesn&#039;t allow partial index updates for field data</a>.</li><li>In Sphinx, <a
rel="nofollow" href="http://www.sphinxsearch.com/docs/current.html#data-restrictions">all document ids must be unique unsigned non-zero integer numbers</a>. Solr <a
rel="nofollow" href="http://wiki.apache.org/solr/UniqueKey">doesn&#039;t even require a unique key for many operations</a>, and unique keys can be either integers or strings.</li><li>Solr supports <a
href="http://wiki.apache.org/solr/FieldCollapsing">field collapsing</a> to avoid duplicating similar results. Sphinx doesn&#039;t seem to provide any feature like this.</li></ul><h2>Related questions</h2><ul><li><a
title="http://stackoverflow.com/questions/1284083/choosing-a-stand-alone-full-text-search-server-sphinx-or-solr" rel="nofollow" href="http://stackoverflow.com/questions/1284083/choosing-a-stand-alone-full-text-search-server-sphinx-or-solr">http://stackoverflow.com/questions/1284083/choosing-a-stand-alone-full-text-search-server-sphinx-or-solr</a></li><li><a
rel="nofollow" href="http://stackoverflow.com/questions/1132284/full-text-searching-with-rails">http://stackoverflow.com/questions/1132284/full-text-searching-with-rails</a></li><li><a
rel="nofollow" href="http://stackoverflow.com/questions/737275/pros-cons-of-full-text-search-engine-lucene-sphinx-postgresql-full-text-searc">http://stackoverflow.com/questions/737275/pros-cons-of-full-text-search-engine-lucene-sphinx-postgresql-full-text-searc</a></li></ul><h2>Conclusion</h2><p>In my experience, Solr is very-very fast on the query side. It is also very powerful. The indexing side is very CPU and memory intensive and is an unfortunate side effect of having such a feature-rich, fast application. Nevertheless, I highly recommend Solr.</p><p>For disclaimer purposes, I have not had much experience with Sphinx and, again, all credit for this comparison goes to <a
rel="nofollow" href="http://stackoverflow.com/users/21239/mausch">mausch</a>.</p><p>By the way, here&#039;s a really good resource for Solr 1.4 that just came out: <a
href="http://www.amazon.com/dp/1847195881/?tag=beepla-20">Solr 1.4 Enterprise Search</a>. I have this book and it&#039;s quite helpful in explaining such topics as multicore setup, search methods, replication, etc.</p><p
align="center"><iframe
src="http://rcm.amazon.com/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=beepla-20&#038;o=1&#038;p=8&#038;l=as1&#038;m=amazon&#038;f=ifr&#038;md=10FE9736YVPPT7A0FBG2&#038;asins=1847195881" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p><div
class='post_blob_1'>We offer the best quality <a
href="http://www.test-king.com/exams/70-648.htm">70-648</a> resources. Use our latest <a
href="http://www.test-king.com/exams/1Y0-A08.htm">1Y0-A08</a> questions and <a
href="http://www.test-king.com/exams/642-357.htm">642-357</a> answers to pass your certification exams.</div><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Comparison+Between+Solr+And+Sphinx+Search+Servers+%28Solr+Vs+Sphinx+-+Fight%21%29&amp;link=http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/&amp;notes=In%20the%20past%20few%20weeks%20I%27ve%20been%20implementing%20advanced%20search%20at%20Plaxo%2C%20working%20quite%20closely%20with%20Solr%20enterprise%20search%20server.%20Today%2C%20I%20saw%20this%20relatively%20detailed%20comparison%20between%20Solr%20and%20its%20main%20competitor%20Sphinx%20%28full%20credit%20goes%20to%20StackOverflow%20user%20mausch%20who%20had%20been%20using%20Solr%20for%20the&amp;short_link=http://bit.ly/9TGaBF&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Comparison+Between+Solr+And+Sphinx+Search+Servers+%28Solr+Vs+Sphinx+-+Fight%21%29&amp;link=http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/&amp;notes=In%20the%20past%20few%20weeks%20I%27ve%20been%20implementing%20advanced%20search%20at%20Plaxo%2C%20working%20quite%20closely%20with%20Solr%20enterprise%20search%20server.%20Today%2C%20I%20saw%20this%20relatively%20detailed%20comparison%20between%20Solr%20and%20its%20main%20competitor%20Sphinx%20%28full%20credit%20goes%20to%20StackOverflow%20user%20mausch%20who%20had%20been%20using%20Solr%20for%20the&amp;short_link=http://bit.ly/9TGaBF&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Comparison+Between+Solr+And+Sphinx+Search+Servers+%28Solr+Vs+Sphinx+-+Fight%21%29&amp;link=http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/&amp;notes=In%20the%20past%20few%20weeks%20I%27ve%20been%20implementing%20advanced%20search%20at%20Plaxo%2C%20working%20quite%20closely%20with%20Solr%20enterprise%20search%20server.%20Today%2C%20I%20saw%20this%20relatively%20detailed%20comparison%20between%20Solr%20and%20its%20main%20competitor%20Sphinx%20%28full%20credit%20goes%20to%20StackOverflow%20user%20mausch%20who%20had%20been%20using%20Solr%20for%20the&amp;short_link=http://bit.ly/9TGaBF&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Comparison+Between+Solr+And+Sphinx+Search+Servers+%28Solr+Vs+Sphinx+-+Fight%21%29&amp;link=http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/&amp;notes=In%20the%20past%20few%20weeks%20I%27ve%20been%20implementing%20advanced%20search%20at%20Plaxo%2C%20working%20quite%20closely%20with%20Solr%20enterprise%20search%20server.%20Today%2C%20I%20saw%20this%20relatively%20detailed%20comparison%20between%20Solr%20and%20its%20main%20competitor%20Sphinx%20%28full%20credit%20goes%20to%20StackOverflow%20user%20mausch%20who%20had%20been%20using%20Solr%20for%20the&amp;short_link=http://bit.ly/9TGaBF&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Comparison+Between+Solr+And+Sphinx+Search+Servers+%28Solr+Vs+Sphinx+-+Fight%21%29&amp;link=http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/&amp;notes=In%20the%20past%20few%20weeks%20I%27ve%20been%20implementing%20advanced%20search%20at%20Plaxo%2C%20working%20quite%20closely%20with%20Solr%20enterprise%20search%20server.%20Today%2C%20I%20saw%20this%20relatively%20detailed%20comparison%20between%20Solr%20and%20its%20main%20competitor%20Sphinx%20%28full%20credit%20goes%20to%20StackOverflow%20user%20mausch%20who%20had%20been%20using%20Solr%20for%20the&amp;short_link=http://bit.ly/9TGaBF&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Comparison+Between+Solr+And+Sphinx+Search+Servers+%28Solr+Vs+Sphinx+-+Fight%21%29&amp;link=http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/&amp;notes=In%20the%20past%20few%20weeks%20I%27ve%20been%20implementing%20advanced%20search%20at%20Plaxo%2C%20working%20quite%20closely%20with%20Solr%20enterprise%20search%20server.%20Today%2C%20I%20saw%20this%20relatively%20detailed%20comparison%20between%20Solr%20and%20its%20main%20competitor%20Sphinx%20%28full%20credit%20goes%20to%20StackOverflow%20user%20mausch%20who%20had%20been%20using%20Solr%20for%20the&amp;short_link=http://bit.ly/9TGaBF&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Comparison+Between+Solr+And+Sphinx+Search+Servers+%28Solr+Vs+Sphinx+-+Fight%21%29&amp;link=http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/&amp;notes=In%20the%20past%20few%20weeks%20I%27ve%20been%20implementing%20advanced%20search%20at%20Plaxo%2C%20working%20quite%20closely%20with%20Solr%20enterprise%20search%20server.%20Today%2C%20I%20saw%20this%20relatively%20detailed%20comparison%20between%20Solr%20and%20its%20main%20competitor%20Sphinx%20%28full%20credit%20goes%20to%20StackOverflow%20user%20mausch%20who%20had%20been%20using%20Solr%20for%20the&amp;short_link=http://bit.ly/9TGaBF&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Comparison%20Between%20Solr%20And%20Sphinx%20Search%20Servers%20%28Solr%20Vs%20Sphinx%20-%20Fight%21%29&amp;link=http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/&amp;notes=In%20the%20past%20few%20weeks%20I%27ve%20been%20implementing%20advanced%20search%20at%20Plaxo%2C%20working%20quite%20closely%20with%20Solr%20enterprise%20search%20server.%20Today%2C%20I%20saw%20this%20relatively%20detailed%20comparison%20between%20Solr%20and%20its%20main%20competitor%20Sphinx%20%28full%20credit%20goes%20to%20StackOverflow%20user%20mausch%20who%20had%20been%20using%20Solr%20for%20the&amp;short_link=http://bit.ly/9TGaBF&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2009/09/21/solr-how-to-fix-java-io-ioexception-directory-foo-exists-and-is-a-directory-but-cannot-be-listed-list-returned-null/" rel="bookmark" title="September 21, 2009">[Solr] How To Fix java.io.IOException: directory FOO exists and is a directory, but cannot be listed: list() returned null</a></li><li><a
href="http://beerpla.net/2009/08/18/delicious-com-quietly-rolls-out-domain-and-url-searchingfiltering-finally/" rel="bookmark" title="August 18, 2009">Delicious.com [Quietly] Rolls Out Domain And Url Searching/Filtering. Finally!</a></li><li><a
href="http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/" rel="bookmark" title="June 21, 2009">Hidden Features Of Perl, PHP, Javascript, C, C++, C#, Java, Ruby, Python, And Others [Collection Of Incredibly Useful Lists]</a></li><li><a
href="http://beerpla.net/2008/04/13/my-mysql-conference-schedule/" rel="bookmark" title="April 13, 2008">My MySQL Conference Schedule</a></li><li><a
href="http://beerpla.net/2011/06/13/goodbye-outlook-i-dont-need-you-anymore-gmail-now-lets-you-paste-images-directly-from-clipboard/" rel="bookmark" title="June 13, 2011">[Updated x3] Goodbye Outlook, I Don&#039;t Need You Anymore &#8211; Gmail Now Lets You Paste Images Directly From Clipboard</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2009%2F09%2F03%2Fcomparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight%2F&amp;title=Comparison%20Between%20Solr%20And%20Sphinx%20Search%20Servers%20%28Solr%20Vs%20Sphinx%20%26%238211%3B%20Fight%21%29" id="wpa2a_6"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/feed/</wfw:commentRss> <slash:comments>13</slash:comments> </item> <item><title>Hidden Features Of Perl, PHP, Javascript, C, C++, C#, Java, Ruby, Python, And Others [Collection Of Incredibly Useful Lists]</title><link>http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/</link> <comments>http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/#comments</comments> <pubDate>Sun, 21 Jun 2009 19:38:56 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[C]]></category> <category><![CDATA[C Sharp]]></category> <category><![CDATA[C++]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[Databases]]></category> <category><![CDATA[Java]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[Perl]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[Ruby]]></category> <category><![CDATA[asp.net]]></category> <category><![CDATA[bash]]></category> <category><![CDATA[code]]></category> <category><![CDATA[delphi]]></category> <category><![CDATA[Eclipse]]></category> <category><![CDATA[emacs]]></category> <category><![CDATA[f#]]></category> <category><![CDATA[feature]]></category> <category><![CDATA[featured]]></category> <category><![CDATA[flash]]></category> <category><![CDATA[framework]]></category> <category><![CDATA[greasemonkey]]></category> <category><![CDATA[haskell]]></category> <category><![CDATA[hidden]]></category> <category><![CDATA[http]]></category> <category><![CDATA[jquery]]></category> <category><![CDATA[language]]></category> <category><![CDATA[lua]]></category> <category><![CDATA[mod_rewrite]]></category> <category><![CDATA[objective-c]]></category> <category><![CDATA[oracle]]></category> <category><![CDATA[program]]></category> <category><![CDATA[regex]]></category> <category><![CDATA[ror]]></category> <category><![CDATA[ruby on rails]]></category> <category><![CDATA[scala]]></category> <category><![CDATA[secret]]></category> <category><![CDATA[spring]]></category> <category><![CDATA[tcl]]></category> <category><![CDATA[vb.net]]></category> <category><![CDATA[xpath]]></category> <category><![CDATA[xslt]]></category> <guid
isPermaLink="false">http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/</guid> <description><![CDATA[<h2 align="left">Introduction</h2><p><a
href="http://www.stackoverflow.com">StackOverflow</a> is an amazing site for coding questions. It was created by <a
href="http://twitter.com/Spolsky" rel="nofollow">Joel Spolsky</a> of <a
href="http://joelonsoftware.com" rel="nofollow">joelonsoftware.com</a>, <a
href="http://twitter.com/codinghorror" rel="nofollow">Jeff Atwood</a> of <a
href="http://codinghorror.com" rel="nofollow">codinghorror.com</a>, and some other incredibly smart guys who truly care about user experience. I have been a total fan of SO since it went mainstream and it&#039;s now a borderline addiction (you can see my StackOverflow badge on the right sidebar).</p><h2 align="left">The Story</h2><p
align="left"><div
class="note"><div
class="noteimportant"></div></div></p><p
align="left"><strong>Update 6/21/09</strong>: This server is currently under very heavy load (10-200), even with caching plugins enabled. Please bear with me as I try to resolve the situation.</p><p
align="left">Feel free to <a
href="http://www.addtoany.com/share_save?&#38;linkurl=http%3A%2F%2Fbeerpla.net%2F2009%2F06%2F21%2Fhidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists%2F&#38;linkname=Hidden%20Features%20Of%20Perl%2C%20PHP%2C%20Javascript%2C%20C%2C%20C%2B%2B%2C%20C%23%2C%20Java%2C%20Ruby%2C%20Python%2C%20And%20Others%20%5BCollection%20Of%20Incredibly%20Useful%20Lists%5D">bookmark this page</a> and return to it later when the fires have...<div
class=clear></div> <a
href="http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<h2 align="left">Introduction</h2><p><a
href="http://www.stackoverflow.com">StackOverflow</a> is an amazing site for coding questions. It was created by <a
href="http://twitter.com/Spolsky" rel="nofollow">Joel Spolsky</a> of <a
href="http://joelonsoftware.com" rel="nofollow">joelonsoftware.com</a>, <a
href="http://twitter.com/codinghorror" rel="nofollow">Jeff Atwood</a> of <a
href="http://codinghorror.com" rel="nofollow">codinghorror.com</a>, and some other incredibly smart guys who truly care about user experience. I have been a total fan of SO since it went mainstream and it&#039;s now a borderline addiction (you can see my StackOverflow badge on the right sidebar).</p><h2 align="left">The Story</h2><p
align="left"><div
class="note"><div
class="noteimportant"></p><p
align="left"><strong>Update 6/21/09</strong>: This server is currently under very heavy load (10-200), even with caching plugins enabled. Please bear with me as I try to resolve the situation.</p><p
align="left">Feel free to <a
href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fbeerpla.net%2F2009%2F06%2F21%2Fhidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists%2F&amp;linkname=Hidden%20Features%20Of%20Perl%2C%20PHP%2C%20Javascript%2C%20C%2C%20C%2B%2B%2C%20C%23%2C%20Java%2C%20Ruby%2C%20Python%2C%20And%20Others%20%5BCollection%20Of%20Incredibly%20Useful%20Lists%5D">bookmark this page</a> and return to it later when the fires have been put out.</p><p
align="left"><strong>Update 06/21/09</strong>: I think I&#039;ve got the situation under control now. The load is between 0 and 3 now and pages load relatively fast. I will be posting about the getting redditted/delicioused experience later.</p><p
align="left"><strong>Update 06/23/09</strong>: Added jQuery, Greasemonkey, Ruby on Rails, and Objective-C, broke databases into their own section, and sorted everything alphabetically.</p><p
align="left"><strong>Update 06/23/09</strong>: Added Scala, Lua, TCL, F#, Regex, and HTTP.</p><p
align="left"><strong>Update 07/21/09</strong>: Added ActionScript3/Flex, Erlang, PL/SQL, Silverlight, VBA, VHDL, WPF/XAML.</p><p
align="left"><strong>Update 10/24/09</strong>: Added Flash development/language/IDE, Emacs, Xpath/Xslt, Spring framework.</p><p
align="left"><strong>Update 01/18/10</strong>: Added Android (asked by yours truly), Qt, Django, Windows.Forms, R, Lisp, x86 assembly, Grails.</p><p
align="left"></div></div></p><p>So, one day someone at StackOverflow started a &quot;Hidden features of&quot; post about a famous language (I don&#039;t feel like finding out which one was first exactly), and it turned out to be so popular that other posts in the same series started popping up.</p><p>Such questions were quickly turned into community wikis, for the purposes of harvesting and organizing information coming from the best developers on the planet and voted by users of the site. There are literally hundreds of answers, sorted by votes.</p><p><div
class="note"><div
class="notetip">The Hidden Features series is great for people who are new to a certain language. It shows the ropes and tricks, all in one place, in the most concise manner possible. Even pros oftentimes find features of their favorite language that they&#039;d never heard about.</div></div></p><h2 align="center">Hidden Features Of</h2><h3>Programming Languages</h3><h4><a
href="http://stackoverflow.com/questions/1103705/hidden-features-of-actionscript3-flex">Hidden features of ActionScript3 / Flex</a></h4><h4><a
href="http://stackoverflow.com/questions/54929/hidden-features-of-asp-net">Hidden features of ASP.NET </a></h4><h4><a
href="http://stackoverflow.com/questions/1574308/hidden-features-of-x86-assembly-language" rel="nofollow">Hidden features of x86 assembly</a></h4><h4><a
href="http://stackoverflow.com/questions/132241/hidden-features-of-c">Hidden features of C</a></h4><h4><a
href="http://stackoverflow.com/questions/75538/hidden-features-of-c">Hidden features of C++</a></h4><h4><a
href="http://stackoverflow.com/questions/9033/hidden-features-of-c">Hidden features of C#</a></h4><h4><a
href="http://stackoverflow.com/questions/1853653/hidden-features-of-coldfusion" rel="nofollow">Hidden features of ColdFusion</a></h4><h4><a
href="http://stackoverflow.com/questions/125008/hidden-features-of-d">Hidden features of D </a></h4><h4><a
href="http://stackoverflow.com/questions/102254/hidden-features-of-delphi" rel="nofollow">Hidden features of Delphi</a></h4><h4><a
href="http://stackoverflow.com/questions/1063497/hidden-features-of-erlang" rel="nofollow">Hidden features of Erlang</a></h4><h4><a
href="http://stackoverflow.com/questions/181613/hidden-features-of-f">Hidden features of F# </a></h4><h4><a
href="http://stackoverflow.com/questions/1160680/hidden-features-tricks-of-flash-development-flash-language-as2-3-and-flash-id" rel="nofollow">Hidden features of Flash development, Flash language (AS2/3), and Flash IDE</a></h4><h4><a
href="http://stackoverflow.com/questions/15496/hidden-features-of-java">Hidden features of Java</a></h4><h4><a
href="http://stackoverflow.com/questions/61088/hidden-features-of-javascript">Hidden features of JavaScript</a></h4><h4><a
href="http://stackoverflow.com/questions/211216/hidden-features-of-haskell">Hidden features of Haskell </a></h4><h4><a
href="http://stackoverflow.com/questions/1598854/hidden-features-of-emacs-lisp" rel="nofollow">Hidden features of Lisp</a></h4><h4><a
href="http://stackoverflow.com/questions/523867/hidden-features-of-lua">Hidden features of Lua </a></h4><h4><a
href="http://stackoverflow.com/questions/211616/hidden-features-of-objective-c">Hidden features of Objective-C </a></h4><h4><a
href="http://stackoverflow.com/questions/161872/hidden-features-of-perl">Hidden features of Perl</a></h4><h4><a
href="http://stackoverflow.com/questions/61401/hidden-features-of-php">Hidden features of PHP</a></h4><h4><a
href="http://stackoverflow.com/questions/101268/hidden-features-of-python">Hidden features of Python</a></h4><h4><a
href="http://stackoverflow.com/questions/1682874/hidden-features-of-r" rel="nofollow">Hidden features of R</a></h4><h4><a
href="http://stackoverflow.com/questions/63998/hidden-features-of-ruby">Hidden features of Ruby</a></h4><h4><a
href="http://stackoverflow.com/questions/709679/hidden-features-of-ruby-on-rails">Hidden features of Ruby on Rails </a></h4><h4><a
href="http://stackoverflow.com/questions/1025181/hidden-features-of-scala">Hidden features of Scala </a></h4><h4><a
href="http://stackoverflow.com/questions/1031450/are-there-any-undocumented-features-in-silverlight">Hidden features of Silverlight</a></h4><h4><a
href="http://stackoverflow.com/questions/1596139/hidden-features-and-dark-corners-of-stl" rel="nofollow">Hidden features and Dark Corners of STL?</a></h4><h4><a
href="http://stackoverflow.com/questions/1024711/hidden-features-of-tcl-tk">Hidden features of TCL/TK</a></h4><h4><a
href="http://stackoverflow.com/questions/102084/hidden-features-of-vb-net">Hidden features of VB.Net </a></h4><h4><a
href="http://stackoverflow.com/questions/1070863/hidden-features-of-vba">Hidden features of VBA</a></h4><h3>Databases</h3><h4><a
href="http://stackoverflow.com/questions/368858/hidden-features-of-mysql">Hidden features of MySQL </a></h4><h4><a
href="http://stackoverflow.com/questions/381231/hidden-features-in-oracle">Hidden features of Oracle </a></h4><h4><a
href="http://stackoverflow.com/questions/1031485/hidden-features-of-pl-sql">Hidden features of PL/SQL</a></h4><h4><a
href="http://stackoverflow.com/questions/761327/hidden-features-of-postgresql">Hidden features of PostgreSQL </a></h4><h4><a
href="http://stackoverflow.com/questions/121243/hidden-features-of-sql-server">Hidden features of SQL Server </a></h4><h3>Mobile</h3><h4><a
href="http://stackoverflow.com/questions/1619133/hidden-features-of-android-development" rel="nofollow">Hidden features of Android development</a></h4><h3>Other</h3><h4><a
href="http://stackoverflow.com/questions/211378/hidden-features-of-bash">Hidden features of Bash</a> &#8211; also see my <a
href="http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/">bash cheatsheet</a>.</h4><h4><a
href="http://stackoverflow.com/questions/628407/css-hidden-features">Hidden features of CSS</a></h4><h4><a
href="http://stackoverflow.com/questions/1858520/hidden-features-of-django" rel="nofollow">Hidden features of Django</a></h4><h4><a
href="http://stackoverflow.com/questions/54886/hidden-features-tricks-for-eclipse">Hidden features of Eclipse </a></h4><h4><a
href="http://stackoverflow.com/questions/1598854/hidden-features-of-emacs-lisp" rel="nofollow">Hidden features of Emacs</a></h4><h4><a
href="http://stackoverflow.com/questions/1330531/hidden-features-of-grails" rel="nofollow">Hidden features of Grails</a></h4><h4><a
href="http://stackoverflow.com/questions/121167/hidden-features-of-greasemonkey">Hidden features of Greasemonkey </a></h4><h4><a
href="http://stackoverflow.com/questions/954327/hidden-features-of-html">Hidden features of HTML </a></h4><h4><a
href="http://stackoverflow.com/questions/954894/hidden-features-of-http">Hidden features of HTTP </a></h4><h4><a
href="http://stackoverflow.com/questions/121965/hidden-or-not-widely-known-features-of-jquery">Hidden features of jQuery</a></h4><h4><a
href="http://stackoverflow.com/questions/286004/hidden-features-of-modrewrite">Hidden features of mod_rewrite </a></h4><h4><a
href="http://stackoverflow.com/questions/1826458/hidden-features-of-qt" rel="nofollow">Hidden features of Qt</a></h4><h4><a
href="http://stackoverflow.com/questions/868181/hidden-features-of-regex">Hidden features of RegEx </a></h4><h4><a
href="http://stackoverflow.com/questions/1416423/hidden-features-of-spring-framework">Hidden features of Spring framework </a></h4><h4><a
href="http://stackoverflow.com/questions/1025699/hidden-features-of-vhdl">Hidden features of VHDL</a></h4><h4><a
href="http://stackoverflow.com/questions/100420/hidden-features-of-visual-studio-2005-2008">Hidden features of Visual Studio (2005-2008) </a></h4><h4><a
href="http://stackoverflow.com/questions/1777303/hidden-features-of-windows-forms" rel="nofollow">Hidden features of Windows.Forms</a></h4><h4><a
href="http://stackoverflow.com/questions/1124769/hidden-features-of-wpf-and-xaml">Hidden features of WPF and XAML</a></h4><h4><a
href="http://stackoverflow.com/questions/1521851/hidden-features-of-xpathxslt">Hidden features of Xpath+Xslt</a></h4><p>I will try to maintain this list, adding new languages that join the series as I find them. Now go learn something new!</p><div
class='post_blob_1'>Real <a
href="http://www.test-king.com/exams/70-432.htm">70-432</a> exam preparation with help of easy to understand <a
href="http://www.test-king.com/exams/220-702.htm">220-702</a> notes and <a
href="http://www.test-king.com/exams/640-553.htm">640-553</a> practice questions.</div><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Hidden+Features+Of+Perl%2C+PHP%2C+Javascript%2C+C%2C+C%2B%2B%2C+C%23%2C+Java%2C+Ruby%2C+Python%2C+And+Others+%5BCollection+Of+Incredibly+Useful+Lists%5D&amp;link=http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/&amp;notes=Introduction%0D%0AStackOverflow%20is%20an%20amazing%20site%20for%20coding%20questions.%20It%20was%20created%20by%20Joel%20Spolsky%20of%20joelonsoftware.com%2C%20Jeff%20Atwood%20of%20codinghorror.com%2C%20and%20some%20other%20incredibly%20smart%20guys%20who%20truly%20care%20about%20user%20experience.%20I%20have%20been%20a%20total%20fan%20of%20SO%20since%20it%20went%20mainstream%20and%20it%27s%20now%20a&amp;short_link=http://bit.ly/capw5J&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Hidden+Features+Of+Perl%2C+PHP%2C+Javascript%2C+C%2C+C%2B%2B%2C+C%23%2C+Java%2C+Ruby%2C+Python%2C+And+Others+%5BCollection+Of+Incredibly+Useful+Lists%5D&amp;link=http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/&amp;notes=Introduction%0D%0AStackOverflow%20is%20an%20amazing%20site%20for%20coding%20questions.%20It%20was%20created%20by%20Joel%20Spolsky%20of%20joelonsoftware.com%2C%20Jeff%20Atwood%20of%20codinghorror.com%2C%20and%20some%20other%20incredibly%20smart%20guys%20who%20truly%20care%20about%20user%20experience.%20I%20have%20been%20a%20total%20fan%20of%20SO%20since%20it%20went%20mainstream%20and%20it%27s%20now%20a&amp;short_link=http://bit.ly/capw5J&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Hidden+Features+Of+Perl%2C+PHP%2C+Javascript%2C+C%2C+C%2B%2B%2C+C%23%2C+Java%2C+Ruby%2C+Python%2C+And+Others+%5BCollection+Of+Incredibly+Useful+Lists%5D&amp;link=http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/&amp;notes=Introduction%0D%0AStackOverflow%20is%20an%20amazing%20site%20for%20coding%20questions.%20It%20was%20created%20by%20Joel%20Spolsky%20of%20joelonsoftware.com%2C%20Jeff%20Atwood%20of%20codinghorror.com%2C%20and%20some%20other%20incredibly%20smart%20guys%20who%20truly%20care%20about%20user%20experience.%20I%20have%20been%20a%20total%20fan%20of%20SO%20since%20it%20went%20mainstream%20and%20it%27s%20now%20a&amp;short_link=http://bit.ly/capw5J&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Hidden+Features+Of+Perl%2C+PHP%2C+Javascript%2C+C%2C+C%2B%2B%2C+C%23%2C+Java%2C+Ruby%2C+Python%2C+And+Others+%5BCollection+Of+Incredibly+Useful+Lists%5D&amp;link=http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/&amp;notes=Introduction%0D%0AStackOverflow%20is%20an%20amazing%20site%20for%20coding%20questions.%20It%20was%20created%20by%20Joel%20Spolsky%20of%20joelonsoftware.com%2C%20Jeff%20Atwood%20of%20codinghorror.com%2C%20and%20some%20other%20incredibly%20smart%20guys%20who%20truly%20care%20about%20user%20experience.%20I%20have%20been%20a%20total%20fan%20of%20SO%20since%20it%20went%20mainstream%20and%20it%27s%20now%20a&amp;short_link=http://bit.ly/capw5J&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Hidden+Features+Of+Perl%2C+PHP%2C+Javascript%2C+C%2C+C%2B%2B%2C+C%23%2C+Java%2C+Ruby%2C+Python%2C+And+Others+%5BCollection+Of+Incredibly+Useful+Lists%5D&amp;link=http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/&amp;notes=Introduction%0D%0AStackOverflow%20is%20an%20amazing%20site%20for%20coding%20questions.%20It%20was%20created%20by%20Joel%20Spolsky%20of%20joelonsoftware.com%2C%20Jeff%20Atwood%20of%20codinghorror.com%2C%20and%20some%20other%20incredibly%20smart%20guys%20who%20truly%20care%20about%20user%20experience.%20I%20have%20been%20a%20total%20fan%20of%20SO%20since%20it%20went%20mainstream%20and%20it%27s%20now%20a&amp;short_link=http://bit.ly/capw5J&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Hidden+Features+Of+Perl%2C+PHP%2C+Javascript%2C+C%2C+C%2B%2B%2C+C%23%2C+Java%2C+Ruby%2C+Python%2C+And+Others+%5BCollection+Of+Incredibly+Useful+Lists%5D&amp;link=http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/&amp;notes=Introduction%0D%0AStackOverflow%20is%20an%20amazing%20site%20for%20coding%20questions.%20It%20was%20created%20by%20Joel%20Spolsky%20of%20joelonsoftware.com%2C%20Jeff%20Atwood%20of%20codinghorror.com%2C%20and%20some%20other%20incredibly%20smart%20guys%20who%20truly%20care%20about%20user%20experience.%20I%20have%20been%20a%20total%20fan%20of%20SO%20since%20it%20went%20mainstream%20and%20it%27s%20now%20a&amp;short_link=http://bit.ly/capw5J&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Hidden+Features+Of+Perl%2C+PHP%2C+Javascript%2C+C%2C+C%2B%2B%2C+C%23%2C+Java%2C+Ruby%2C+Python%2C+And+Others+%5BCollection+Of+Incredibly+Useful+Lists%5D&amp;link=http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/&amp;notes=Introduction%0D%0AStackOverflow%20is%20an%20amazing%20site%20for%20coding%20questions.%20It%20was%20created%20by%20Joel%20Spolsky%20of%20joelonsoftware.com%2C%20Jeff%20Atwood%20of%20codinghorror.com%2C%20and%20some%20other%20incredibly%20smart%20guys%20who%20truly%20care%20about%20user%20experience.%20I%20have%20been%20a%20total%20fan%20of%20SO%20since%20it%20went%20mainstream%20and%20it%27s%20now%20a&amp;short_link=http://bit.ly/capw5J&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Hidden%20Features%20Of%20Perl%2C%20PHP%2C%20Javascript%2C%20C%2C%20C%2B%2B%2C%20C%23%2C%20Java%2C%20Ruby%2C%20Python%2C%20And%20Others%20%5BCollection%20Of%20Incredibly%20Useful%20Lists%5D&amp;link=http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/&amp;notes=Introduction%0D%0AStackOverflow%20is%20an%20amazing%20site%20for%20coding%20questions.%20It%20was%20created%20by%20Joel%20Spolsky%20of%20joelonsoftware.com%2C%20Jeff%20Atwood%20of%20codinghorror.com%2C%20and%20some%20other%20incredibly%20smart%20guys%20who%20truly%20care%20about%20user%20experience.%20I%20have%20been%20a%20total%20fan%20of%20SO%20since%20it%20went%20mainstream%20and%20it%27s%20now%20a&amp;short_link=http://bit.ly/capw5J&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2009/10/24/are-you-a-stackoverflow-com-superuser-com-serverfault-com-fan-heres-a-greasemonkey-script-to-keep-track-of-your-accounts-on-all-of-them/" rel="bookmark" title="October 24, 2009">StackOverflow.com, SuperUser.com, ServerFault.com Fan? Here&#039;s A Greasemonkey Script To Keep Track Of All Your Accounts</a></li><li><a
href="http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/" rel="bookmark" title="September 3, 2009">Comparison Between Solr And Sphinx Search Servers (Solr Vs Sphinx &#8211; Fight!)</a></li><li><a
href="http://beerpla.net/2009/03/17/twitter-autocomplete-auto-url-expansion-auto-url-shortener-auto-pagination-rt-button-nested-replies-inline-media-embed-search-tabs-and-more/" rel="bookmark" title="March 17, 2009">Twitter.com Autocomplete, Auto URL Expansion, Auto URL Shortener, RT Button, Nested Replies, Inline Media Embed, Search Tabs, And More</a></li><li><a
href="http://beerpla.net/2010/01/18/wordpress-developers-how-do-you-make-a-living-poll-discussion/" rel="bookmark" title="January 18, 2010">WordPress Developers &#8211; How Do You Make A Living [Poll + Discussion]?</a></li><li><a
href="http://beerpla.net/2009/08/18/delicious-com-quietly-rolls-out-domain-and-url-searchingfiltering-finally/" rel="bookmark" title="August 18, 2009">Delicious.com [Quietly] Rolls Out Domain And Url Searching/Filtering. Finally!</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2009%2F06%2F21%2Fhidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists%2F&amp;title=Hidden%20Features%20Of%20Perl%2C%20PHP%2C%20Javascript%2C%20C%2C%20C%2B%2B%2C%20C%23%2C%20Java%2C%20Ruby%2C%20Python%2C%20And%20Others%20%5BCollection%20Of%20Incredibly%20Useful%20Lists%5D" id="wpa2a_8"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/feed/</wfw:commentRss> <slash:comments>23</slash:comments> </item> <item><title>[MySQL] Deleting/Updating Rows Common To 2 Tables &#8211; Speed And Slave Lag Considerations</title><link>http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/</link> <comments>http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/#comments</comments> <pubDate>Mon, 11 May 2009 16:00:00 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Databases]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[common]]></category> <category><![CDATA[deadlock]]></category> <category><![CDATA[delete]]></category> <category><![CDATA[lag]]></category> <category><![CDATA[lock]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[query]]></category> <category><![CDATA[replication]]></category> <category><![CDATA[row]]></category> <category><![CDATA[slave]]></category> <category><![CDATA[speed]]></category> <category><![CDATA[table]]></category> <category><![CDATA[update]]></category> <guid
isPermaLink="false">http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/</guid> <description><![CDATA[<h2>Introduction</h2><p>A question I recently saw on Stack Overflow titled <a
href="http://stackoverflow.com/questions/812512/faster-way-to-delete-matching-rows/" rel="nofollow">Faster way to delete matching [database] rows?</a> prompted me to organize my thoughts and observations on the subject and quickly jot them down here.</p><p>Here is the brief description of the task: say, you have 2 MySQL tables <em>a</em> and <em>b</em>. The tables contain the same type of data, for example log entries. Now you want to delete all or a subset of the entries in table <em>a</em> that exist in table <em>b</em>.</p><h2>Solutions Suggested By Others</h2><div
class="wp_syntax"><div
class="code"><pre>DELETE FROM a WHERE EXISTS (SELECT b.id FROM b WHERE b.id = a.id);</pre></div></div><div
class="wp_syntax"><div
class="code"><pre>DELETE a FROM a INNER JOIN b on a.id=b.id;</pre></div></div><div
class="wp_syntax"><div
class="code"><pre>DELETE FROM a WHERE id IN</pre></div></div><p>...<div
class=clear></div> <a
href="http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<h2>Introduction</h2><p>A question I recently saw on Stack Overflow titled <a
href="http://stackoverflow.com/questions/812512/faster-way-to-delete-matching-rows/" rel="nofollow">Faster way to delete matching [database] rows?</a> prompted me to organize my thoughts and observations on the subject and quickly jot them down here.</p><p>Here is the brief description of the task: say, you have 2 MySQL tables <em>a</em> and <em>b</em>. The tables contain the same type of data, for example log entries. Now you want to delete all or a subset of the entries in table <em>a</em> that exist in table <em>b</em>.</p><h2>Solutions Suggested By Others</h2><div
class="wp_syntax"><div
class="code"><pre>DELETE FROM a WHERE EXISTS (SELECT b.id FROM b WHERE b.id = a.id);</pre></div></div><div
class="wp_syntax"><div
class="code"><pre>DELETE a FROM a INNER JOIN b on a.id=b.id;</pre></div></div><div
class="wp_syntax"><div
class="code"><pre>DELETE FROM a WHERE id IN (SELECT id FROM b)</pre></div></div><h2>The Problem With Suggested Solutions</h2><p>Solutions above are all fine if the tables are quite small and the SELECT/JOIN is fast. However, in large scale situations with replication, these queries could potentially lock up the tables from writes and severely aggravate slave lag because, as I mentioned in the <a
href="http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/">MySQL Slave Lag (Delay) Explained And 7 Ways To Battle It</a> post, replication is single-threaded.</p><p>Thus, if a single UPDATE/DELETE query takes a considerable amount of time, when it propagates to the slaves, they will be stuck executing it and doing nothing else, lagging behind more and more.</p><h2>My Thoughts And Solution</h2><p>I have personally dealt with having to delete many rows from one table that exist in another and in my experience it&#039;s best to do the following, especially if you expect lots of rows to be deleted. This technique most importantly will improve replication slave lag.</p><p>So, here it is: <strong>do a SELECT first, as a separate query</strong>, remembering the IDs returned in your script/application, then continue on deleting in batches (say, 50,000 rows at a time). This will achieve the following:</p><ul><li><em>each one of the delete statements will not lock the table for too long, thus not letting replication lag get out of control</em>. It is especially important if you rely on your replication to provide you relatively up-to-date data. The benefit of using batches is that if you find that each DELETE query still takes too long, you can adjust it to be smaller without touching any DB structures.</li><li>another benefit of using a separate SELECT is that <em>the SELECT itself might take a long time to run</em>, especially if it can&#039;t for whatever reason use the best DB indexes. If the SELECT is inner to a DELETE, when the whole statement migrates to the slaves, it will have to do the SELECT all over again, potentially lagging the slaves because of how long that SELECT will take. If you use a separate SELECT query, this problem goes away, as all you&#039;re passing to the DELETE query is a list of IDs.</li></ul><p>Do you have another opinion or see a fault with my logic? Feel free to share in the comments.</p><p>P.S. One thing to be careful about is, of course, potential edits to the table between the times the SELECT finishes and DELETEs start. I will let you handle such details by using transactions and/or logic pertinent to your application.</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=%5BMySQL%5D+Deleting%2FUpdating+Rows+Common+To+2+Tables+-+Speed+And+Slave+Lag+Considerations&amp;link=http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/&amp;notes=Introduction%20%20A%20question%20I%20recently%20saw%20on%20Stack%20Overflow%20titled%20Faster%20way%20to%20delete%20matching%20%5Bdatabase%5D%20rows%3F%20prompted%20me%20to%20organize%20my%20thoughts%20and%20observations%20on%20the%20subject%20and%20quickly%20jot%20them%20down%20here.%20%20Here%20is%20the%20brief%20description%20of%20the%20task%3A%20say%2C%20you%20have%202%20MySQL%20tables%20a%20and%20b.%20The%20ta&amp;short_link=http://bit.ly/atwEQy&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=%5BMySQL%5D+Deleting%2FUpdating+Rows+Common+To+2+Tables+-+Speed+And+Slave+Lag+Considerations&amp;link=http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/&amp;notes=Introduction%20%20A%20question%20I%20recently%20saw%20on%20Stack%20Overflow%20titled%20Faster%20way%20to%20delete%20matching%20%5Bdatabase%5D%20rows%3F%20prompted%20me%20to%20organize%20my%20thoughts%20and%20observations%20on%20the%20subject%20and%20quickly%20jot%20them%20down%20here.%20%20Here%20is%20the%20brief%20description%20of%20the%20task%3A%20say%2C%20you%20have%202%20MySQL%20tables%20a%20and%20b.%20The%20ta&amp;short_link=http://bit.ly/atwEQy&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=%5BMySQL%5D+Deleting%2FUpdating+Rows+Common+To+2+Tables+-+Speed+And+Slave+Lag+Considerations&amp;link=http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/&amp;notes=Introduction%20%20A%20question%20I%20recently%20saw%20on%20Stack%20Overflow%20titled%20Faster%20way%20to%20delete%20matching%20%5Bdatabase%5D%20rows%3F%20prompted%20me%20to%20organize%20my%20thoughts%20and%20observations%20on%20the%20subject%20and%20quickly%20jot%20them%20down%20here.%20%20Here%20is%20the%20brief%20description%20of%20the%20task%3A%20say%2C%20you%20have%202%20MySQL%20tables%20a%20and%20b.%20The%20ta&amp;short_link=http://bit.ly/atwEQy&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=%5BMySQL%5D+Deleting%2FUpdating+Rows+Common+To+2+Tables+-+Speed+And+Slave+Lag+Considerations&amp;link=http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/&amp;notes=Introduction%20%20A%20question%20I%20recently%20saw%20on%20Stack%20Overflow%20titled%20Faster%20way%20to%20delete%20matching%20%5Bdatabase%5D%20rows%3F%20prompted%20me%20to%20organize%20my%20thoughts%20and%20observations%20on%20the%20subject%20and%20quickly%20jot%20them%20down%20here.%20%20Here%20is%20the%20brief%20description%20of%20the%20task%3A%20say%2C%20you%20have%202%20MySQL%20tables%20a%20and%20b.%20The%20ta&amp;short_link=http://bit.ly/atwEQy&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=%5BMySQL%5D+Deleting%2FUpdating+Rows+Common+To+2+Tables+-+Speed+And+Slave+Lag+Considerations&amp;link=http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/&amp;notes=Introduction%20%20A%20question%20I%20recently%20saw%20on%20Stack%20Overflow%20titled%20Faster%20way%20to%20delete%20matching%20%5Bdatabase%5D%20rows%3F%20prompted%20me%20to%20organize%20my%20thoughts%20and%20observations%20on%20the%20subject%20and%20quickly%20jot%20them%20down%20here.%20%20Here%20is%20the%20brief%20description%20of%20the%20task%3A%20say%2C%20you%20have%202%20MySQL%20tables%20a%20and%20b.%20The%20ta&amp;short_link=http://bit.ly/atwEQy&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=%5BMySQL%5D+Deleting%2FUpdating+Rows+Common+To+2+Tables+-+Speed+And+Slave+Lag+Considerations&amp;link=http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/&amp;notes=Introduction%20%20A%20question%20I%20recently%20saw%20on%20Stack%20Overflow%20titled%20Faster%20way%20to%20delete%20matching%20%5Bdatabase%5D%20rows%3F%20prompted%20me%20to%20organize%20my%20thoughts%20and%20observations%20on%20the%20subject%20and%20quickly%20jot%20them%20down%20here.%20%20Here%20is%20the%20brief%20description%20of%20the%20task%3A%20say%2C%20you%20have%202%20MySQL%20tables%20a%20and%20b.%20The%20ta&amp;short_link=http://bit.ly/atwEQy&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=%5BMySQL%5D+Deleting%2FUpdating+Rows+Common+To+2+Tables+-+Speed+And+Slave+Lag+Considerations&amp;link=http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/&amp;notes=Introduction%20%20A%20question%20I%20recently%20saw%20on%20Stack%20Overflow%20titled%20Faster%20way%20to%20delete%20matching%20%5Bdatabase%5D%20rows%3F%20prompted%20me%20to%20organize%20my%20thoughts%20and%20observations%20on%20the%20subject%20and%20quickly%20jot%20them%20down%20here.%20%20Here%20is%20the%20brief%20description%20of%20the%20task%3A%20say%2C%20you%20have%202%20MySQL%20tables%20a%20and%20b.%20The%20ta&amp;short_link=http://bit.ly/atwEQy&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=%5BMySQL%5D%20Deleting%2FUpdating%20Rows%20Common%20To%202%20Tables%20-%20Speed%20And%20Slave%20Lag%20Considerations&amp;link=http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/&amp;notes=Introduction%20%20A%20question%20I%20recently%20saw%20on%20Stack%20Overflow%20titled%20Faster%20way%20to%20delete%20matching%20%5Bdatabase%5D%20rows%3F%20prompted%20me%20to%20organize%20my%20thoughts%20and%20observations%20on%20the%20subject%20and%20quickly%20jot%20them%20down%20here.%20%20Here%20is%20the%20brief%20description%20of%20the%20task%3A%20say%2C%20you%20have%202%20MySQL%20tables%20a%20and%20b.%20The%20ta&amp;short_link=http://bit.ly/atwEQy&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/" rel="bookmark" title="September 5, 2008">MySQL Slave Lag (Delay) Explained And 7 Ways To Battle It</a></li><li><a
href="http://beerpla.net/2008/04/15/mysql-conference-liveblogging-explain-demystified-tuesday-200p/" rel="bookmark" title="April 15, 2008">MySQL Conference Liveblogging: EXPLAIN Demystified (Tuesday 2:00PM)</a></li><li><a
href="http://beerpla.net/2008/04/17/mysql-conference-liveblogging-mysql-hidden-treasures-thursday-1155pm/" rel="bookmark" title="April 17, 2008">MySQL Conference Liveblogging: MySQL Hidden Treasures (Thursday 11:55PM)</a></li><li><a
href="http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/" rel="bookmark" title="March 18, 2009">MySQL Indexing Considerations Of Implementing A Priority Field In Your Application</a></li><li><a
href="http://beerpla.net/2008/04/16/mysql-conference-liveblogging-portable-scale-out-benchmarks-for-mysql-wednesday-1050am/" rel="bookmark" title="April 16, 2008">MySQL Conference Liveblogging: Portable Scale-out Benchmarks For MySQL (Wednesday 10:50AM)</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2009%2F05%2F11%2Fmysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations%2F&amp;title=%5BMySQL%5D%20Deleting%2FUpdating%20Rows%20Common%20To%202%20Tables%20%26%238211%3B%20Speed%20And%20Slave%20Lag%20Considerations" id="wpa2a_10"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>MySQL Indexing Considerations Of Implementing A Priority Field In Your Application</title><link>http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/</link> <comments>http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/#comments</comments> <pubDate>Wed, 18 Mar 2009 14:00:00 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Databases]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[asc]]></category> <category><![CDATA[desc]]></category> <category><![CDATA[how]]></category> <category><![CDATA[index]]></category> <category><![CDATA[order]]></category> <category><![CDATA[priority]]></category> <category><![CDATA[problem]]></category> <category><![CDATA[solution]]></category> <guid
isPermaLink="false">http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/</guid> <description><![CDATA[<h2>Introduction</h2><p>If you, like me, are building or thinking of implementing a MySQL-powered application that has any need for prioritizing selecting certain data over other data, this article is for you.</p><h2>Example</h2><p>As a real world example, consider a queue-like video processing system. Your application receives new videos and processes them. The volume of incoming videos can at times be higher than the processing rate because the process is CPU bound, so occasionally a pretty long queue may form. You will try to process them as fast as you can but…</p><p><div
class="note"><div
class="noteclassic">Note that I am using a queue here, so the <strong>the next item to be processed is a result of sorting by some sort of field in a <em>ascending</em></strong></div></div>...<div
class=clear></div> <a
href="http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<h2>Introduction</h2><p>If you, like me, are building or thinking of implementing a MySQL-powered application that has any need for prioritizing selecting certain data over other data, this article is for you.</p><h2>Example</h2><p>As a real world example, consider a queue-like video processing system. Your application receives new videos and processes them. The volume of incoming videos can at times be higher than the processing rate because the process is CPU bound, so occasionally a pretty long queue may form. You will try to process them as fast as you can but…</p><p><div
class="note"><div
class="noteclassic">Note that I am using a queue here, so the <strong>the next item to be processed is a result of sorting by some sort of field in a <em>ascending </em>order</strong>, for example ORDER BY id or ORDER BY upload_date. I’ll pick the id sort here.</div></div></p><p>…suddenly, you need to process a video somewhere in the middle of the queue or an important video enters and needs immediate attention. What do you do?</p><p>An obvious solution is implementing a simple priority system where each item has a numeric priority field. Now you can sort first by priority from highest to lowest and then by id within the highest priority. Important and urgent items get a their priority changed to something higher and get processed first. There is only one problem.</p><h2>Problem</h2><p>The problem is pretty serious – let’s take a look at the SELECT statement. Before selecting, I’ve added 19 random rows to have some data to work on.</p><div
class="wp_syntax"><div
class="code"><pre>SELECT * FROM queue ORDER BY priority DESC, id LIMIT 1;</pre></div></div><p>What kind of index would you put on this table to speed up this query? You do want to add a proper index, don’t you? DO YOU? Ok, good.</p><p>&nbsp;</p><p>Here’s what happens without any indexes:</p><div
class="wp_syntax"><div
class="code"><pre>mysql&gt; EXPLAIN SELECT * FROM queue ORDER BY priority DESC, id LIMIT 1;
+----+-------------+-------+------+---------------+------+---------+------+------+----------------+
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra          |
+----+-------------+-------+------+---------------+------+---------+------+------+----------------+
|  1 | SIMPLE      | queue | ALL  | NULL          | NULL | NULL    | NULL |   19 | Using filesort |
+----+-------------+-------+------+---------------+------+---------+------+------+----------------+
1 row in set (0.00 sec)</pre></div></div><p><em>Using filesort</em>, ugh, of course, due to sorting without an index.</p><p>&nbsp;</p><p>Let’s see, how about a combined index on (priority, id)?</p><div
class="wp_syntax"><div
class="code"><pre>mysql&gt; ALTER TABLE `queue` ADD INDEX `priority_id`(`priority`, `id`);
Query OK, 19 rows affected (0.05 sec)
Records: 19  Duplicates: 0  Warnings: 0
&nbsp;
mysql&gt; EXPLAIN SELECT * FROM queue ORDER BY priority DESC, id LIMIT 1;
+----+-------------+-------+-------+---------------+-------------+---------+------+------+-----------------------------+
| id | select_type | table | type  | possible_keys | key         | key_len | ref  | rows | Extra                       |
+----+-------------+-------+-------+---------------+-------------+---------+------+------+-----------------------------+
|  1 | SIMPLE      | queue | index | NULL          | priority_id | 5       | NULL |   19 | Using index; Using filesort |
+----+-------------+-------+-------+---------------+-------------+---------+------+------+-----------------------------+
1 row in set (0.00 sec)</pre></div></div><p>Better because an index is being used but not very good because filesort is still present. “Of course!”, you slap yourself on the forehead. The first ORDER BY uses a DESCENDING order, and our key is in ASCENDING order.</p><p>&nbsp;</p><p>So, let’s add the proper key with the right ordering instead.</p><div
class="wp_syntax"><div
class="code"><pre>mysql&gt; ALTER TABLE `queue` DROP INDEX `priority_id`;
Query OK, 19 rows affected (0.05 sec)
Records: 19  Duplicates: 0  Warnings: 0
&nbsp;
mysql&gt; ALTER TABLE `queue` ADD INDEX `priority_id`(`priority` DESC, `id`);
Query OK, 19 rows affected (0.06 sec)
Records: 19  Duplicates: 0  Warnings: 0</pre></div></div><div
class="wp_syntax"><div
class="code"><pre>mysql&gt; EXPLAIN SELECT * FROM queue ORDER BY priority DESC, id LIMIT 1;
+----+-------------+-------+-------+---------------+-------------+---------+------+------+-----------------------------+
| id | select_type | table | type  | possible_keys | key         | key_len | ref  | rows | Extra                       |
+----+-------------+-------+-------+---------------+-------------+---------+------+------+-----------------------------+
|  1 | SIMPLE      | queue | index | NULL          | priority_id | 5       | NULL |   19 | Using index; Using filesort |
+----+-------------+-------+-------+---------------+-------------+---------+------+------+-----------------------------+
1 row in set (0.00 sec)</pre></div></div><pre></pre><p>What the deuce? This is the same result as with the previous index. Time to dig up the documentation.</p><p>&nbsp;</p><p>Here is what the MySQL manual has to say under the <a
href="http://dev.mysql.com/doc/refman/5.1/en/order-by-optimization.html">ORDER BY optimization</a> section:</p><blockquote><p>MySQL <em>cannot</em> use indexes to resolve the ORDER BY, although it still uses indexes to find the rows that match the WHERE clause … if you mix ASC and DESC:</p></blockquote><blockquote><div
class="wp_syntax"><div
class="code"><pre>SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 ASC;</pre></div></div></blockquote><p>Moreover, to confuse the user even more, the index creation command accepts the DESC instruction, without actually honoring it, as specified in the <a
href="http://dev.mysql.com/doc/refman/5.1/en/create-index.html" rel="nofollow">CREATE INDEX</a> section:</p><blockquote><p>An <em>index_col_name</em> specification can end with ASC or DESC. These keywords are allowed for future extensions for specifying ascending or descending index value storage. Currently, they are parsed but ignored; index values are always stored in ascending order.</p></blockquote><p>So, after so many years MySQL still doesn’t support such basic functionality – you are either stuck with a query that uses filesort or have to look for a workaround.</p><h2>Solution</h2><p>Since it’s not possible to mix order directions, the solution is then to change the meaning of the priority column to match your needs. Thus, in the new approach priority 1 is higher than priority 10, and the application logic needs to accommodate to that. If you caught this while the application is still young, the code may be easy to change, but otherwise it could be a major pain in the butt.</p><h2>Conclusion</h2><p>The moral here is: plan your queries ahead and don’t mix and match DESC and ASC ordering as MySQL will not be able to use an index to resolve it. Do it even sooner if you’re putting lots and lots of data into your tables.</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Indexing+Considerations+Of+Implementing+A+Priority+Field+In+Your+Application&amp;link=http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/&amp;notes=Introduction%20If%20you%2C%20like%20me%2C%20are%20building%20or%20thinking%20of%20implementing%20a%20MySQL-powered%20application%20that%20has%20any%20need%20for%20prioritizing%20selecting%20certain%20data%20over%20other%20data%2C%20this%20article%20is%20for%20you.%20Example%20As%20a%20real%20world%20example%2C%20consider%20a%20queue-like%20video%20processing%20system.%20Your%20application%20rece&amp;short_link=http://bit.ly/csuKMb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Indexing+Considerations+Of+Implementing+A+Priority+Field+In+Your+Application&amp;link=http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/&amp;notes=Introduction%20If%20you%2C%20like%20me%2C%20are%20building%20or%20thinking%20of%20implementing%20a%20MySQL-powered%20application%20that%20has%20any%20need%20for%20prioritizing%20selecting%20certain%20data%20over%20other%20data%2C%20this%20article%20is%20for%20you.%20Example%20As%20a%20real%20world%20example%2C%20consider%20a%20queue-like%20video%20processing%20system.%20Your%20application%20rece&amp;short_link=http://bit.ly/csuKMb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Indexing+Considerations+Of+Implementing+A+Priority+Field+In+Your+Application&amp;link=http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/&amp;notes=Introduction%20If%20you%2C%20like%20me%2C%20are%20building%20or%20thinking%20of%20implementing%20a%20MySQL-powered%20application%20that%20has%20any%20need%20for%20prioritizing%20selecting%20certain%20data%20over%20other%20data%2C%20this%20article%20is%20for%20you.%20Example%20As%20a%20real%20world%20example%2C%20consider%20a%20queue-like%20video%20processing%20system.%20Your%20application%20rece&amp;short_link=http://bit.ly/csuKMb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Indexing+Considerations+Of+Implementing+A+Priority+Field+In+Your+Application&amp;link=http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/&amp;notes=Introduction%20If%20you%2C%20like%20me%2C%20are%20building%20or%20thinking%20of%20implementing%20a%20MySQL-powered%20application%20that%20has%20any%20need%20for%20prioritizing%20selecting%20certain%20data%20over%20other%20data%2C%20this%20article%20is%20for%20you.%20Example%20As%20a%20real%20world%20example%2C%20consider%20a%20queue-like%20video%20processing%20system.%20Your%20application%20rece&amp;short_link=http://bit.ly/csuKMb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Indexing+Considerations+Of+Implementing+A+Priority+Field+In+Your+Application&amp;link=http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/&amp;notes=Introduction%20If%20you%2C%20like%20me%2C%20are%20building%20or%20thinking%20of%20implementing%20a%20MySQL-powered%20application%20that%20has%20any%20need%20for%20prioritizing%20selecting%20certain%20data%20over%20other%20data%2C%20this%20article%20is%20for%20you.%20Example%20As%20a%20real%20world%20example%2C%20consider%20a%20queue-like%20video%20processing%20system.%20Your%20application%20rece&amp;short_link=http://bit.ly/csuKMb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Indexing+Considerations+Of+Implementing+A+Priority+Field+In+Your+Application&amp;link=http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/&amp;notes=Introduction%20If%20you%2C%20like%20me%2C%20are%20building%20or%20thinking%20of%20implementing%20a%20MySQL-powered%20application%20that%20has%20any%20need%20for%20prioritizing%20selecting%20certain%20data%20over%20other%20data%2C%20this%20article%20is%20for%20you.%20Example%20As%20a%20real%20world%20example%2C%20consider%20a%20queue-like%20video%20processing%20system.%20Your%20application%20rece&amp;short_link=http://bit.ly/csuKMb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Indexing+Considerations+Of+Implementing+A+Priority+Field+In+Your+Application&amp;link=http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/&amp;notes=Introduction%20If%20you%2C%20like%20me%2C%20are%20building%20or%20thinking%20of%20implementing%20a%20MySQL-powered%20application%20that%20has%20any%20need%20for%20prioritizing%20selecting%20certain%20data%20over%20other%20data%2C%20this%20article%20is%20for%20you.%20Example%20As%20a%20real%20world%20example%2C%20consider%20a%20queue-like%20video%20processing%20system.%20Your%20application%20rece&amp;short_link=http://bit.ly/csuKMb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL%20Indexing%20Considerations%20Of%20Implementing%20A%20Priority%20Field%20In%20Your%20Application&amp;link=http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/&amp;notes=Introduction%20If%20you%2C%20like%20me%2C%20are%20building%20or%20thinking%20of%20implementing%20a%20MySQL-powered%20application%20that%20has%20any%20need%20for%20prioritizing%20selecting%20certain%20data%20over%20other%20data%2C%20this%20article%20is%20for%20you.%20Example%20As%20a%20real%20world%20example%2C%20consider%20a%20queue-like%20video%20processing%20system.%20Your%20application%20rece&amp;short_link=http://bit.ly/csuKMb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2008/04/15/mysql-conference-liveblogging-explain-demystified-tuesday-200p/" rel="bookmark" title="April 15, 2008">MySQL Conference Liveblogging: EXPLAIN Demystified (Tuesday 2:00PM)</a></li><li><a
href="http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/" rel="bookmark" title="February 17, 2009">Swapping Column Values in MySQL</a></li><li><a
href="http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/" rel="bookmark" title="May 11, 2009">[MySQL] Deleting/Updating Rows Common To 2 Tables &#8211; Speed And Slave Lag Considerations</a></li><li><a
href="http://beerpla.net/2008/04/16/mysql-conference-liveblogging-mysql-performance-under-a-microscope-the-tobias-and-jay-show-wednesday-200pm/" rel="bookmark" title="April 16, 2008">MySQL Conference Liveblogging: MySQL Performance Under A Microscope: The Tobias And Jay Show (Wednesday 2:00PM)</a></li><li><a
href="http://beerpla.net/2008/04/17/mysql-conference-liveblogging-optimizing-mysql-for-high-volume-data-logging-applications-thursday-250pm/" rel="bookmark" title="April 17, 2008">MySQL Conference Liveblogging: Optimizing MySQL For High Volume Data Logging Applications (Thursday 2:50PM)</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2009%2F03%2F18%2Fmysql-indexing-considerations-of-implementing-a-priority-field-in-your-application%2F&amp;title=MySQL%20Indexing%20Considerations%20Of%20Implementing%20A%20Priority%20Field%20In%20Your%20Application" id="wpa2a_12"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Swapping Column Values in MySQL</title><link>http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/</link> <comments>http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/#comments</comments> <pubDate>Wed, 18 Feb 2009 00:53:47 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Databases]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[column]]></category> <category><![CDATA[database]]></category> <category><![CDATA[swap]]></category> <category><![CDATA[value]]></category> <guid
isPermaLink="false">http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/</guid> <description><![CDATA[<p>Today I had to swap 2 columns in one of my MySQL tables. The task, which seems easily accomplishable by a temp variable, proved to be a bit harder to complete. But only just a bit.</p><p>Here are my findings:</p><ol><li><p>The</p><div
class="wp_syntax"><div
class="code"><pre>UPDATE swap_test SET x=y, y=x;</pre></div></div><p>approach doesn&#039;t work, as it&#039;ll just set both values to y.</p><p><div
class="note"><div
class="notetip">PostgreSQL seems to handle this query differently, as it apparently uses the old values throughout the whole query. [<a
href="http://www.postgresql.org/docs/8.3/static/sql-update.html">Reference</a>]</div></div></p></li><li><p>Here&#039;s a method that uses a temporary variable. Thanks to Antony from the comments for the &#34;IS NOT NULL&#34; tweak. Without it, the query works unpredictably. See the table schema at the end of the post. This method</p></li></ol><p>...<div
class=clear></div> <a
href="http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p>Today I had to swap 2 columns in one of my MySQL tables. The task, which seems easily accomplishable by a temp variable, proved to be a bit harder to complete. But only just a bit.</p><p>Here are my findings:</p><ol><li><p>The</p><div
class="wp_syntax"><div
class="code"><pre>UPDATE swap_test SET x=y, y=x;</pre></div></div><p>approach doesn&#039;t work, as it&#039;ll just set both values to y.</p><p><div
class="note"><div
class="notetip">PostgreSQL seems to handle this query differently, as it apparently uses the old values throughout the whole query. [<a
href="http://www.postgresql.org/docs/8.3/static/sql-update.html">Reference</a>]</div></div></p></li><li><p>Here&#039;s a method that uses a temporary variable. Thanks to Antony from the comments for the &quot;IS NOT NULL&quot; tweak. Without it, the query works unpredictably. See the table schema at the end of the post. This method doesn&#039;t swap the values if one of them is NULL. Use method #3 that doesn&#039;t have this limitation.</p><div
class="wp_syntax"><div
class="code"><pre>UPDATE swap_test SET x=y, y=@temp WHERE (@temp:=x) IS NOT NULL;</pre></div></div><p><div
class="note"><div
class="notewarning">The parentheses around @temp:=x are critical. Omitting them will cause data corruption.</div></div></p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
</pre></td><td
class="code"><pre>mysql&amp;gt; UPDATE swap_test SET x=y, y=@temp WHERE (@temp:=x) IS NOT NULL;
Query OK, 3 rows affected
Rows matched: 3  Changed: 3  Warnings: 0</pre></td></tr></table></div></li><li><p>This method was offered by Dipin in the comments. I think it’s the most elegant and clean solution. It works with both NULL and non-NULL values.</p><div
class="wp_syntax"><div
class="code"><pre>UPDATE swap_test SET x=(@temp:=x), x = y, y = @temp;</pre></div></div></li><li><p>Another approach I came up with that seems to work:</p><div
class="wp_syntax"><div
class="code"><pre>UPDATE swaptest s1, swaptest s2 SET s1.x=s1.y, s1.y=s2.x WHERE s1.id=s2.id;</pre></div></div><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
</pre></td><td
class="code"><pre>mysql&amp;gt; update swap_test s1, swap_test s2 set s1.x=s1.y, s1.y=s2.x where s1.id=s2.id;
Query OK, 3 rows affected
Rows matched: 3  Changed: 3  Warnings: 0</pre></td></tr></table></div></li></ol><p>Essentially, the 1st table is the one getting updated and the 2nd one is used to pull the old data from.<div
class="note"><div
class="noteclassic">Note that this approach requires a primary key to be present.</div></div></p><p>Test schema used:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td
class="code"><pre>CREATE TABLE `swap_test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `x` varchar(255) DEFAULT NULL,
  `y` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;
&nbsp;
INSERT INTO `swap_test` VALUES ('1', 'a', '10');
INSERT INTO `swap_test` VALUES ('2', NULL, '20');
INSERT INTO `swap_test` VALUES ('3', 'c', NULL);</pre></td></tr></table></div><p>Do you have a better approach? If so, please share in the comments.</p><p>Some references:</p><ul><li><a
title="http://stackoverflow.com/questions/37649/swapping-column-values-in-mysql/" href="http://stackoverflow.com/questions/37649/swapping-column-values-in-mysql/">http://stackoverflow.com/questions/37649/swapping-column-values-in-mysql/</a> – some discussion on various methods, which eventually prompted me to start this post</li><li><a
title="http://www.marcworrell.com/article-3026-en.html" href="http://www.marcworrell.com/article-3026-en.html">http://www.marcworrell.com/article-3026-en.html</a> – discussion on the 2nd approach, which doesn’t work</li></ul><div
class='post_blob_1'>Pass your <a
href="http://www.test-king.com/exams/642-524.htm">642-524</a> exam with highest score using latest <a
href="http://www.test-king.com/exams/642-373.htm">642-373</a> practice questions and <a
href="http://www.test-king.com/exams/642-446.htm">642-446</a> sample exams.</div><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Swapping+Column+Values+in+MySQL&amp;link=http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/&amp;notes=Today%20I%20had%20to%20swap%202%20columns%20in%20one%20of%20my%20MySQL%20tables.%20The%20task%2C%20which%20seems%20easily%20accomplishable%20by%20a%20temp%20variable%2C%20proved%20to%20be%20a%20bit%20harder%20to%20complete.%20But%20only%20just%20a%20bit.%0D%0AHere%20are%20my%20findings%3A%0D%0A%0D%0A%0D%0AThe%0D%0AUPDATE%20swap_test%20SET%20x%3Dy%2C%20y%3Dx%3Bapproach%20doesn%27t%20work%2C%20as%20it%27ll%20just%20set%20both%20values%20to%20&amp;short_link=http://bit.ly/9F5oZC&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Swapping+Column+Values+in+MySQL&amp;link=http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/&amp;notes=Today%20I%20had%20to%20swap%202%20columns%20in%20one%20of%20my%20MySQL%20tables.%20The%20task%2C%20which%20seems%20easily%20accomplishable%20by%20a%20temp%20variable%2C%20proved%20to%20be%20a%20bit%20harder%20to%20complete.%20But%20only%20just%20a%20bit.%0D%0AHere%20are%20my%20findings%3A%0D%0A%0D%0A%0D%0AThe%0D%0AUPDATE%20swap_test%20SET%20x%3Dy%2C%20y%3Dx%3Bapproach%20doesn%27t%20work%2C%20as%20it%27ll%20just%20set%20both%20values%20to%20&amp;short_link=http://bit.ly/9F5oZC&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Swapping+Column+Values+in+MySQL&amp;link=http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/&amp;notes=Today%20I%20had%20to%20swap%202%20columns%20in%20one%20of%20my%20MySQL%20tables.%20The%20task%2C%20which%20seems%20easily%20accomplishable%20by%20a%20temp%20variable%2C%20proved%20to%20be%20a%20bit%20harder%20to%20complete.%20But%20only%20just%20a%20bit.%0D%0AHere%20are%20my%20findings%3A%0D%0A%0D%0A%0D%0AThe%0D%0AUPDATE%20swap_test%20SET%20x%3Dy%2C%20y%3Dx%3Bapproach%20doesn%27t%20work%2C%20as%20it%27ll%20just%20set%20both%20values%20to%20&amp;short_link=http://bit.ly/9F5oZC&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Swapping+Column+Values+in+MySQL&amp;link=http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/&amp;notes=Today%20I%20had%20to%20swap%202%20columns%20in%20one%20of%20my%20MySQL%20tables.%20The%20task%2C%20which%20seems%20easily%20accomplishable%20by%20a%20temp%20variable%2C%20proved%20to%20be%20a%20bit%20harder%20to%20complete.%20But%20only%20just%20a%20bit.%0D%0AHere%20are%20my%20findings%3A%0D%0A%0D%0A%0D%0AThe%0D%0AUPDATE%20swap_test%20SET%20x%3Dy%2C%20y%3Dx%3Bapproach%20doesn%27t%20work%2C%20as%20it%27ll%20just%20set%20both%20values%20to%20&amp;short_link=http://bit.ly/9F5oZC&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Swapping+Column+Values+in+MySQL&amp;link=http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/&amp;notes=Today%20I%20had%20to%20swap%202%20columns%20in%20one%20of%20my%20MySQL%20tables.%20The%20task%2C%20which%20seems%20easily%20accomplishable%20by%20a%20temp%20variable%2C%20proved%20to%20be%20a%20bit%20harder%20to%20complete.%20But%20only%20just%20a%20bit.%0D%0AHere%20are%20my%20findings%3A%0D%0A%0D%0A%0D%0AThe%0D%0AUPDATE%20swap_test%20SET%20x%3Dy%2C%20y%3Dx%3Bapproach%20doesn%27t%20work%2C%20as%20it%27ll%20just%20set%20both%20values%20to%20&amp;short_link=http://bit.ly/9F5oZC&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Swapping+Column+Values+in+MySQL&amp;link=http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/&amp;notes=Today%20I%20had%20to%20swap%202%20columns%20in%20one%20of%20my%20MySQL%20tables.%20The%20task%2C%20which%20seems%20easily%20accomplishable%20by%20a%20temp%20variable%2C%20proved%20to%20be%20a%20bit%20harder%20to%20complete.%20But%20only%20just%20a%20bit.%0D%0AHere%20are%20my%20findings%3A%0D%0A%0D%0A%0D%0AThe%0D%0AUPDATE%20swap_test%20SET%20x%3Dy%2C%20y%3Dx%3Bapproach%20doesn%27t%20work%2C%20as%20it%27ll%20just%20set%20both%20values%20to%20&amp;short_link=http://bit.ly/9F5oZC&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Swapping+Column+Values+in+MySQL&amp;link=http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/&amp;notes=Today%20I%20had%20to%20swap%202%20columns%20in%20one%20of%20my%20MySQL%20tables.%20The%20task%2C%20which%20seems%20easily%20accomplishable%20by%20a%20temp%20variable%2C%20proved%20to%20be%20a%20bit%20harder%20to%20complete.%20But%20only%20just%20a%20bit.%0D%0AHere%20are%20my%20findings%3A%0D%0A%0D%0A%0D%0AThe%0D%0AUPDATE%20swap_test%20SET%20x%3Dy%2C%20y%3Dx%3Bapproach%20doesn%27t%20work%2C%20as%20it%27ll%20just%20set%20both%20values%20to%20&amp;short_link=http://bit.ly/9F5oZC&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Swapping%20Column%20Values%20in%20MySQL&amp;link=http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/&amp;notes=Today%20I%20had%20to%20swap%202%20columns%20in%20one%20of%20my%20MySQL%20tables.%20The%20task%2C%20which%20seems%20easily%20accomplishable%20by%20a%20temp%20variable%2C%20proved%20to%20be%20a%20bit%20harder%20to%20complete.%20But%20only%20just%20a%20bit.%0D%0AHere%20are%20my%20findings%3A%0D%0A%0D%0A%0D%0AThe%0D%0AUPDATE%20swap_test%20SET%20x%3Dy%2C%20y%3Dx%3Bapproach%20doesn%27t%20work%2C%20as%20it%27ll%20just%20set%20both%20values%20to%20&amp;short_link=http://bit.ly/9F5oZC&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/" rel="bookmark" title="March 18, 2009">MySQL Indexing Considerations Of Implementing A Priority Field In Your Application</a></li><li><a
href="http://beerpla.net/2008/04/17/mysql-conference-liveblogging-optimizing-mysql-for-high-volume-data-logging-applications-thursday-250pm/" rel="bookmark" title="April 17, 2008">MySQL Conference Liveblogging: Optimizing MySQL For High Volume Data Logging Applications (Thursday 2:50PM)</a></li><li><a
href="http://beerpla.net/2008/04/15/mysql-conference-liveblogging-explain-demystified-tuesday-200p/" rel="bookmark" title="April 15, 2008">MySQL Conference Liveblogging: EXPLAIN Demystified (Tuesday 2:00PM)</a></li><li><a
href="http://beerpla.net/2010/03/21/how-to-diagnose-and-fix-incorrect-post-comment-counts-in-wordpress/" rel="bookmark" title="March 21, 2010">How To Diagnose And Fix Incorrect Post Comment Counts In WordPress</a></li><li><a
href="http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/" rel="bookmark" title="May 11, 2009">[MySQL] Deleting/Updating Rows Common To 2 Tables &#8211; Speed And Slave Lag Considerations</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2009%2F02%2F17%2Fswapping-column-values-in-mysql%2F&amp;title=Swapping%20Column%20Values%20in%20MySQL" id="wpa2a_14"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/feed/</wfw:commentRss> <slash:comments>31</slash:comments> </item> <item><title>How To Fight Clickjacking (Using The Recent Twitter Hijacking As An Example)</title><link>http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/</link> <comments>http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/#comments</comments> <pubDate>Thu, 12 Feb 2009 19:43:53 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Programming]]></category> <category><![CDATA[Security]]></category> <category><![CDATA[Tutorials]]></category> <category><![CDATA[Twitter]]></category> <category><![CDATA[attack]]></category> <category><![CDATA[click]]></category> <category><![CDATA[clickjacking]]></category> <category><![CDATA[combat]]></category> <category><![CDATA[fight]]></category> <category><![CDATA[Firefox]]></category> <category><![CDATA[ie]]></category> <category><![CDATA[injection]]></category> <category><![CDATA[internet explorer]]></category> <category><![CDATA[jacking]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[noscript]]></category> <category><![CDATA[protect]]></category> <category><![CDATA[twitter]]></category> <category><![CDATA[xss]]></category> <guid
isPermaLink="false">http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/</guid> <description><![CDATA[<h2><img
style="margin: 0px 10px 10px 0px; display: inline" title="image" alt="image" align="left" src="http://beerpla.net/wp-content/uploads/HowToFightClickjackingUsingTheRecentTwit_8F77/image.png" width="150" height="138" /> Introduction</h2><p><a
href="http://en.wikipedia.org/wiki/Clickjacking">Clickjacking</a> is a malicious technique of tricking web users into revealing confidential information or taking control of their computer while clicking on seemingly innocuous web pages. A vulnerability across a variety of browsers and platforms, a clickjacking takes the form of embedded code or script that can execute without the user&#039;s knowledge, such as clicking on a button that appears to perform another function (credit: Wikipedia).</p><p>Clickjacking is hard to combat. From a technical standpoint, the attack is executed using a combination of <a
href="http://en.wikipedia.org/wiki/Css">CSS</a> and <a
href="http://en.wikipedia.org/wiki/IFrame">iFrames</a>, which are both harmless web technologies, and relies mostly on tricking users by means of social engineering. Additionally, the only server side technique against clickjacking known to me is “<a...<div
class=clear></div> <a
href="http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<h2><img
style="margin: 0px 10px 10px 0px; display: inline" title="image" alt="image" align="left" src="http://beerpla.net/wp-content/uploads/HowToFightClickjackingUsingTheRecentTwit_8F77/image.png" width="150" height="138" /> Introduction</h2><p><a
href="http://en.wikipedia.org/wiki/Clickjacking">Clickjacking</a> is a malicious technique of tricking web users into revealing confidential information or taking control of their computer while clicking on seemingly innocuous web pages. A vulnerability across a variety of browsers and platforms, a clickjacking takes the form of embedded code or script that can execute without the user&#039;s knowledge, such as clicking on a button that appears to perform another function (credit: Wikipedia).</p><p>Clickjacking is hard to combat. From a technical standpoint, the attack is executed using a combination of <a
href="http://en.wikipedia.org/wiki/Css">CSS</a> and <a
href="http://en.wikipedia.org/wiki/IFrame">iFrames</a>, which are both harmless web technologies, and relies mostly on tricking users by means of social engineering. Additionally, the only server side technique against clickjacking known to me is “<a
href="http://en.wikipedia.org/wiki/Framekiller">frame breaking</a>”, which would cause a legitemate site to break out of any iFrames it may be embedded in. This is not always the desired behavior and is generally frowned upon.</p><p><div
class="note"><div
class="noteclassic"><a
href="http://en.wikipedia.org/wiki/Cross-site_scripting">XSS</a> and <a
href="http://www.codinghorror.com/blog/archives/001171.html">CSRF</a> are examples of similar malicious web attacks.</div></div></p><h2>Generic Example</h2><p>In laymen’s terms, clickjacking means that it is quite possible for websites to trick you into, for example, clicking a button to show a cute kitty while in reality prompting a deletion of all your hotmail email. A malicious site uses an iFrame (which essentially allows embedding sites within other sites) with hotmail loaded inside and hidden using CSS (which is a web language for styling HTML elements). A button named “Show Me The Next Awwww Kitty” is then placed by the malicious site and positioned below the iFrame layer (manipulated by CSS, yet again). However, because the iFrame is hidden, it looks like the “Aww” button is all you’re clicking. Wrong!</p><p><a
href="http://beerpla.net/wp-content/uploads/HowToFightClickjackingUsingTheRecentTwit_8F77/image_3.png" class="lightview" rel="gallery['774']" title="image"><img
style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://beerpla.net/wp-content/uploads/HowToFightClickjackingUsingTheRecentTwit_8F77/image_thumb.png" width="351" height="92" /></a>&#160;</p><h2>Latest Example: Twitter</h2><p>This morning a new, though harmless, epidemic hit twitter. Hundreds and thousands of messages saying “Don’t Click: <a
href="http://tinyurl.com/amgzs6" rel="nofollow">http://tinyurl.com/amgzs6</a>” started showing up. Clicking the link shows a simple page with 1 button:</p><p><a
href="http://beerpla.net/wp-content/uploads/HowToFightClickjackingUsingTheRecentTwit_8F77/image_4.png" class="lightview" rel="gallery['774']" title="image"><img
style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://beerpla.net/wp-content/uploads/HowToFightClickjackingUsingTheRecentTwit_8F77/image_thumb_3.png" width="183" height="129" /></a> Clicking (which I of course did) uses clickjacking to repost the message to your own twitter account. Take a look yourself: <a
title="http://search.twitter.com/search?q=don%27t+click" href="http://search.twitter.com/search?q=don%27t+click" rel="nofollow">http://search.twitter.com/search?q=don%27t+click</a>.</p><p><a
href="http://beerpla.net/wp-content/uploads/HowToFightClickjackingUsingTheRecentTwit_8F77/image_5.png" class="lightview" rel="gallery['774']" title="image"><img
style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://beerpla.net/wp-content/uploads/HowToFightClickjackingUsingTheRecentTwit_8F77/image_thumb_4.png" width="504" height="492" /></a></p><p>All of these are a result of an experiment by <a
href="http://www.korben.info/petit-cours-de-twitt-jacking.html" rel="nofollow">some French guys</a> to mess around with twitter and show the effects of clickjacking. Thank you for that, French guys. Creating awareness via the most social platform on the web is the best thing they could do for us.</p><p><div
class="note"><div
class="notetip">Twitter rolled out a quick fix, using the very “frame breaking” technique I mentioned earlier. Now any site trying to embed twitter in an iFrame will redirect to it.</div></div></p><h2>Fight Clickjacking</h2><p><img
style="margin: 0px 10px 0px 0px; display: inline" title="image" alt="image" align="left" src="http://beerpla.net/wp-content/uploads/HowToFightClickjackingUsingTheRecentTwit_8F77/image_6.png" width="150" height="150" /> James Padolsey recently wrote an excellent <a
href="http://james.padolsey.com/general/clickjacking-twitter/">blog post about clickjacking</a> and mentioned Twitter specifically. Because clickjacking relies mostly on social hacking (i.e. tricking people into clicking malicious links and buttons), Twitter is nothing but a perfect platform. James gives some nice background info and code examples. He correctly highlights, as I did earlier, that clickjacking is not a software bug – it’s a malicious technique exploiting harmless technologies.</p><h4>So how does one fight clickjacking?</h4><p>At this point the most reliable way is to use Firefox and the <a
href="http://noscript.net/">NoScript extension</a>. NoScript provides a simple, yet amazingly effective feature, called <a
href="http://noscript.net/faq#qa7_4">ClearClick</a>. From their site:</p><p>“…it&#039;s enabled by default, protecting NoScript users from Clickjacking everywhere: it even remains active if you switch NoScript in the less safe <em>Allow scripts globally</em> mode. How does it work? Clickjacking hides or displaces or partially covers something you wouldn&#039;t want to click, if you could see it in its original context. ClearClick does the opposite: whenever you click a plugin object or a framed page, it takes a screenshot of it alone and opaque (i.e. an image of it with no transparencies and no overlaying objects), then compares it with a screenshot of the parent page as you can see it. If the two images differ, a clickjacking attack is probably happening and NoScript raises a &quot;ClearClick warning&quot;, showing you the contextualized and &quot;clear&quot; object you were about to click, so you can evaluate by yourself if that was really something you wanted to do.”</p><p>Did ClearClick work in the earlier twitter attack? Sure did! After I clicked the “Don’t click” button Noscript promptly popped up a warning showing the hidden iFrame (since the original malicious page has been removed, I found <a
href="http://www.korben.info/twitter/ohoh.html" rel="nofollow">another similar page</a> from the same author for screenshot purposes).</p><p><a
href="http://beerpla.net/wp-content/uploads/HowToFightClickjackingUsingTheRecentTwit_8F77/image_7.png" class="lightview" rel="gallery['774']" title="image"><img
style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://beerpla.net/wp-content/uploads/HowToFightClickjackingUsingTheRecentTwit_8F77/image_thumb_5.png" width="426" height="426" /></a>&#160;</p><p>So, even if you don’t want to enable NoScript globally, install it anyway, just for ClearClick.</p><p><div
class="note"><div
class="noteclassic">Using a browser other than Firefox? The best technique you should use is, as a general rule, don’t click on suspicious buttons and links on pages you are not familiar with. Remember: you’re on the Internet and it is full of traps.</div></div></p><p>That about covers what I had to say about clickjacking. Stay safe, folks!</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fight+Clickjacking+%28Using+The+Recent+Twitter+Hijacking+As+An+Example%29&amp;link=http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/&amp;notes=%20Introduction%20%20Clickjacking%20is%20a%20malicious%20technique%20of%20tricking%20web%20users%20into%20revealing%20confidential%20information%20or%20taking%20control%20of%20their%20computer%20while%20clicking%20on%20seemingly%20innocuous%20web%20pages.%20A%20vulnerability%20across%20a%20variety%20of%20browsers%20and%20platforms%2C%20a%20clickjacking%20takes%20the%20form%20of%20embedde&amp;short_link=http://bit.ly/bXYPgv&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fight+Clickjacking+%28Using+The+Recent+Twitter+Hijacking+As+An+Example%29&amp;link=http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/&amp;notes=%20Introduction%20%20Clickjacking%20is%20a%20malicious%20technique%20of%20tricking%20web%20users%20into%20revealing%20confidential%20information%20or%20taking%20control%20of%20their%20computer%20while%20clicking%20on%20seemingly%20innocuous%20web%20pages.%20A%20vulnerability%20across%20a%20variety%20of%20browsers%20and%20platforms%2C%20a%20clickjacking%20takes%20the%20form%20of%20embedde&amp;short_link=http://bit.ly/bXYPgv&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fight+Clickjacking+%28Using+The+Recent+Twitter+Hijacking+As+An+Example%29&amp;link=http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/&amp;notes=%20Introduction%20%20Clickjacking%20is%20a%20malicious%20technique%20of%20tricking%20web%20users%20into%20revealing%20confidential%20information%20or%20taking%20control%20of%20their%20computer%20while%20clicking%20on%20seemingly%20innocuous%20web%20pages.%20A%20vulnerability%20across%20a%20variety%20of%20browsers%20and%20platforms%2C%20a%20clickjacking%20takes%20the%20form%20of%20embedde&amp;short_link=http://bit.ly/bXYPgv&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fight+Clickjacking+%28Using+The+Recent+Twitter+Hijacking+As+An+Example%29&amp;link=http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/&amp;notes=%20Introduction%20%20Clickjacking%20is%20a%20malicious%20technique%20of%20tricking%20web%20users%20into%20revealing%20confidential%20information%20or%20taking%20control%20of%20their%20computer%20while%20clicking%20on%20seemingly%20innocuous%20web%20pages.%20A%20vulnerability%20across%20a%20variety%20of%20browsers%20and%20platforms%2C%20a%20clickjacking%20takes%20the%20form%20of%20embedde&amp;short_link=http://bit.ly/bXYPgv&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fight+Clickjacking+%28Using+The+Recent+Twitter+Hijacking+As+An+Example%29&amp;link=http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/&amp;notes=%20Introduction%20%20Clickjacking%20is%20a%20malicious%20technique%20of%20tricking%20web%20users%20into%20revealing%20confidential%20information%20or%20taking%20control%20of%20their%20computer%20while%20clicking%20on%20seemingly%20innocuous%20web%20pages.%20A%20vulnerability%20across%20a%20variety%20of%20browsers%20and%20platforms%2C%20a%20clickjacking%20takes%20the%20form%20of%20embedde&amp;short_link=http://bit.ly/bXYPgv&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fight+Clickjacking+%28Using+The+Recent+Twitter+Hijacking+As+An+Example%29&amp;link=http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/&amp;notes=%20Introduction%20%20Clickjacking%20is%20a%20malicious%20technique%20of%20tricking%20web%20users%20into%20revealing%20confidential%20information%20or%20taking%20control%20of%20their%20computer%20while%20clicking%20on%20seemingly%20innocuous%20web%20pages.%20A%20vulnerability%20across%20a%20variety%20of%20browsers%20and%20platforms%2C%20a%20clickjacking%20takes%20the%20form%20of%20embedde&amp;short_link=http://bit.ly/bXYPgv&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Fight+Clickjacking+%28Using+The+Recent+Twitter+Hijacking+As+An+Example%29&amp;link=http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/&amp;notes=%20Introduction%20%20Clickjacking%20is%20a%20malicious%20technique%20of%20tricking%20web%20users%20into%20revealing%20confidential%20information%20or%20taking%20control%20of%20their%20computer%20while%20clicking%20on%20seemingly%20innocuous%20web%20pages.%20A%20vulnerability%20across%20a%20variety%20of%20browsers%20and%20platforms%2C%20a%20clickjacking%20takes%20the%20form%20of%20embedde&amp;short_link=http://bit.ly/bXYPgv&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=How%20To%20Fight%20Clickjacking%20%28Using%20The%20Recent%20Twitter%20Hijacking%20As%20An%20Example%29&amp;link=http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/&amp;notes=%20Introduction%20%20Clickjacking%20is%20a%20malicious%20technique%20of%20tricking%20web%20users%20into%20revealing%20confidential%20information%20or%20taking%20control%20of%20their%20computer%20while%20clicking%20on%20seemingly%20innocuous%20web%20pages.%20A%20vulnerability%20across%20a%20variety%20of%20browsers%20and%20platforms%2C%20a%20clickjacking%20takes%20the%20form%20of%20embedde&amp;short_link=http://bit.ly/bXYPgv&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2009/10/29/modern-day-frame-busting-with-x-frame-options-and-this-content-cannot-be-displayed-in-a-frame-warnings/" rel="bookmark" title="October 29, 2009">Modern-Day Frame Busting With X-FRAME-OPTIONS And &quot;This content cannot be displayed in a frame&quot; Warnings</a></li><li><a
href="http://beerpla.net/2009/12/20/enable-a-twitter-retweet-rt-button-that-lets-you-add-comments-before-retweeting/" rel="bookmark" title="December 20, 2009">Enable A Twitter Retweet (RT) Button That Lets You Add Comments Before Retweeting</a></li><li><a
href="http://beerpla.net/2010/02/03/how-not-to-implement-a-web-application-that-handles-external-authentication-using-betwittered-com-as-an-example/" rel="bookmark" title="February 3, 2010">How *Not* To Implement A Web Application That Handles External Authentication, Using BeTwittered.com As An Example</a></li><li><a
href="http://beerpla.net/2009/10/24/are-you-a-stackoverflow-com-superuser-com-serverfault-com-fan-heres-a-greasemonkey-script-to-keep-track-of-your-accounts-on-all-of-them/" rel="bookmark" title="October 24, 2009">StackOverflow.com, SuperUser.com, ServerFault.com Fan? Here&#039;s A Greasemonkey Script To Keep Track Of All Your Accounts</a></li><li><a
href="http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/" rel="bookmark" title="June 21, 2009">Hidden Features Of Perl, PHP, Javascript, C, C++, C#, Java, Ruby, Python, And Others [Collection Of Incredibly Useful Lists]</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2009%2F02%2F12%2Fhow-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example%2F&amp;title=How%20To%20Fight%20Clickjacking%20%28Using%20The%20Recent%20Twitter%20Hijacking%20As%20An%20Example%29" id="wpa2a_16"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2009/02/12/how-to-fight-clickjacking-using-the-recent-twitter-hijacking-as-an-example/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Artem&#8217;s Top 10 Tech Predictions And Ideas For 2009 And Beyond</title><link>http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/</link> <comments>http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/#comments</comments> <pubDate>Sat, 10 Jan 2009 08:05:39 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Awesomeness]]></category> <category><![CDATA[Databases]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Stuff]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[2009]]></category> <category><![CDATA[2010]]></category> <category><![CDATA[geek]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[open source]]></category> <category><![CDATA[predictions]]></category> <category><![CDATA[tech]]></category> <category><![CDATA[twitter]]></category> <category><![CDATA[youtube]]></category> <guid
isPermaLink="false">http://beerpla.net/?p=699</guid> <description><![CDATA[<p><img
title="image" style="display: inline; margin: 0px 10px 10px 0px" height="105" alt="image" src="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_8.png" width="115" align="left" />Everyone and their mother are throwing out their predictions for 2009 nowadays, it’s a new fad. It’s like you’re not cool anymore if you don’t have twitter, a Mac, and a set of random predictions for the next 12 joyous months.</p><p>So I decided to throw in a few ideas of my own to be part of the cool crowd again (how much cooler can I be already, you might think, and I wouldn’t blame you).</p><p>&#160;</p><h3 align="center"><strong></strong></h3><h2 align="center"><strong>Disclaimer (read it, tough guy)</strong></h2><p>What this post is:</p><ul><li>about the future of technology and the Internet, 2009 and beyond.</li><li><strong><u>my</u></strong> ideas on what is going to happen or should happen. If they happen to match someone</li></ul><p>...<div
class=clear></div> <a
href="http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[</p><p><img
title="image" style="display: inline; margin: 0px 10px 10px 0px" height="105" alt="image" src="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_8.png" width="115" align="left" />Everyone and their mother are throwing out their predictions for 2009 nowadays, it’s a new fad. It’s like you’re not cool anymore if you don’t have twitter, a Mac, and a set of random predictions for the next 12 joyous months.</p><p>So I decided to throw in a few ideas of my own to be part of the cool crowd again (how much cooler can I be already, you might think, and I wouldn’t blame you).</p><p>&#160;</p><h3 align="center"><strong></strong></h3><h2 align="center"><strong>Disclaimer (read it, tough guy)</strong></h2><p>What this post is:</p><ul><li>about the future of technology and the Internet, 2009 and beyond.</li><li><strong><u>my</u></strong> ideas on what is going to happen or should happen. If they happen to match someone else’s ideas – it doesn’t mean I ripped them off, it just means we share the same opinions and they’re more likely to come true.</li><li>awesome.</li></ul><p>What this post is not:</p><ul><li>predictions I pulled out of my ass, like “the market will bounce in August 2009” because some random douche said so.</li><li>a collection of stolen ideas. I have reserved a separate post for that purpose.</li><li><a
href="http://xkcd.com/526/">a raptor on hoverboard</a>.</li></ul><p>&#160;</p><h2 align="center"><strong>Things That Need To Happen</strong></h2><p><strong><font
size="4">1. Socially Editable Maps</font></strong></p><p><a
href="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image.png" class="lightview" rel="gallery['699']" title="image"><img
title="image" style="display: inline; margin: 0px 10px 10px 0px" height="150" alt="image" src="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_thumb.png" width="150" align="left" /></a>With the advent of the GPS technology in the last couple of years and GPS prices falling (my originally $800 <a
href="http://www.amazon.com/dp/B000H49LXQ/?tag=beepla-20">Garmin Nuvi 660</a> now costs about $200), the biggest frustration I have now is the accuracy of information. In the world of Google Maps and Wikipedia, why is it that I have to wait a whole year for map updates that are obsolete by the time they come out? The Bay Bridge repairs change the roads on an almost monthly basis, for example.</p><p><strong>I want to know about road changes as soon as they occur.</strong></p><p>The next big thing will be a company, either existing, like Google, or a startup, that will introduce the social aspect into the mapping technology. It will do for maps and GPS what Wikipedia did for text, using the same approach. The details are of course to be worked out.</p><p>After this concept becomes successful, GPS companies, will need to support such updates over the air, with a push of a button. This ties in closely with prediction #2 and #4.</p><p>&#160;</p><p><font
size="4"><strong>2. Open Source GPS Goes Mainstream</strong></font></p><p><a
href="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_9.png" class="lightview" rel="gallery['699']" title="image"><img
title="image" style="display: inline; margin: 0px 10px 10px 0px" height="150" alt="image" src="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_thumb_6.png" width="150" align="left" /></a>Google, the father of Android, needs to get behind this one as well. In fact, an open source GPS device would really be a subset of Android’s functionality, in a dedicated device, so it shouldn’t be that hard. In the far future, it will be built into automobile dashboards but I don’t foresee that happening in the near future.</p><p>Combined with prediction #1, this will be a killer device. I really believe that free, open source software is the wave of the future, the natural direction of where software development is heading. Look at Linux in the past few years. Look at Android now. Release one and I’m be #1 in line for one. Those who know me IRL know that I can’t go anywhere without a GPS anymore. I once forgot a GPS at home and ended up in Chili.</p><p>&#160;</p><p><strong><font
size="4">3. Photo and Video Cameras Will Go Wireless, Anywhere You Go</font></strong></p><p><a
href="http://www.amazon.com/dp/B000B8UOV6/?tag=beepla-20"><img
title="image" style="display: inline; margin: 0px 10px 10px 0px" height="112" alt="image" src="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_4.png" width="150" align="left" /></a>Photo and video cameras will be able to post pictures and videos to your home computer, sites like Flickr and YouTube, or email themselves directly to your friends… as soon as you record them, over cellular and Wifi networks.</p><p>Cell phones with cameras? Think cameras with cell phones. Some Wifi enabled cameras already came out, like this <a
href="http://www.amazon.com/dp/B000B8UOV6/?tag=beepla-20">Canon SD430</a> (DP review <a
href="http://www.dpreview.com/news/0510/05102501canonsd430wifi.asp">here</a>), and this freshly announced at CES 2009 <a
href="http://i.gizmodo.com/5126097/sony-cybershot-g3-worlds-first-camera-you-can-surf-the-web-on">Sony G3</a>, and now it’s time to go cellular.</p><p>The next prediction is a generalization of this concept.</p><p>&#160;</p><p><strong><font
size="4">4. Wireless Connectivity Everywhere, In Every Device, Anywhere You Go</font></strong></p><p><a
href="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_5.png" class="lightview" rel="gallery['699']" title="image"><img
title="image" style="display: inline; margin: 0px 10px 10px 0px" height="101" alt="image" src="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_thumb_4.png" width="150" align="left" /></a>Cell phone carriers will sign an increasing amount of deals with companies that want to build devices which connect to the Internet or private networks anywhere you go: GPSes, cameras, digital picture frames, cars, fridges.</p><p>The future is completely wireless. People are sick and tired of cords, clutter, and Rick Astley – I know that for a fact and digg says so.</p><p>&#160;</p><p><strong><font
size="4">5. Android Will Become Hugely Successful</font></strong></p><p><strong><font
size="4"><a
href="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_6.png" class="lightview" rel="gallery['699']" title="image"><img
title="image" style="display: inline; margin: 0px 10px 10px 0px" height="150" alt="image" src="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_thumb_5.png" width="150" align="left" /></a></font></strong>Alright, I’m dead tired of <a
href="http://www.google.com/search?q=android+flop&amp;sourceid=navclient-ff&amp;ie=UTF-8&amp;rlz=1B3GGGL_en___US269">all the posts</a> about how <a
href="http://www.android.com/">Google’s Android</a> is going to <strong>flop</strong> in 2009. I sincerely feel that people with that point of view have never experienced Google and open source, played with Android itself, or realized what exactly an open source phone OS means to developers, manufacturers, and consumers.</p><p>Android will become a platform of choice in the next couple of years as everyone starts to realize its limitless possibilities, the OS matures, thousands of new apps get written for it, and new Android phones flood the market. The only Android phone released so far, HTC’s G1, has already <a
href="http://reviews.cnet.com/smartphones/t-mobile-g1-black/4505-6452_7-33283585.html">received praise from consumers</a>, as well as my friends (even the females ones are excited. And yes, I have female friends).</p><p>Motorola <a
href="http://www.redherring.com/Home/25383">announced</a> a few months ago that its new phones are going to run Android and Windows Mobile exclusively. If a company with an R&amp;D department as big as Moto’s stands behind something, you bet your ass they’ve done they’re homework. And what’s not to like? They can now:</p><ul><li>take something that’s supported by the biggest Internet company in the world and the community, for free.</li><li>stop worrying about writing and maintaining their own OS – BAM, tons of money saved.</li><li>concentrate R&amp;D on the hardware.</li><li>if need be, freely develop the features they want that Android doesn’t support yet and contribute them back. Everyone wins, except maybe Symbian developers that don’t have a job anymore.</li></ul><p>Android is going to be a revolution. Apple and Android fighting it out will be the best thing that happened to us since the invention of sushi.</p><p><div
class="note"><div
class="notetip"><strong>Update:</strong> An <a
href="http://www.intomobile.com/2009/01/09/ces-2009-nimble-android-desktop-phone.html">Android desktop phone</a> was just released at CES. By end of 2009 we will be flooded with Androidness.</div></div></p><p>&#160;</p><p><strong><font
size="4">6. Open Source HDTVs</font></strong></p><p><a
href="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_11.png" class="lightview" rel="gallery['699']" title="image"><img
title="image" style="display: inline; margin: 0px 10px 10px 0px" height="109" alt="image" src="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_thumb_8.png" width="150" align="left" /></a> The open source revolution will continue and start penetrating the HDTV market.</p><p>Personally, I think set top boxes are a waste of effort, time, and money but give me an HDTV that can run Youtube, Vimeo, LastFM, Pandora, and any other site through some sort of a plugin or browser, with a build in Media Center that connects to my computers and goes Wifi, that uses open source, upgradeable software (most likely Linux based), and I will buy it in a heartbeat.</p><p>Yes, what I’m saying is if my TV and HTPC did something dirty, I would totally dig their offspring, and so would millions of other people who don’t want/need/care/understand HTPC. TV in general holds a special place in my heart, and make it an even better experience, people.</p><p><div
class="note"><div
class="notetip"><strong>Update: </strong>In fact, Vizio just made <a
href="http://www.engadget.com/2009/01/07/vizio-takes-the-cover-off-connected-hdtv-netflix-blockbuster/">an announcement</a> at CES 2009 that their TVs will have built-in support for <a
href="http://www.engadgethd.com/2009/01/07/vizio-connected-hdtv-directly-streams-netflix-movies/">Netflix</a>, Blockbuster, Amazon, Yahoo, and more.</div></div></p><p>&#160;</p><p><strong><font
size="4">7. Twitter’s Popularity Will Explode</font></strong></p><p><a
href="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_10.png" class="lightview" rel="gallery['699']" title="image"><img
title="image" style="display: inline; margin: 0px 10px 10px 0px" height="119" alt="image" src="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_thumb_7.png" width="150" align="left" /></a>Now for some social media. Twitter will continue dominating the microblogging arena, similar to YouTube dominating the video space. The site will grow extremely fast, much faster than now.</p><p>Competitors, like <a
href="http://plurk.com/ArtemR">plurk</a>, will probably secure certain small niches but nobody will be close to touch twitter.</p><p><div
class="note"><div
class="notetip">Twitter’s Google PageRank (PR) today is <strong>8</strong> out of <strong>10</strong>, which is considered very high.</p><p>It has the Alexa 3 month average rank of <strong>599</strong>, 1 week average of <strong>414</strong>, and 1 day average of <strong>351</strong>.</p><p><em>I predict that by the end of <strong>2009</strong>, Twitter will move into the <strong>top 50 </strong>Alexa.</em></div></div></p><p>Twitter’s significance in the business world for will be revolutionary. It will become second nature for every company to have one or many twitter accounts as means of connecting to consumers on a personal level. Think an opportunity for mini press releases, many of them, daily, not boring ones, the ones people are actually going to read.</p><p><div
class="note"><div
class="noteclassic">Twitter is already being used by some companies, like Comcast (<a
href="http://twitter.com/comcastcares">@comcastcares</a>), for monitoring and responding to customer comments.</div></div></p><p>&#160;</p><p><strong><font
size="4">8. Social Media Jobs Will Be In Increasing Demand</font></strong></p><p> <a
href="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_12.png" class="lightview" rel="gallery['699']" title="image"><img
title="image" style="display: inline; margin: 0px 10px 10px 0px" height="115" alt="image" src="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_thumb_9.png" width="150" align="left" /></a> SEO, social marketing, and viral campaigns are very cost effective ways of brand promotion, and every company will want to jump on board.<p>As more and more of them realize this, they will start needing more people with marketing skills of <a
href="http://www.johnchow.com">John Chow</a>, <a
href="http://www.chrisbrogan.com/">Chris Brogan</a>, <a
href="http://www.nickycakes.com">Nicky Cakes</a> (this dude is hilarious), <a
href="http://www.shoemoney.com/">Jeremy Schoemaker</a>, and the like.</p><p>&#160;</p><p><strong><font
size="4">9. YouTube Will Continue To Dominate</font></strong></p><p><a
href="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_13.png" class="lightview" rel="gallery['699']" title="image"><img
title="image" style="display: inline; margin: 0px 20px 10px 0px" height="112" alt="image" src="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_thumb_10.png" width="150" align="left" /></a> This one is easy:</p><ul><li>Biggest user base.</li><li>HD. My favorite greasemonkey plugin <a
href="http://userscripts.org/scripts/show/13333">YousableTubeFix</a> exposes hi/lo FLVs, MP4, and HD MP4 options. Better quality equals better user experience.</li><li>Chromeless player. YouTube is the only company I know of that has a Javascript controlled chromeless player, which can be embedded in any other flash player. Combined with already existing millions of embeds all over the Internet, YouTube’s popularity isn’t going anywhere any time soon.</li><li>Google backed. Anything is possible when you Google owns you. Competition releases a good feature? YouTube has the resources to one-up it in no time. Need for more servers? YouTube will just buy a few thousand more with the $1.65Bln Google gave it. Traffic explosion? No problem &#8211; YouTube has been mooching off the Google CDN for months now.</li></ul><p>At the end of 2007, I predicted that in a year we will experience unprecedented HD quality online video. This prediction came true when <a
href="http://www.hulu.com">Hulu</a> and fueled by its success CBS, ABC, NBC, and pretty much every other TV network released their free online TV sites. YouTube <a
href="http://news.cnet.com/8301-1023_3-10126837-93.html">launched HD</a> a few months later.</p><p>So, my YouTube prediction for 2009 is it will sign deals with major TV and movie networks to finally start showing legal TV episodes and movies. It will become the biggest legal TV and movie hub on the Internet.</p><p>&#160;</p><p><strong><font
size="4">10. PostgreSQL Will Gain Popularity</font></strong></p><p><a
href="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_14.png" class="lightview" rel="gallery['699']" title="image"><img
title="image" style="display: inline; margin: 0px 20px 10px 0px" height="119" alt="image" src="http://beerpla.net/wp-content/uploads/TechIdeasPredictions_B3A8/image_thumb_11.png" width="150" align="left" /></a> Sun’s buyout of MySQL in 2008 surely sent some shockwaves around. However, I predict that the following factors will contribute to <a
href="http://www.postgresql.org/">PostgreSQL</a> gaining momentum:</p><ul><li>certain features of MySQL were moved to Enterprise only. Open source enthusiasts don’t appreciate an open source project going partially closed source, so they will be looking for alternative software, like PostgreSQL.</li><li>having spent years with MySQL, I am incredibly frustrated with certain quirks that should have been worked out a long time ago. As software architects look for stable, mature, cost effective, and easy to maintain databases, they will find PostgreSQL increasingly attractive.</li></ul><p>Don’t take my word for it. I highly suggest taking a look at <a
href="http://downloads.enterprisedb.com/whitepapers/PGvsMySQL_LowRes.pdf">this whitepaper comparing MySQL and PostgreSQL</a>. here are some highlights:</p><ul><li>Online operations and reorganization. This is my biggest beef with MySQL. Almost any ALTER table command will prevent writes to the table while it’s being altered. This operation requires double the table size because an ALTER simply makes a copy of the table, a rename, and then drop of the old one. This takes FOREVERRRR. PostgreSQL, on the other hand, supports <a
href="http://www.postgresql.org/docs/8.0/interactive/sql-altertable.html">a lot more</a> online operations that will not take down the table. MySQL promised to support <a
href="http://beerpla.net/2008/04/15/mysql-conference-liveblogging-the-future-of-mysql-tuesday-1155am-2/">online ALTER TABLE by 2009</a>. Will they keep their word? I highly doubt it.</li><li>PostgreSQL supports function based and partial indexes.</li><li>PostgreSQL supports nested triggers.</li><li>PostgreSQL supports user defined datatypes.</li><li>PostgreSQL has an IP address datatype (woot!).</li><li>MySQL’s default engine doesn’t support online backup and recovery (*cough*, MyISAM, *cough*). Don’t even get me started on MyISAM, which doesn’t support referential integrity, transactions, of any other ACID properties. Yes, I know, there&#039;s InnoDB. It’s a lot better. But it’s still not good enough.</li></ul><p>If you have spent time interfacing with both MySQL and PostgreSQL, I’d like to hear from you. Everyone I talked to so far who had used both, preferred PostgreSQL.</p><p>For all the MySQL fanboys, I was and still am one of you, I use MySQL every day. I’m only trying to open your eyes so you can see the rest of the world.</p><p><div
class="note"><div
class="noteclassic">Did you know PostgreSQL was a lot more mature than MySQL? Postgres <a
href="http://www.postgresql.org/about/history">was started in 1986</a> (or 1977 if you count its predecessor Ingres), while MySQL was initially released in 1995.</div></div></p><p>In fact, I think the only reason MySQL is so much more popular than Postgresql nowadays is luck and marketing by MySQL AB (hey, it sure paid off, I’m not saying anything).</p><p>So, here’s to PostgreSQL having a bright future.</p><p>&#160;</p></p></p><h2 align="center"><strong>Bonus</strong></h2><p>As a bonus, here is a collection of links to other interesting predictions for 2009:</p><ul><li><a
title="http://www.pr-squared.com/2008/12/social_media_predictions_2009.html" href="http://www.pr-squared.com/2008/12/social_media_predictions_2009.html">http://www.pr-squared.com/2008/12/social_media_predictions_2009.html</a> – a great list of social media predictions.</li><li><a
title="http://battellemedia.com/archives/004772.php" href="http://battellemedia.com/archives/004772.php">http://battellemedia.com/archives/004772.php</a> – 14 online predictions as well as analysis of past years’ predictions.</li><li><a
title="http://news.cnet.com/5-predictions-for-2009/" href="http://news.cnet.com/5-predictions-for-2009/">http://news.cnet.com/5-predictions-for-2009/</a> – 5 CNET Digital Home predictions.</li><li><a
title="http://www.engadget.com/2009/01/01/predictions-for-2009/" href="http://www.engadget.com/2009/01/01/predictions-for-2009/">http://www.engadget.com/2009/01/01/predictions-for-2009/</a> – Engadget’s predictions.</li><li><a
title="http://www.freedom-to-tinker.com/blog/felten/predictions-2009" href="http://www.freedom-to-tinker.com/blog/felten/predictions-2009">http://www.freedom-to-tinker.com/blog/felten/predictions-2009</a> – 38 predictions freedom and technology related predictions.</li><li><a
title="http://www.readwriteweb.com/archives/2009_predictions_across_the_we.php" href="http://www.readwriteweb.com/archives/2009_predictions_across_the_we.php">http://www.readwriteweb.com/archives/2009_predictions_across_the_we.php</a> – ReadWriteWeb’s predictions across the web.</li></ul><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Artem%26rsquo%3Bs+Top+10+Tech+Predictions+And+Ideas+For+2009+And+Beyond&amp;link=http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/&amp;notes=%20%20%20%20Everyone%20and%20their%20mother%20are%20throwing%20out%20their%20predictions%20for%202009%20nowadays%2C%20it%E2%80%99s%20a%20new%20fad.%20It%E2%80%99s%20like%20you%E2%80%99re%20not%20cool%20anymore%20if%20you%20don%E2%80%99t%20have%20twitter%2C%20a%20Mac%2C%20and%20a%20set%20of%20random%20predictions%20for%20the%20next%2012%20joyous%20months.%20%20So%20I%20decided%20to%20throw%20in%20a%20few%20ideas%20of%20my%20own%20to%20be%20part%20of&amp;short_link=http://bit.ly/9Xlipo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Artem%26rsquo%3Bs+Top+10+Tech+Predictions+And+Ideas+For+2009+And+Beyond&amp;link=http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/&amp;notes=%20%20%20%20Everyone%20and%20their%20mother%20are%20throwing%20out%20their%20predictions%20for%202009%20nowadays%2C%20it%E2%80%99s%20a%20new%20fad.%20It%E2%80%99s%20like%20you%E2%80%99re%20not%20cool%20anymore%20if%20you%20don%E2%80%99t%20have%20twitter%2C%20a%20Mac%2C%20and%20a%20set%20of%20random%20predictions%20for%20the%20next%2012%20joyous%20months.%20%20So%20I%20decided%20to%20throw%20in%20a%20few%20ideas%20of%20my%20own%20to%20be%20part%20of&amp;short_link=http://bit.ly/9Xlipo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Artem%26rsquo%3Bs+Top+10+Tech+Predictions+And+Ideas+For+2009+And+Beyond&amp;link=http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/&amp;notes=%20%20%20%20Everyone%20and%20their%20mother%20are%20throwing%20out%20their%20predictions%20for%202009%20nowadays%2C%20it%E2%80%99s%20a%20new%20fad.%20It%E2%80%99s%20like%20you%E2%80%99re%20not%20cool%20anymore%20if%20you%20don%E2%80%99t%20have%20twitter%2C%20a%20Mac%2C%20and%20a%20set%20of%20random%20predictions%20for%20the%20next%2012%20joyous%20months.%20%20So%20I%20decided%20to%20throw%20in%20a%20few%20ideas%20of%20my%20own%20to%20be%20part%20of&amp;short_link=http://bit.ly/9Xlipo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Artem%26rsquo%3Bs+Top+10+Tech+Predictions+And+Ideas+For+2009+And+Beyond&amp;link=http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/&amp;notes=%20%20%20%20Everyone%20and%20their%20mother%20are%20throwing%20out%20their%20predictions%20for%202009%20nowadays%2C%20it%E2%80%99s%20a%20new%20fad.%20It%E2%80%99s%20like%20you%E2%80%99re%20not%20cool%20anymore%20if%20you%20don%E2%80%99t%20have%20twitter%2C%20a%20Mac%2C%20and%20a%20set%20of%20random%20predictions%20for%20the%20next%2012%20joyous%20months.%20%20So%20I%20decided%20to%20throw%20in%20a%20few%20ideas%20of%20my%20own%20to%20be%20part%20of&amp;short_link=http://bit.ly/9Xlipo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Artem%26rsquo%3Bs+Top+10+Tech+Predictions+And+Ideas+For+2009+And+Beyond&amp;link=http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/&amp;notes=%20%20%20%20Everyone%20and%20their%20mother%20are%20throwing%20out%20their%20predictions%20for%202009%20nowadays%2C%20it%E2%80%99s%20a%20new%20fad.%20It%E2%80%99s%20like%20you%E2%80%99re%20not%20cool%20anymore%20if%20you%20don%E2%80%99t%20have%20twitter%2C%20a%20Mac%2C%20and%20a%20set%20of%20random%20predictions%20for%20the%20next%2012%20joyous%20months.%20%20So%20I%20decided%20to%20throw%20in%20a%20few%20ideas%20of%20my%20own%20to%20be%20part%20of&amp;short_link=http://bit.ly/9Xlipo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Artem%26rsquo%3Bs+Top+10+Tech+Predictions+And+Ideas+For+2009+And+Beyond&amp;link=http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/&amp;notes=%20%20%20%20Everyone%20and%20their%20mother%20are%20throwing%20out%20their%20predictions%20for%202009%20nowadays%2C%20it%E2%80%99s%20a%20new%20fad.%20It%E2%80%99s%20like%20you%E2%80%99re%20not%20cool%20anymore%20if%20you%20don%E2%80%99t%20have%20twitter%2C%20a%20Mac%2C%20and%20a%20set%20of%20random%20predictions%20for%20the%20next%2012%20joyous%20months.%20%20So%20I%20decided%20to%20throw%20in%20a%20few%20ideas%20of%20my%20own%20to%20be%20part%20of&amp;short_link=http://bit.ly/9Xlipo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Artem%26rsquo%3Bs+Top+10+Tech+Predictions+And+Ideas+For+2009+And+Beyond&amp;link=http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/&amp;notes=%20%20%20%20Everyone%20and%20their%20mother%20are%20throwing%20out%20their%20predictions%20for%202009%20nowadays%2C%20it%E2%80%99s%20a%20new%20fad.%20It%E2%80%99s%20like%20you%E2%80%99re%20not%20cool%20anymore%20if%20you%20don%E2%80%99t%20have%20twitter%2C%20a%20Mac%2C%20and%20a%20set%20of%20random%20predictions%20for%20the%20next%2012%20joyous%20months.%20%20So%20I%20decided%20to%20throw%20in%20a%20few%20ideas%20of%20my%20own%20to%20be%20part%20of&amp;short_link=http://bit.ly/9Xlipo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Artem%26rsquo%3Bs%20Top%2010%20Tech%20Predictions%20And%20Ideas%20For%202009%20And%20Beyond&amp;link=http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/&amp;notes=%20%20%20%20Everyone%20and%20their%20mother%20are%20throwing%20out%20their%20predictions%20for%202009%20nowadays%2C%20it%E2%80%99s%20a%20new%20fad.%20It%E2%80%99s%20like%20you%E2%80%99re%20not%20cool%20anymore%20if%20you%20don%E2%80%99t%20have%20twitter%2C%20a%20Mac%2C%20and%20a%20set%20of%20random%20predictions%20for%20the%20next%2012%20joyous%20months.%20%20So%20I%20decided%20to%20throw%20in%20a%20few%20ideas%20of%20my%20own%20to%20be%20part%20of&amp;short_link=http://bit.ly/9Xlipo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2009/09/03/htc-hero-coming-to-sprint-october-11th-179-99-powerful-and-sexy-here-is-why-you-need-to-own-it/" rel="bookmark" title="September 3, 2009">HTC Hero Coming To Sprint October 11th! $179.99, Powerful, And Sexy. Here Is Why You Need To Own It</a></li><li><a
href="http://beerpla.net/2008/04/21/sun-definitely-developing-a-phone/" rel="bookmark" title="April 21, 2008">Sun Definitely Developing A Phone This Year</a></li><li><a
href="http://beerpla.net/2009/04/09/the-real-reasons-to-use-twitter-get-over-your-prejudice-already/" rel="bookmark" title="April 9, 2009">The Real Reasons To Use Twitter (Get Over Your Prejudice Already)</a></li><li><a
href="http://beerpla.net/2010/01/18/wordpress-developers-how-do-you-make-a-living-poll-discussion/" rel="bookmark" title="January 18, 2010">WordPress Developers &#8211; How Do You Make A Living [Poll + Discussion]?</a></li><li><a
href="http://beerpla.net/2009/11/21/meet-firefox-for-mobile-video-feature-highlights-more-info/" rel="bookmark" title="November 21, 2009">Meet Firefox For Mobile [Video + Feature Highlights + More Info]</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2009%2F01%2F10%2Fartems-top-10-tech-predictions-and-ideas-for-2009-and-beyond%2F&amp;title=Artem%26rsquo%3Bs%20Top%2010%20Tech%20Predictions%20And%20Ideas%20For%202009%20And%20Beyond" id="wpa2a_18"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/feed/</wfw:commentRss> <slash:comments>18</slash:comments> </item> <item><title>Mastering The Linux Shell &#8211; Bash Shortcuts Explained (Now With Cheat Sheets)</title><link>http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/</link> <comments>http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/#comments</comments> <pubDate>Mon, 22 Dec 2008 19:46:05 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[bash]]></category> <category><![CDATA[cheat sheet]]></category> <category><![CDATA[cheatsheet]]></category> <category><![CDATA[combination]]></category> <category><![CDATA[featured]]></category> <category><![CDATA[key]]></category> <category><![CDATA[keyboard]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[pdf]]></category> <category><![CDATA[shortcut]]></category> <guid
isPermaLink="false">http://beerpla.net/2008/12/22/getting-around-bash-bash-shortcuts/</guid> <description><![CDATA[<p><img
style="margin: 0px 10px 10px 0px; display: inline" title="image" alt="image" align="left" src="http://beerpla.net/wp-content/uploads/GettingAroundBashBashShortcuts_BFF6/image_thumb_3.png" width="234" height="114" />During my day-to-day activities, I use the Bash shell a lot. My #1 policy is to optimize the most frequently used activities as much as possible, so I’ve compiled these handy bash shortcuts and hints (tested in SecureCRT on Windows and Konsole on Linux). The article only touches on the default bash mode – emacs, not vi. If you haven’t specifically assigned your shell mode to vi (set –o vi), you’re almost certainly using the emacs mode. Learn these and your shell productivity will skyrocket, I guarantee it.</p><p><div
class="note"><div
class="noteimportant"><strong>Update #1: </strong>In response to a few people saying this list is too short and “[he] could&#039;ve added something to it, to atleast make it look longer” (quote from one of <a</div></div>...<div
class=clear></div> <a
href="http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p><img
style="margin: 0px 10px 10px 0px; display: inline" title="image" alt="image" align="left" src="http://beerpla.net/wp-content/uploads/GettingAroundBashBashShortcuts_BFF6/image_thumb_3.png" width="234" height="114" />During my day-to-day activities, I use the Bash shell a lot. My #1 policy is to optimize the most frequently used activities as much as possible, so I’ve compiled these handy bash shortcuts and hints (tested in SecureCRT on Windows and Konsole on Linux). The article only touches on the default bash mode – emacs, not vi. If you haven’t specifically assigned your shell mode to vi (set –o vi), you’re almost certainly using the emacs mode. Learn these and your shell productivity will skyrocket, I guarantee it.</p><p><div
class="note"><div
class="noteimportant"><strong>Update #1: </strong>In response to a few people saying this list is too short and “[he] could&#039;ve added something to it, to atleast make it look longer” (quote from one of <a
href="http://www.stumbleupon.com/url/beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/">Stumbleupon</a> reviewers), I want to clarify something. <strong>I deliberately did not include every single bash shortcut there is.</strong> I included what I personally thought were the best and most useful commands. I did not want to make the list too cluttered and wanted the cheat sheet to fit on one page without going to a smaller font size.</div></div></p><p><a
href="http://beerpla.net/downloads/Bash.Shortcuts.pdf" target="_blank"><img
style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://beerpla.net/wp-content/uploads/GettingAroundBashBashShortcuts_BFF6/image_6.png" width="640" height="248" /></a>&#160;</p><p><font
size="5"><strong>Download Version 1.2 (01/10/09):</strong></font></p><ul><li><a
href="http://beerpla.net/downloads/Bash.Shortcuts.pdf">Bash.Shortcuts.pdf for Adobe Acrobat</a> (95 kB) downloaded 6790 times</li><li><a
href="http://beerpla.net/downloads/Bash.Shortcuts.docx">Bash.Shortcuts.docx for Word 2007+</a> (19.1 kB) downloaded 2680 times</li><li><a
href="http://beerpla.net/downloads/Bash.Shortcuts.doc">Bash.Shortcuts.doc for Word 97-2003</a> (53 kB) downloaded 1870 times</li></ul><p>And, for quick reference, here&#039;s the ugly html version:</p></p><p><center></p><table
border="1" cellspacing="0" cellpadding="2" width="600"><tbody><tr><td
width="186"><p
align="center"><b>Keyboard shortcut</b></p></td><td
width="564"><p
align="center"><b>Action</b></p></td></tr><tr><td
width="750" colspan="2"><p
align="center"><strong>Navigation</strong></p></td></tr><tr><td
width="186"><p><b>Ctrl-A</b></p></td><td
width="564"><p><i>Go </i>to the beginning of the line (note that if you use GNU screen, you can use the Home button to do this, especially considering that Ctrl-A is a special control character in screen).</p></td></tr><tr><td
width="186"><p><b>Ctrl-E</b></p></td><td
width="564"><p><i>Go </i>to the end of the line (note that if you use GNU screen, you can use the End button to do this).</p></td></tr><tr><td
width="186"><p><b>Alt-B (or ESC, left arrow)</b></p></td><td
width="564"><p><i>Jump </i>back one word using a non-alphanumeric character as delimiter.</p></td></tr><tr><td
width="186"><p><b>Alt-F (or ESC, right arrow)</b></p></td><td
width="564"><p><i>Jump </i>forward one word using a non-alphanumeric character as delimiter.</p></td></tr><tr><td
width="186"><p><b>Ctrl-PGUP or Shift-PGUP</b></p></td><td
width="564"><p>This may or may not work, and it works differently on different console apps. It will either <i>scroll</i> up one line at a time, 1 page at a time, or it may not work at all. I&#039;m inclined to think it&#039;s not a bash shortcut at all.</p></td></tr><tr><td
width="186"><p><b>Ctrl-PGDN or Shift-PGDN</b></p></td><td
width="564"><p>Same as the above but <i>scrolling</i> is done in the opposite direction.</p></td></tr><tr><td
width="186"><p><b>Up/Down</b></p></td><td
width="564"><p><i>Previous/Next</i> command in history. This one is way too obvious but I&#039;m including it for completeness.</p></td></tr><tr><td
width="186"><p><b>Ctrl-R</b></p></td><td
width="564"><p>History <i>search</i>. For example, Ctrl-R svn Ctrl-R Ctrl-R … will cycle through all recently run commands with the ‘svn’ in them. It is one of the most useful shortcuts in bash.</p></td></tr><tr><td
width="750" colspan="2"><p
align="center"><strong>Command Line Manipulation</strong></p></td></tr><tr><td
width="186"><p><b>Ctrl-W</b></p></td><td
width="564"><p><i>Cut </i>one word backwards<i> </i>using white space as delimiter.</p></td></tr><tr><td
width="186"><p><b>Alt-BACKSPACE</b></p></td><td
width="564"><p><i>Cut</i> one word backwards using a non-alphanumeric character as delimiter (different from Ctrl-W, for example, abc;bcd will cut to abc;).</p></td></tr><tr><td
width="186"><p><b>Ctrl-K</b></p></td><td
width="564"><p><i>Cut </i>everything forward<i> </i>to end of line.</p></td></tr><tr><td
width="186"><p><b>Ctrl-U</b></p></td><td
width="564"><p><i>Cut </i>everything backwards<i> </i>to beginning of line.</p></td></tr><tr><td
width="186"><p><b>Ctrl-T</b></p></td><td
width="564"><p><i>Transpose </i>the current character with the previous one. I almost never use this. Never mind, I never use it, but someone might find it useful.</p></td></tr><tr><td
width="186"><p><b>Alt-T</b></p></td><td
width="564"><p><i>Transpose</i> the word at cursor with the one before cursor. In other words, swap them around.</p></td></tr><tr><td
width="186"><p><b>Ctrl-Y</b></p></td><td
width="564"><p><i>Paste</i> whatever was cut by the last cut command.</p></td></tr><tr><td
width="186"><p><b>Ctrl-V</b></p></td><td
width="564"><p><i>Insert</i> the next character <i>literally</i>. For example, Ctrl-V TAB inserts the actual TAB character. This shortcut is often misunderstood because of mistyping Ctrl-V and not realizing what it does.</p></td></tr><tr><td
width="186"><p><b>Ctrl-_</b></p></td><td
width="564"><p><i>Undo </i>the last command. Don’t forget – it’s Ctrl-Shift-MINUS, not Ctrl-MINUS.</p></td></tr><tr><td
width="186"><p><b>Alt-R</b></p></td><td
width="564"><p><i>Revert </i>all changes to current line. Very useful if you accidentally modify a command in history.<i></i></p></td></tr><tr><td
width="186"><p><b>Alt-U/Alt-L/Alt-C</b></p></td><td
width="564"><p><i>Uppercase/lowercase/capitalize </i>from cursor to end of word and move cursor past end of word.</p></td></tr><tr><td
width="750" colspan="2"><p
align="center"><strong>Terminal control</strong></p></td></tr><tr><td
width="186"><p><b>Ctrl-L</b></p></td><td
width="564"><p><i>Clear</i> screen while keeping whatever is already typed in the command line intact.</p></td></tr><tr><td
width="186"><p><b>Ctrl-S</b></p></td><td
width="564"><p><i>Suspend</i> currently running terminal.</p></td></tr><tr><td
width="186"><p><b>Ctrl-Q</b></p></td><td
width="564"><p><i>Unsuspend</i> the terminal suspended by Ctrl-S. You need to be aware of this shortcut because 99% of the time you’ve accidentally pressed Ctrl-S and need to undo its effects.</p></td></tr><tr><td
width="186"><p><b>Ctrl-Z</b></p></td><td
width="564"><p><i>Suspend </i>the currently running process (usually followed by <i>bg</i> to resume it in the background or <i>fg</i> to resume in the foreground).</p></td></tr><tr><td
width="186"><p><b>TAB</b></p></td><td
width="564"><p><i>Autocomplete</i>. Start typing, then hit TAB. You will either get a list of possible completion values (2 TABs needed) or the only choice will be filled in (only 1 TAB is needed). This shortcut is quite obvious and well known, so I put it at the bottom of the list.</p></td></tr></tbody></table><p></center></p><p><div
class="note"><div
class="notetip"><strong>Tip:</strong> By the way, as duly noted in the comments, all of these tricks work on the mysql command line, so you can, for example, ctrl-R through your previously executed mysql commands.</div></div></p><p>Hope you guys will find this list helpful. I think it is relatively complete, but feel free to add any omissions.</p></p><p><center><iframe
style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=beepla-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=B001GIOFNI&amp;md=10FE9736YVPPT7A0FBG2&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"></iframe><iframe
style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=beepla-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=0596009658&amp;md=10FE9736YVPPT7A0FBG2&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"></iframe><iframe
style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=beepla-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=0596526784&amp;md=10FE9736YVPPT7A0FBG2&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"></iframe><iframe
style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=beepla-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=0596005954&amp;md=10FE9736YVPPT7A0FBG2&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"></iframe><iframe
style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=beepla-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=1565922255&amp;md=10FE9736YVPPT7A0FBG2&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"></iframe></center></p><div
class='post_blob_1'>Get guaranteed <a
href="http://www.test-king.com/exams/70-270.htm">70-270</a> exam success with up to date <a
href="http://www.test-king.com/exams/642-982.htm">642-982</a> questions and <a
href="http://www.test-king.com/exams/642-504.htm">642-504</a> practice test.</div><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Mastering+The+Linux+Shell+-+Bash+Shortcuts+Explained+%28Now+With+Cheat+Sheets%29&amp;link=http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/&amp;notes=During%20my%20day-to-day%20activities%2C%20I%20use%20the%20Bash%20shell%20a%20lot.%20My%20%231%20policy%20is%20to%20optimize%20the%20most%20frequently%20used%20activities%20as%20much%20as%20possible%2C%20so%20I%E2%80%99ve%20compiled%20these%20handy%20bash%20shortcuts%20and%20hints%20%28tested%20in%20SecureCRT%20on%20Windows%20and%20Konsole%20on%20Linux%29.%20The%20article%20only%20touches%20on%20the%20default%20bas&amp;short_link=http://bit.ly/bGubfn&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Mastering+The+Linux+Shell+-+Bash+Shortcuts+Explained+%28Now+With+Cheat+Sheets%29&amp;link=http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/&amp;notes=During%20my%20day-to-day%20activities%2C%20I%20use%20the%20Bash%20shell%20a%20lot.%20My%20%231%20policy%20is%20to%20optimize%20the%20most%20frequently%20used%20activities%20as%20much%20as%20possible%2C%20so%20I%E2%80%99ve%20compiled%20these%20handy%20bash%20shortcuts%20and%20hints%20%28tested%20in%20SecureCRT%20on%20Windows%20and%20Konsole%20on%20Linux%29.%20The%20article%20only%20touches%20on%20the%20default%20bas&amp;short_link=http://bit.ly/bGubfn&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Mastering+The+Linux+Shell+-+Bash+Shortcuts+Explained+%28Now+With+Cheat+Sheets%29&amp;link=http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/&amp;notes=During%20my%20day-to-day%20activities%2C%20I%20use%20the%20Bash%20shell%20a%20lot.%20My%20%231%20policy%20is%20to%20optimize%20the%20most%20frequently%20used%20activities%20as%20much%20as%20possible%2C%20so%20I%E2%80%99ve%20compiled%20these%20handy%20bash%20shortcuts%20and%20hints%20%28tested%20in%20SecureCRT%20on%20Windows%20and%20Konsole%20on%20Linux%29.%20The%20article%20only%20touches%20on%20the%20default%20bas&amp;short_link=http://bit.ly/bGubfn&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Mastering+The+Linux+Shell+-+Bash+Shortcuts+Explained+%28Now+With+Cheat+Sheets%29&amp;link=http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/&amp;notes=During%20my%20day-to-day%20activities%2C%20I%20use%20the%20Bash%20shell%20a%20lot.%20My%20%231%20policy%20is%20to%20optimize%20the%20most%20frequently%20used%20activities%20as%20much%20as%20possible%2C%20so%20I%E2%80%99ve%20compiled%20these%20handy%20bash%20shortcuts%20and%20hints%20%28tested%20in%20SecureCRT%20on%20Windows%20and%20Konsole%20on%20Linux%29.%20The%20article%20only%20touches%20on%20the%20default%20bas&amp;short_link=http://bit.ly/bGubfn&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Mastering+The+Linux+Shell+-+Bash+Shortcuts+Explained+%28Now+With+Cheat+Sheets%29&amp;link=http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/&amp;notes=During%20my%20day-to-day%20activities%2C%20I%20use%20the%20Bash%20shell%20a%20lot.%20My%20%231%20policy%20is%20to%20optimize%20the%20most%20frequently%20used%20activities%20as%20much%20as%20possible%2C%20so%20I%E2%80%99ve%20compiled%20these%20handy%20bash%20shortcuts%20and%20hints%20%28tested%20in%20SecureCRT%20on%20Windows%20and%20Konsole%20on%20Linux%29.%20The%20article%20only%20touches%20on%20the%20default%20bas&amp;short_link=http://bit.ly/bGubfn&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Mastering+The+Linux+Shell+-+Bash+Shortcuts+Explained+%28Now+With+Cheat+Sheets%29&amp;link=http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/&amp;notes=During%20my%20day-to-day%20activities%2C%20I%20use%20the%20Bash%20shell%20a%20lot.%20My%20%231%20policy%20is%20to%20optimize%20the%20most%20frequently%20used%20activities%20as%20much%20as%20possible%2C%20so%20I%E2%80%99ve%20compiled%20these%20handy%20bash%20shortcuts%20and%20hints%20%28tested%20in%20SecureCRT%20on%20Windows%20and%20Konsole%20on%20Linux%29.%20The%20article%20only%20touches%20on%20the%20default%20bas&amp;short_link=http://bit.ly/bGubfn&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Mastering+The+Linux+Shell+-+Bash+Shortcuts+Explained+%28Now+With+Cheat+Sheets%29&amp;link=http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/&amp;notes=During%20my%20day-to-day%20activities%2C%20I%20use%20the%20Bash%20shell%20a%20lot.%20My%20%231%20policy%20is%20to%20optimize%20the%20most%20frequently%20used%20activities%20as%20much%20as%20possible%2C%20so%20I%E2%80%99ve%20compiled%20these%20handy%20bash%20shortcuts%20and%20hints%20%28tested%20in%20SecureCRT%20on%20Windows%20and%20Konsole%20on%20Linux%29.%20The%20article%20only%20touches%20on%20the%20default%20bas&amp;short_link=http://bit.ly/bGubfn&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Mastering%20The%20Linux%20Shell%20-%20Bash%20Shortcuts%20Explained%20%28Now%20With%20Cheat%20Sheets%29&amp;link=http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/&amp;notes=During%20my%20day-to-day%20activities%2C%20I%20use%20the%20Bash%20shell%20a%20lot.%20My%20%231%20policy%20is%20to%20optimize%20the%20most%20frequently%20used%20activities%20as%20much%20as%20possible%2C%20so%20I%E2%80%99ve%20compiled%20these%20handy%20bash%20shortcuts%20and%20hints%20%28tested%20in%20SecureCRT%20on%20Windows%20and%20Konsole%20on%20Linux%29.%20The%20article%20only%20touches%20on%20the%20default%20bas&amp;short_link=http://bit.ly/bGubfn&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2008/04/09/some-useful-vim-commands-my-vim-cheatsheet/" rel="bookmark" title="April 9, 2008">Some Useful vim Commands &#8211; My vim Cheatsheet</a></li><li><a
href="http://beerpla.net/2009/04/11/essential-firefox-extensions-plugins-add-ons-and-tips-a-comprehensive-guide-part-1-tips/" rel="bookmark" title="April 11, 2009">Essential Firefox Extensions (Plugins, Add-Ons) And Tips &ndash; A Comprehensive Guide :: Part 1 :: Tips</a></li><li><a
href="http://beerpla.net/2009/11/04/android-auto-formatting-android-xml-files-with-eclipse/" rel="bookmark" title="November 4, 2009">[Android] Auto Formatting Android XML Files With Eclipse</a></li><li><a
href="http://beerpla.net/2009/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/" rel="bookmark" title="October 6, 2009">Supercharge Your GNU Screen With A Power &quot;Taskbar&quot; And Never Feel Lost Again</a></li><li><a
href="http://beerpla.net/2008/03/12/mass-renaming-directories-and-files-using-total-commander/" rel="bookmark" title="March 12, 2008">Mass Renaming Directories And Files Using Total Commander</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F12%2F22%2Fmastering-the-linux-shell-bash-shortcuts-explained%2F&amp;title=Mastering%20The%20Linux%20Shell%20%26%238211%3B%20Bash%20Shortcuts%20Explained%20%28Now%20With%20Cheat%20Sheets%29" id="wpa2a_20"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/feed/</wfw:commentRss> <slash:comments>32</slash:comments> </item> <item><title>Hadoop Primer &#8211; Yet Another Hadoop Introduction</title><link>http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/</link> <comments>http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/#comments</comments> <pubDate>Tue, 21 Oct 2008 06:48:38 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Databases]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[hadoop]]></category> <category><![CDATA[install]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[scaling]]></category> <category><![CDATA[start]]></category> <guid
isPermaLink="false">http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/</guid> <description><![CDATA[<p><a
href="http://beerpla.net/wp-content/uploads/HadoopPrimerYetAnotherHadoopIntroduction_14EC8/image.png" class="lightview" rel="gallery['469']" title="image"><img
title="image" style="display: inline; margin: 0px 10px 10px 0px" height="71" alt="image" src="http://beerpla.net/wp-content/uploads/HadoopPrimerYetAnotherHadoopIntroduction_14EC8/image_thumb.png" width="300" align="left" /></a> I just came upon a <a
href="http://wikis.sun.com/download/attachments/38208497/Hadoop-Primer.pdf">pretty good Hadoop introduction paper</a> posted on Sun’s wiki. <b><a
href="http://hadoop.apache.org/core/">Apache Hadoop</a></b> is a free Java software framework that supports data intensive distributed applications. It enables applications to work with thousands of nodes and petabytes of data. Hadoop was inspired by Google&#039;s <a
href="http://en.wikipedia.org/wiki/MapReduce">MapReduce</a> and <a
href="http://en.wikipedia.org/wiki/GoogleFS">Google File System</a> (GFS) (<a
href="http://en.wikipedia.org/wiki/Hadoop">wikipedia</a>). I wouldn’t call it an alternative to mysql &#8211; they’re in completely different weight categories. I like to think of Hadoop as a complement &#8211; I think it’s closer to memcached in its functions than to mysql. Perhaps a hybrid of both but a unique beast nonetheless. If you’re serious about scaling, you owe it to yourself to start exploring Hadoop yesterday....<div
class=clear></div> <a
href="http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p><a
href="http://beerpla.net/wp-content/uploads/HadoopPrimerYetAnotherHadoopIntroduction_14EC8/image.png" class="lightview" rel="gallery['469']" title="image"><img
title="image" style="display: inline; margin: 0px 10px 10px 0px" height="71" alt="image" src="http://beerpla.net/wp-content/uploads/HadoopPrimerYetAnotherHadoopIntroduction_14EC8/image_thumb.png" width="300" align="left" /></a> I just came upon a <a
href="http://wikis.sun.com/download/attachments/38208497/Hadoop-Primer.pdf">pretty good Hadoop introduction paper</a> posted on Sun’s wiki. <b><a
href="http://hadoop.apache.org/core/">Apache Hadoop</a></b> is a free Java software framework that supports data intensive distributed applications. It enables applications to work with thousands of nodes and petabytes of data. Hadoop was inspired by Google&#039;s <a
href="http://en.wikipedia.org/wiki/MapReduce">MapReduce</a> and <a
href="http://en.wikipedia.org/wiki/GoogleFS">Google File System</a> (GFS) (<a
href="http://en.wikipedia.org/wiki/Hadoop">wikipedia</a>). I wouldn’t call it an alternative to mysql &#8211; they’re in completely different weight categories. I like to think of Hadoop as a complement &#8211; I think it’s closer to memcached in its functions than to mysql. Perhaps a hybrid of both but a unique beast nonetheless. If you’re serious about scaling, you owe it to yourself to start exploring Hadoop yesterday.</p><p>A couple of reasons for sharing the primer:</p><ul><li>it is short and concise</li><li>it has examples</li><li>and most importantly, it finally pushed me to install Hadoop on a 4-machine cluster and start playing around with it</li></ul><p>So, take a look at the <a
href="http://wikis.sun.com/download/attachments/38208497/Hadoop-Primer.pdf">primer PDF</a>, <a
href="http://www.apache.org/dyn/closer.cgi/hadoop/core/">download</a> Hadoop, and <a
href="http://hadoop.apache.org/core/docs/current/quickstart.html">quickstart</a> it. Here’s a more detailed <a
href="http://wiki.apache.org/hadoop/GettingStartedWithHadoop">set up</a> page.</p><p><a
href="http://wiki.apache.org/hadoop/PoweredBy">The big guys</a> are using it, why aren’t you?</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Hadoop+Primer+%26ndash%3B+Yet+Another+Hadoop+Introduction&amp;link=http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/&amp;notes=%20I%20just%20came%20upon%20a%20pretty%20good%20Hadoop%20introduction%20paper%20posted%20on%20Sun%E2%80%99s%20wiki.%20Apache%20Hadoop%20is%20a%20free%20Java%20software%20framework%20that%20supports%20data%20intensive%20distributed%20applications.%20It%20enables%20applications%20to%20work%20with%20thousands%20of%20nodes%20and%20petabytes%20of%20data.%20Hadoop%20was%20inspired%20by%20Google%27s%20MapR&amp;short_link=http://bit.ly/9kKAzp&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Hadoop+Primer+%26ndash%3B+Yet+Another+Hadoop+Introduction&amp;link=http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/&amp;notes=%20I%20just%20came%20upon%20a%20pretty%20good%20Hadoop%20introduction%20paper%20posted%20on%20Sun%E2%80%99s%20wiki.%20Apache%20Hadoop%20is%20a%20free%20Java%20software%20framework%20that%20supports%20data%20intensive%20distributed%20applications.%20It%20enables%20applications%20to%20work%20with%20thousands%20of%20nodes%20and%20petabytes%20of%20data.%20Hadoop%20was%20inspired%20by%20Google%27s%20MapR&amp;short_link=http://bit.ly/9kKAzp&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Hadoop+Primer+%26ndash%3B+Yet+Another+Hadoop+Introduction&amp;link=http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/&amp;notes=%20I%20just%20came%20upon%20a%20pretty%20good%20Hadoop%20introduction%20paper%20posted%20on%20Sun%E2%80%99s%20wiki.%20Apache%20Hadoop%20is%20a%20free%20Java%20software%20framework%20that%20supports%20data%20intensive%20distributed%20applications.%20It%20enables%20applications%20to%20work%20with%20thousands%20of%20nodes%20and%20petabytes%20of%20data.%20Hadoop%20was%20inspired%20by%20Google%27s%20MapR&amp;short_link=http://bit.ly/9kKAzp&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Hadoop+Primer+%26ndash%3B+Yet+Another+Hadoop+Introduction&amp;link=http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/&amp;notes=%20I%20just%20came%20upon%20a%20pretty%20good%20Hadoop%20introduction%20paper%20posted%20on%20Sun%E2%80%99s%20wiki.%20Apache%20Hadoop%20is%20a%20free%20Java%20software%20framework%20that%20supports%20data%20intensive%20distributed%20applications.%20It%20enables%20applications%20to%20work%20with%20thousands%20of%20nodes%20and%20petabytes%20of%20data.%20Hadoop%20was%20inspired%20by%20Google%27s%20MapR&amp;short_link=http://bit.ly/9kKAzp&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Hadoop+Primer+%26ndash%3B+Yet+Another+Hadoop+Introduction&amp;link=http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/&amp;notes=%20I%20just%20came%20upon%20a%20pretty%20good%20Hadoop%20introduction%20paper%20posted%20on%20Sun%E2%80%99s%20wiki.%20Apache%20Hadoop%20is%20a%20free%20Java%20software%20framework%20that%20supports%20data%20intensive%20distributed%20applications.%20It%20enables%20applications%20to%20work%20with%20thousands%20of%20nodes%20and%20petabytes%20of%20data.%20Hadoop%20was%20inspired%20by%20Google%27s%20MapR&amp;short_link=http://bit.ly/9kKAzp&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Hadoop+Primer+%26ndash%3B+Yet+Another+Hadoop+Introduction&amp;link=http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/&amp;notes=%20I%20just%20came%20upon%20a%20pretty%20good%20Hadoop%20introduction%20paper%20posted%20on%20Sun%E2%80%99s%20wiki.%20Apache%20Hadoop%20is%20a%20free%20Java%20software%20framework%20that%20supports%20data%20intensive%20distributed%20applications.%20It%20enables%20applications%20to%20work%20with%20thousands%20of%20nodes%20and%20petabytes%20of%20data.%20Hadoop%20was%20inspired%20by%20Google%27s%20MapR&amp;short_link=http://bit.ly/9kKAzp&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Hadoop+Primer+%26ndash%3B+Yet+Another+Hadoop+Introduction&amp;link=http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/&amp;notes=%20I%20just%20came%20upon%20a%20pretty%20good%20Hadoop%20introduction%20paper%20posted%20on%20Sun%E2%80%99s%20wiki.%20Apache%20Hadoop%20is%20a%20free%20Java%20software%20framework%20that%20supports%20data%20intensive%20distributed%20applications.%20It%20enables%20applications%20to%20work%20with%20thousands%20of%20nodes%20and%20petabytes%20of%20data.%20Hadoop%20was%20inspired%20by%20Google%27s%20MapR&amp;short_link=http://bit.ly/9kKAzp&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Hadoop%20Primer%20%26ndash%3B%20Yet%20Another%20Hadoop%20Introduction&amp;link=http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/&amp;notes=%20I%20just%20came%20upon%20a%20pretty%20good%20Hadoop%20introduction%20paper%20posted%20on%20Sun%E2%80%99s%20wiki.%20Apache%20Hadoop%20is%20a%20free%20Java%20software%20framework%20that%20supports%20data%20intensive%20distributed%20applications.%20It%20enables%20applications%20to%20work%20with%20thousands%20of%20nodes%20and%20petabytes%20of%20data.%20Hadoop%20was%20inspired%20by%20Google%27s%20MapR&amp;short_link=http://bit.ly/9kKAzp&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2008/04/15/mysql-conference-liveblogging-the-future-of-mysql-tuesday-1155am-2/" rel="bookmark" title="April 15, 2008">MySQL Conference Liveblogging: The Future Of MySQL (Tuesday 11:55AM)</a></li><li><a
href="http://beerpla.net/2010/01/11/web-dev-browser-breakdown-statscharts-from-plaxo-com-for-december-2009-and-thoughts/" rel="bookmark" title="January 11, 2010">[Web Dev] Browser Breakdown Stats+Charts From Plaxo.com For December 2009 And Thoughts</a></li><li><a
href="http://beerpla.net/2009/09/03/comparison-between-solr-and-sphinx-search-servers-solr-vs-sphinx-fight/" rel="bookmark" title="September 3, 2009">Comparison Between Solr And Sphinx Search Servers (Solr Vs Sphinx &#8211; Fight!)</a></li><li><a
href="http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/" rel="bookmark" title="September 5, 2008">MySQL Slave Lag (Delay) Explained And 7 Ways To Battle It</a></li><li><a
href="http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/" rel="bookmark" title="May 11, 2009">[MySQL] Deleting/Updating Rows Common To 2 Tables &#8211; Speed And Slave Lag Considerations</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F10%2F20%2Fhadoop-primer-yet-another-hadoop-introduction%2F&amp;title=Hadoop%20Primer%20%26ndash%3B%20Yet%20Another%20Hadoop%20Introduction" id="wpa2a_22"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/10/20/hadoop-primer-yet-another-hadoop-introduction/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>MySQL Slave Lag (Delay) Explained And 7 Ways To Battle It</title><link>http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/</link> <comments>http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/#comments</comments> <pubDate>Fri, 05 Sep 2008 17:00:40 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Databases]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[delay]]></category> <category><![CDATA[featured]]></category> <category><![CDATA[help]]></category> <category><![CDATA[hint]]></category> <category><![CDATA[lag]]></category> <category><![CDATA[maatkit]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[replication]]></category> <category><![CDATA[slave]]></category> <category><![CDATA[solution]]></category> <guid
isPermaLink="false">http://beerpla.net/2008/09/05/mysql-slave-delay-explained-and-7-ways-to-battle-it/</guid> <description><![CDATA[<p><img
style="margin: 0px 20px 10px 0px" src="http://forge.mysql.com/w/images/1/1e/Dolphin_Laptop_cropped-386x222.jpg" alt="http://forge.mysql.com/w/images/1/1e/Dolphin_Laptop_cropped-386x222.jpg" width="240" height="200" align="left" />Slave delay can be a nightmare. I battle it every day and know plenty of people who curse the serialization problem of replication. For those who are not familiar with it, replication on MySQL slaves runs commands in series &#8211; one by one, while the master may run them in parallel. This fact usually causes bottlenecks. Consider these 2 examples:</p><ul><li>Between 1 and 100 UPDATE queries are constantly running on the master in parallel. If the slave IO is only fast enough to handle 50 of them without lagging, as soon as 51 start running, the slaves starts to lag.</li><li>A more common problem is when one query takes an hour to run (let&#039;s say, it&#039;s an UPDATE with</li></ul><p>...<div
class=clear></div> <a
href="http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p><img
style="margin: 0px 20px 10px 0px" src="http://forge.mysql.com/w/images/1/1e/Dolphin_Laptop_cropped-386x222.jpg" alt="http://forge.mysql.com/w/images/1/1e/Dolphin_Laptop_cropped-386x222.jpg" width="240" height="200" align="left" />Slave delay can be a nightmare. I battle it every day and know plenty of people who curse the serialization problem of replication. For those who are not familiar with it, replication on MySQL slaves runs commands in series &#8211; one by one, while the master may run them in parallel. This fact usually causes bottlenecks. Consider these 2 examples:</p><ul><li>Between 1 and 100 UPDATE queries are constantly running on the master in parallel. If the slave IO is only fast enough to handle 50 of them without lagging, as soon as 51 start running, the slaves starts to lag.</li><li>A more common problem is when one query takes an hour to run (let&#039;s say, it&#039;s an UPDATE with a big WHERE clause that doesn&#039;t use an index). In this case, the query runs on the master for an hour, which isn&#039;t a big problem because it doesn&#039;t block other queries. However, when the query moves over to the slaves, all of them start to lag because it plugs up the single replication thread.</li></ul><p><div
class="note"><div
class="notewarning"><strong>Sidenote:</strong> when I hear an argument that a master has to be the most powerful machine in the group, I cringe at the logic.</p><p>If the master can crunch more INSERTs/UPDATEs after an upgrade to a better machine, then replication will fall behind even faster.</div></div></p><p>There is nothing you can do right now to fix <em><strong>the way</strong></em> MySQL handles replication. If the replication threads could run in parallel, I&#039;m guessing horrible things would happen to the data integrity due to race conditions, canceled queries, slave restarts, differences in query execution times due to server load and configuration, etc. Replication is already an asynchronous, prone to getting out of sync business (hint: use <a
href="http://www.maatkit.org">maatkit</a> tools by Baron Schwartz and specifically <a
href="http://maatkit.sourceforge.net/doc/mk-table-checksum.html">mk-table-checksum</a> and <a
href="http://maatkit.sourceforge.net/doc/mk-table-sync.html">mk-table-sync</a> to sync up your slaves).</p><p>In order to see if a slave is lagging, execute the &#039;show slave status&#039; command and look for the Seconds_Behind_Master value. The way this value is calculated can be slightly ambiguous and unclear, so I&#039;ll explain. It is simply a difference between the 2 timestamps &#8211; the time of the last received (and queued up in the relay log) query that already executed on the master and the time of the currently executing query on the slave. Thus this value is not real time (it is possible to catch up to the master much faster); it&#039;s an approximation, or special metrics if you will, that helps point out problems.</p><p>So what can you do if you start hitting replication lag? This is the ultimate question, and the answer depends on your application. Here are the things I came up with after dealing with MySQL for a few years (there are undoubtedly other techniques, but these all come from my own experience):</p><ol><li>Normalize your data, if it is not already. Non-normalized tables lead to repetition and is generally considered bad practice. More data &#8211; more IO in most cases. There can be cases, however, where you can normalize too much. Having JOINs is much slower than not having them, and it can hurt your queries if you JOIN a lot. Finally, the extreme case is mentioned at <a
href="http://highscalability.com">highscalability.com</a>: <a
href="http://highscalability.com/how-i-learned-stop-worrying-and-love-using-lot-disk-space-scale">How I Learned to Stop Worrying and Love Using a Lot of Disk Space to Scale</a>. &#034;<em>You&#8211;pause for dramatic effect&#8211;<strong>duplicate data instead of <strong>normalize</strong> it</strong>. *shudder*</em>&#034;. Flickr is provided as an example.</li><li>Shard (meaning, slice) your data, horizontally and vertically. For example, you can horizontally partition by some sort of key, hash, username, or other properties. You can also partition vertically by moving out some table columns into other databases. As an example, if you had a database of videos, storing view counts, number of favorites, etc. is OK but if these fields receive a lot of frequent updates, you are bound to have slave lag. Instead, separate these into a dedicated stats table(s). You don&#039;t have to shard all of your data &#8211; even sharding the most active bits helps immensely (for example, you can choose to shard your stats tables and leave the main one alone).</li><li>Upgrade machines running MySQL (first slaves, then master, for the reasons given above). 99% of the time, disk IO is the bottleneck, CPU being the other 1%. Move to RAIDed setups (RAID10 or RAID0) with 6-10 15K RPM SCSI or SSD drives. Add a lot of RAM. Make sure you&#039;re running a 64 bit OS if you have more than 3GB of RAM, so that the mysql process may utilize more of it. My <a
href="http://beerpla.net/2008/06/11/best-mysql-server-under-10k/">search for the best MySQL server under $10K</a> may be of some help here.</li><li>Separate your applications onto different MySQL instances. If you are running separate applications A, B, and C that don&#039;t depend on each other, consider giving them their own machines, otherwise a single long-running UPDATE or INSERT query in application A will delay all writes by application B and C. This is actually quite common &#8211; even though the server may not appear to be loaded, the annoying slave delay will still show its cowardly tail. I want to highlight this again: <span
style="font-size: medium;">the replication thread is shared between all databases on the server</span>.</li><li>Another solution to (4) is multiple MySQL instances, granted that the MySQL machine isn&#039;t generally overloaded already. In that case, installing more than 1 mysql daemons would separate replication threads and allow running multiple applications, like A, B, and C on one machine, without affecting each other. <a
href="https://launchpad.net/mysql-sandbox">MySQL sandbox</a> achieves just that &#8211; it is my preferred solution.</li><li>Split up longer running queries into shorter ones. This should be pretty straightforward &#8211; a single query on 10 million rows may run a few hours. Splitting it into batches of 50,000, for example, will give other queries a chance to run in between. Of course, you should take care of data integrity and generally double check what you are doing.</li><li>Don&#039;t overload the same slave by sending all queries to it, as it will just make the matter worse. You can round-robin the queries using either round-robin DNS (eww), round-robin within the application logic (better), smarter application logic, like checking slave load and status from time to time, or my personal favorite &#8211; using <a
href="http://forge.mysql.com/wiki/MySQL_Proxy">MySQL proxy</a> and having it pick the least lagging slave for you. An official solution utilizing mysql proxy, called <a
href="http://dev.mysql.com/doc/refman/5.1/en/load-balancer.html">MySQL load balancer</a>, is apparently in the works (I was promised beta access but haven&#039;t got it so far).</li></ol><p>As a bonus, I wanted to throw in this idea of helping minimize a certain corner case cause of slave delay and feed it to the hungry MySQL minds. I&#039;m not sure if it is mentioned anywhere else, as I have not Googled it. If it&#039;s a widely known fact, then I will consider this post as just adding my vote to the usefulness of the technique.</p><p><div
class="note"><div
class="notetip"><strong>Tip:</strong> If you have replication setups that use a lot of INSERT commands and you expect that most of such INSERTs would dupe with existing data (and you are using INSERT IGNORE, not REPLACE), consider replacing such queries with SELECTs, followed by only necessary INSERTs.</p><p>The reasoning is simple: INSERTs propagate to all the slaves and have to run on a master. SELECTs can run on any slave and don&#039;t propagate anywhere, so if only 0.01% of the queries result in new rows, this technique will get rid of a lot of unnecessary slave query traffic.</div></div></p><p>Well, there you have it. Comments are open, so feel free to share your own replication strategies and thoughts about mine.</p><div
class='post_blob_1'>Get advantage of our latest <a
href="http://www.test-king.com/exams/642-983.htm">642-983</a> exam products and pass your <a
href="http://www.test-king.com/exams/1Y0-A05.htm">1Y0-A05</a> as well as <a
href="http://www.test-king.com/exams/642-383.htm">642-383</a> exam on first try.</div><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Slave+Lag+%28Delay%29+Explained+And+7+Ways+To+Battle+It&amp;link=http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/&amp;notes=Slave%20delay%20can%20be%20a%20nightmare.%20I%20battle%20it%20every%20day%20and%20know%20plenty%20of%20people%20who%20curse%20the%20serialization%20problem%20of%20replication.%20For%20those%20who%20are%20not%20familiar%20with%20it%2C%20replication%20on%20MySQL%20slaves%20runs%20commands%20in%20series%20-%20one%20by%20one%2C%20while%20the%20master%20may%20run%20them%20in%20parallel.%20This%20fact%20usually%20c&amp;short_link=http://bit.ly/9XKLTz&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Slave+Lag+%28Delay%29+Explained+And+7+Ways+To+Battle+It&amp;link=http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/&amp;notes=Slave%20delay%20can%20be%20a%20nightmare.%20I%20battle%20it%20every%20day%20and%20know%20plenty%20of%20people%20who%20curse%20the%20serialization%20problem%20of%20replication.%20For%20those%20who%20are%20not%20familiar%20with%20it%2C%20replication%20on%20MySQL%20slaves%20runs%20commands%20in%20series%20-%20one%20by%20one%2C%20while%20the%20master%20may%20run%20them%20in%20parallel.%20This%20fact%20usually%20c&amp;short_link=http://bit.ly/9XKLTz&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Slave+Lag+%28Delay%29+Explained+And+7+Ways+To+Battle+It&amp;link=http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/&amp;notes=Slave%20delay%20can%20be%20a%20nightmare.%20I%20battle%20it%20every%20day%20and%20know%20plenty%20of%20people%20who%20curse%20the%20serialization%20problem%20of%20replication.%20For%20those%20who%20are%20not%20familiar%20with%20it%2C%20replication%20on%20MySQL%20slaves%20runs%20commands%20in%20series%20-%20one%20by%20one%2C%20while%20the%20master%20may%20run%20them%20in%20parallel.%20This%20fact%20usually%20c&amp;short_link=http://bit.ly/9XKLTz&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Slave+Lag+%28Delay%29+Explained+And+7+Ways+To+Battle+It&amp;link=http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/&amp;notes=Slave%20delay%20can%20be%20a%20nightmare.%20I%20battle%20it%20every%20day%20and%20know%20plenty%20of%20people%20who%20curse%20the%20serialization%20problem%20of%20replication.%20For%20those%20who%20are%20not%20familiar%20with%20it%2C%20replication%20on%20MySQL%20slaves%20runs%20commands%20in%20series%20-%20one%20by%20one%2C%20while%20the%20master%20may%20run%20them%20in%20parallel.%20This%20fact%20usually%20c&amp;short_link=http://bit.ly/9XKLTz&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Slave+Lag+%28Delay%29+Explained+And+7+Ways+To+Battle+It&amp;link=http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/&amp;notes=Slave%20delay%20can%20be%20a%20nightmare.%20I%20battle%20it%20every%20day%20and%20know%20plenty%20of%20people%20who%20curse%20the%20serialization%20problem%20of%20replication.%20For%20those%20who%20are%20not%20familiar%20with%20it%2C%20replication%20on%20MySQL%20slaves%20runs%20commands%20in%20series%20-%20one%20by%20one%2C%20while%20the%20master%20may%20run%20them%20in%20parallel.%20This%20fact%20usually%20c&amp;short_link=http://bit.ly/9XKLTz&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Slave+Lag+%28Delay%29+Explained+And+7+Ways+To+Battle+It&amp;link=http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/&amp;notes=Slave%20delay%20can%20be%20a%20nightmare.%20I%20battle%20it%20every%20day%20and%20know%20plenty%20of%20people%20who%20curse%20the%20serialization%20problem%20of%20replication.%20For%20those%20who%20are%20not%20familiar%20with%20it%2C%20replication%20on%20MySQL%20slaves%20runs%20commands%20in%20series%20-%20one%20by%20one%2C%20while%20the%20master%20may%20run%20them%20in%20parallel.%20This%20fact%20usually%20c&amp;short_link=http://bit.ly/9XKLTz&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL+Slave+Lag+%28Delay%29+Explained+And+7+Ways+To+Battle+It&amp;link=http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/&amp;notes=Slave%20delay%20can%20be%20a%20nightmare.%20I%20battle%20it%20every%20day%20and%20know%20plenty%20of%20people%20who%20curse%20the%20serialization%20problem%20of%20replication.%20For%20those%20who%20are%20not%20familiar%20with%20it%2C%20replication%20on%20MySQL%20slaves%20runs%20commands%20in%20series%20-%20one%20by%20one%2C%20while%20the%20master%20may%20run%20them%20in%20parallel.%20This%20fact%20usually%20c&amp;short_link=http://bit.ly/9XKLTz&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=MySQL%20Slave%20Lag%20%28Delay%29%20Explained%20And%207%20Ways%20To%20Battle%20It&amp;link=http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/&amp;notes=Slave%20delay%20can%20be%20a%20nightmare.%20I%20battle%20it%20every%20day%20and%20know%20plenty%20of%20people%20who%20curse%20the%20serialization%20problem%20of%20replication.%20For%20those%20who%20are%20not%20familiar%20with%20it%2C%20replication%20on%20MySQL%20slaves%20runs%20commands%20in%20series%20-%20one%20by%20one%2C%20while%20the%20master%20may%20run%20them%20in%20parallel.%20This%20fact%20usually%20c&amp;short_link=http://bit.ly/9XKLTz&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2009/05/11/mysql-deletingupdating-rows-common-to-2-tables-speed-and-slave-lag-considerations/" rel="bookmark" title="May 11, 2009">[MySQL] Deleting/Updating Rows Common To 2 Tables &#8211; Speed And Slave Lag Considerations</a></li><li><a
href="http://beerpla.net/2008/04/16/mysql-conference-liveblogging-portable-scale-out-benchmarks-for-mysql-wednesday-1050am/" rel="bookmark" title="April 16, 2008">MySQL Conference Liveblogging: Portable Scale-out Benchmarks For MySQL (Wednesday 10:50AM)</a></li><li><a
href="http://beerpla.net/2008/04/15/mysql-conference-liveblogging-performance-guide-for-mysql-cluster-tuesday-1050am/" rel="bookmark" title="April 15, 2008">MySQL Conference Liveblogging: Performance Guide For MySQL Cluster (Tuesday 10:50AM)</a></li><li><a
href="http://beerpla.net/2008/04/17/mysql-conference-liveblogging-optimizing-mysql-for-high-volume-data-logging-applications-thursday-250pm/" rel="bookmark" title="April 17, 2008">MySQL Conference Liveblogging: Optimizing MySQL For High Volume Data Logging Applications (Thursday 2:50PM)</a></li><li><a
href="http://beerpla.net/2009/02/17/swapping-column-values-in-mysql/" rel="bookmark" title="February 17, 2009">Swapping Column Values in MySQL</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F09%2F05%2Fmysql-slave-lag-delay-explained-and-7-ways-to-battle-it%2F&amp;title=MySQL%20Slave%20Lag%20%28Delay%29%20Explained%20And%207%20Ways%20To%20Battle%20It" id="wpa2a_24"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/feed/</wfw:commentRss> <slash:comments>15</slash:comments> </item> <item><title>Thoughts on Google Chrome</title><link>http://beerpla.net/2008/09/03/thoughts-on-google-chrome/</link> <comments>http://beerpla.net/2008/09/03/thoughts-on-google-chrome/#comments</comments> <pubDate>Wed, 03 Sep 2008 18:40:54 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Technology]]></category> <category><![CDATA[browser]]></category> <category><![CDATA[chrome]]></category> <category><![CDATA[Firefox]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[new]]></category> <category><![CDATA[review]]></category> <category><![CDATA[thought]]></category> <guid
isPermaLink="false">http://beerpla.net/2008/09/03/thoughts-on-google-chrome/</guid> <description><![CDATA[<p>So <a
href="http://www.google.com/chrome">Google Chrome</a> &#8211; Google&#039;s <a
href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html">attempt</a> at an open source browser, came out yesterday and I took it out for a spin. At its heart is the <a
href="http://en.wikipedia.org/wiki/WebKit">Webkit engine</a> (also open source) and <a
href="http://code.google.com/apis/gears/api_database.html">Google Gears</a>, powered by SQLite (can MySQL rival SQLite in applications like this?). Here are my thoughts.</p><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image.png" class="lightview" rel="gallery['424']"><img
height="453" alt="image" src="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_thumb.png" width="640"/></a></p><ul><li>Fast &#8211; Chrome loads extremely fast, blazing even. Granted, my Firefox would probably load fast if I didn&#039;t have any addons as well. Sites like <a
href="http://www.amazon.com">Amazon</a> or <a
href="http://www.digg.com">Digg</a> load very fast. New tabs open instantly.</li><li>Slow &#8211; <a
href="http://www.blinkx.com/videos/channel:itn">http://www.blinkx.com/videos/channel:itn</a>, seems like the combination of flash and html (or JS) on one page makes scrolling and redrawing quite slow.</li><li>Very fluid</li></ul><p>...<div
class=clear></div> <a
href="http://beerpla.net/2008/09/03/thoughts-on-google-chrome/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p>So <a
href="http://www.google.com/chrome">Google Chrome</a> &#8211; Google&#039;s <a
href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html">attempt</a> at an open source browser, came out yesterday and I took it out for a spin. At its heart is the <a
href="http://en.wikipedia.org/wiki/WebKit">Webkit engine</a> (also open source) and <a
href="http://code.google.com/apis/gears/api_database.html">Google Gears</a>, powered by SQLite (can MySQL rival SQLite in applications like this?). Here are my thoughts.</p><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image.png" class="lightview" rel="gallery['424']"><img
height="453" alt="image" src="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_thumb.png" width="640"></a></p><ul><li>Fast &#8211; Chrome loads extremely fast, blazing even. Granted, my Firefox would probably load fast if I didn&#039;t have any addons as well. Sites like <a
href="http://www.amazon.com">Amazon</a> or <a
href="http://www.digg.com">Digg</a> load very fast. New tabs open instantly.<li>Slow &#8211; <a
href="http://www.blinkx.com/videos/channel:itn">http://www.blinkx.com/videos/channel:itn</a>, seems like the combination of flash and html (or JS) on one page makes scrolling and redrawing quite slow.<li>Very fluid design &#8211; I love how the tabs flow around when you drag them or make them pop in or out, I love how fluid animation and resizing is.<li>Internal task manager &#8211; an absolutely brilliant idea. Since each tab and plugin get their own process, they don&#039;t affect each other. Any freezes are isolated to the process itself, so the days of hung browsers because of some buggy javascript should be gone gone (I&#039;ll actually have to see how well it works first).</li></ul><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_3.png" class="lightview" rel="gallery['424']"><img
height="298" alt="image" src="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_thumb_3.png" width="464"></a></p><ul><li>Great Google search integration and overall Firefox3-like url bar behavior.<li>The word search functionality is amazing &#8211; best out of all browsers. It&#039;s incredibly fast, even on large pages, highlights all the matches, with the current one in orange, and more importantly, gives count (finally!). The search popup complements the fluidity perfectly.</li></ul><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_8.png" class="lightview" rel="gallery['424']"><img
height="570" alt="image" src="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_thumb_8.png" width="683"></a></p><ul><li><div
align="left">History &#8211; looks great and has a timeline style. It&#039;s like reading a journal.</div></li></ul><div
align="center"><a
href="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_9.png" class="lightview" rel="gallery['424']"><img
height="466" alt="image" src="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_thumb_9.png" width="677"></a></div><ul><li>View Source &#8211; again, best in class. Highlighting and line numbers by default. Url access style: view-source:http://digg.com. Search spread highlighting on the right. It&#039;s close to perfect, without using any plugins.</li></ul><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_10.png" class="lightview" rel="gallery['424']"><img
height="570" alt="image" src="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_thumb_10.png" width="682"></a></p><ul><li>My bookmarks, where art though? Where&#039;s the bookmarks menu? I know the homepage has them, and there&#039;s a pretty hidden way to make the bookmarks bar appear all the time (right click on it while on the home page and check &#039;Always show bookmarks bar&#039; but that&#039;s not what I want. I like placing many-many bookmarks named with 1 or 2 letters onto the bookmarks bar (I found a way to emulate the behavior in the screenshot below). How can I create duplicates of the same bookmark in different places? It seems you can only bookmark in one. The interface to get around managing the bookmarks isn&#039;t well thought out, you can get to certain places only the certain way. How do you export/import bookmarks after the initial installation (I chose to skip mine)? <b>Edit:</b> Apparently, <a
href="http://www.google.com/support/chrome/bin/answer.py?answer=96816">you can&#039;t yet</a>.</li></ul><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_4.png" class="lightview" rel="gallery['424']"><img
height="188" alt="image" src="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_thumb_4.png" width="389"></a></p><ul><li>The homepage button is missing (though it can be enabled by Options->Show Home button on the toolbar). Why is it not on by default?</li></ul><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_5.png" class="lightview" rel="gallery['424']"><img
height="98" alt="image" src="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_thumb_5.png" width="304"></a></p><ul><li>I also enabled the following option right away (the main reason I use TabMix Plus for Firefox):</li></ul><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_11.png" class="lightview" rel="gallery['424']"><img
height="134" alt="image" src="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_thumb_11.png" width="496"></a></p><ul><li>Scrolling is very choppy and goes in huge jumps on my laptop (not the case in Firefox).<li>Status bar &#8211; why do you disappear automatically when I get close to you? You can be so useful and display so much useful info? Stop disappearing!<li>What with the Vista-style buttons? I have Win2k menus, which I find a lot simpler and easier on the eye. Why not inherit the window style?</li></ul><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_6.png" class="lightview" rel="gallery['424']"><img
height="66" alt="image" src="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_thumb_6.png" width="220"></a></p><ul><li>No Linux support. Hopefully coming soon.</li></ul><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_7.png" class="lightview" rel="gallery['424']"><img
height="271" alt="image" src="http://beerpla.net/wp-content/uploads/ThoughtsonGoogleChrome_8B4F/image_thumb_7.png" width="640"></a></p><ul><li>No addons supported or announced yet.</li></ul><p> </p><p>In conclusion, I understand the browser is very new and will probably go through many facelifts, UI changes, bug fixes, and enhancements but it has a lot to cover and if it&#039;s going to try to rival the giants, it better fix some things fast. I personally won&#039;t start using it until some addons start showing up, like the AI Roboform (AI Roboform has actually responded to <a
href="http://robo-form.blogspot.com/2008/09/roboform-for-google-chrome.html">this guy</a> about such addon possibility) and Adblock Plus ones. However, for occasional browsing, it&#039;s great. Give it a spin.</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Thoughts+on+Google+Chrome&amp;link=http://beerpla.net/2008/09/03/thoughts-on-google-chrome/&amp;notes=So%20Google%20Chrome%20-%20Google%27s%20attempt%20at%20an%20open%20source%20browser%2C%20came%20out%20yesterday%20and%20I%20took%20it%20out%20for%20a%20spin.%20At%20its%20heart%20is%20the%20Webkit%20engine%20%28also%20open%20source%29%20and%20Google%20Gears%2C%20powered%20by%20SQLite%20%28can%20MySQL%20rival%20SQLite%20in%20applications%20like%20this%3F%29.%20Here%20are%20my%20thoughts.%20%20%20%20Fast%20-%20Chrome%20loads%20e&amp;short_link=http://bit.ly/a7Wmdo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Thoughts+on+Google+Chrome&amp;link=http://beerpla.net/2008/09/03/thoughts-on-google-chrome/&amp;notes=So%20Google%20Chrome%20-%20Google%27s%20attempt%20at%20an%20open%20source%20browser%2C%20came%20out%20yesterday%20and%20I%20took%20it%20out%20for%20a%20spin.%20At%20its%20heart%20is%20the%20Webkit%20engine%20%28also%20open%20source%29%20and%20Google%20Gears%2C%20powered%20by%20SQLite%20%28can%20MySQL%20rival%20SQLite%20in%20applications%20like%20this%3F%29.%20Here%20are%20my%20thoughts.%20%20%20%20Fast%20-%20Chrome%20loads%20e&amp;short_link=http://bit.ly/a7Wmdo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Thoughts+on+Google+Chrome&amp;link=http://beerpla.net/2008/09/03/thoughts-on-google-chrome/&amp;notes=So%20Google%20Chrome%20-%20Google%27s%20attempt%20at%20an%20open%20source%20browser%2C%20came%20out%20yesterday%20and%20I%20took%20it%20out%20for%20a%20spin.%20At%20its%20heart%20is%20the%20Webkit%20engine%20%28also%20open%20source%29%20and%20Google%20Gears%2C%20powered%20by%20SQLite%20%28can%20MySQL%20rival%20SQLite%20in%20applications%20like%20this%3F%29.%20Here%20are%20my%20thoughts.%20%20%20%20Fast%20-%20Chrome%20loads%20e&amp;short_link=http://bit.ly/a7Wmdo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Thoughts+on+Google+Chrome&amp;link=http://beerpla.net/2008/09/03/thoughts-on-google-chrome/&amp;notes=So%20Google%20Chrome%20-%20Google%27s%20attempt%20at%20an%20open%20source%20browser%2C%20came%20out%20yesterday%20and%20I%20took%20it%20out%20for%20a%20spin.%20At%20its%20heart%20is%20the%20Webkit%20engine%20%28also%20open%20source%29%20and%20Google%20Gears%2C%20powered%20by%20SQLite%20%28can%20MySQL%20rival%20SQLite%20in%20applications%20like%20this%3F%29.%20Here%20are%20my%20thoughts.%20%20%20%20Fast%20-%20Chrome%20loads%20e&amp;short_link=http://bit.ly/a7Wmdo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Thoughts+on+Google+Chrome&amp;link=http://beerpla.net/2008/09/03/thoughts-on-google-chrome/&amp;notes=So%20Google%20Chrome%20-%20Google%27s%20attempt%20at%20an%20open%20source%20browser%2C%20came%20out%20yesterday%20and%20I%20took%20it%20out%20for%20a%20spin.%20At%20its%20heart%20is%20the%20Webkit%20engine%20%28also%20open%20source%29%20and%20Google%20Gears%2C%20powered%20by%20SQLite%20%28can%20MySQL%20rival%20SQLite%20in%20applications%20like%20this%3F%29.%20Here%20are%20my%20thoughts.%20%20%20%20Fast%20-%20Chrome%20loads%20e&amp;short_link=http://bit.ly/a7Wmdo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Thoughts+on+Google+Chrome&amp;link=http://beerpla.net/2008/09/03/thoughts-on-google-chrome/&amp;notes=So%20Google%20Chrome%20-%20Google%27s%20attempt%20at%20an%20open%20source%20browser%2C%20came%20out%20yesterday%20and%20I%20took%20it%20out%20for%20a%20spin.%20At%20its%20heart%20is%20the%20Webkit%20engine%20%28also%20open%20source%29%20and%20Google%20Gears%2C%20powered%20by%20SQLite%20%28can%20MySQL%20rival%20SQLite%20in%20applications%20like%20this%3F%29.%20Here%20are%20my%20thoughts.%20%20%20%20Fast%20-%20Chrome%20loads%20e&amp;short_link=http://bit.ly/a7Wmdo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Thoughts+on+Google+Chrome&amp;link=http://beerpla.net/2008/09/03/thoughts-on-google-chrome/&amp;notes=So%20Google%20Chrome%20-%20Google%27s%20attempt%20at%20an%20open%20source%20browser%2C%20came%20out%20yesterday%20and%20I%20took%20it%20out%20for%20a%20spin.%20At%20its%20heart%20is%20the%20Webkit%20engine%20%28also%20open%20source%29%20and%20Google%20Gears%2C%20powered%20by%20SQLite%20%28can%20MySQL%20rival%20SQLite%20in%20applications%20like%20this%3F%29.%20Here%20are%20my%20thoughts.%20%20%20%20Fast%20-%20Chrome%20loads%20e&amp;short_link=http://bit.ly/a7Wmdo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Thoughts%20on%20Google%20Chrome&amp;link=http://beerpla.net/2008/09/03/thoughts-on-google-chrome/&amp;notes=So%20Google%20Chrome%20-%20Google%27s%20attempt%20at%20an%20open%20source%20browser%2C%20came%20out%20yesterday%20and%20I%20took%20it%20out%20for%20a%20spin.%20At%20its%20heart%20is%20the%20Webkit%20engine%20%28also%20open%20source%29%20and%20Google%20Gears%2C%20powered%20by%20SQLite%20%28can%20MySQL%20rival%20SQLite%20in%20applications%20like%20this%3F%29.%20Here%20are%20my%20thoughts.%20%20%20%20Fast%20-%20Chrome%20loads%20e&amp;short_link=http://bit.ly/a7Wmdo&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2009/11/21/meet-firefox-for-mobile-video-feature-highlights-more-info/" rel="bookmark" title="November 21, 2009">Meet Firefox For Mobile [Video + Feature Highlights + More Info]</a></li><li><a
href="http://beerpla.net/2009/11/11/skype-extension-for-firefox-is-a-piece-of-crap-leaks-memory-hangs-firefox-clubs-baby-seals/" rel="bookmark" title="November 11, 2009">Skype Extension For Firefox Is A Piece Of Crap &#8211; Leaks Memory, Hangs Firefox, Clubs Baby Seals</a></li><li><a
href="http://beerpla.net/2009/04/11/essential-firefox-extensions-plugins-add-ons-and-tips-a-comprehensive-guide-part-1-tips/" rel="bookmark" title="April 11, 2009">Essential Firefox Extensions (Plugins, Add-Ons) And Tips &ndash; A Comprehensive Guide :: Part 1 :: Tips</a></li><li><a
href="http://beerpla.net/2009/10/29/modern-day-frame-busting-with-x-frame-options-and-this-content-cannot-be-displayed-in-a-frame-warnings/" rel="bookmark" title="October 29, 2009">Modern-Day Frame Busting With X-FRAME-OPTIONS And &quot;This content cannot be displayed in a frame&quot; Warnings</a></li><li><a
href="http://beerpla.net/2009/03/17/twitter-autocomplete-auto-url-expansion-auto-url-shortener-auto-pagination-rt-button-nested-replies-inline-media-embed-search-tabs-and-more/" rel="bookmark" title="March 17, 2009">Twitter.com Autocomplete, Auto URL Expansion, Auto URL Shortener, RT Button, Nested Replies, Inline Media Embed, Search Tabs, And More</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F09%2F03%2Fthoughts-on-google-chrome%2F&amp;title=Thoughts%20on%20Google%20Chrome" id="wpa2a_26"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/09/03/thoughts-on-google-chrome/feed/</wfw:commentRss> <slash:comments>27</slash:comments> </item> <item><title>Hug A Developer Day</title><link>http://beerpla.net/2008/09/01/hug-a-developer-day/</link> <comments>http://beerpla.net/2008/09/01/hug-a-developer-day/#comments</comments> <pubDate>Tue, 02 Sep 2008 06:59:58 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Programming]]></category> <category><![CDATA[blinkx]]></category> <category><![CDATA[developer]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[pain]]></category> <category><![CDATA[video]]></category> <guid
isPermaLink="false">http://beerpla.net/2008/09/01/hug-a-developer-day/</guid> <description><![CDATA[<p>Man, this video hits too close to home. Developers all over the world are in pain, so go ahead &#8211; hug one right now! Dedicated to all developers at <a
href="http://www.blinkx.com">blinkx</a>, <a
href="http://www.mysql.com">MySQL</a>, and beyond.<p></p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&#38;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&#38;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&#38;short_link=http://bit.ly/bLWF8s&#38;v=1&#38;apitype=1&#38;apikey=8afa39428933be41f8afdb8ea21a495c&#38;source=Shareaholic&#38;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&#38;service=7&#38;tags=&#38;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&#38;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&#38;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&#38;short_link=http://bit.ly/bLWF8s&#38;v=1&#38;apitype=1&#38;apikey=8afa39428933be41f8afdb8ea21a495c&#38;source=Shareaholic&#38;template=&#38;service=5&#38;tags=&#38;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&#38;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&#38;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&#38;short_link=http://bit.ly/bLWF8s&#38;v=1&#38;apitype=1&#38;apikey=8afa39428933be41f8afdb8ea21a495c&#38;source=Shareaholic&#38;template=&#38;service=257&#38;tags=&#38;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&#38;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&#38;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&#38;short_link=http://bit.ly/bLWF8s&#38;v=1&#38;apitype=1&#38;apikey=8afa39428933be41f8afdb8ea21a495c&#38;source=Shareaholic&#38;template=&#38;service=40&#38;tags=&#38;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&#38;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&#38;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&#38;short_link=http://bit.ly/bLWF8s&#38;v=1&#38;apitype=1&#38;apikey=8afa39428933be41f8afdb8ea21a495c&#38;source=Shareaholic&#38;template=&#38;service=202&#38;tags=&#38;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&#38;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&#38;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&#38;short_link=http://bit.ly/bLWF8s&#38;v=1&#38;apitype=1&#38;apikey=8afa39428933be41f8afdb8ea21a495c&#38;source=Shareaholic&#38;template=&#38;service=2&#38;tags=&#38;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&#38;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&#38;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&#38;short_link=http://bit.ly/bLWF8s&#38;v=1&#38;apitype=1&#38;apikey=8afa39428933be41f8afdb8ea21a495c&#38;source=Shareaholic&#38;template=&#38;service=38&#38;tags=&#38;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Hug%20A%20Developer%20Day&#38;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&#38;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&#38;short_link=http://bit.ly/bLWF8s&#38;v=1&#38;apitype=1&#38;apikey=8afa39428933be41f8afdb8ea21a495c&#38;source=Shareaholic&#38;template=&#38;service=201&#38;tags=&#38;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2008/12/19/programming-comics-xkcd-11th-grade-activities/" rel="bookmark" title="December 19, 2008">Programming Comics: xkcd &#8211; 11th-Grade Activities</a></li><li><a
href="http://beerpla.net/2008/03/18/must-know-people-in-the-mysql-field/" rel="bookmark" title="March 18, 2008">Must-Know People In The MySQL Field</a></li><li><a
href="http://beerpla.net/2008/10/15/more-on-android-a-mobile-os-with-a-clue/" rel="bookmark" title="October 15, 2008">More On Android &#8211; A Mobile OS With A Clue</a></li><li><a
href="http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/" rel="bookmark" title="March 18, 2009">MySQL Indexing Considerations Of Implementing A Priority Field In Your Application</a></li><li><a
href="http://beerpla.net/2008/06/22/matt-dancing-2008-stunning-video/" rel="bookmark" title="June 22, 2008">Matt Dancing 2008 &#8211; Stunning [VIDEO]</a></li></ul>]]></description> <content:encoded><![CDATA[<p>Man, this video hits too close to home. Developers all over the world are in pain, so go ahead &#8211; hug one right now! Dedicated to all developers at <a
href="http://www.blinkx.com">blinkx</a>, <a
href="http://www.mysql.com">MySQL</a>, and beyond.<p><center><embed
src="http://blip.tv/play/gYwjwZJqjdEh" type="application/x-shockwave-flash" width="640" height="390" allowscriptaccess="always" allowfullscreen="true"></embed></center></p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&amp;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&amp;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&amp;short_link=http://bit.ly/bLWF8s&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&amp;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&amp;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&amp;short_link=http://bit.ly/bLWF8s&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&amp;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&amp;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&amp;short_link=http://bit.ly/bLWF8s&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&amp;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&amp;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&amp;short_link=http://bit.ly/bLWF8s&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&amp;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&amp;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&amp;short_link=http://bit.ly/bLWF8s&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&amp;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&amp;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&amp;short_link=http://bit.ly/bLWF8s&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Hug+A+Developer+Day&amp;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&amp;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&amp;short_link=http://bit.ly/bLWF8s&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Hug%20A%20Developer%20Day&amp;link=http://beerpla.net/2008/09/01/hug-a-developer-day/&amp;notes=Man%2C%20this%20video%20hits%20too%20close%20to%20home.%20Developers%20all%20over%20the%20world%20are%20in%20pain%2C%20so%20go%20ahead%20-%20hug%20one%20right%20now%21%20Dedicated%20to%20all%20developers%20at%20blinkx%2C%20MySQL%2C%20and%20beyond.%20%20%20&amp;short_link=http://bit.ly/bLWF8s&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2008/12/19/programming-comics-xkcd-11th-grade-activities/" rel="bookmark" title="December 19, 2008">Programming Comics: xkcd &#8211; 11th-Grade Activities</a></li><li><a
href="http://beerpla.net/2008/03/18/must-know-people-in-the-mysql-field/" rel="bookmark" title="March 18, 2008">Must-Know People In The MySQL Field</a></li><li><a
href="http://beerpla.net/2008/10/15/more-on-android-a-mobile-os-with-a-clue/" rel="bookmark" title="October 15, 2008">More On Android &ndash; A Mobile OS With A Clue</a></li><li><a
href="http://beerpla.net/2009/03/18/mysql-indexing-considerations-of-implementing-a-priority-field-in-your-application/" rel="bookmark" title="March 18, 2009">MySQL Indexing Considerations Of Implementing A Priority Field In Your Application</a></li><li><a
href="http://beerpla.net/2008/06/22/matt-dancing-2008-stunning-video/" rel="bookmark" title="June 22, 2008">Matt Dancing 2008 &#8211; Stunning [VIDEO]</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F09%2F01%2Fhug-a-developer-day%2F&amp;title=Hug%20A%20Developer%20Day" id="wpa2a_28"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/09/01/hug-a-developer-day/feed/</wfw:commentRss> <slash:comments>11</slash:comments> </item> <item><title>Moving From Perl 5 to Perl 6 &#8211; What&#039;s New, Tutorial Style</title><link>http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/</link> <comments>http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/#comments</comments> <pubDate>Fri, 22 Aug 2008 22:21:17 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Programming]]></category> <category><![CDATA[feature]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[new]]></category> <category><![CDATA[perl 5]]></category> <category><![CDATA[perl 6]]></category> <category><![CDATA[transition]]></category> <category><![CDATA[tutorial]]></category> <guid
isPermaLink="false">http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/</guid> <description><![CDATA[<p><a
href="http://beerpla.net/wp-content/uploads/MovingFromPerl5toPerl6WhatsNewTutorialSt_D1CA/image.png" class="lightview" rel="gallery['411']"><img
style="border-right: 0px; border-top: 0px; margin: 0px 10px 10px 0px; border-left: 0px; border-bottom: 0px" height="95" alt="image" src="http://beerpla.net/wp-content/uploads/MovingFromPerl5toPerl6WhatsNewTutorialSt_D1CA/image_thumb.png" width="115" align="left" border="0"/></a>Newsflash: Perl 6 is not dead (in case you thought it was)!</p><p>I stumbled upon <a
href="http://perlgeek.de/blog-en/perl-5-to-6/">this most excellent series of posts</a> by Moritz Lenz of perlgeek.de that describe the differences between Perl 5 and the upcoming Perl 6 (thanks to <a
href="http://perlbuzz.com/2008/08/how-cool-perl-6-really-is.html">Andy Lester</a> for the link). The posts are done in the form of tutorials, which helps comprehension. Simply awesome, Moritz.</p><p>It seems like Perl 6 is going to be a lot more object oriented, but such orientation is optional and not forced upon programmers, like in, say, Java. It warms my heart that I will be able to do this (you did see the <a
href="http://search.cpan.org/~rgarcia/perl-5.10.0/pod/perl5100delta.pod#say()">new &#034;say&#034; function</a> in Perl 5.10, right?):</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
</pre></td><td
class="code"><pre>my Num</pre></td></tr></table></div><p>...<div
class=clear></div> <a
href="http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p><a
href="http://beerpla.net/wp-content/uploads/MovingFromPerl5toPerl6WhatsNewTutorialSt_D1CA/image.png" class="lightview" rel="gallery['411']"><img
style="border-right: 0px; border-top: 0px; margin: 0px 10px 10px 0px; border-left: 0px; border-bottom: 0px" height="95" alt="image" src="http://beerpla.net/wp-content/uploads/MovingFromPerl5toPerl6WhatsNewTutorialSt_D1CA/image_thumb.png" width="115" align="left" border="0"></a>Newsflash: Perl 6 is not dead (in case you thought it was)!<p>I stumbled upon <a
href="http://perlgeek.de/blog-en/perl-5-to-6/">this most excellent series of posts</a> by Moritz Lenz of perlgeek.de that describe the differences between Perl 5 and the upcoming Perl 6 (thanks to <a
href="http://perlbuzz.com/2008/08/how-cool-perl-6-really-is.html">Andy Lester</a> for the link). The posts are done in the form of tutorials, which helps comprehension. Simply awesome, Moritz.<p>It seems like Perl 6 is going to be a lot more object oriented, but such orientation is optional and not forced upon programmers, like in, say, Java. It warms my heart that I will be able to do this (you did see the <a
href="http://search.cpan.org/~rgarcia/perl-5.10.0/pod/perl5100delta.pod#say()">new &#034;say&#034; function</a> in Perl 5.10, right?):</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
</pre></td><td
class="code"><pre>my Num $x = 3.4;
say $x.WHAT; # Num
say &quot;foo&quot;.WHAT; # Str</pre></td></tr></table></div><p>My favorite Perl 6 change so far is this:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td
class="code"><pre># named arguments
&nbsp;
sub doit(:$when, :$what) {
  say &quot;doing $what at $when&quot;;
}
&nbsp;
doit(what =&gt; 'stuff', when =&gt; 'once');  # 'doing stuff at once'
&nbsp;
doit(:when, :what('more stuff')); # 'doing more stuff at noon'</pre></td></tr></table></div><p>I&#039;ve first seen this technique in Ruby (apparently Python has it too), and have been using an anonymous hash in order to emulate named arguments in Perl 5. Perl 6 does it in a much cleaner way.</p><p>I wonder if there are any Perl 6 changes specifically affecting file/disk access, MySQL interaction, and execution speed.</p><p>What is your favorite new feature? Comments welcome.</p><p><b>Edit</b>: Whoa, string concatenation is now ~, the dot . is used for method calls. That&#039;s kind of upsetting, I&#039;m so used to &#039;.&#039;.</p><p><b>Edit #2</b>: Holy crap, regex changed so much, it just warped my head onto itself and now I have a black hole in place of my face, thanks a lot. Regexes are also now called &#034;Rules&#034;. <a
href="http://perlgeek.de/blog-en/perl-5-to-6/07-rules.writeback">More here</a></p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Moving+From+Perl+5+to+Perl+6+-+What%27s+New%2C+Tutorial+Style&amp;link=http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/&amp;notes=Newsflash%3A%20Perl%206%20is%20not%20dead%20%28in%20case%20you%20thought%20it%20was%29%21%20I%20stumbled%20upon%20this%20most%20excellent%20series%20of%20posts%20by%20Moritz%20Lenz%20of%20perlgeek.de%20that%20describe%20the%20differences%20between%20Perl%205%20and%20the%20upcoming%20Perl%206%20%28thanks%20to%20Andy%20Lester%20for%20the%20link%29.%20The%20posts%20are%20done%20in%20the%20form%20of%20tutorials%2C%20which%20&amp;short_link=http://bit.ly/bDJVVH&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Moving+From+Perl+5+to+Perl+6+-+What%27s+New%2C+Tutorial+Style&amp;link=http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/&amp;notes=Newsflash%3A%20Perl%206%20is%20not%20dead%20%28in%20case%20you%20thought%20it%20was%29%21%20I%20stumbled%20upon%20this%20most%20excellent%20series%20of%20posts%20by%20Moritz%20Lenz%20of%20perlgeek.de%20that%20describe%20the%20differences%20between%20Perl%205%20and%20the%20upcoming%20Perl%206%20%28thanks%20to%20Andy%20Lester%20for%20the%20link%29.%20The%20posts%20are%20done%20in%20the%20form%20of%20tutorials%2C%20which%20&amp;short_link=http://bit.ly/bDJVVH&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Moving+From+Perl+5+to+Perl+6+-+What%27s+New%2C+Tutorial+Style&amp;link=http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/&amp;notes=Newsflash%3A%20Perl%206%20is%20not%20dead%20%28in%20case%20you%20thought%20it%20was%29%21%20I%20stumbled%20upon%20this%20most%20excellent%20series%20of%20posts%20by%20Moritz%20Lenz%20of%20perlgeek.de%20that%20describe%20the%20differences%20between%20Perl%205%20and%20the%20upcoming%20Perl%206%20%28thanks%20to%20Andy%20Lester%20for%20the%20link%29.%20The%20posts%20are%20done%20in%20the%20form%20of%20tutorials%2C%20which%20&amp;short_link=http://bit.ly/bDJVVH&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Moving+From+Perl+5+to+Perl+6+-+What%27s+New%2C+Tutorial+Style&amp;link=http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/&amp;notes=Newsflash%3A%20Perl%206%20is%20not%20dead%20%28in%20case%20you%20thought%20it%20was%29%21%20I%20stumbled%20upon%20this%20most%20excellent%20series%20of%20posts%20by%20Moritz%20Lenz%20of%20perlgeek.de%20that%20describe%20the%20differences%20between%20Perl%205%20and%20the%20upcoming%20Perl%206%20%28thanks%20to%20Andy%20Lester%20for%20the%20link%29.%20The%20posts%20are%20done%20in%20the%20form%20of%20tutorials%2C%20which%20&amp;short_link=http://bit.ly/bDJVVH&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Moving+From+Perl+5+to+Perl+6+-+What%27s+New%2C+Tutorial+Style&amp;link=http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/&amp;notes=Newsflash%3A%20Perl%206%20is%20not%20dead%20%28in%20case%20you%20thought%20it%20was%29%21%20I%20stumbled%20upon%20this%20most%20excellent%20series%20of%20posts%20by%20Moritz%20Lenz%20of%20perlgeek.de%20that%20describe%20the%20differences%20between%20Perl%205%20and%20the%20upcoming%20Perl%206%20%28thanks%20to%20Andy%20Lester%20for%20the%20link%29.%20The%20posts%20are%20done%20in%20the%20form%20of%20tutorials%2C%20which%20&amp;short_link=http://bit.ly/bDJVVH&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Moving+From+Perl+5+to+Perl+6+-+What%27s+New%2C+Tutorial+Style&amp;link=http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/&amp;notes=Newsflash%3A%20Perl%206%20is%20not%20dead%20%28in%20case%20you%20thought%20it%20was%29%21%20I%20stumbled%20upon%20this%20most%20excellent%20series%20of%20posts%20by%20Moritz%20Lenz%20of%20perlgeek.de%20that%20describe%20the%20differences%20between%20Perl%205%20and%20the%20upcoming%20Perl%206%20%28thanks%20to%20Andy%20Lester%20for%20the%20link%29.%20The%20posts%20are%20done%20in%20the%20form%20of%20tutorials%2C%20which%20&amp;short_link=http://bit.ly/bDJVVH&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Moving+From+Perl+5+to+Perl+6+-+What%27s+New%2C+Tutorial+Style&amp;link=http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/&amp;notes=Newsflash%3A%20Perl%206%20is%20not%20dead%20%28in%20case%20you%20thought%20it%20was%29%21%20I%20stumbled%20upon%20this%20most%20excellent%20series%20of%20posts%20by%20Moritz%20Lenz%20of%20perlgeek.de%20that%20describe%20the%20differences%20between%20Perl%205%20and%20the%20upcoming%20Perl%206%20%28thanks%20to%20Andy%20Lester%20for%20the%20link%29.%20The%20posts%20are%20done%20in%20the%20form%20of%20tutorials%2C%20which%20&amp;short_link=http://bit.ly/bDJVVH&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Moving%20From%20Perl%205%20to%20Perl%206%20-%20What%27s%20New%2C%20Tutorial%20Style&amp;link=http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/&amp;notes=Newsflash%3A%20Perl%206%20is%20not%20dead%20%28in%20case%20you%20thought%20it%20was%29%21%20I%20stumbled%20upon%20this%20most%20excellent%20series%20of%20posts%20by%20Moritz%20Lenz%20of%20perlgeek.de%20that%20describe%20the%20differences%20between%20Perl%205%20and%20the%20upcoming%20Perl%206%20%28thanks%20to%20Andy%20Lester%20for%20the%20link%29.%20The%20posts%20are%20done%20in%20the%20form%20of%20tutorials%2C%20which%20&amp;short_link=http://bit.ly/bDJVVH&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2007/08/04/watch-a-useful-linux-command-you-may-have-never-heard-of/" rel="bookmark" title="August 4, 2007">Watch &#8211; A Useful Linux Command You May Have Never Heard Of</a></li><li><a
href="http://beerpla.net/2008/04/29/how-do-i-get-both-the-return-value-and-text-in-perl-backticks-vs-system-perl-510/" rel="bookmark" title="April 29, 2008">How Do I Get Both The Return Value And Text In Perl? Backticks vs. System() (Perl 5.10)</a></li><li><a
href="http://beerpla.net/2008/04/29/interesting-uses-for-google-streetview-video-by-google/" rel="bookmark" title="April 29, 2008">Interesting Uses For Google Streetview (Video By Google)</a></li><li><a
href="http://beerpla.net/2008/04/15/mysql-conference-liveblogging-explain-demystified-tuesday-200p/" rel="bookmark" title="April 15, 2008">MySQL Conference Liveblogging: EXPLAIN Demystified (Tuesday 2:00PM)</a></li><li><a
href="http://beerpla.net/2008/08/15/debugging-weird-sshd-connection-problems-what-happens-when-you-stop-sshd/" rel="bookmark" title="August 15, 2008">Debugging Weird sshd Connection Problems + What Happens When You Stop sshd</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F08%2F22%2Fmoving-from-perl-5-to-perl-6-whats-new-tutorial-style%2F&amp;title=Moving%20From%20Perl%205%20to%20Perl%206%20%26%238211%3B%20What%26%23039%3Bs%20New%2C%20Tutorial%20Style" id="wpa2a_30"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/08/22/moving-from-perl-5-to-perl-6-whats-new-tutorial-style/feed/</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>How To Find Out The Number Of Videos On Youtube</title><link>http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/</link> <comments>http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/#comments</comments> <pubDate>Thu, 14 Aug 2008 16:01:31 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Technology]]></category> <category><![CDATA[gigabyte]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[petabyte]]></category> <category><![CDATA[quantity]]></category> <category><![CDATA[size]]></category> <category><![CDATA[videos]]></category> <category><![CDATA[youtube]]></category> <guid
isPermaLink="false">http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/</guid> <description><![CDATA[<p><a
href="http://beerpla.net/wp-content/uploads/HowToFindOutTheNumberOfVideosOnYoutube_7F62/image.png" class="lightview" rel="gallery['395']" title="http://en.wikipedia.org/wiki/YouTube#cite_note-5"><img
style="border-right: 0px; border-top: 0px; margin: 0px 10px 10px 0px; border-left: 0px; border-bottom: 0px" height="169" alt="image" src="http://beerpla.net/wp-content/uploads/HowToFindOutTheNumberOfVideosOnYoutube_7F62/image_thumb.png" width="244" align="left" border="0"/></a> According to Wikipedia, in April 2008, the number of videos on Youtube was 83.4 million (ref: <a
title="http://en.wikipedia.org/wiki/YouTube#cite_note-5" href="http://en.wikipedia.org/wiki/YouTube#cite_note-5">http://en.wikipedia.org/wiki/YouTube#cite_note-5</a>). However, the link in the cite note now displays <em>“*” video results <strong>1 &#8211; 20</strong> of <strong>millions</strong></em>, without showing the real count.</p><p>Here&#039;s one way I found to get an estimated, but relatively accurate, number of videos on the popular video sharing site <a
href="http://www.youtube.com">Youtube</a>. The idea is simple. Get this feed: <a
href="http://gdata.youtube.com/feeds/api/videos/-/*">http://gdata.youtube.com/feeds/api/videos/-/*</a> and parse out the number inside the &#60;opensearch:totalresults&#62; tag.</p><p>So here it is: the number of videos on Youtube is currently fluctuating between about 141 million and 144 million. The number goes up and down, which points to the fact that these are estimates.</p><p>That&#039;s a...<div
class=clear></div> <a
href="http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p><a
href="http://beerpla.net/wp-content/uploads/HowToFindOutTheNumberOfVideosOnYoutube_7F62/image.png" class="lightview" rel="gallery['395']" title="http://en.wikipedia.org/wiki/YouTube#cite_note-5"><img
style="border-right: 0px; border-top: 0px; margin: 0px 10px 10px 0px; border-left: 0px; border-bottom: 0px" height="169" alt="image" src="http://beerpla.net/wp-content/uploads/HowToFindOutTheNumberOfVideosOnYoutube_7F62/image_thumb.png" width="244" align="left" border="0"></a> According to Wikipedia, in April 2008, the number of videos on Youtube was 83.4 million (ref: <a
title="http://en.wikipedia.org/wiki/YouTube#cite_note-5" href="http://en.wikipedia.org/wiki/YouTube#cite_note-5">http://en.wikipedia.org/wiki/YouTube#cite_note-5</a>). However, the link in the cite note now displays <em>“*” video results <strong>1 &#8211; 20</strong> of <strong>millions</strong></em>, without showing the real count.</p><p>Here&#039;s one way I found to get an estimated, but relatively accurate, number of videos on the popular video sharing site <a
href="http://www.youtube.com">Youtube</a>. The idea is simple. Get this feed: <a
href="http://gdata.youtube.com/feeds/api/videos/-/*">http://gdata.youtube.com/feeds/api/videos/-/*</a> and parse out the number inside the &lt;opensearch:totalresults&gt; tag.</p><p>So here it is: the number of videos on Youtube is currently fluctuating between about 141 million and 144 million. The number goes up and down, which points to the fact that these are estimates.</p><p>That&#039;s a whole boatload of video if you ask me. To put it into perspective, a modest and completely inaccurate estimate of the amount of space all these videos occupy would be something like</p><p>142,500,000 * (a + b + c + d), where</p><ul><li>a = average size of an FLV, let&#039;s say 4MB, though I&#039;m probably way off. There are lots of really short videos out there and Youtube has a 10 minute cap. It&#039;s just an estimate, anyway.<li>b = average size of an MP4, let&#039;s say the same 4MB. There are lots of factors that would make this number completely inaccurate, the biggest one being I don&#039;t know at which point Youtube started generating MP4s and if they generated them for all videos or just the ones going forward). It also depends on whether they managed to save all originals that people uploaded.<li>c = average size of all images associated with the video, let&#039;s say 50KB. Small thumbnails and a larger first frame don&#039;t take that much space.<li>d = average size of an original uploaded to Youtube. These could be immediately discarded after the encoding is complete, or perhaps Youtube saves the past few months worth, or if they&#039;re completely insane, they&#039;re saving ALL originals ever. I&#039;m going to throw a semi-random number in &#8211; 50MB per file.</li></ul><p>So, just the FLVs, MP4s, and images would equal <strong>((4 MB) + (4 MB) + (50 KB)) * 142 500 000 = </strong><a
href="http://www.google.com/search?num=30&amp;hl=en&amp;safe=off&amp;rlz=1B3GGGL_en___US269&amp;q=(4MB%2B4MB%2B50KB)*142%2C500%2C000&amp;btnG=Search&amp;aq=f"><strong>1.06818788 petabytes</strong></a><strong>.</strong></p><p>If Youtube has been saving all originals since the beginning, this number goes up to <strong>((4 MB) + (4 MB) + (50 MB) + (50 KB)) * 142 500 000 = </strong><a
href="http://www.google.com/search?num=30&amp;hl=en&amp;safe=off&amp;rlz=1B3GGGL_en___US269&amp;q=(4MB%2B4MB%2B50MB%2B50KB)*142%2C500%2C000&amp;btnG=Search&amp;aq=f"><strong>7.70386123 petabytes</strong></a>.</p><p>In addition to the video files, I wonder how big Youtube&#039;s databases are. Depending on how the data is compacted over time (i.e. daily views folded into monthly after a month, monthly into yearly, etc), I would estimate something along the lines of 1.5-2TB, which is negligible compared to the space needed for videos. I&#039;m quite sure the databases are <a
href="http://www.mysql.com">mysql</a>, split into many shards for better performance, perhaps tweaked with <a
href="http://code.google.com/p/google-mysql-tools/">Google patches</a>. Watch <a
href="http://beerpla.net/2007/08/27/youtubes-presentation-about-scalability-at-googles-seattle-conference-on-scalability/">Youtube&#039;s Scalability Presentation</a> and have a peak at <a
href="http://highscalability.com/youtube-architecture">this article</a> for more info.</p><p>So there you have it, folks. Am I far off in my calculations? If so, don&#039;t hesitate to correct me.</p><p><strong>Edit: </strong>It seems that I forgot that Youtube also generates 3gp, so add some space needed for that.</p><div
class='post_blob_1'>Our certified <a
href="http://www.test-king.com/exams/642-873.htm">642-873</a> questions and <a
href="http://www.test-king.com/exams/646-363.htm">646-363</a> mock test will help you pass <a
href="http://www.test-king.com/exams/83-640.htm">83-640</a> exam and master the latest technology.</div><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Find+Out+The+Number+Of+Videos+On+Youtube&amp;link=http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/&amp;notes=%20According%20to%20Wikipedia%2C%20in%20April%202008%2C%20the%20number%20of%20videos%20on%20Youtube%20was%2083.4%20million%20%28ref%3A%20http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FYouTube%23cite_note-5%29.%20However%2C%20the%20link%20in%20the%20cite%20note%20now%20displays%20%E2%80%9C%2A%E2%80%9D%20video%20results%201%20-%2020%20of%20millions%2C%20without%20showing%20the%20real%20count.%0D%0AHere%27s%20one%20way%20I%20found%20to%20get%20a&amp;short_link=http://bit.ly/cvq2BU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Find+Out+The+Number+Of+Videos+On+Youtube&amp;link=http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/&amp;notes=%20According%20to%20Wikipedia%2C%20in%20April%202008%2C%20the%20number%20of%20videos%20on%20Youtube%20was%2083.4%20million%20%28ref%3A%20http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FYouTube%23cite_note-5%29.%20However%2C%20the%20link%20in%20the%20cite%20note%20now%20displays%20%E2%80%9C%2A%E2%80%9D%20video%20results%201%20-%2020%20of%20millions%2C%20without%20showing%20the%20real%20count.%0D%0AHere%27s%20one%20way%20I%20found%20to%20get%20a&amp;short_link=http://bit.ly/cvq2BU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Find+Out+The+Number+Of+Videos+On+Youtube&amp;link=http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/&amp;notes=%20According%20to%20Wikipedia%2C%20in%20April%202008%2C%20the%20number%20of%20videos%20on%20Youtube%20was%2083.4%20million%20%28ref%3A%20http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FYouTube%23cite_note-5%29.%20However%2C%20the%20link%20in%20the%20cite%20note%20now%20displays%20%E2%80%9C%2A%E2%80%9D%20video%20results%201%20-%2020%20of%20millions%2C%20without%20showing%20the%20real%20count.%0D%0AHere%27s%20one%20way%20I%20found%20to%20get%20a&amp;short_link=http://bit.ly/cvq2BU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Find+Out+The+Number+Of+Videos+On+Youtube&amp;link=http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/&amp;notes=%20According%20to%20Wikipedia%2C%20in%20April%202008%2C%20the%20number%20of%20videos%20on%20Youtube%20was%2083.4%20million%20%28ref%3A%20http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FYouTube%23cite_note-5%29.%20However%2C%20the%20link%20in%20the%20cite%20note%20now%20displays%20%E2%80%9C%2A%E2%80%9D%20video%20results%201%20-%2020%20of%20millions%2C%20without%20showing%20the%20real%20count.%0D%0AHere%27s%20one%20way%20I%20found%20to%20get%20a&amp;short_link=http://bit.ly/cvq2BU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Find+Out+The+Number+Of+Videos+On+Youtube&amp;link=http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/&amp;notes=%20According%20to%20Wikipedia%2C%20in%20April%202008%2C%20the%20number%20of%20videos%20on%20Youtube%20was%2083.4%20million%20%28ref%3A%20http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FYouTube%23cite_note-5%29.%20However%2C%20the%20link%20in%20the%20cite%20note%20now%20displays%20%E2%80%9C%2A%E2%80%9D%20video%20results%201%20-%2020%20of%20millions%2C%20without%20showing%20the%20real%20count.%0D%0AHere%27s%20one%20way%20I%20found%20to%20get%20a&amp;short_link=http://bit.ly/cvq2BU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Find+Out+The+Number+Of+Videos+On+Youtube&amp;link=http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/&amp;notes=%20According%20to%20Wikipedia%2C%20in%20April%202008%2C%20the%20number%20of%20videos%20on%20Youtube%20was%2083.4%20million%20%28ref%3A%20http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FYouTube%23cite_note-5%29.%20However%2C%20the%20link%20in%20the%20cite%20note%20now%20displays%20%E2%80%9C%2A%E2%80%9D%20video%20results%201%20-%2020%20of%20millions%2C%20without%20showing%20the%20real%20count.%0D%0AHere%27s%20one%20way%20I%20found%20to%20get%20a&amp;short_link=http://bit.ly/cvq2BU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Find+Out+The+Number+Of+Videos+On+Youtube&amp;link=http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/&amp;notes=%20According%20to%20Wikipedia%2C%20in%20April%202008%2C%20the%20number%20of%20videos%20on%20Youtube%20was%2083.4%20million%20%28ref%3A%20http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FYouTube%23cite_note-5%29.%20However%2C%20the%20link%20in%20the%20cite%20note%20now%20displays%20%E2%80%9C%2A%E2%80%9D%20video%20results%201%20-%2020%20of%20millions%2C%20without%20showing%20the%20real%20count.%0D%0AHere%27s%20one%20way%20I%20found%20to%20get%20a&amp;short_link=http://bit.ly/cvq2BU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=How%20To%20Find%20Out%20The%20Number%20Of%20Videos%20On%20Youtube&amp;link=http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/&amp;notes=%20According%20to%20Wikipedia%2C%20in%20April%202008%2C%20the%20number%20of%20videos%20on%20Youtube%20was%2083.4%20million%20%28ref%3A%20http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FYouTube%23cite_note-5%29.%20However%2C%20the%20link%20in%20the%20cite%20note%20now%20displays%20%E2%80%9C%2A%E2%80%9D%20video%20results%201%20-%2020%20of%20millions%2C%20without%20showing%20the%20real%20count.%0D%0AHere%27s%20one%20way%20I%20found%20to%20get%20a&amp;short_link=http://bit.ly/cvq2BU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2006/10/03/youtube-custom-rss-search-results/" rel="bookmark" title="October 3, 2006">Youtube Custom RSS Search Results</a></li><li><a
href="http://beerpla.net/2010/01/11/web-dev-browser-breakdown-statscharts-from-plaxo-com-for-december-2009-and-thoughts/" rel="bookmark" title="January 11, 2010">[Web Dev] Browser Breakdown Stats+Charts From Plaxo.com For December 2009 And Thoughts</a></li><li><a
href="http://beerpla.net/2010/01/12/are-your-youtube-video-embeds-missing-the-full-screen-button-here-is-how-to-fix-it/" rel="bookmark" title="January 12, 2010">Are Your Youtube Video Embeds Missing The Full Screen Button? Here Is How To Fix It</a></li><li><a
href="http://beerpla.net/2009/01/10/artems-top-10-tech-predictions-and-ideas-for-2009-and-beyond/" rel="bookmark" title="January 10, 2009">Artem&rsquo;s Top 10 Tech Predictions And Ideas For 2009 And Beyond</a></li><li><a
href="http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/" rel="bookmark" title="May 12, 2008">A Better diff Or What To Do When GNU diff Runs Out Of Memory (&quot;diff: memory exhausted&quot;)</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F08%2F14%2Fhow-to-find-out-the-number-of-videos-on-youtube%2F&amp;title=How%20To%20Find%20Out%20The%20Number%20Of%20Videos%20On%20Youtube" id="wpa2a_32"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/feed/</wfw:commentRss> <slash:comments>17</slash:comments> </item> <item><title>Top 10 Reasons Why Digsby ROCKS</title><link>http://beerpla.net/2008/06/14/top-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now/</link> <comments>http://beerpla.net/2008/06/14/top-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now/#comments</comments> <pubDate>Sat, 14 Jun 2008 19:42:42 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Awesomeness]]></category> <category><![CDATA[My Favorites]]></category> <category><![CDATA[Stuff]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[Twitter]]></category> <category><![CDATA[AIM]]></category> <category><![CDATA[application]]></category> <category><![CDATA[chat]]></category> <category><![CDATA[client]]></category> <category><![CDATA[digsby]]></category> <category><![CDATA[email]]></category> <category><![CDATA[facebook]]></category> <category><![CDATA[google talk]]></category> <category><![CDATA[gtalk]]></category> <category><![CDATA[hotmail]]></category> <category><![CDATA[IM]]></category> <category><![CDATA[IMAP]]></category> <category><![CDATA[instant message]]></category> <category><![CDATA[linked in]]></category> <category><![CDATA[linkedin]]></category> <category><![CDATA[messenger]]></category> <category><![CDATA[MSN]]></category> <category><![CDATA[myspace]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[new]]></category> <category><![CDATA[POP]]></category> <category><![CDATA[twitter]]></category> <category><![CDATA[Yahoo]]></category> <guid
isPermaLink="false">http://beerpla.net/?p=354</guid> <description><![CDATA[<p>If you haven&#039;t heard of <a
href="http://kvors.com/click/?s=105057&#38;c=89568&#38;subid=digsby_10_reasons">Digsby</a> yet, you have probably been living in some kind of a virtual cave or have no friends. Digsby is a multi-network instant messenger application, similar to Trillian, Pidgin (GAIM), or Miranda. I said &#039;similar&#039;, so what makes Digsy special? Reviews I read so far don&#039;t give the real reasons and don&#039;t dive into the features in depth. Instead, you get a standard load of marketing BS and in the end to you, the user, Digsby may end up being &#34;yet another IM program.&#34; Some reviews describe certain features, but so far I haven&#039;t seen one that highlighted THE MAIN REASON why Digsby is different. And may I preface it with: finally somebody got...<div
class=clear></div> <a
href="http://beerpla.net/2008/06/14/top-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p>If you haven&#039;t heard of <a
href="http://kvors.com/click/?s=105057&amp;c=89568&amp;subid=digsby_10_reasons">Digsby</a> yet, you have probably been living in some kind of a virtual cave or have no friends. Digsby is a multi-network instant messenger application, similar to Trillian, Pidgin (GAIM), or Miranda. I said &#039;similar&#039;, so what makes Digsy special? Reviews I read so far don&#039;t give the real reasons and don&#039;t dive into the features in depth. Instead, you get a standard load of marketing BS and in the end to you, the user, Digsby may end up being &quot;yet another IM program.&quot; Some reviews describe certain features, but so far I haven&#039;t seen one that highlighted THE MAIN REASON why Digsby is different. And may I preface it with: finally somebody got a clue. I never before wanted to write about any other IM client, which already indicates that on the &quot;this is the most awesome meter ever&quot; meter, Digsby is floating somewhere at the top.</p><h3>The main reason to use Digsby</h3><p><strong><font
size="5">1.</font> </strong><a
href="http://kvors.com/click/?s=105057&amp;c=89568&amp;subid=digsby_10_reasons"><strong>Digsby</strong></a> <strong>saves all information, including IM names, groups, nicks, its own client settings, themes, etc (of course this excludes the password). If I&#039;m logged in from two places, Digsby shows both away messages (at least in the widget). It just god damn works. Remember Trillian or Pidgin? You make 10 groups on your home PC, stick 50 people in each, then go to your laptop at work and nothing is the same as it is at home! Digsby to the rescue.</strong></p><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_3.png" class="lightview" rel="gallery['354']"><img
alt="image" src="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_thumb_3.png" width="206" height="417" /></a></p><p>Notice how I&#039;m logging into a Digsby account, which will be used to retrieve and sync all of my settings.</p><h3>Other reasons (everyone on Digg loves top 10 lists, right?)</h3><p><font
size="4">2.</font> Digsby seems to have great fast developers <em>really</em> <a
href="http://forum.digsby.com/index.php">in touch with the community</a>. Any time there is a problem, they push a message to all users that comes in a form of a Digsby announcement popup. They try to fix problems and usually do it fast. There are bugs here and there but they&#039;re nothing critical. If you tried Digsby a few months ago and didn&#039;t like it for some reason, I encourage you to give it another try &#8211; they really do develop fast. From revision numbers, it seems Digsby developers use SVN in the 15,000 revision number range (that sounds pretty active) &#8211; hooray! I can monitor how relatively active Digsby is by comparing this number from time to time. When was the last time Trillian released anything that wasn&#039;t a miniscule bug fix? <a
href="http://www.trillian.im/">Trillian Astra</a> reminds me of Perl 6 (ha ha, programmer joke).</p><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_4.png" class="lightview" rel="gallery['354']"><img
alt="image" src="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_thumb_4.png" width="196" height="267" /></a></p><p><font
size="4">3.</font> For the first time ever I feel comfortable combining the same people that have multiple IM accounts into one entity (and renaming them whatever I want). I don&#039;t really care what IM pops up on their side as long as it reaches the destination. I can also arrange the IM accounts for that person in the order of IM preference, so if AIM is on top and MSN is on the bottom, Digsby will show the AIM icon next to their name, and if they&#039;re not on AIM, then MSN. You get the point. I can always pick which account to send from and to at any point during the conversation.</p><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_5.png" class="lightview" rel="gallery['354']"><img
alt="image" src="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_thumb_5.png" width="311" height="407" /></a></p><p>Thaya, you&#039;re now popular (Sorry!). And a freak, with so many accounts. Do I give a crap which of his 7 accounts Thaya is logged into? That&#039;s right, I don&#039;t.</p><p><font
size="4">4.</font> Digsby supports Facebook chat just as if it were AIM or MSN (except people sign on and off a lot more often and you can&#039;t delete them from the list). It also supports Facebook, twitter, and MySpace (ugh) mini-feed-like updates straight to my desktop. In fact, I get to actually see every Facebook update, which is not the case with the mini-feed (it filters way too much). Additionally, I can set my current status without logging into facebook.com.</p><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_7.png" class="lightview" rel="gallery['354']"><img
alt="image" src="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_thumb_6.png" width="613" height="425" /></a></p><p><font
size="4">5.</font> The Digsby widget, yeah, check it out on the right. There&#039;s no need for you to be logged into anything to send me a message. And the cool part is that all visitors show up right in my list the moment they enter the site and disappear the moment they leave, so I know how many people are online at any given time. Feel free to try it out. I already had a few interesting discussions with visitors who are complete strangers and I&#039;m loving it. You can even consider it a mini live tech support.</p><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image.png" class="lightview" rel="gallery['354']"><img
alt="image" src="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_thumb.png" width="473" height="188" /></a></p><p><font
size="4">6.</font> I LOVE how you can customize where and which icons show up in your IM list. Online status, IM network, and a mini buddy icon, left, right, any combination. Such a fine grained seemingly small feature but a very nice touch.</p><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_8.png" class="lightview" rel="gallery['354']"><img
alt="image" src="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_thumb_7.png" width="696" height="521" /></a></p><p><font
size="4">7.</font> Reply box in IM popups. I just type my short answer in there if I don&#039;t want to bother popping the main chat window back up. Now if only there was a keyboard shortcut to activate that little box (who wants to mouse any more?)&#8230;</p><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_9.png" class="lightview" rel="gallery['354']"><img
alt="image" src="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_thumb_8.png" width="361" height="92" /></a></p><p><font
size="4">8.</font> The first client where updating my <a
href="http://www.winamp.com/">Winamp</a> status to all the networks actually works. Yes, others may have it too but so far everything I&#039;ve tried was buggy. For example, Google talk updates once, and then forgets about it. Digsby never forgets.</p><p
align="center">&#160;<a
href="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_10.png" class="lightview" rel="gallery['354']"><img
alt="image" src="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_thumb_9.png" width="183" height="504" /></a></p><p><font
size="4">9.</font> Skin support with many customizations. <a
title="http://digsbies.org/site/project/Skins" href="http://digsbies.org/site/project/Skins">http://digsbies.org/site/project/Skins</a> is a good place to start.</p><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_11.png" class="lightview" rel="gallery['354']"><img
alt="image" src="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_thumb_10.png" width="698" height="522" /></a></p><p><font
size="4">10.</font> New email notifications support for Gmail, Hotmail, Yahoo, AOL, <strong>IMAP, and POP3</strong>. The last 2 are of special interest.</p><p
align="center"><a
href="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_12.png" class="lightview" rel="gallery['354']"><img
alt="image" src="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_thumb_11.png" width="307" height="75" /></a></p><h3>Now my wishlist</h3><p>Come on Digsby, you can do it!</p><ul><li>a Linux client. It&#039;s supposedly coming soon, but how soon? Windows is the only platform supported today.</li><li><strong>Edit:<em> </em>steve from digsby messaged me with this:<em> MSN reconnect bug is fixed and will be pushed in the next update.</em> </strong><strike>Reconnect doesn&#039;t always work when I get my network back or come back from sleep mode. Just make it work, Digsby. Especially bad is MSN, it just never wants to reconnect (but hey, that was my main complain with Trillian for the past 3 years). I see this a lot</strike>:</li></ul><p
align="center"><img
alt="image" src="http://beerpla.net/wp-content/uploads/645e819202d2_A3FA/image_6.png" width="234" height="201" /></p><ul><li>RSS feed integration, similar to how Facebook integration works. I want to read <a
href="http://www.planetmysql.org">planetmysql.org</a> posts as soon as they get there.</li><li>transparency. What&#039;s up with that? I want everyone to at least squint trying to read my messages behind my back. Ideally, a window would solidify when it gets focus and go transparent again when it loses it (put it all into settings, though, let me control it).</li><li>I can&#039;t italicize, bold, etc a word or a selection. It just does it to all the text I&#039;m typing. That should be common sense.</li><li><strong>Added 06/15/08</strong>: off the record mode + encrypted conversations would be really sweet.</li><li>sometimes the contact list changes don&#039;t sync fast enough, so if I close Digsby and reopen it, they won&#039;t be there. I&#039;d like to see a live save status, something that turns green once everything is synced.</li><li><strike>minimize to tray. I can already close to tray, but I want to minimize to it too &#8211; hey, I&#039;m used to it from AIM. Wanna fight about it?</strike> Fixed a long time ago.</li><li><strike>I&#039;d like to have a setting to not show Digsby in the task bar, like Trillian.</strike> There’s a setting for this already that I missed, it’s under ‘Buddy List’, thanks steve from digsby.</li><li>It&#039;s not always obvious inside the chat window when a friend goes offline, for instance for AIM. It&#039;s also not always obvious if you&#039;re IMing someone who is not available (there should be a warning back in response to an IM).</li><li>it&#039;s not clear if a person who IMed me is in my contact list. I&#039;d like to know that, as well as which group they belong to.</li><li>the close button that suddenly shows up on each tab when I hover is very annoying and sometimes I close IM windows by mistake.</li></ul><p>So <a
href="http://kvors.com/click/?s=105057&amp;c=89568&amp;subid=digsby_10_reasons">take Digsby out for a spin</a>, I guarantee you&#039;ll like at least something about it.</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Top+10+Reasons+Why+Digsby+ROCKS&amp;link=http://beerpla.net/2008/06/14/top-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now/&amp;notes=If%20you%20haven%27t%20heard%20of%20Digsby%20yet%2C%20you%20have%20probably%20been%20living%20in%20some%20kind%20of%20a%20virtual%20cave%20or%20have%20no%20friends.%20Digsby%20is%20a%20multi-network%20instant%20messenger%20application%2C%20similar%20to%20Trillian%2C%20Pidgin%20%28GAIM%29%2C%20or%20Miranda.%20I%20said%20%27similar%27%2C%20so%20what%20makes%20Digsy%20special%3F%20Reviews%20I%20read%20so%20far%20don%27t%20giv&amp;short_link=http://bit.ly/dq7Sjb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Top+10+Reasons+Why+Digsby+ROCKS&amp;link=http://beerpla.net/2008/06/14/top-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now/&amp;notes=If%20you%20haven%27t%20heard%20of%20Digsby%20yet%2C%20you%20have%20probably%20been%20living%20in%20some%20kind%20of%20a%20virtual%20cave%20or%20have%20no%20friends.%20Digsby%20is%20a%20multi-network%20instant%20messenger%20application%2C%20similar%20to%20Trillian%2C%20Pidgin%20%28GAIM%29%2C%20or%20Miranda.%20I%20said%20%27similar%27%2C%20so%20what%20makes%20Digsy%20special%3F%20Reviews%20I%20read%20so%20far%20don%27t%20giv&amp;short_link=http://bit.ly/dq7Sjb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Top+10+Reasons+Why+Digsby+ROCKS&amp;link=http://beerpla.net/2008/06/14/top-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now/&amp;notes=If%20you%20haven%27t%20heard%20of%20Digsby%20yet%2C%20you%20have%20probably%20been%20living%20in%20some%20kind%20of%20a%20virtual%20cave%20or%20have%20no%20friends.%20Digsby%20is%20a%20multi-network%20instant%20messenger%20application%2C%20similar%20to%20Trillian%2C%20Pidgin%20%28GAIM%29%2C%20or%20Miranda.%20I%20said%20%27similar%27%2C%20so%20what%20makes%20Digsy%20special%3F%20Reviews%20I%20read%20so%20far%20don%27t%20giv&amp;short_link=http://bit.ly/dq7Sjb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Top+10+Reasons+Why+Digsby+ROCKS&amp;link=http://beerpla.net/2008/06/14/top-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now/&amp;notes=If%20you%20haven%27t%20heard%20of%20Digsby%20yet%2C%20you%20have%20probably%20been%20living%20in%20some%20kind%20of%20a%20virtual%20cave%20or%20have%20no%20friends.%20Digsby%20is%20a%20multi-network%20instant%20messenger%20application%2C%20similar%20to%20Trillian%2C%20Pidgin%20%28GAIM%29%2C%20or%20Miranda.%20I%20said%20%27similar%27%2C%20so%20what%20makes%20Digsy%20special%3F%20Reviews%20I%20read%20so%20far%20don%27t%20giv&amp;short_link=http://bit.ly/dq7Sjb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Top+10+Reasons+Why+Digsby+ROCKS&amp;link=http://beerpla.net/2008/06/14/top-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now/&amp;notes=If%20you%20haven%27t%20heard%20of%20Digsby%20yet%2C%20you%20have%20probably%20been%20living%20in%20some%20kind%20of%20a%20virtual%20cave%20or%20have%20no%20friends.%20Digsby%20is%20a%20multi-network%20instant%20messenger%20application%2C%20similar%20to%20Trillian%2C%20Pidgin%20%28GAIM%29%2C%20or%20Miranda.%20I%20said%20%27similar%27%2C%20so%20what%20makes%20Digsy%20special%3F%20Reviews%20I%20read%20so%20far%20don%27t%20giv&amp;short_link=http://bit.ly/dq7Sjb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Top+10+Reasons+Why+Digsby+ROCKS&amp;link=http://beerpla.net/2008/06/14/top-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now/&amp;notes=If%20you%20haven%27t%20heard%20of%20Digsby%20yet%2C%20you%20have%20probably%20been%20living%20in%20some%20kind%20of%20a%20virtual%20cave%20or%20have%20no%20friends.%20Digsby%20is%20a%20multi-network%20instant%20messenger%20application%2C%20similar%20to%20Trillian%2C%20Pidgin%20%28GAIM%29%2C%20or%20Miranda.%20I%20said%20%27similar%27%2C%20so%20what%20makes%20Digsy%20special%3F%20Reviews%20I%20read%20so%20far%20don%27t%20giv&amp;short_link=http://bit.ly/dq7Sjb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Top+10+Reasons+Why+Digsby+ROCKS&amp;link=http://beerpla.net/2008/06/14/top-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now/&amp;notes=If%20you%20haven%27t%20heard%20of%20Digsby%20yet%2C%20you%20have%20probably%20been%20living%20in%20some%20kind%20of%20a%20virtual%20cave%20or%20have%20no%20friends.%20Digsby%20is%20a%20multi-network%20instant%20messenger%20application%2C%20similar%20to%20Trillian%2C%20Pidgin%20%28GAIM%29%2C%20or%20Miranda.%20I%20said%20%27similar%27%2C%20so%20what%20makes%20Digsy%20special%3F%20Reviews%20I%20read%20so%20far%20don%27t%20giv&amp;short_link=http://bit.ly/dq7Sjb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Top%2010%20Reasons%20Why%20Digsby%20ROCKS&amp;link=http://beerpla.net/2008/06/14/top-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now/&amp;notes=If%20you%20haven%27t%20heard%20of%20Digsby%20yet%2C%20you%20have%20probably%20been%20living%20in%20some%20kind%20of%20a%20virtual%20cave%20or%20have%20no%20friends.%20Digsby%20is%20a%20multi-network%20instant%20messenger%20application%2C%20similar%20to%20Trillian%2C%20Pidgin%20%28GAIM%29%2C%20or%20Miranda.%20I%20said%20%27similar%27%2C%20so%20what%20makes%20Digsy%20special%3F%20Reviews%20I%20read%20so%20far%20don%27t%20giv&amp;short_link=http://bit.ly/dq7Sjb&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2009/07/14/how-to-fix-palm-pres-error-sending-mail-problem-7/" rel="bookmark" title="July 14, 2009">How To Fix Palm Pre&#039;s &quot;Error Sending Mail&quot; Problem</a></li><li><a
href="http://beerpla.net/2011/06/13/goodbye-outlook-i-dont-need-you-anymore-gmail-now-lets-you-paste-images-directly-from-clipboard/" rel="bookmark" title="June 13, 2011">[Updated x3] Goodbye Outlook, I Don&#039;t Need You Anymore &#8211; Gmail Now Lets You Paste Images Directly From Clipboard</a></li><li><a
href="http://beerpla.net/2009/04/09/the-real-reasons-to-use-twitter-get-over-your-prejudice-already/" rel="bookmark" title="April 9, 2009">The Real Reasons To Use Twitter (Get Over Your Prejudice Already)</a></li><li><a
href="http://beerpla.net/2009/11/26/how-i-doubled-my-android-phones-htc-hero-battery-life-or-just-how-much-email-polling-affects-your-battery/" rel="bookmark" title="November 26, 2009">How I Doubled My Android Phone&#039;s (HTC Hero) Battery Life or Just How Much Email Polling Affects Your Battery</a></li><li><a
href="http://beerpla.net/2009/11/18/sprint-and-htc-release-the-first-htc-hero-firmware-update-1-56-fixes-major-bugs-adds-small-tweaks/" rel="bookmark" title="November 18, 2009">Sprint And HTC Release The First HTC Hero Firmware Update 1.56: Fixes Major Bugs, Adds Small Tweaks</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F06%2F14%2Ftop-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now%2F&amp;title=Top%2010%20Reasons%20Why%20Digsby%20ROCKS" id="wpa2a_34"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/06/14/top-10-reasons-why-digsby-rocks-or-why-you-should-try-digsby-right-now/feed/</wfw:commentRss> <slash:comments>19</slash:comments> </item> <item><title>Best MySQL Server Under $10K?</title><link>http://beerpla.net/2008/06/11/best-mysql-server-under-10k/</link> <comments>http://beerpla.net/2008/06/11/best-mysql-server-under-10k/#comments</comments> <pubDate>Wed, 11 Jun 2008 09:30:54 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Databases]]></category> <category><![CDATA[best]]></category> <category><![CDATA[featured]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[Performance]]></category> <category><![CDATA[server]]></category> <guid
isPermaLink="false">http://beerpla.net/2008/06/11/best-mysql-server-under-10k/</guid> <description><![CDATA[<p><a
href="http://beerpla.net/wp-content/uploads/BestMySQLServerUnder10K_2161/Serverpicture.png" class="lightview" rel="gallery['362']"><img
style="margin: 0px 10px 5px 0px" height="160" alt="Server picture" src="http://beerpla.net/wp-content/uploads/BestMySQLServerUnder10K_2161/Serverpicture_thumb.png" width="240" align="left" /></a> I want to get opinions from outside of my daily circle of people on the best server hardware to use for MySQL. I remember from <a
href="http://beerpla.net/2008/03/24/mysql-conference-2008/">the conference</a> somebody (Pipes?) mentioning a particular Dell server with multiple disk RAID10 that could supposedly be had for about $6k but I completely misplaced the model number (Frank, did you get my email?).</p><p>I know that a multi-disk RAID array with a bunch of fast disks (15k RPM?) is probably the most important method of improving performance, followed by the amount of RAM, so I&#039;m trying to find the best combination/balance of the two. However, server prices on the Internet range so much that I don&#039;t even know where to begin to...<div
class=clear></div> <a
href="http://beerpla.net/2008/06/11/best-mysql-server-under-10k/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p><a
href="http://beerpla.net/wp-content/uploads/BestMySQLServerUnder10K_2161/Serverpicture.png" class="lightview" rel="gallery['362']"><img
style="margin: 0px 10px 5px 0px" height="160" alt="Server picture" src="http://beerpla.net/wp-content/uploads/BestMySQLServerUnder10K_2161/Serverpicture_thumb.png" width="240" align="left" /></a> I want to get opinions from outside of my daily circle of people on the best server hardware to use for MySQL. I remember from <a
href="http://beerpla.net/2008/03/24/mysql-conference-2008/">the conference</a> somebody (Pipes?) mentioning a particular Dell server with multiple disk RAID10 that could supposedly be had for about $6k but I completely misplaced the model number (Frank, did you get my email?).</p><p>I know that a multi-disk RAID array with a bunch of fast disks (15k RPM?) is probably the most important method of improving performance, followed by the amount of RAM, so I&#039;m trying to find the best combination/balance of the two. However, server prices on the Internet range so much that I don&#039;t even know where to begin to tell a good deal from a bad one. I don&#039;t think SSDs can play a role here, because we need at least 200GB of usable space per machine. For comparison, we currently use the following spec: Dual quadcore Intel, 16GB RAM, 200GB RAID1 + 1TB RAID1 using SATA drives (eww?) in a 2U rack (a bit too chunky, isn&#039;t it?) made by <a
href="http://www.zantaz.com/">Zantaz</a>. It performs quite nicely but I think it chokes on the amount of writes way too early.</p><p>So, what does everyone think the best configuration is under $10,000? Bonus points if you can provide a link to the vendor site or at least a model number!</p><p><div
class="note"><div
class="notetip"><strong>Edit</strong>: so, here&#039;s the final configuration and quote I got from Silicon Mechanics, which I&#039;m quite happy about. It is way under the $10k budget, so mission accomplished:</p><ul><li>RakX 2U chassis</li><li>2x Intel Xeon E5420 Quad-core 2.5Ghz, 12MB cache CPUs</li><li>32GB (16x 2GB) 667Mhz Fully Buffered RAM</li><li>2x integrated gbit NICs</li><li>IPMI 2.0 remote management card with KVM over LAN</li><li>3Ware 9690SA-4I RAID controller with 512MB cache and battery backup</li><li>12x 74GB Seagate Cheetah 15K.5 15KRPM SAS drives</li><li>redundant 700W power supply</li><li>sliding rail kit</li><li>5 year advance component exchange warranty</li><li>OS RAID: 73GB HW RAID1</li><li>DATA RAID: 365GB HW RAID10</li></ul><p>Total price: <strong>$6176</strong> + tax, free shipping.</div></div></p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Best+MySQL+Server+Under+%2410K%3F&amp;link=http://beerpla.net/2008/06/11/best-mysql-server-under-10k/&amp;notes=%20I%20want%20to%20get%20opinions%20from%20outside%20of%20my%20daily%20circle%20of%20people%20on%20the%20best%20server%20hardware%20to%20use%20for%20MySQL.%20I%20remember%20from%20the%20conference%20somebody%20%28Pipes%3F%29%20mentioning%20a%20particular%20Dell%20server%20with%20multiple%20disk%20RAID10%20that%20could%20supposedly%20be%20had%20for%20about%20%246k%20but%20I%20completely%20misplaced%20the%20mod&amp;short_link=http://bit.ly/ctscht&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Best+MySQL+Server+Under+%2410K%3F&amp;link=http://beerpla.net/2008/06/11/best-mysql-server-under-10k/&amp;notes=%20I%20want%20to%20get%20opinions%20from%20outside%20of%20my%20daily%20circle%20of%20people%20on%20the%20best%20server%20hardware%20to%20use%20for%20MySQL.%20I%20remember%20from%20the%20conference%20somebody%20%28Pipes%3F%29%20mentioning%20a%20particular%20Dell%20server%20with%20multiple%20disk%20RAID10%20that%20could%20supposedly%20be%20had%20for%20about%20%246k%20but%20I%20completely%20misplaced%20the%20mod&amp;short_link=http://bit.ly/ctscht&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Best+MySQL+Server+Under+%2410K%3F&amp;link=http://beerpla.net/2008/06/11/best-mysql-server-under-10k/&amp;notes=%20I%20want%20to%20get%20opinions%20from%20outside%20of%20my%20daily%20circle%20of%20people%20on%20the%20best%20server%20hardware%20to%20use%20for%20MySQL.%20I%20remember%20from%20the%20conference%20somebody%20%28Pipes%3F%29%20mentioning%20a%20particular%20Dell%20server%20with%20multiple%20disk%20RAID10%20that%20could%20supposedly%20be%20had%20for%20about%20%246k%20but%20I%20completely%20misplaced%20the%20mod&amp;short_link=http://bit.ly/ctscht&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Best+MySQL+Server+Under+%2410K%3F&amp;link=http://beerpla.net/2008/06/11/best-mysql-server-under-10k/&amp;notes=%20I%20want%20to%20get%20opinions%20from%20outside%20of%20my%20daily%20circle%20of%20people%20on%20the%20best%20server%20hardware%20to%20use%20for%20MySQL.%20I%20remember%20from%20the%20conference%20somebody%20%28Pipes%3F%29%20mentioning%20a%20particular%20Dell%20server%20with%20multiple%20disk%20RAID10%20that%20could%20supposedly%20be%20had%20for%20about%20%246k%20but%20I%20completely%20misplaced%20the%20mod&amp;short_link=http://bit.ly/ctscht&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Best+MySQL+Server+Under+%2410K%3F&amp;link=http://beerpla.net/2008/06/11/best-mysql-server-under-10k/&amp;notes=%20I%20want%20to%20get%20opinions%20from%20outside%20of%20my%20daily%20circle%20of%20people%20on%20the%20best%20server%20hardware%20to%20use%20for%20MySQL.%20I%20remember%20from%20the%20conference%20somebody%20%28Pipes%3F%29%20mentioning%20a%20particular%20Dell%20server%20with%20multiple%20disk%20RAID10%20that%20could%20supposedly%20be%20had%20for%20about%20%246k%20but%20I%20completely%20misplaced%20the%20mod&amp;short_link=http://bit.ly/ctscht&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Best+MySQL+Server+Under+%2410K%3F&amp;link=http://beerpla.net/2008/06/11/best-mysql-server-under-10k/&amp;notes=%20I%20want%20to%20get%20opinions%20from%20outside%20of%20my%20daily%20circle%20of%20people%20on%20the%20best%20server%20hardware%20to%20use%20for%20MySQL.%20I%20remember%20from%20the%20conference%20somebody%20%28Pipes%3F%29%20mentioning%20a%20particular%20Dell%20server%20with%20multiple%20disk%20RAID10%20that%20could%20supposedly%20be%20had%20for%20about%20%246k%20but%20I%20completely%20misplaced%20the%20mod&amp;short_link=http://bit.ly/ctscht&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Best+MySQL+Server+Under+%2410K%3F&amp;link=http://beerpla.net/2008/06/11/best-mysql-server-under-10k/&amp;notes=%20I%20want%20to%20get%20opinions%20from%20outside%20of%20my%20daily%20circle%20of%20people%20on%20the%20best%20server%20hardware%20to%20use%20for%20MySQL.%20I%20remember%20from%20the%20conference%20somebody%20%28Pipes%3F%29%20mentioning%20a%20particular%20Dell%20server%20with%20multiple%20disk%20RAID10%20that%20could%20supposedly%20be%20had%20for%20about%20%246k%20but%20I%20completely%20misplaced%20the%20mod&amp;short_link=http://bit.ly/ctscht&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Best%20MySQL%20Server%20Under%20%2410K%3F&amp;link=http://beerpla.net/2008/06/11/best-mysql-server-under-10k/&amp;notes=%20I%20want%20to%20get%20opinions%20from%20outside%20of%20my%20daily%20circle%20of%20people%20on%20the%20best%20server%20hardware%20to%20use%20for%20MySQL.%20I%20remember%20from%20the%20conference%20somebody%20%28Pipes%3F%29%20mentioning%20a%20particular%20Dell%20server%20with%20multiple%20disk%20RAID10%20that%20could%20supposedly%20be%20had%20for%20about%20%246k%20but%20I%20completely%20misplaced%20the%20mod&amp;short_link=http://bit.ly/ctscht&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2006/06/13/amd-plans-major-cpu-price-drops-day-after-conroe/" rel="bookmark" title="June 13, 2006">AMD Plans Major CPU Price Drops Day After Conroe</a></li><li><a
href="http://beerpla.net/2008/04/15/mysql-conference-presentation-at-the-kickfire-booth/" rel="bookmark" title="April 15, 2008">MySQL Conference: Presentation At The Kickfire Booth</a></li><li><a
href="http://beerpla.net/2006/06/12/beer-planet-is-fast-again/" rel="bookmark" title="June 12, 2006">Beer Planet is Fast Again</a></li><li><a
href="http://beerpla.net/2008/04/17/mysql-conference-liveblogging-optimizing-mysql-for-high-volume-data-logging-applications-thursday-250pm/" rel="bookmark" title="April 17, 2008">MySQL Conference Liveblogging: Optimizing MySQL For High Volume Data Logging Applications (Thursday 2:50PM)</a></li><li><a
href="http://beerpla.net/2008/09/05/mysql-slave-lag-delay-explained-and-7-ways-to-battle-it/" rel="bookmark" title="September 5, 2008">MySQL Slave Lag (Delay) Explained And 7 Ways To Battle It</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F06%2F11%2Fbest-mysql-server-under-10k%2F&amp;title=Best%20MySQL%20Server%20Under%20%2410K%3F" id="wpa2a_36"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/06/11/best-mysql-server-under-10k/feed/</wfw:commentRss> <slash:comments>22</slash:comments> </item> <item><title>Google Phone (Android) Demo Of Streetview With Compass</title><link>http://beerpla.net/2008/05/31/google-phone-android-demo-of-streetview-with-compass/</link> <comments>http://beerpla.net/2008/05/31/google-phone-android-demo-of-streetview-with-compass/#comments</comments> <pubDate>Sun, 01 Jun 2008 00:00:04 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Awesomeness]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[Android]]></category> <category><![CDATA[cell]]></category> <category><![CDATA[cellphone]]></category> <category><![CDATA[conference]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[I/O]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[phone]]></category> <category><![CDATA[streetview]]></category> <category><![CDATA[sun]]></category> <guid
isPermaLink="false">http://beerpla.net/?p=355</guid> <description><![CDATA[<p>I think this is going to be really neat: you walk around the streets of San Francisco, for example, with your Android powered phone, en route to your destination 20 blocks away.</p><p>You whip out your phone, go to Google Maps, pull up the StreetView (remember <a
href="http://beerpla.net/2008/04/29/interesting-uses-for-google-streetview-video-by-google/">this</a>?), which zeroes in on your location <a
href="http://androidcommunity.com/forums/showthread.php?t=55">using a built-in GPS</a>, and then changes as you move the phone around using the built-in compass.</p><p>You then virtually walk the city, looking around, without actually moving an inch (looking for the closest ATM, restaurant, etc, hint-hint?).</p><p>Without further ado, let&#039;s have a look at this video from <a
href="http://code.google.com/events/io/">Google&#039;s I/O Conference</a> for a demonstration?</p><div
align="center">&#160;</div><div
align="center"><div
class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:b5dcd857-219e-4fe2-8250-9c6de9d57c4a" style="padding-right: 0px;</div><p>...<div
class=clear></div> <a
href="http://beerpla.net/2008/05/31/google-phone-android-demo-of-streetview-with-compass/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p>I think this is going to be really neat: you walk around the streets of San Francisco, for example, with your Android powered phone, en route to your destination 20 blocks away.</p><p>You whip out your phone, go to Google Maps, pull up the StreetView (remember <a
href="http://beerpla.net/2008/04/29/interesting-uses-for-google-streetview-video-by-google/">this</a>?), which zeroes in on your location <a
href="http://androidcommunity.com/forums/showthread.php?t=55">using a built-in GPS</a>, and then changes as you move the phone around using the built-in compass.</p><p>You then virtually walk the city, looking around, without actually moving an inch (looking for the closest ATM, restaurant, etc, hint-hint?).</p><p>Without further ado, let&#039;s have a look at this video from <a
href="http://code.google.com/events/io/">Google&#039;s I/O Conference</a> for a demonstration?</p><div
align="center">&nbsp;</div><div
align="center"><div
class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:b5dcd857-219e-4fe2-8250-9c6de9d57c4a" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"><div
id="82a2b0f4-175d-4755-aa47-3b33ba3d18e3" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"><div><embed
src="http://www.youtube.com/v/4PRfVKzuUJ4" width="425" height="355" type="application/x-shockwave-flash" wmode="transparent"></embed></div></div></div></div><div
align="left">&nbsp;</div><div
align="left">This video is really the 2nd part in a series but it was the most interesting one. Part 1 follows for the curious:</div><div
align="left">&nbsp;</div><div
align="center"><div
class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:d909ef90-f3a1-4bea-b342-47a7f8376ca1" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"><div
id="bb56b610-cab8-440c-bb2d-3ebefeffd338" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"><div><embed
src="http://www.youtube.com/v/arXolJrLVEg" width="425" height="355" type="application/x-shockwave-flash" wmode="transparent"></embed></div></div></div></div><p>Visual voicemail and slide zoom touch interface from Apple, compass from Google, &#8230; <a
href="http://beerpla.net/2008/04/21/sun-definitely-developing-a-phone/">from Sun</a>? What&#039;s next? My Sprint contract is up and I am definitely looking forward to Q3 and Q4 of this year!</p><p><strong>Edit</strong>: I found a nice related video by G4TV. Here it is:</p><div
align="center"><object
width="480" height="418" id="VideoPlayer"><param
name="movie" value="http://www.g4tv.com/lv3/26108" /><param
name="allowScriptAccess" value="always" /><param
name="allowFullScreen" value="true" /><embed
src="http://www.g4tv.com/lv3/26108" type="application/x-shockwave-flash" name="VideoPlayer" width="480" height="418" allowScriptAccess="always" allowFullScreen="true" /></object></div><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Google+Phone+%28Android%29+Demo+Of+Streetview+With+Compass&amp;link=http://beerpla.net/2008/05/31/google-phone-android-demo-of-streetview-with-compass/&amp;notes=I%20think%20this%20is%20going%20to%20be%20really%20neat%3A%20you%20walk%20around%20the%20streets%20of%20San%20Francisco%2C%20for%20example%2C%20with%20your%20Android%20powered%20phone%2C%20en%20route%20to%20your%20destination%2020%20blocks%20away.%20You%20whip%20out%20your%20phone%2C%20go%20to%20Google%20Maps%2C%20pull%20up%20the%20StreetView%20%28remember%20this%3F%29%2C%20which%20zeroes%20in%20on%20your%20location%20usin&amp;short_link=http://bit.ly/91yWE8&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=Google+Phone+%28Android%29+Demo+Of+Streetview+With+Compass&amp;link=http://beerpla.net/2008/05/31/google-phone-android-demo-of-streetview-with-compass/&amp;notes=I%20think%20this%20is%20going%20to%20be%20really%20neat%3A%20you%20walk%20around%20the%20streets%20of%20San%20Francisco%2C%20for%20example%2C%20with%20your%20Android%20powered%20phone%2C%20en%20route%20to%20your%20destination%2020%20blocks%20away.%20You%20whip%20out%20your%20phone%2C%20go%20to%20Google%20Maps%2C%20pull%20up%20the%20StreetView%20%28remember%20this%3F%29%2C%20which%20zeroes%20in%20on%20your%20location%20usin&amp;short_link=http://bit.ly/91yWE8&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=Google+Phone+%28Android%29+Demo+Of+Streetview+With+Compass&amp;link=http://beerpla.net/2008/05/31/google-phone-android-demo-of-streetview-with-compass/&amp;notes=I%20think%20this%20is%20going%20to%20be%20really%20neat%3A%20you%20walk%20around%20the%20streets%20of%20San%20Francisco%2C%20for%20example%2C%20with%20your%20Android%20powered%20phone%2C%20en%20route%20to%20your%20destination%2020%20blocks%20away.%20You%20whip%20out%20your%20phone%2C%20go%20to%20Google%20Maps%2C%20pull%20up%20the%20StreetView%20%28remember%20this%3F%29%2C%20which%20zeroes%20in%20on%20your%20location%20usin&amp;short_link=http://bit.ly/91yWE8&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=Google+Phone+%28Android%29+Demo+Of+Streetview+With+Compass&amp;link=http://beerpla.net/2008/05/31/google-phone-android-demo-of-streetview-with-compass/&amp;notes=I%20think%20this%20is%20going%20to%20be%20really%20neat%3A%20you%20walk%20around%20the%20streets%20of%20San%20Francisco%2C%20for%20example%2C%20with%20your%20Android%20powered%20phone%2C%20en%20route%20to%20your%20destination%2020%20blocks%20away.%20You%20whip%20out%20your%20phone%2C%20go%20to%20Google%20Maps%2C%20pull%20up%20the%20StreetView%20%28remember%20this%3F%29%2C%20which%20zeroes%20in%20on%20your%20location%20usin&amp;short_link=http://bit.ly/91yWE8&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=Google+Phone+%28Android%29+Demo+Of+Streetview+With+Compass&amp;link=http://beerpla.net/2008/05/31/google-phone-android-demo-of-streetview-with-compass/&amp;notes=I%20think%20this%20is%20going%20to%20be%20really%20neat%3A%20you%20walk%20around%20the%20streets%20of%20San%20Francisco%2C%20for%20example%2C%20with%20your%20Android%20powered%20phone%2C%20en%20route%20to%20your%20destination%2020%20blocks%20away.%20You%20whip%20out%20your%20phone%2C%20go%20to%20Google%20Maps%2C%20pull%20up%20the%20StreetView%20%28remember%20this%3F%29%2C%20which%20zeroes%20in%20on%20your%20location%20usin&amp;short_link=http://bit.ly/91yWE8&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=Google+Phone+%28Android%29+Demo+Of+Streetview+With+Compass&amp;link=http://beerpla.net/2008/05/31/google-phone-android-demo-of-streetview-with-compass/&amp;notes=I%20think%20this%20is%20going%20to%20be%20really%20neat%3A%20you%20walk%20around%20the%20streets%20of%20San%20Francisco%2C%20for%20example%2C%20with%20your%20Android%20powered%20phone%2C%20en%20route%20to%20your%20destination%2020%20blocks%20away.%20You%20whip%20out%20your%20phone%2C%20go%20to%20Google%20Maps%2C%20pull%20up%20the%20StreetView%20%28remember%20this%3F%29%2C%20which%20zeroes%20in%20on%20your%20location%20usin&amp;short_link=http://bit.ly/91yWE8&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=Google+Phone+%28Android%29+Demo+Of+Streetview+With+Compass&amp;link=http://beerpla.net/2008/05/31/google-phone-android-demo-of-streetview-with-compass/&amp;notes=I%20think%20this%20is%20going%20to%20be%20really%20neat%3A%20you%20walk%20around%20the%20streets%20of%20San%20Francisco%2C%20for%20example%2C%20with%20your%20Android%20powered%20phone%2C%20en%20route%20to%20your%20destination%2020%20blocks%20away.%20You%20whip%20out%20your%20phone%2C%20go%20to%20Google%20Maps%2C%20pull%20up%20the%20StreetView%20%28remember%20this%3F%29%2C%20which%20zeroes%20in%20on%20your%20location%20usin&amp;short_link=http://bit.ly/91yWE8&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Google%20Phone%20%28Android%29%20Demo%20Of%20Streetview%20With%20Compass&amp;link=http://beerpla.net/2008/05/31/google-phone-android-demo-of-streetview-with-compass/&amp;notes=I%20think%20this%20is%20going%20to%20be%20really%20neat%3A%20you%20walk%20around%20the%20streets%20of%20San%20Francisco%2C%20for%20example%2C%20with%20your%20Android%20powered%20phone%2C%20en%20route%20to%20your%20destination%2020%20blocks%20away.%20You%20whip%20out%20your%20phone%2C%20go%20to%20Google%20Maps%2C%20pull%20up%20the%20StreetView%20%28remember%20this%3F%29%2C%20which%20zeroes%20in%20on%20your%20location%20usin&amp;short_link=http://bit.ly/91yWE8&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2008/04/29/interesting-uses-for-google-streetview-video-by-google/" rel="bookmark" title="April 29, 2008">Interesting Uses For Google Streetview (Video By Google)</a></li><li><a
href="http://beerpla.net/2008/10/15/more-on-android-a-mobile-os-with-a-clue/" rel="bookmark" title="October 15, 2008">More On Android &ndash; A Mobile OS With A Clue</a></li><li><a
href="http://beerpla.net/2006/10/03/youtube-custom-rss-search-results/" rel="bookmark" title="October 3, 2006">Youtube Custom RSS Search Results</a></li><li><a
href="http://beerpla.net/2006/08/06/minority-report-becomes-reality/" rel="bookmark" title="August 6, 2006">Minority Report Becomes Reality</a></li><li><a
href="http://beerpla.net/2006/07/02/cambridge-uk-week-2/" rel="bookmark" title="July 2, 2006">Cambridge, UK, Week 2</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F05%2F31%2Fgoogle-phone-android-demo-of-streetview-with-compass%2F&amp;title=Google%20Phone%20%28Android%29%20Demo%20Of%20Streetview%20With%20Compass" id="wpa2a_38"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/05/31/google-phone-android-demo-of-streetview-with-compass/feed/</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>A Better diff Or What To Do When GNU diff Runs Out Of Memory (&quot;diff: memory exhausted&quot;)</title><link>http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/</link> <comments>http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/#comments</comments> <pubDate>Mon, 12 May 2008 15:57:01 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Databases]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[comparison]]></category> <category><![CDATA[delta]]></category> <category><![CDATA[diff]]></category> <category><![CDATA[memory exhausted]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[out of memory]]></category> <category><![CDATA[rdiff]]></category> <category><![CDATA[rsync]]></category> <guid
isPermaLink="false">http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/</guid> <description><![CDATA[<p>Recently I ran into major problems using GNU diff. It would crash with &#034;diff: memory exhausted&#034; after only a few minutes trying to process the differences between a couple 4.5GB files. Even a beefy box with 9GB of RAM would run out of it in minutes.</p><p>There is a different solution, however, that is not dependent on file sizes. Enter <strong>rdiff</strong> &#8211; rsync&#039;s backbone. You can read about it here: <a
href="http://en.wikipedia.org/wiki/Rsync">http://en.wikipedia.org/wiki/Rsync</a> (search for rdiff).</p><p><strong>The upsides of rdiff are:</strong><ul><li>with the same 4.5GB files, rdiff only ate about 66MB of RAM and scaled very well. It never crashed to date.</li><li>it is also MUCH faster than diff.</li><li>rdiff itself combines both diff and patch capabilities, so you can</li></ul>...<div
class=clear></div> <a
href="http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p>Recently I ran into major problems using GNU diff. It would crash with &#034;diff: memory exhausted&#034; after only a few minutes trying to process the differences between a couple 4.5GB files. Even a beefy box with 9GB of RAM would run out of it in minutes.<p>There is a different solution, however, that is not dependent on file sizes. Enter <strong>rdiff</strong> &#8211; rsync&#039;s backbone. You can read about it here: <a
href="http://en.wikipedia.org/wiki/Rsync">http://en.wikipedia.org/wiki/Rsync</a> (search for rdiff).<p><strong>The upsides of rdiff are:</strong><ul><li>with the same 4.5GB files, rdiff only ate about 66MB of RAM and scaled very well. It never crashed to date.<li>it is also MUCH faster than diff.<li>rdiff itself combines both diff and patch capabilities, so you can create deltas and apply them using the same program</li></ul><p><strong>The downsides of rdiff are:</strong><ul><li>it&#039;s not part of standard Linux/UNIX distribution &#8211; you have to install the librsync package.<li>delta files rdiff produces have a slightly different format than diff&#039;s.<li>delta files are slightly larger (but not significantly enough to care).<li>a slightly different approach is used when generating a delta with rdiff, which is both good and bad &#8211; 2 steps are required. The first one produces a special signature file. In the second step, a delta is created using another rdiff call (all shown below). While the 2-step process may seem annoying, it has the benefits of providing faster deltas than when using diff. In fact, you can pipe the first step into the second one without any trouble if you want, which is what I ended up doing).</li></ul><p><strong>Usage:</strong></p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td
class="code"><pre>$ rdiff signature ORIGINAL.txt SIGNATURE.sig
&nbsp;
$ l -h SIGNATURE.sig
-rw-r--r-- 1 user users 25M 2008-04-23 22:32 SIGNATURE.sig
&nbsp;
$ rdiff delta SIGNATURE.sig MODIFIED.txt DELTA.rdiff
&nbsp;
$ l -h DELTA.rdiff
-rw-r--r-- 1 user users 82M 2008-04-23 22:36 DELTA.rdiff</pre></td></tr></table></div><p>And here&#039;s what you would do to reassemble MODIFIED.txt:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td
class="code"><pre>$ rdiff patch ORIGINAL.txt DELTA.rdiff MODIFIED_REASSEMBLED.txt
&nbsp;
$ l *.txt
-rw-r--r-- 1 user users 4,471,493,588 2008-04-23 20:24 MODIFIED.txt
-rw-r--r-- 1 user users 4,471,493,588 2008-04-23 22:44 MODIFIED_REASSEMBLED.txt
-rw-r--r-- 1 user users 4,403,302,981 2008-04-23 20:20 ORIGINAL.txt</pre></td></tr></table></div><p>Just as expected &#8211; everything matches.</p><p>Now, all of this could have been done in one go like this:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
</pre></td><td
class="code"><pre>rdiff signature ORIGINAL.txt | rdiff delta -- - MODIFIED.txt DELTA.rdiff</pre></td></tr></table></div><p><p>As far as my usage of such a useful diff program, I was doing CSV dumps of certain fields from a MySQL database, like so:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
</pre></td><td
class="code"><pre>SELECT * FROM table WHERE some_condition='1' ORDER BY id DESC INTO OUTFILE '/home/dump/dump.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '&quot;';</pre></td></tr></table></div><p>and then applying rdiff to get the [quite small] daily deltas.</p><p>That&#039;s all folks!</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=A+Better+diff+Or+What+To+Do+When+GNU+diff+Runs+Out+Of+Memory+%28%26quot%3Bdiff%3A+memory+exhausted%26quot%3B%29&amp;link=http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/&amp;notes=Recently%20I%20ran%20into%20major%20problems%20using%20GNU%20diff.%20It%20would%20crash%20with%20%22diff%3A%20memory%20exhausted%22%20after%20only%20a%20few%20minutes%20trying%20to%20process%20the%20differences%20between%20a%20couple%204.5GB%20files.%20Even%20a%20beefy%20box%20with%209GB%20of%20RAM%20would%20run%20out%20of%20it%20in%20minutes.%20%20There%20is%20a%20different%20solution%2C%20however%2C%20that%20is%20n&amp;short_link=http://bit.ly/cpIVIu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=A+Better+diff+Or+What+To+Do+When+GNU+diff+Runs+Out+Of+Memory+%28%26quot%3Bdiff%3A+memory+exhausted%26quot%3B%29&amp;link=http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/&amp;notes=Recently%20I%20ran%20into%20major%20problems%20using%20GNU%20diff.%20It%20would%20crash%20with%20%22diff%3A%20memory%20exhausted%22%20after%20only%20a%20few%20minutes%20trying%20to%20process%20the%20differences%20between%20a%20couple%204.5GB%20files.%20Even%20a%20beefy%20box%20with%209GB%20of%20RAM%20would%20run%20out%20of%20it%20in%20minutes.%20%20There%20is%20a%20different%20solution%2C%20however%2C%20that%20is%20n&amp;short_link=http://bit.ly/cpIVIu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=A+Better+diff+Or+What+To+Do+When+GNU+diff+Runs+Out+Of+Memory+%28%26quot%3Bdiff%3A+memory+exhausted%26quot%3B%29&amp;link=http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/&amp;notes=Recently%20I%20ran%20into%20major%20problems%20using%20GNU%20diff.%20It%20would%20crash%20with%20%22diff%3A%20memory%20exhausted%22%20after%20only%20a%20few%20minutes%20trying%20to%20process%20the%20differences%20between%20a%20couple%204.5GB%20files.%20Even%20a%20beefy%20box%20with%209GB%20of%20RAM%20would%20run%20out%20of%20it%20in%20minutes.%20%20There%20is%20a%20different%20solution%2C%20however%2C%20that%20is%20n&amp;short_link=http://bit.ly/cpIVIu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=A+Better+diff+Or+What+To+Do+When+GNU+diff+Runs+Out+Of+Memory+%28%26quot%3Bdiff%3A+memory+exhausted%26quot%3B%29&amp;link=http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/&amp;notes=Recently%20I%20ran%20into%20major%20problems%20using%20GNU%20diff.%20It%20would%20crash%20with%20%22diff%3A%20memory%20exhausted%22%20after%20only%20a%20few%20minutes%20trying%20to%20process%20the%20differences%20between%20a%20couple%204.5GB%20files.%20Even%20a%20beefy%20box%20with%209GB%20of%20RAM%20would%20run%20out%20of%20it%20in%20minutes.%20%20There%20is%20a%20different%20solution%2C%20however%2C%20that%20is%20n&amp;short_link=http://bit.ly/cpIVIu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=A+Better+diff+Or+What+To+Do+When+GNU+diff+Runs+Out+Of+Memory+%28%26quot%3Bdiff%3A+memory+exhausted%26quot%3B%29&amp;link=http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/&amp;notes=Recently%20I%20ran%20into%20major%20problems%20using%20GNU%20diff.%20It%20would%20crash%20with%20%22diff%3A%20memory%20exhausted%22%20after%20only%20a%20few%20minutes%20trying%20to%20process%20the%20differences%20between%20a%20couple%204.5GB%20files.%20Even%20a%20beefy%20box%20with%209GB%20of%20RAM%20would%20run%20out%20of%20it%20in%20minutes.%20%20There%20is%20a%20different%20solution%2C%20however%2C%20that%20is%20n&amp;short_link=http://bit.ly/cpIVIu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=A+Better+diff+Or+What+To+Do+When+GNU+diff+Runs+Out+Of+Memory+%28%26quot%3Bdiff%3A+memory+exhausted%26quot%3B%29&amp;link=http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/&amp;notes=Recently%20I%20ran%20into%20major%20problems%20using%20GNU%20diff.%20It%20would%20crash%20with%20%22diff%3A%20memory%20exhausted%22%20after%20only%20a%20few%20minutes%20trying%20to%20process%20the%20differences%20between%20a%20couple%204.5GB%20files.%20Even%20a%20beefy%20box%20with%209GB%20of%20RAM%20would%20run%20out%20of%20it%20in%20minutes.%20%20There%20is%20a%20different%20solution%2C%20however%2C%20that%20is%20n&amp;short_link=http://bit.ly/cpIVIu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=A+Better+diff+Or+What+To+Do+When+GNU+diff+Runs+Out+Of+Memory+%28%26quot%3Bdiff%3A+memory+exhausted%26quot%3B%29&amp;link=http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/&amp;notes=Recently%20I%20ran%20into%20major%20problems%20using%20GNU%20diff.%20It%20would%20crash%20with%20%22diff%3A%20memory%20exhausted%22%20after%20only%20a%20few%20minutes%20trying%20to%20process%20the%20differences%20between%20a%20couple%204.5GB%20files.%20Even%20a%20beefy%20box%20with%209GB%20of%20RAM%20would%20run%20out%20of%20it%20in%20minutes.%20%20There%20is%20a%20different%20solution%2C%20however%2C%20that%20is%20n&amp;short_link=http://bit.ly/cpIVIu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=A%20Better%20diff%20Or%20What%20To%20Do%20When%20GNU%20diff%20Runs%20Out%20Of%20Memory%20%28%26quot%3Bdiff%3A%20memory%20exhausted%26quot%3B%29&amp;link=http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/&amp;notes=Recently%20I%20ran%20into%20major%20problems%20using%20GNU%20diff.%20It%20would%20crash%20with%20%22diff%3A%20memory%20exhausted%22%20after%20only%20a%20few%20minutes%20trying%20to%20process%20the%20differences%20between%20a%20couple%204.5GB%20files.%20Even%20a%20beefy%20box%20with%209GB%20of%20RAM%20would%20run%20out%20of%20it%20in%20minutes.%20%20There%20is%20a%20different%20solution%2C%20however%2C%20that%20is%20n&amp;short_link=http://bit.ly/cpIVIu&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2007/08/04/watch-a-useful-linux-command-you-may-have-never-heard-of/" rel="bookmark" title="August 4, 2007">Watch &#8211; A Useful Linux Command You May Have Never Heard Of</a></li><li><a
href="http://beerpla.net/2007/07/09/how-to-download-and-install-windows-media-player-11-bypassing-wga/" rel="bookmark" title="July 9, 2007">How To Download And Install Windows Media Player 11 Bypassing WGA</a></li><li><a
href="http://beerpla.net/2008/03/25/navicat-for-mysql-bugs-filed/" rel="bookmark" title="March 25, 2008">Navicat For MySQL Bugs Filed</a></li><li><a
href="http://beerpla.net/2006/07/15/converting-from-cvs-to-svn-developers-notes-and-why-svn-is-better/" rel="bookmark" title="July 15, 2006">Converting from CVS to SVN: Developer&#039;s Notes And Why SVN Is Better</a></li><li><a
href="http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/" rel="bookmark" title="June 16, 2008">How To SVN Update All Your WordPress Plugins In One Go</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F05%2F12%2Fa-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted%2F&amp;title=A%20Better%20diff%20Or%20What%20To%20Do%20When%20GNU%20diff%20Runs%20Out%20Of%20Memory%20%28%26quot%3Bdiff%3A%20memory%20exhausted%26quot%3B%29" id="wpa2a_40"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/05/12/a-better-diff-or-what-to-do-when-gnu-diff-runs-out-of-memory-diff-memory-exhausted/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> </channel> </rss>
