<?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; load</title> <atom:link href="http://beerpla.net/tag/load/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>Thu, 17 May 2012 22:50:53 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <atom:link rel='hub' href='http://beerpla.net/?pushpress=hub'/> <item><title>Follow-up To Loading CSS And JS Conditionally</title><link>http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/</link> <comments>http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/#comments</comments> <pubDate>Fri, 15 Jan 2010 20:07:40 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Programming]]></category> <category><![CDATA[Wordpress]]></category> <category><![CDATA[action]]></category> <category><![CDATA[admin_print_scripts]]></category> <category><![CDATA[admin_print_styles]]></category> <category><![CDATA[conditional]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[enqueue]]></category> <category><![CDATA[hook]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[js]]></category> <category><![CDATA[load]]></category> <category><![CDATA[ob_flush]]></category> <category><![CDATA[ob_start]]></category> <category><![CDATA[optimization]]></category> <category><![CDATA[output buffer]]></category> <category><![CDATA[Performance]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[script]]></category> <category><![CDATA[style]]></category> <category><![CDATA[time]]></category> <category><![CDATA[wp_enqueue_script]]></category> <category><![CDATA[wp_enqueue_style]]></category> <category><![CDATA[wp_print_scripts]]></category> <category><![CDATA[wp_print_styles]]></category> <guid
isPermaLink="false">http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/</guid> <description><![CDATA[<p>First of all, I&#039;d like to thank everyone who read and gave their 2 cents about the <a
href="http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/">[Wordpress Plugin Development] How To Include CSS and JavaScript Conditionally And Only When Needed By The Posts</a> post. The article was well received and will hopefully spark some optimizations around loading styles and scripts.</p><p>Here are some discussions and mentions around the web:</p><ul><li><a
href="http://weblogtoolscollection.com/archives/2010/01/15/how-to-include-css-and-javascript-conditionally/" rel="nofollow">an article</a> on Weblog Tools Collection</li><li><a
href="http://www.wptavern.com/forum/resources/1213-including-javascript-css-conditionally.html" rel="nofollow">a forum post</a> on WP Tavern</li><li><a
href="http://topsy.com/tb/ping.fm/DIM0S" rel="nofollow">twitter</a> retweets</li></ul><p>Sure, there are drawbacks to this method and it does require some more processing on the backend and it&#039;s not for everyone, which is why we should always strive for an even better solution.</p><p>I stand by my point of view that, for instance, my dedicated ...<div
class=clear></div> <a
href="http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p>First of all, I&#039;d like to thank everyone who read and gave their 2 cents about the <a
href="http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/">[Wordpress Plugin Development] How To Include CSS and JavaScript Conditionally And Only When Needed By The Posts</a> post. The article was well received and will hopefully spark some optimizations around loading styles and scripts.</p><p>Here are some discussions and mentions around the web:</p><ul><li><a
href="http://weblogtoolscollection.com/archives/2010/01/15/how-to-include-css-and-javascript-conditionally/" rel="nofollow">an article</a> on Weblog Tools Collection</li><li><a
href="http://www.wptavern.com/forum/resources/1213-including-javascript-css-conditionally.html" rel="nofollow">a forum post</a> on WP Tavern</li><li><a
href="http://topsy.com/tb/ping.fm/DIM0S" rel="nofollow">twitter</a> retweets</li></ul><p>Sure, there are drawbacks to this method and it does require some more processing on the backend and it&#039;s not for everyone, which is why we should always strive for an even better solution.</p><p>I stand by my point of view that, for instance, my dedicated gallery shouldn&#039;t load for people who will never even go see my photos.</p><p>I think an ideal solution would be for WP core developers, who had a lot of experience designing WordPress&#039; internals and who know what can work and what can&#039;t, perhaps <a
href="http://www.ma.tt" rel="nofollow">Matt</a> included, to get together and think about a better solution really hard.</p><p>Conditional loading similar to the one discussed here is already possible in the admin area, which creates dynamic hooks by appending page ids to <strong><em>&#039;admin_print_styles&#039;</em></strong> and <strong><em>&#039;admin_print_scripts&#039;</em></strong>. It is, however, still not good enough to be used more generically because those hooks rely on the page you are on, rather than the content of that page.</p><p>Another possibility is using a PHP technique called <strong><em>output buffering</em></strong> (<a
href="http://php.net/manual/en/function.ob-start.php" rel="nofollow"><strong><em>ob_start()</em></strong></a>, <a
href="http://www.php.net/manual/en/function.ob-flush.php" rel="nofollow"><strong><em>ob_flush()</em></strong></a>, etc) that grants second chances to data that had already been echoed. It intercepts all echo and print calls and redirects them into a memory buffer, so instead of printing data to the page right away, you can now modify the header even if it had already been processed. It&#039;s like giving it a second chance.</p><p>Would it work for WordPress? I am not sure but I sure could use your feedback, devs.</p><p><div
class="note"><div
class="notetip"><strong>Update: </strong>Scribu, a WordPress master, <a
href="http://scribu.net/wordpress/optimal-script-loading.html" rel="nofollow">came up with the approach</a> that would at least handle loading JS, as it would put it in the footer, which can be done after the posts have been parsed.</p><p>His approach doesn&#039;t handle CSS which is why I decided to seek another solution but it doesn&#039;t require an extra pass through the posts and it benefits from using the shortcode API instead of stripos() or some hacky regex you&#039;d need to come up with.</p><p>It&#039;s a great compromise for developers who do not want to take the approach I outlined in the article linked at the top of this page.</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=Follow-up+To+Loading+CSS+And+JS+Conditionally&amp;link=http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/&amp;notes=First%20of%20all%2C%20I%27d%20like%20to%20thank%20everyone%20who%20read%20and%20gave%20their%202%20cents%20about%20the%20%5BWordpress%20Plugin%20Development%5D%20How%20To%20Include%20CSS%20and%20JavaScript%20Conditionally%20And%20Only%20When%20Needed%20By%20The%20Posts%20post.%20The%20article%20was%20well%20received%20and%20will%20hopefully%20spark%20some%20optimizations%20around%20loading%20styles%20an&amp;short_link=http://bit.ly/76og1l&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=Follow-up+To+Loading+CSS+And+JS+Conditionally&amp;link=http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/&amp;notes=First%20of%20all%2C%20I%27d%20like%20to%20thank%20everyone%20who%20read%20and%20gave%20their%202%20cents%20about%20the%20%5BWordpress%20Plugin%20Development%5D%20How%20To%20Include%20CSS%20and%20JavaScript%20Conditionally%20And%20Only%20When%20Needed%20By%20The%20Posts%20post.%20The%20article%20was%20well%20received%20and%20will%20hopefully%20spark%20some%20optimizations%20around%20loading%20styles%20an&amp;short_link=http://bit.ly/76og1l&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=Follow-up+To+Loading+CSS+And+JS+Conditionally&amp;link=http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/&amp;notes=First%20of%20all%2C%20I%27d%20like%20to%20thank%20everyone%20who%20read%20and%20gave%20their%202%20cents%20about%20the%20%5BWordpress%20Plugin%20Development%5D%20How%20To%20Include%20CSS%20and%20JavaScript%20Conditionally%20And%20Only%20When%20Needed%20By%20The%20Posts%20post.%20The%20article%20was%20well%20received%20and%20will%20hopefully%20spark%20some%20optimizations%20around%20loading%20styles%20an&amp;short_link=http://bit.ly/76og1l&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=Follow-up+To+Loading+CSS+And+JS+Conditionally&amp;link=http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/&amp;notes=First%20of%20all%2C%20I%27d%20like%20to%20thank%20everyone%20who%20read%20and%20gave%20their%202%20cents%20about%20the%20%5BWordpress%20Plugin%20Development%5D%20How%20To%20Include%20CSS%20and%20JavaScript%20Conditionally%20And%20Only%20When%20Needed%20By%20The%20Posts%20post.%20The%20article%20was%20well%20received%20and%20will%20hopefully%20spark%20some%20optimizations%20around%20loading%20styles%20an&amp;short_link=http://bit.ly/76og1l&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=Follow-up+To+Loading+CSS+And+JS+Conditionally&amp;link=http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/&amp;notes=First%20of%20all%2C%20I%27d%20like%20to%20thank%20everyone%20who%20read%20and%20gave%20their%202%20cents%20about%20the%20%5BWordpress%20Plugin%20Development%5D%20How%20To%20Include%20CSS%20and%20JavaScript%20Conditionally%20And%20Only%20When%20Needed%20By%20The%20Posts%20post.%20The%20article%20was%20well%20received%20and%20will%20hopefully%20spark%20some%20optimizations%20around%20loading%20styles%20an&amp;short_link=http://bit.ly/76og1l&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=Follow-up+To+Loading+CSS+And+JS+Conditionally&amp;link=http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/&amp;notes=First%20of%20all%2C%20I%27d%20like%20to%20thank%20everyone%20who%20read%20and%20gave%20their%202%20cents%20about%20the%20%5BWordpress%20Plugin%20Development%5D%20How%20To%20Include%20CSS%20and%20JavaScript%20Conditionally%20And%20Only%20When%20Needed%20By%20The%20Posts%20post.%20The%20article%20was%20well%20received%20and%20will%20hopefully%20spark%20some%20optimizations%20around%20loading%20styles%20an&amp;short_link=http://bit.ly/76og1l&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=Follow-up+To+Loading+CSS+And+JS+Conditionally&amp;link=http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/&amp;notes=First%20of%20all%2C%20I%27d%20like%20to%20thank%20everyone%20who%20read%20and%20gave%20their%202%20cents%20about%20the%20%5BWordpress%20Plugin%20Development%5D%20How%20To%20Include%20CSS%20and%20JavaScript%20Conditionally%20And%20Only%20When%20Needed%20By%20The%20Posts%20post.%20The%20article%20was%20well%20received%20and%20will%20hopefully%20spark%20some%20optimizations%20around%20loading%20styles%20an&amp;short_link=http://bit.ly/76og1l&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=Follow-up%20To%20Loading%20CSS%20And%20JS%20Conditionally&amp;link=http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/&amp;notes=First%20of%20all%2C%20I%27d%20like%20to%20thank%20everyone%20who%20read%20and%20gave%20their%202%20cents%20about%20the%20%5BWordpress%20Plugin%20Development%5D%20How%20To%20Include%20CSS%20and%20JavaScript%20Conditionally%20And%20Only%20When%20Needed%20By%20The%20Posts%20post.%20The%20article%20was%20well%20received%20and%20will%20hopefully%20spark%20some%20optimizations%20around%20loading%20styles%20an&amp;short_link=http://bit.ly/76og1l&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/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/" rel="bookmark" title="January 13, 2010">[WordPress Plugin Development] How To Include CSS and JavaScript Conditionally And Only When Needed By The Posts</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/2010/11/06/how-to-dynamically-increase-memory-limits-when-interfacing-with-wordpress-using-xml-rpc-windows-live-writer-etc/" rel="bookmark" title="November 6, 2010">How To Dynamically Increase Memory Limits When Interfacing With WordPress Using XML-RPC (Windows Live Writer, Etc)</a></li><li><a
href="http://beerpla.net/2010/01/31/how-to-remove-inline-hardcoded-recent-comments-sidebar-widget-style-from-your-wordpress-theme/" rel="bookmark" title="January 31, 2010">How To Remove Inline Hardcoded Recent Comments Sidebar Widget Style From Your WordPress Theme</a></li><li><a
href="http://beerpla.net/2012/04/13/how-to-fix-incomplete-wordpress-wxr-exports/" rel="bookmark" title="April 13, 2012">How To Fix Incomplete WordPress (WXR) Exports</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%2F15%2Ffollow-up-to-loading-css-and-js-conditionally%2F&amp;title=Follow-up%20To%20Loading%20CSS%20And%20JS%20Conditionally" 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/01/15/follow-up-to-loading-css-and-js-conditionally/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>[WordPress Plugin Development] How To Include CSS and JavaScript Conditionally And Only When Needed By The Posts</title><link>http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/</link> <comments>http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/#comments</comments> <pubDate>Wed, 13 Jan 2010 17:15:00 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Tips]]></category> <category><![CDATA[Tutorials]]></category> <category><![CDATA[Wordpress]]></category> <category><![CDATA[action]]></category> <category><![CDATA[admin_print_scripts]]></category> <category><![CDATA[admin_print_styles]]></category> <category><![CDATA[conditional]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[enqueue]]></category> <category><![CDATA[hook]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[js]]></category> <category><![CDATA[load]]></category> <category><![CDATA[optimization]]></category> <category><![CDATA[Performance]]></category> <category><![CDATA[script]]></category> <category><![CDATA[style]]></category> <category><![CDATA[time]]></category> <category><![CDATA[wp_enqueue_script]]></category> <category><![CDATA[wp_enqueue_style]]></category> <category><![CDATA[wp_print_scripts]]></category> <category><![CDATA[wp_print_styles]]></category> <guid
isPermaLink="false">http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/</guid> <description><![CDATA[<h2>Introduction</h2><p><img
style="margin: 0px 10px 10px 0px; display: inline" title="wordpress logo" alt="wordpress logo" align="left" src="http://beerpla.net/wp-content/uploads/WordpressPluginWritersTakeNoteHowToInclu_863C/image_3.png" width="150" height="150" /> In this tutorial, I am going to introduce a WordPress technique that I believe was unpublished until I <a
href="http://wordpress.org/support/topic/350167" rel="nofollow">raised the question</a> a few days ago on the WordPress forums.</p><p>In short, the problem I was trying to solve was <strong><em>plugins unnecessarily loading their JavaScript and CSS on *every* page of the blog, even when doing so would achieve absolutely nothing and the plugin wouldn&#039;t do any work</em></strong>.</p><p><div
class="note"><div
class="notetip"><strong>Update #1:</strong> I have posted a <a
href="http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/">follow-up</a> in response to some comments received around the web.</div></div></p><p><div
class="note"><div
class="notetip"><strong>Update #2:</strong> There is a solution that can be considered a compromise as it works well for loading JavaScript but doesn&#039;t handle CSS.</div></div></p><p>I briefly mentioned this approach here but but Scribu decided to expand ...<div
class=clear></div> <a
href="http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/" 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><img
style="margin: 0px 10px 10px 0px; display: inline" title="wordpress logo" alt="wordpress logo" align="left" src="http://beerpla.net/wp-content/uploads/WordpressPluginWritersTakeNoteHowToInclu_863C/image_3.png" width="150" height="150" /> In this tutorial, I am going to introduce a WordPress technique that I believe was unpublished until I <a
href="http://wordpress.org/support/topic/350167" rel="nofollow">raised the question</a> a few days ago on the WordPress forums.</p><p>In short, the problem I was trying to solve was <strong><em>plugins unnecessarily loading their JavaScript and CSS on *every* page of the blog, even when doing so would achieve absolutely nothing and the plugin wouldn&#039;t do any work</em></strong>.</p><p><div
class="note"><div
class="notetip"><strong>Update #1:</strong> I have posted a <a
href="http://beerpla.net/2010/01/15/follow-up-to-loading-css-and-js-conditionally/">follow-up</a> in response to some comments received around the web.</div></div></p><p><div
class="note"><div
class="notetip"><strong>Update #2:</strong> There is a solution that can be considered a compromise as it works well for loading JavaScript but doesn&#039;t handle CSS.</p><p>I briefly mentioned this approach here but but Scribu decided to expand on it by providing a nice Jedi-themed tutorial. It is available <a
href="http://scribu.net/wordpress/optimal-script-loading.html" rel="nofollow">here</a>.</div></div></p><p>Let me explain using this example:</p><ul><li>a code formatter plugin only does something useful when it sees a [code] shortcode in any post on the page.</li><li>most of your posts do not contain the [code] shortcode as you don't include code snippets that often or you only started using this particular plugin recently.</li><li>the plugin, however, loads the CSS and JS (which are most likely <a
href="http://qbnz.com/highlighter/" rel="nofollow">GeSHi</a> and take up loads of space) on every page.</li><li>these CSS and JS do absolutely nothing on most page loads.</li><li>bandwidth is wasted, extra DNS and HTTP requests are processed, the browser is slowed down, and for what? For no good reason, other than the plugin author didn't know how to achieve this conditional loading.</li></ul><p>If you think about it, there are many plugins that only do something once in a blue moon. Table of contents, text manipulators, galleries, sliders, etc, etc. If only they loaded their frontend code strictly when necessary, most page loads would suddenly become much lighter.</p><p>So what can we do to solve this? Let's look at a few techniques.</p><h2>Loading CSS And JS In Place?</h2><p>Here's one, albeit pretty bad, solution - only print the CSS and JS includes if and when you determine somewhere in the middle of loading the posts that the scripts and styles are indeed needed, then set a flag to avoid printing them again. In our example, that would be when the plugin detects the [code] shortcode.</p><p>This, however, is a mediocre solution because, while it's not a bad idea to load Javascript in the footer, <a
href="http://developer.yahoo.com/performance/rules.html" rel="nofollow">CSS should be loaded in the header</a>, otherwise the page might look unformatted until the CSS is reached.</p><p>Additionally, it's not the cleanest and most robust solution because you shouldn't be writing &lt;script&gt; and &lt;style&gt; tags manually but rather using <a
href="http://codex.wordpress.org/Function_Reference/wp_enqueue_style" rel="nofollow">wp_enqueue_style()</a> and <a
href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script" rel="nofollow">wp_enqueue_script()</a> functions.</p><h2>What's This About wp_enqueue_FOO?</h2><p>Now, you might say: &quot;What's this about <strong><em>wp_enqueue_style()</em></strong>, <strong><em>wp_enqueue_script()</em></strong>, and then hooking into <strong><em>'wp_print_scripts'</em></strong>, <strong><em>'wp_print_styles'</em></strong>, <strong><em>'admin_print_scripts'</em></strong>, and <strong><em>'admin_print_styles'</em></strong> hooks&quot;? You know about these, right? Right??</p><p>Allow me to explain this, in my opinion, greatest and most underused WordPress paradigm in a short refresher:</p><p><div
class="note"><div
class="noteclassic">WordPress has a great system of queuing up the scripts and styles your script will need to use and printing them all in one go, rather than hooking into wp_head and printing &lt;style&gt; and &lt;script&gt; tags manually.</p><p>This queuing system achieves 2 main goals:</p><ul><li>the <strong><em>same scripts are not loaded multiple times</em></strong>, such as <a
href="http://jquery.com/" rel="nofollow">jQuery</a>, <a
href="http://script.aculo.us/" rel="nofollow">scriptaculous</a>, or any other custom script or style your plugins may share between each other or even other plugins.</li><li>it introduces support for establishing <strong><em>dependencies</em></strong>. You can specify that your script or style depends on another script or style, and WordPress will take care of loading them in the right order. Guaranteed.</li><li>oh what the hell, here's a 3rd one: <strong><em>elegance</em></strong>.</li></ul><p>Here is the way this usually works:</p><ul><li>in the beginning of your plugin you attach to <strong><em>wp_print_scripts</em></strong> and/or <strong><em>wp_print_styles</em></strong> hooks. For example:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
</pre></td><td
class="code"><pre>add_action( 'wp_print_scripts', 'enqueue_my_scripts' );
add_action( 'wp_print_styles', 'enqueue_my_styles' );</pre></td></tr></table></div><p>What this will do is call the functions in the 2nd parameter when it's time to execute any functions associated with the hooks in the 1st parameter. It is the main principle behind the WordPress plugin architecture.</li><li>looking at the script example, in the <strong><em>enqueue_my_scripts()</em></strong> function, you can do something like:<div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
</pre></td><td
class="code"><pre>wp_enqueue_script( 'my_awesome_script', '/script.js', array( 'jquery' ));</pre></td></tr></table></div><p>which would queue up your script to be printed later but only after jQuery.</p><p>If you or some other plugin calls <strong><em>wp_enqueue_script()</em></strong> with the same first parameter (unique handle), it will just be ignored, rather than printed to the page twice.</li><li>styles are exactly the same, except you use <strong><em>wp_enqueue_style()</em></strong></li></ul><p>There is a variation of this functionality for the admin styles and scripts - all you have to do is change the hooks to <strong><em>admin_print_styles</em></strong> and <strong><em>admin_print_scripts</em></strong>. Ozh made a nice post on this topic <a
href="http://planetozh.com/blog/2008/04/how-to-load-javascript-with-your-wordpress-plugin/" rel="nofollow">here</a> - check it out.</p><p></div></div></p><h2>Enqueuing Alone Is Not Enough</h2><p>Enqueuing is great for loading your JS and CSS but using it alone doesn't achieve the conditional behavior that we are looking for here.</p><p>This is a classic case of Chicken or the Egg, because WordPress makes only one pass through all of the content.</p><p>You see, since the header needs to be printed before the content, <strong><em>wp_print_scripts</em></strong> and <strong><em>wp_print_styles</em></strong> hooks are triggered before you even get to the posts. If you enqueue a script or style from within the 'the_content' hook, for example, the queued up scripts and styles will never get printed. It's too late to print them then anyway, as you're already in the middle of printing the posts.</p><h2>The Solution</h2><p>What we need to do is take a step back, before even printing the header, and then peek ahead.</p><p>Sure, this adds an extra pass over some data, but since no filters are applied during this process and if you avoid regular expressions (using stripos(), for example), this extra pass should be quite negligible.</p><p><div
class="note"><div
class="notewarning">A word of warning though: I'd rather see false positives (enqueuing when it's not needed) than false negatives (miss enqueuing when it's needed), so please do your matching wisely and test well.</div></div></p><p>The upside, however, can be potentially very substantial.</p><p>Credit goes to <a
href="http://twitter.com/white_shadow" rel="nofollow">@white_shadow</a> for the idea.</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td
class="code"><pre>add_filter('the_posts', 'conditionally_add_scripts_and_styles'); // the_posts gets triggered before wp_head
function conditionally_add_scripts_and_styles($posts){
	if (empty($posts)) return $posts;
&nbsp;
	$shortcode_found = false; // use this flag to see if styles and scripts need to be enqueued
	foreach ($posts as $post) {
		if (stripos($post-&gt;post_content, '[code]') !== false) {
			$shortcode_found = true; // bingo!
			break;
		}
	}
&nbsp;
	if ($shortcode_found) {
		// enqueue here
		wp_enqueue_style('my-style', '/style.css');
		wp_enqueue_script('my-script', '/script.js');
	}
&nbsp;
	return $posts;
}</pre></td></tr></table></div><p>This simple function fires before the header gets printed, as it's attached to the 'the_posts' hook. However, this time it has full access to the posts' content.</p><p>I have tested this method and it works really well - if you have heavy scripts in your plugin, please do us, users, a favor and incorporate this logic into it.</p><h2>Conclusion</h2><p>In this tutorial, you have seen a method of loading scripts and styles for you plugin conditionally. This technique allows for less bloated pages and faster page loads.</p><p>Plugin developers, what is your take on this solution? Do you use another method? Please share in the comments.</p><div
class='post_blob_1'>Our <a
href="http://www.test-king.com/exams/HP0-D07.htm">HP0-D07</a> study guides will help you to pass your <a
href="http://www.test-king.com/exams/642-436.htm">642-436</a> and <a
href="http://www.test-king.com/exams/640-816.htm">640-816</a> exam on first attempt guaranteed.</div><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=%5BWordpress+Plugin+Development%5D+How+To+Include+CSS+and+JavaScript+Conditionally+And+Only+When+Needed+By+The+Posts&amp;link=http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/&amp;notes=Introduction%0D%0A%20In%20this%20tutorial%2C%20I%20am%20going%20to%20introduce%20a%20Wordpress%20technique%20that%20I%20believe%20was%20unpublished%20until%20I%20raised%20the%20question%20a%20few%20days%20ago%20on%20the%20Wordpress%20forums.%0D%0AIn%20short%2C%20the%20problem%20I%20was%20trying%20to%20solve%20was%20plugins%20unnecessarily%20loading%20their%20JavaScript%20and%20CSS%20on%20%2Aevery%2A%20page%20of&amp;short_link=http://bit.ly/aH8tGB&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=%5BWordpress+Plugin+Development%5D+How+To+Include+CSS+and+JavaScript+Conditionally+And+Only+When+Needed+By+The+Posts&amp;link=http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/&amp;notes=Introduction%0D%0A%20In%20this%20tutorial%2C%20I%20am%20going%20to%20introduce%20a%20Wordpress%20technique%20that%20I%20believe%20was%20unpublished%20until%20I%20raised%20the%20question%20a%20few%20days%20ago%20on%20the%20Wordpress%20forums.%0D%0AIn%20short%2C%20the%20problem%20I%20was%20trying%20to%20solve%20was%20plugins%20unnecessarily%20loading%20their%20JavaScript%20and%20CSS%20on%20%2Aevery%2A%20page%20of&amp;short_link=http://bit.ly/aH8tGB&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=%5BWordpress+Plugin+Development%5D+How+To+Include+CSS+and+JavaScript+Conditionally+And+Only+When+Needed+By+The+Posts&amp;link=http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/&amp;notes=Introduction%0D%0A%20In%20this%20tutorial%2C%20I%20am%20going%20to%20introduce%20a%20Wordpress%20technique%20that%20I%20believe%20was%20unpublished%20until%20I%20raised%20the%20question%20a%20few%20days%20ago%20on%20the%20Wordpress%20forums.%0D%0AIn%20short%2C%20the%20problem%20I%20was%20trying%20to%20solve%20was%20plugins%20unnecessarily%20loading%20their%20JavaScript%20and%20CSS%20on%20%2Aevery%2A%20page%20of&amp;short_link=http://bit.ly/aH8tGB&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=%5BWordpress+Plugin+Development%5D+How+To+Include+CSS+and+JavaScript+Conditionally+And+Only+When+Needed+By+The+Posts&amp;link=http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/&amp;notes=Introduction%0D%0A%20In%20this%20tutorial%2C%20I%20am%20going%20to%20introduce%20a%20Wordpress%20technique%20that%20I%20believe%20was%20unpublished%20until%20I%20raised%20the%20question%20a%20few%20days%20ago%20on%20the%20Wordpress%20forums.%0D%0AIn%20short%2C%20the%20problem%20I%20was%20trying%20to%20solve%20was%20plugins%20unnecessarily%20loading%20their%20JavaScript%20and%20CSS%20on%20%2Aevery%2A%20page%20of&amp;short_link=http://bit.ly/aH8tGB&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=%5BWordpress+Plugin+Development%5D+How+To+Include+CSS+and+JavaScript+Conditionally+And+Only+When+Needed+By+The+Posts&amp;link=http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/&amp;notes=Introduction%0D%0A%20In%20this%20tutorial%2C%20I%20am%20going%20to%20introduce%20a%20Wordpress%20technique%20that%20I%20believe%20was%20unpublished%20until%20I%20raised%20the%20question%20a%20few%20days%20ago%20on%20the%20Wordpress%20forums.%0D%0AIn%20short%2C%20the%20problem%20I%20was%20trying%20to%20solve%20was%20plugins%20unnecessarily%20loading%20their%20JavaScript%20and%20CSS%20on%20%2Aevery%2A%20page%20of&amp;short_link=http://bit.ly/aH8tGB&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=%5BWordpress+Plugin+Development%5D+How+To+Include+CSS+and+JavaScript+Conditionally+And+Only+When+Needed+By+The+Posts&amp;link=http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/&amp;notes=Introduction%0D%0A%20In%20this%20tutorial%2C%20I%20am%20going%20to%20introduce%20a%20Wordpress%20technique%20that%20I%20believe%20was%20unpublished%20until%20I%20raised%20the%20question%20a%20few%20days%20ago%20on%20the%20Wordpress%20forums.%0D%0AIn%20short%2C%20the%20problem%20I%20was%20trying%20to%20solve%20was%20plugins%20unnecessarily%20loading%20their%20JavaScript%20and%20CSS%20on%20%2Aevery%2A%20page%20of&amp;short_link=http://bit.ly/aH8tGB&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=%5BWordpress+Plugin+Development%5D+How+To+Include+CSS+and+JavaScript+Conditionally+And+Only+When+Needed+By+The+Posts&amp;link=http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/&amp;notes=Introduction%0D%0A%20In%20this%20tutorial%2C%20I%20am%20going%20to%20introduce%20a%20Wordpress%20technique%20that%20I%20believe%20was%20unpublished%20until%20I%20raised%20the%20question%20a%20few%20days%20ago%20on%20the%20Wordpress%20forums.%0D%0AIn%20short%2C%20the%20problem%20I%20was%20trying%20to%20solve%20was%20plugins%20unnecessarily%20loading%20their%20JavaScript%20and%20CSS%20on%20%2Aevery%2A%20page%20of&amp;short_link=http://bit.ly/aH8tGB&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=%5BWordpress%20Plugin%20Development%5D%20How%20To%20Include%20CSS%20and%20JavaScript%20Conditionally%20And%20Only%20When%20Needed%20By%20The%20Posts&amp;link=http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/&amp;notes=Introduction%0D%0A%20In%20this%20tutorial%2C%20I%20am%20going%20to%20introduce%20a%20Wordpress%20technique%20that%20I%20believe%20was%20unpublished%20until%20I%20raised%20the%20question%20a%20few%20days%20ago%20on%20the%20Wordpress%20forums.%0D%0AIn%20short%2C%20the%20problem%20I%20was%20trying%20to%20solve%20was%20plugins%20unnecessarily%20loading%20their%20JavaScript%20and%20CSS%20on%20%2Aevery%2A%20page%20of&amp;short_link=http://bit.ly/aH8tGB&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/15/follow-up-to-loading-css-and-js-conditionally/" rel="bookmark" title="January 15, 2010">Follow-up To Loading CSS And JS Conditionally</a></li><li><a
href="http://beerpla.net/2010/01/31/how-to-remove-inline-hardcoded-recent-comments-sidebar-widget-style-from-your-wordpress-theme/" rel="bookmark" title="January 31, 2010">How To Remove Inline Hardcoded Recent Comments Sidebar Widget Style From Your WordPress Theme</a></li><li><a
href="http://beerpla.net/2010/11/06/how-to-dynamically-increase-memory-limits-when-interfacing-with-wordpress-using-xml-rpc-windows-live-writer-etc/" rel="bookmark" title="November 6, 2010">How To Dynamically Increase Memory Limits When Interfacing With WordPress Using XML-RPC (Windows Live Writer, Etc)</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/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/" rel="bookmark" title="February 20, 2010">How To View A Specific SVN Revision In Your Browser</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%2F13%2Fwordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts%2F&amp;title=%5BWordPress%20Plugin%20Development%5D%20How%20To%20Include%20CSS%20and%20JavaScript%20Conditionally%20And%20Only%20When%20Needed%20By%20The%20Posts" 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/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/feed/</wfw:commentRss> <slash:comments>58</slash:comments> </item> <item><title>Supercharge Your GNU Screen With A Power &quot;Taskbar&quot; And Never Feel Lost Again</title><link>http://beerpla.net/2009/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/</link> <comments>http://beerpla.net/2009/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/#comments</comments> <pubDate>Tue, 06 Oct 2009 14:30:00 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[My Favorites]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[bandwidth]]></category> <category><![CDATA[bar]]></category> <category><![CDATA[gnu]]></category> <category><![CDATA[gnu screen]]></category> <category><![CDATA[load]]></category> <category><![CDATA[manage]]></category> <category><![CDATA[screen]]></category> <category><![CDATA[screenrc]]></category> <category><![CDATA[taskbar]]></category> <category><![CDATA[time]]></category> <category><![CDATA[tip]]></category> <category><![CDATA[trick]]></category> <category><![CDATA[windows]]></category> <category><![CDATA[wormulon]]></category> <guid
isPermaLink="false">http://beerpla.net/?p=1154</guid> <description><![CDATA[<h2>Introduction</h2><p><img
style="margin: 0px 10px 10px 0px; display: inline" title="image" alt="image" align="left" src="http://beerpla.net/wp-content/uploads/SuperchargeYourGNUScreenWithAPowerBar_B381/image_thumb_3.png" width="240" height="24" /><a
href="http://www.gnu.org/software/screen/" rel="nofollow"><em>Screen</em></a> is awesome. Once you become comfortable navigating around it, you start using it ALL the time. No more dropped sessions, no having 10 Putty windows open at the same time, no more nohup.</p><p>However, with default <em>screen </em>settings I&#039;ve always felt a bit lost and out of place, mostly because there was no &#34;taskbar&#34; with a bird&#039;s eye view of all windows. Pressing <em>ctrl-a, &#34;</em> really does get annoying fast (that&#039;s the command that brings up the window selector &#8211; screenshot below).</p><p><img
style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://beerpla.net/wp-content/uploads/SuperchargeYourGNUScreenWithAPowerBar_B381/image_thumb.png" width="153" height="117" /></p><p>So instead I modded my <em>screen</em> to have a &#34;taskbar&#34; which sits at the bottom of <em>screen</em> and adds:</p><ul><li>the name of each window</li><li>a clear marking of window states, such as<ul><li>the currently active window</li></ul></li>...<div
class=clear></div> <a
href="http://beerpla.net/2009/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></ul>]]></description> <content:encoded><![CDATA[<h2>Introduction</h2><p><img
style="margin: 0px 10px 10px 0px; display: inline" title="image" alt="image" align="left" src="http://beerpla.net/wp-content/uploads/SuperchargeYourGNUScreenWithAPowerBar_B381/image_thumb_3.png" width="240" height="24" /><a
href="http://www.gnu.org/software/screen/" rel="nofollow"><em>Screen</em></a> is awesome. Once you become comfortable navigating around it, you start using it ALL the time. No more dropped sessions, no having 10 Putty windows open at the same time, no more nohup.</p><p>However, with default <em>screen </em>settings I&#039;ve always felt a bit lost and out of place, mostly because there was no &quot;taskbar&quot; with a bird&#039;s eye view of all windows. Pressing <em>ctrl-a, &quot;</em> really does get annoying fast (that&#039;s the command that brings up the window selector &#8211; screenshot below).</p><p><img
style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://beerpla.net/wp-content/uploads/SuperchargeYourGNUScreenWithAPowerBar_B381/image_thumb.png" width="153" height="117" /></p><p>So instead I modded my <em>screen</em> to have a &quot;taskbar&quot; which sits at the bottom of <em>screen</em> and adds:</p><ul><li>the name of each window</li><li>a clear marking of window states, such as<ul><li>the currently active window (* and different background)</li><li>last used window (-)</li><li>if you&#039;re sharing the current window with someone else (&amp;)</li></ul></li><li>the current incoming/outgoing bandwidth in bytes/sec, updating every 5 seconds</li><li>the current time</li><li>the load on the server, as reported by the <em>uptime</em> or <em>w</em> commands</li></ul><p>Of course, all of the above is customizable to your liking, but this is what I picked for myself.</p><p>Without further ado, here&#039;s a screenshot:</p><p><a
href="http://beerpla.net/wp-content/uploads/SuperchargeYourGNUScreenWithAPowerBar_B381/image_3.png" class="lightview" rel="gallery['1154']" title="screen power taskbar"><img
style="display: block; float: none; margin-left: auto; margin-right: auto" title="screen power taskbar" alt="screen power taskbar" src="http://beerpla.net/wp-content/uploads/SuperchargeYourGNUScreenWithAPowerBar_B381/image_thumb_3.png" width="700" height="71" /></a></p><p>Doesn&#039;t that make you feel much more homey?</p><p>Now using a shared <em>screen </em>session for pair programming, as suggested in a <a
href="http://haruska.com/2009/09/29/remote-pair-programming/" rel="nofollow">recent article</a> posted on <a
href="http://news.ycombinator.com" rel="nofollow">Hacker News</a>, suddenly sounds even more appealing.</p><p><div
class="note"><div
class="notetip">Did you know you could rename each individual window within screen? Just press ctrl-a A and enter a new name.</div></div></p><h2>Installation</h2><p>Here&#039;s what you need to get this bar on your <em>screen</em>:</p><ul><li>download my <a
href="http://beerpla.net/downloads/.screenrc">.screenrc</a> (0 B, downloaded 964 times) and put it in your home directory. Make sure the location of wormulon (installed in the next step) is correct. Also, specify the right network interface (eth0 in most cases). <br
/>Here is the file, for reference:</li></ul><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td
class="code"><pre># Monitor eth0 bandwidth and update every 5 s
# Assign the output of this cmd to '%1`' and use it in the below hardstatus line:
backtick 1 0 0 /usr/local/bin/wormulon -d 5 -i eth0
&nbsp;
hardstatus alwayslastline &quot;%{bw}[%H] [%?%-Lw%?%{wb}%n*%f %t%{bw}%?%+Lw%?]%=%{bw} [%1`] [%c:%s] [%l]&quot; # modified from http://lists.gnu.org/archive/html/screen-users/2007-08/msg00008.html
&nbsp;
# Set the scrollback length:
defscrollback 10000
&nbsp;
# Select whether you want to see the copyright notice during startup:
startup_message off</pre></td></tr></table></div><ul><li>download and compile <em>wormulon</em> (<a
href="http://beerpla.net/downloads/wormulon-0.1.4.tar.gz">wormulon-0.1.4.tar.gz</a> 45.3 kB, downloaded 473 times or from a <a
href="http://www.sourcefiles.org/Monitoring/Network/wormulon-0.1.4.tar.gz" rel="nofollow">mirror</a>) &#8211; a nifty little program that shows incoming and outgoing bandwidth and is perfect for integrating with <em>screen</em>. You can omit this step if you don&#039;t want the bandwidth monitor. I know the name is a bit odd but it&#039;s a legit little open source utility &#8211; feel free to check out the code.</li></ul><div
class="wp_syntax"><div
class="code"><pre>tar xvzf wormulon-0.1.4.tar.gz
cd wormulon-0.1.4/
./configure &amp;&amp; make
sudo make install # this installs into /usr/local/bin/;
                  # alternatively, copy the wormulon binary wherever you
                  # want and update the path in .screenrc</pre></div></div><p>Now restart screen and you&#039;re good to go.</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Supercharge+Your+GNU+Screen+With+A+Power+%26quot%3BTaskbar%26quot%3B+And+Never+Feel+Lost+Again&amp;link=http://beerpla.net/2009/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/&amp;notes=Introduction%0D%0AScreen%20is%20awesome.%20Once%20you%20become%20comfortable%20navigating%20around%20it%2C%20you%20start%20using%20it%20ALL%20the%20time.%20No%20more%20dropped%20sessions%2C%20no%20having%2010%20Putty%20windows%20open%20at%20the%20same%20time%2C%20no%20more%20nohup.%0D%0AHowever%2C%20with%20default%20screen%20settings%20I%27ve%20always%20felt%20a%20bit%20lost%20and%20out%20of%20place%2C%20mostly%20b&amp;short_link=http://bit.ly/dBSHMa&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=Supercharge+Your+GNU+Screen+With+A+Power+%26quot%3BTaskbar%26quot%3B+And+Never+Feel+Lost+Again&amp;link=http://beerpla.net/2009/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/&amp;notes=Introduction%0D%0AScreen%20is%20awesome.%20Once%20you%20become%20comfortable%20navigating%20around%20it%2C%20you%20start%20using%20it%20ALL%20the%20time.%20No%20more%20dropped%20sessions%2C%20no%20having%2010%20Putty%20windows%20open%20at%20the%20same%20time%2C%20no%20more%20nohup.%0D%0AHowever%2C%20with%20default%20screen%20settings%20I%27ve%20always%20felt%20a%20bit%20lost%20and%20out%20of%20place%2C%20mostly%20b&amp;short_link=http://bit.ly/dBSHMa&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=Supercharge+Your+GNU+Screen+With+A+Power+%26quot%3BTaskbar%26quot%3B+And+Never+Feel+Lost+Again&amp;link=http://beerpla.net/2009/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/&amp;notes=Introduction%0D%0AScreen%20is%20awesome.%20Once%20you%20become%20comfortable%20navigating%20around%20it%2C%20you%20start%20using%20it%20ALL%20the%20time.%20No%20more%20dropped%20sessions%2C%20no%20having%2010%20Putty%20windows%20open%20at%20the%20same%20time%2C%20no%20more%20nohup.%0D%0AHowever%2C%20with%20default%20screen%20settings%20I%27ve%20always%20felt%20a%20bit%20lost%20and%20out%20of%20place%2C%20mostly%20b&amp;short_link=http://bit.ly/dBSHMa&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=Supercharge+Your+GNU+Screen+With+A+Power+%26quot%3BTaskbar%26quot%3B+And+Never+Feel+Lost+Again&amp;link=http://beerpla.net/2009/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/&amp;notes=Introduction%0D%0AScreen%20is%20awesome.%20Once%20you%20become%20comfortable%20navigating%20around%20it%2C%20you%20start%20using%20it%20ALL%20the%20time.%20No%20more%20dropped%20sessions%2C%20no%20having%2010%20Putty%20windows%20open%20at%20the%20same%20time%2C%20no%20more%20nohup.%0D%0AHowever%2C%20with%20default%20screen%20settings%20I%27ve%20always%20felt%20a%20bit%20lost%20and%20out%20of%20place%2C%20mostly%20b&amp;short_link=http://bit.ly/dBSHMa&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=Supercharge+Your+GNU+Screen+With+A+Power+%26quot%3BTaskbar%26quot%3B+And+Never+Feel+Lost+Again&amp;link=http://beerpla.net/2009/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/&amp;notes=Introduction%0D%0AScreen%20is%20awesome.%20Once%20you%20become%20comfortable%20navigating%20around%20it%2C%20you%20start%20using%20it%20ALL%20the%20time.%20No%20more%20dropped%20sessions%2C%20no%20having%2010%20Putty%20windows%20open%20at%20the%20same%20time%2C%20no%20more%20nohup.%0D%0AHowever%2C%20with%20default%20screen%20settings%20I%27ve%20always%20felt%20a%20bit%20lost%20and%20out%20of%20place%2C%20mostly%20b&amp;short_link=http://bit.ly/dBSHMa&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=Supercharge+Your+GNU+Screen+With+A+Power+%26quot%3BTaskbar%26quot%3B+And+Never+Feel+Lost+Again&amp;link=http://beerpla.net/2009/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/&amp;notes=Introduction%0D%0AScreen%20is%20awesome.%20Once%20you%20become%20comfortable%20navigating%20around%20it%2C%20you%20start%20using%20it%20ALL%20the%20time.%20No%20more%20dropped%20sessions%2C%20no%20having%2010%20Putty%20windows%20open%20at%20the%20same%20time%2C%20no%20more%20nohup.%0D%0AHowever%2C%20with%20default%20screen%20settings%20I%27ve%20always%20felt%20a%20bit%20lost%20and%20out%20of%20place%2C%20mostly%20b&amp;short_link=http://bit.ly/dBSHMa&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=Supercharge+Your+GNU+Screen+With+A+Power+%26quot%3BTaskbar%26quot%3B+And+Never+Feel+Lost+Again&amp;link=http://beerpla.net/2009/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/&amp;notes=Introduction%0D%0AScreen%20is%20awesome.%20Once%20you%20become%20comfortable%20navigating%20around%20it%2C%20you%20start%20using%20it%20ALL%20the%20time.%20No%20more%20dropped%20sessions%2C%20no%20having%2010%20Putty%20windows%20open%20at%20the%20same%20time%2C%20no%20more%20nohup.%0D%0AHowever%2C%20with%20default%20screen%20settings%20I%27ve%20always%20felt%20a%20bit%20lost%20and%20out%20of%20place%2C%20mostly%20b&amp;short_link=http://bit.ly/dBSHMa&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=Supercharge%20Your%20GNU%20Screen%20With%20A%20Power%20%26quot%3BTaskbar%26quot%3B%20And%20Never%20Feel%20Lost%20Again&amp;link=http://beerpla.net/2009/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/&amp;notes=Introduction%0D%0AScreen%20is%20awesome.%20Once%20you%20become%20comfortable%20navigating%20around%20it%2C%20you%20start%20using%20it%20ALL%20the%20time.%20No%20more%20dropped%20sessions%2C%20no%20having%2010%20Putty%20windows%20open%20at%20the%20same%20time%2C%20no%20more%20nohup.%0D%0AHowever%2C%20with%20default%20screen%20settings%20I%27ve%20always%20felt%20a%20bit%20lost%20and%20out%20of%20place%2C%20mostly%20b&amp;short_link=http://bit.ly/dBSHMa&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/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/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/2010/09/29/how-to-update-eclipse-from-galileo-3-5-to-helios-3-6-in-place-without-reinstalling/" rel="bookmark" title="September 29, 2010">How To Update Eclipse From Galileo (3.5) To Helios (3.6) In-Place Without Reinstalling</a></li><li><a
href="http://beerpla.net/2008/12/22/mastering-the-linux-shell-bash-shortcuts-explained/" rel="bookmark" title="December 22, 2008">Mastering The Linux Shell &#8211; Bash Shortcuts Explained (Now With Cheat Sheets)</a></li><li><a
href="http://beerpla.net/2007/08/10/how-to-resizegrow-vmware-linux-disks-and-partitions/" rel="bookmark" title="August 10, 2007">How To Resize/Grow VMware Linux Disks and Partitions</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%2F10%2F06%2Fsupercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again%2F&amp;title=Supercharge%20Your%20GNU%20Screen%20With%20A%20Power%20%26quot%3BTaskbar%26quot%3B%20And%20Never%20Feel%20Lost%20Again" 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/10/06/supercharge-your-gnu-screen-with-a-power-taskbar-and-never-feel-lost-again/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Firefox Being Slow, Especially Switching Tabs, High CPU Load, Memory Problems? Are You Using Firecookie For Firebug?</title><link>http://beerpla.net/2009/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/</link> <comments>http://beerpla.net/2009/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/#comments</comments> <pubDate>Wed, 13 May 2009 14:00:00 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Programming]]></category> <category><![CDATA[cpu]]></category> <category><![CDATA[fire cookie]]></category> <category><![CDATA[firebug]]></category> <category><![CDATA[firecookie]]></category> <category><![CDATA[Firefox]]></category> <category><![CDATA[high]]></category> <category><![CDATA[hog]]></category> <category><![CDATA[load]]></category> <category><![CDATA[memory]]></category> <category><![CDATA[slow]]></category> <category><![CDATA[slowdown]]></category> <category><![CDATA[switch]]></category> <category><![CDATA[tab]]></category> <guid
isPermaLink="false">http://beerpla.net/2009/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/</guid> <description><![CDATA[<h3><a
href="http://beerpla.net/wp-content/uploads/FirefoxBeingSlowEspeciallySwitchingTabsH_11090/image.png" class="lightview" rel="gallery['963']" title="image"><img
title="image" style="display: inline; margin: 5px 10px 5px 0px" height="110" alt="image" src="http://beerpla.net/wp-content/uploads/FirefoxBeingSlowEspeciallySwitchingTabsH_11090/image_thumb.png" width="164" align="left" /></a> The Problem</h3><p>I use a lot of extensions. <a
href="http://beerpla.net/2009/04/11/essential-firefox-extensions-plugins-add-ons-and-tips-a-comprehensive-guide-part-1-tips/" rel="nofollow">A LOT</a>. They slow down my Firefox while giving something useful in return. Most of them are harmless and do not affect the speed too much but there are select few that are just CPU, memory, and performance hogs.</p><p>Until Firefox gets an extension manager that can show what the impact from each extension on time/CPU/memory is, one can resort to guessing, disabling, testing, and looking for clues to find these conniving little bastards.</p><p>Anyway, so where was I? Recently, my Firefox became increasingly unresponsive, especially when switching tabs. After some time, it was a pain to switch tabs altogether, so I had to resort to restarting the browser, only to ...<div
class=clear></div> <a
href="http://beerpla.net/2009/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<h3><a
href="http://beerpla.net/wp-content/uploads/FirefoxBeingSlowEspeciallySwitchingTabsH_11090/image.png" class="lightview" rel="gallery['963']" title="image"><img
title="image" style="display: inline; margin: 5px 10px 5px 0px" height="110" alt="image" src="http://beerpla.net/wp-content/uploads/FirefoxBeingSlowEspeciallySwitchingTabsH_11090/image_thumb.png" width="164" align="left" /></a> The Problem</h3><p>I use a lot of extensions. <a
href="http://beerpla.net/2009/04/11/essential-firefox-extensions-plugins-add-ons-and-tips-a-comprehensive-guide-part-1-tips/" rel="nofollow">A LOT</a>. They slow down my Firefox while giving something useful in return. Most of them are harmless and do not affect the speed too much but there are select few that are just CPU, memory, and performance hogs.</p><p>Until Firefox gets an extension manager that can show what the impact from each extension on time/CPU/memory is, one can resort to guessing, disabling, testing, and looking for clues to find these conniving little bastards.</p><p>Anyway, so where was I? Recently, my Firefox became increasingly unresponsive, especially when switching tabs. After some time, it was a pain to switch tabs altogether, so I had to resort to restarting the browser, only to find the same problem coming back again and again. Today, I finally got a clue &#8211; a bunch of such messages came on mentioning this unresponsive sript and prompting me to stop it:</p><div
align="center">chrome://firecookie/content/fireCookie.js:2881</div><div
align="center">chrome://firecookie/content/fireCookie.js:3156</div><div
align="center">chrome://firecookie/content/fireCookie.js:3794</div><p><a
href="http://addons.mozilla.org/en-US/firefox/addon/6683" rel="nofollow">Firecookie</a> (0.8 at the time of this writing). Arrr!</p><p>Quickly, I googled the problem and sure enough &#8211; other people are suffering from <a
href="http://code.google.com/p/firecookie/issues/detail?id=13" rel="nofollow">the same problem</a>.</p><p>Firecookie adds support for managing cookies directly from within Firebug and is quite handy. However, not handy enough to kill my browser on a daily basis, even with cookie handling turned off within Firebug itself.</p><h3>The Result</h3><p>I am pleased to report that after uninstalling Firecookie, my Firefox is noticeably faster switching tabs, does not hang, and does not use as much CPU. I do not know what the developer of Firecookie is going to do about it as he <a
href="http://code.google.com/p/firecookie/issues/detail?id=13#c11" rel="nofollow">does not seem to be able to reproduce the issue</a>. Until then, goodbye frustration and hello&#8230; <a
href="https://addons.mozilla.org/en-US/firefox/search?q=cookie&amp;cat=all" rel="nofollow">whatever other extensions</a> handle cookies.</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Firefox+Being+Slow%2C+Especially+Switching+Tabs%2C+High+CPU+Load%2C+Memory+Problems%3F+Are+You+Using+Firecookie+For+Firebug%3F&amp;link=http://beerpla.net/2009/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/&amp;notes=%20The%20Problem%20%20I%20use%20a%20lot%20of%20extensions.%20A%20LOT.%20They%20slow%20down%20my%20Firefox%20while%20giving%20something%20useful%20in%20return.%20Most%20of%20them%20are%20harmless%20and%20do%20not%20affect%20the%20speed%20too%20much%20but%20there%20are%20select%20few%20that%20are%20just%20CPU%2C%20memory%2C%20and%20performance%20hogs.%20%20Until%20Firefox%20gets%20an%20extension%20manager%20that%20ca&amp;short_link=http://bit.ly/90FCcA&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=Firefox+Being+Slow%2C+Especially+Switching+Tabs%2C+High+CPU+Load%2C+Memory+Problems%3F+Are+You+Using+Firecookie+For+Firebug%3F&amp;link=http://beerpla.net/2009/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/&amp;notes=%20The%20Problem%20%20I%20use%20a%20lot%20of%20extensions.%20A%20LOT.%20They%20slow%20down%20my%20Firefox%20while%20giving%20something%20useful%20in%20return.%20Most%20of%20them%20are%20harmless%20and%20do%20not%20affect%20the%20speed%20too%20much%20but%20there%20are%20select%20few%20that%20are%20just%20CPU%2C%20memory%2C%20and%20performance%20hogs.%20%20Until%20Firefox%20gets%20an%20extension%20manager%20that%20ca&amp;short_link=http://bit.ly/90FCcA&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=Firefox+Being+Slow%2C+Especially+Switching+Tabs%2C+High+CPU+Load%2C+Memory+Problems%3F+Are+You+Using+Firecookie+For+Firebug%3F&amp;link=http://beerpla.net/2009/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/&amp;notes=%20The%20Problem%20%20I%20use%20a%20lot%20of%20extensions.%20A%20LOT.%20They%20slow%20down%20my%20Firefox%20while%20giving%20something%20useful%20in%20return.%20Most%20of%20them%20are%20harmless%20and%20do%20not%20affect%20the%20speed%20too%20much%20but%20there%20are%20select%20few%20that%20are%20just%20CPU%2C%20memory%2C%20and%20performance%20hogs.%20%20Until%20Firefox%20gets%20an%20extension%20manager%20that%20ca&amp;short_link=http://bit.ly/90FCcA&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=Firefox+Being+Slow%2C+Especially+Switching+Tabs%2C+High+CPU+Load%2C+Memory+Problems%3F+Are+You+Using+Firecookie+For+Firebug%3F&amp;link=http://beerpla.net/2009/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/&amp;notes=%20The%20Problem%20%20I%20use%20a%20lot%20of%20extensions.%20A%20LOT.%20They%20slow%20down%20my%20Firefox%20while%20giving%20something%20useful%20in%20return.%20Most%20of%20them%20are%20harmless%20and%20do%20not%20affect%20the%20speed%20too%20much%20but%20there%20are%20select%20few%20that%20are%20just%20CPU%2C%20memory%2C%20and%20performance%20hogs.%20%20Until%20Firefox%20gets%20an%20extension%20manager%20that%20ca&amp;short_link=http://bit.ly/90FCcA&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=Firefox+Being+Slow%2C+Especially+Switching+Tabs%2C+High+CPU+Load%2C+Memory+Problems%3F+Are+You+Using+Firecookie+For+Firebug%3F&amp;link=http://beerpla.net/2009/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/&amp;notes=%20The%20Problem%20%20I%20use%20a%20lot%20of%20extensions.%20A%20LOT.%20They%20slow%20down%20my%20Firefox%20while%20giving%20something%20useful%20in%20return.%20Most%20of%20them%20are%20harmless%20and%20do%20not%20affect%20the%20speed%20too%20much%20but%20there%20are%20select%20few%20that%20are%20just%20CPU%2C%20memory%2C%20and%20performance%20hogs.%20%20Until%20Firefox%20gets%20an%20extension%20manager%20that%20ca&amp;short_link=http://bit.ly/90FCcA&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=Firefox+Being+Slow%2C+Especially+Switching+Tabs%2C+High+CPU+Load%2C+Memory+Problems%3F+Are+You+Using+Firecookie+For+Firebug%3F&amp;link=http://beerpla.net/2009/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/&amp;notes=%20The%20Problem%20%20I%20use%20a%20lot%20of%20extensions.%20A%20LOT.%20They%20slow%20down%20my%20Firefox%20while%20giving%20something%20useful%20in%20return.%20Most%20of%20them%20are%20harmless%20and%20do%20not%20affect%20the%20speed%20too%20much%20but%20there%20are%20select%20few%20that%20are%20just%20CPU%2C%20memory%2C%20and%20performance%20hogs.%20%20Until%20Firefox%20gets%20an%20extension%20manager%20that%20ca&amp;short_link=http://bit.ly/90FCcA&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=Firefox+Being+Slow%2C+Especially+Switching+Tabs%2C+High+CPU+Load%2C+Memory+Problems%3F+Are+You+Using+Firecookie+For+Firebug%3F&amp;link=http://beerpla.net/2009/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/&amp;notes=%20The%20Problem%20%20I%20use%20a%20lot%20of%20extensions.%20A%20LOT.%20They%20slow%20down%20my%20Firefox%20while%20giving%20something%20useful%20in%20return.%20Most%20of%20them%20are%20harmless%20and%20do%20not%20affect%20the%20speed%20too%20much%20but%20there%20are%20select%20few%20that%20are%20just%20CPU%2C%20memory%2C%20and%20performance%20hogs.%20%20Until%20Firefox%20gets%20an%20extension%20manager%20that%20ca&amp;short_link=http://bit.ly/90FCcA&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=Firefox%20Being%20Slow%2C%20Especially%20Switching%20Tabs%2C%20High%20CPU%20Load%2C%20Memory%20Problems%3F%20Are%20You%20Using%20Firecookie%20For%20Firebug%3F&amp;link=http://beerpla.net/2009/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/&amp;notes=%20The%20Problem%20%20I%20use%20a%20lot%20of%20extensions.%20A%20LOT.%20They%20slow%20down%20my%20Firefox%20while%20giving%20something%20useful%20in%20return.%20Most%20of%20them%20are%20harmless%20and%20do%20not%20affect%20the%20speed%20too%20much%20but%20there%20are%20select%20few%20that%20are%20just%20CPU%2C%20memory%2C%20and%20performance%20hogs.%20%20Until%20Firefox%20gets%20an%20extension%20manager%20that%20ca&amp;short_link=http://bit.ly/90FCcA&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/07/17/latest-100-firefox-bug-seen-on-digg-and-fatwallet-caused-by-imagezoom-extension/" rel="bookmark" title="July 17, 2007">Latest 100% Firefox Bug (Seen on Digg and Fatwallet) Caused By ImageZoom Extension</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/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/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/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%2F05%2F13%2Ffirefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug%2F&amp;title=Firefox%20Being%20Slow%2C%20Especially%20Switching%20Tabs%2C%20High%20CPU%20Load%2C%20Memory%20Problems%3F%20Are%20You%20Using%20Firecookie%20For%20Firebug%3F" 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/05/13/firefox-being-slow-especially-switching-tabs-high-cpu-load-memory-problems-are-you-using-firecookie-for-firebug/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> </channel> </rss>
