<?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>American in Spain &#187; Wordpress</title>
	<atom:link href="http://erikras.com/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://erikras.com</link>
	<description>Thoughts and photos from an American living in Spain.</description>
	<lastBuildDate>Thu, 24 May 2012 17:04:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Giving Disqus A Throw</title>
		<link>http://erikras.com/2011/05/24/giving-disqus-a-throw/</link>
		<comments>http://erikras.com/2011/05/24/giving-disqus-a-throw/#comments</comments>
		<pubDate>Tue, 24 May 2011 14:31:27 +0000</pubDate>
		<dc:creator>erik</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[disqus]]></category>
		<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://erikras.com/?p=5211</guid>
		<description><![CDATA[Lately around the internet, I&#8217;ve been noticing more and more sites, serious respectable magazines and important blogs, switching their comment mechanism to use Disqus. My only experience with Disqus in the past was using it as a disgusting javascript hack to allow comments on a Tumblr blog. It seemed like a strangely useless service, but [...]<div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2008/06/12/tumblr-goldilocks-blogging/' rel='bookmark' title='Tumblr: Goldilocks Blogging'>Tumblr: Goldilocks Blogging</a></li>
<dt><a href='http://erikras.com/2008/03/15/friends-ive-never-met/' rel='bookmark' title='Friends I&#039;ve Never Met'>Friends I&#039;ve Never Met</a></li>
<dt><a href='http://erikras.com/2008/01/15/praise-spam/' rel='bookmark' title='Praise Spam'>Praise Spam</a></li>
</dl></div>]]></description>
			<content:encoded><![CDATA[<p><img class="post-thumb" src="http://www.coffeewithharrison.com/wp-content/uploads/2011/05/disqus-Logo.jpg" alt="Disqus" width="100" height="87"/>Lately around the internet, I&#8217;ve been noticing more and more sites, serious respectable magazines and important blogs, switching their comment mechanism to use <a href="http://disqus.com/">Disqus</a>. My only experience with Disqus in the past was using it as a disgusting javascript hack to allow comments <a href="http://erikras.com/2008/06/12/tumblr-goldilocks-blogging/">on a Tumblr blog</a>. It seemed like a strangely useless service, but it has matured a lot in the three years since my initial evaluation. Let&#8217;s evaluate the pros and cons of using Disqus on a WordPress blog like this one.<br />
<span id="more-5211"></span></p>
<h3>Pros</h3>
<p>Because your comments are stored on a central server and not on each individual blog, you only need to go to one place to see if anyone has responded to or &#8220;liked&#8221; a comment you have made recently across many blogs. WordPress.com has a similar feature across all WordPress.com-hosted blogs.</p>
<p><a style="float:left;margin-right:10px;" href="http://en.wikipedia.org/wiki/File:Greek_statue_discus_thrower_2_century_aC.jpg"><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Greek_statue_discus_thrower_2_century_aC.jpg/372px-Greek_statue_discus_thrower_2_century_aC.jpg" alt="Discus thrower" width="200" height="322"/></a>Since your commenting history across many blogs is stored in one place, anyone can click on your name on any comment you&#8217;ve made and see a list of other comments you&#8217;ve made on other blogs. This is not only useful for <a href="http://erikras.com/2008/03/15/friends-ive-never-met/">getting to know blog commenters</a>, but it benefits the owner of a blog by bringing traffic. Say you go and leave some witty comment on a <em>Wired</em> article and another comment on my blog. Everyone that reads your comment on the <em>Wired</em> article and is curious enough to click on your name will then see your comment on my blog and could potentially find my blog.</p>
<p>Because Disqus only does one little piece of the blogging puzzle, they can do it really, really well. The commenting user interface with Disqus is far superior to anything I&#8217;ve seen a WordPress plugin enable. Since they use javascript, as well, it&#8217;s nearly impossible for a spam bot to leave a comment. And if a human tries to post spam, they have very sophisticated filters. Personally I haven&#8217;t had much problems with blog spam since installing the amazing <a href="http://erikras.com/2009/10/27/top-ten-wordpress-plugins-i-cant-live-without/">WP Captcha Free</a> plugin, but spam filtering is still an important feature.</p>
<p>The way Disqus gives you the open comment box first, <em>and then</em> makes you give your name or log in through some other service, is pure psychological genius. People will be much more willing to give a name and submit a comment if they have already written something than if you ask for a name and email address up front. Just one of many clever user interface insights Disqus employs.</p>
<h3>Cons</h3>
<p>Since your comments are stored on Disqus&#8217; servers, you don&#8217;t have much of a guarantee that they won&#8217;t just shut down operations and all your comments will be lost. At least when my comments were kept locally on my own blog, I can back them up as I see fit and make sure they are preserved.</p>
<p>Because Disqus uses javascript to load and display the comments, the comments will be invisible to search engines. A lot of my commenters (that&#8217;s you guys!) leave really intelligent, interesting, and – most importantly – keyword-rich comments that result in Google sending traffic to my blog. I wouldn&#8217;t dare lose that!</p>
<h3>Why I chose to switch to Disqus</h3>
<p>First I asked two of my colleagues, <a href="http://www.mostoptimal.com/">James</a> and <a href="http://idreamintech.com/">Cole</a>, who are search engine optimization (SEO) experts, why anyone would accept the loss of comment keywords and choose Disqus. They referred to all the social traffic I listed in the Pros section and guess that the extra traffic from cross-site commenter interest might be worth the loss of keywords.</p>
<p>Still dubious, I began to investigate&#8230;and that&#8217;s when I found the answer: the <a href="http://wordpress.org/extend/plugins/disqus-comment-system/">Disqus Comment System</a> plugin for WordPress!</p>
<p>As well as inserting the Disqus javascript code into your blog, it does one more important thing: <strong>It syncs all comments from Disqus back to your blog&#8217;s database!</strong></p>
<p>This not only lets you stop using Disqus whenever you like, and still have all your comments intact from your time using Disqus, but it totally blows away the SEO issue by displaying your comments on your blog for search engines and then using Disqus&#8217; superior interface for human visitors! Both items from the Cons list have been eliminated, leaving me with no other reasonable option other than to switch to Disqus.</p>
<p>I hope you enjoy the change, dear readers. You might want to set up a Disqus profile so you don&#8217;t have to enter your information with every comment.</p>
<div class="promote"><div class="tweet-button"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikras.com?utm_source=Twitter&utm_medium=Social&utm_campaign=Tweet%2BButton" data-via="erikras" data-count="horizontal" data-related="noraras" data-text="American in Spain: Thoughts and photos from an American living in Spain.">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook-like"><iframe src="http://www.facebook.com/plugins/like.php?href=http://erikras.com%3Futm_source%3DFacebook%26utm_medium%3DSocial%26utm_campaign%3DLike%252BButton&amp;layout=button_count&amp;show_faces=false&amp;width=250&amp;action=recommend&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:35px;" allowTransparency="true"></iframe></div><div class="google-plus-one"><g:plusone></g:plusone></div></div><span style="clear:both;">&nbsp;</span><div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2008/06/12/tumblr-goldilocks-blogging/' rel='bookmark' title='Tumblr: Goldilocks Blogging'>Tumblr: Goldilocks Blogging</a></li>
<dt><a href='http://erikras.com/2008/03/15/friends-ive-never-met/' rel='bookmark' title='Friends I&#039;ve Never Met'>Friends I&#039;ve Never Met</a></li>
<dt><a href='http://erikras.com/2008/01/15/praise-spam/' rel='bookmark' title='Praise Spam'>Praise Spam</a></li>
</dl></div>]]></content:encoded>
			<wfw:commentRss>http://erikras.com/2011/05/24/giving-disqus-a-throw/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Top Ten WordPress Plugins I Can&#039;t Live Without</title>
		<link>http://erikras.com/2009/10/27/top-ten-wordpress-plugins-i-cant-live-without/</link>
		<comments>http://erikras.com/2009/10/27/top-ten-wordpress-plugins-i-cant-live-without/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 13:43:15 +0000</pubDate>
		<dc:creator>erik</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.erik-rasmussen.com/blog/?p=3304</guid>
		<description><![CDATA[Recently I&#8217;ve been recommending some wordpress plugins to people, and I find myself repeating the same reasons and explanations, so I thought I would write them down here so I can just point people to one place. Ironically, I can totally live without all of the plugins that I took the time to write: Flickr [...]<div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2006/10/24/revver-wordpress-plugin/' rel='bookmark' title='Revver WordPress Plugin'>Revver WordPress Plugin</a></li>
<dt><a href='http://erikras.com/2006/09/14/flash-flickr-badge-widget-for-wordpress/' rel='bookmark' title='Flash Flickr Badge Widget for WordPress'>Flash Flickr Badge Widget for WordPress</a></li>
<dt><a href='http://erikras.com/2007/09/25/yt-audio-audio-hosting-from-youtube-in-wordpress/' rel='bookmark' title='YT-Audio: Audio Hosting From YouTube in WordPress'>YT-Audio: Audio Hosting From YouTube in WordPress</a></li>
</dl></div>]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been recommending some wordpress plugins to people, and I find myself repeating the same reasons and explanations, so I thought I would write them down here so I can just point people to one place.  Ironically, I can totally live without all of the  plugins that I took the time to write: <a href="http://erikras.com/2006/09/14/flash-flickr-badge-widget-for-wordpress/">Flickr Flash Badge Widget</a>, <a href="http://erikras.com/2006/10/24/revver-wordpress-plugin/">Revver WordPress Plugin</a>, <a href="http://erikras.com/2006/11/30/widgetize-anything/">Widgetize Anything</a>, and <a href="http://erikras.com/2007/09/25/yt-audio-audio-hosting-from-youtube-in-wordpress/">YT-Audio: Audio Hosting From YouTube</a>.</p>
<p>I&#8217;ve ordered them from least important to most impressive and important, just like top ten lists are supposed to be.<br />
<span id="more-3304"></span></p>
<h3>10) <a href="http://semperfiwebdesign.com/plugins/wp-security-scan/">WP Security Scan</a></h3>
<p>[<a href="http://wordpress.org/extend/plugins/wp-security-scan/">plugin dir link</a>] This is just the equivalent of installing a virus checker on a Windows machine.  It&#8217;s just something you should do.  It runs some checks on your WordPress installation and suggests that you change some settings from the defaults, because leaving some values like your database name and administrator login name as the factory default makes your WordPress installation that much more hackable.  Another thing it does is hide the particular version you are using (also important information for hackers) if you&#8217;re using one of the <em>many</em> WordPress themes that display it in the footer.</p>
<h3>9) <a href="http://www.mashget.com/2008/09/01/wp-widget-cache-for-wordpress/">WP Widget Cache</a></h3>
<p>[<a href="http://wordpress.org/extend/plugins/wp-widget-cache/">plugin dir link</a>] I can&#8217;t remember how I found this one, but I love it.  Most of the widgets, the individual sections on a WordPress blog&#8217;s sidebar that are present on every page, don&#8217;t need to be executed for every single page hit.  The Blogroll for instance, only needs to be run if a link has been added, edited, or removed in the database.  Unless that has happened, there&#8217;s no reason to be querying the database for that information <em>every time a page that is visited</em> on your blog.  This plugin caches the output of your widgets to static html files and allows you to set triggers (i.e. new comment submitted, new post submitted, etc.) or time limits to cause them to be uncached and re-executed.  It&#8217;s a brilliant idea and works wonderfully.</p>
<h3>&#56;) <a href="http://semperfiwebdesign.com/portfolio/wordpress/wordpress-plugins/all-in-one-seo-pack/">All in One SEO Pack</a></h3>
<p>[<a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/">plugin dir link</a>] I read <a href="http://powazek.com/posts/2090">an article</a> recently that claimed that many Search Engine Optimization (making it easier for search engines to index your site and send you traffic) experts are snake oil salesmen.  In reality, the article was really saying that most SEO work is simple stuff like putting proper meta tags, titling your pages, and formatting of your urls.  While not difficult, that can be a lot of tedious work.  And <em>that</em> is where this plugin comes in.  You simply install it and boom, 90% of what is tedious about Search Engine Optimization is done for you.</p>
<h3>7) <a href="http://www.arnebrachhold.de/redir/sitemap-home/">Google XML Sitemaps</a></h3>
<p>[<a href="http://wordpress.org/extend/plugins/google-sitemap-generator/">plugin dir link</a>] XML sitemaps (<a href="http://erikras.com/sitemap.xml">here&#8217;s mine</a>) are another piece of the important Search Engine Optimization puzzle.  This plugin generates a file on your server that search engine web crawlers look at to determine when your content has been updated and should be re-indexed.  Without this plugin your site will be indexed on whatever default monthly schedule that search engines spiders use, but once you have an XML sitemap, you can tell them to come more often for recent posts that are likely to change and be commented on, and less often for ancient posts that are probably static for a long time.</p>
<h3>6) <a href="http://www.soldesignco.com/wordpress-imaxwidth.html">iMax Width</a></h3>
<p>This particular plugin performs an impressive little trick and is very, very handy.  It does two things, really.  If you are naughty enough to embed an image in your post without specifying the width and height information in the img tag, when you save your post, this plugin will go fetch the image you are  embedding and set the width and height for you.  <em>However!</em> If the width of the image is wider than a threshold you have set (mine is 500 pixels, because of the current design of my blog), it will change the width and height tags on your img tag to <em>proportionally</em> (no distortion) size down the image so that it fits inside your blog design.  This plugin might not be useful for everyone, but my blogging style is often very photo-heavy, and this plugin saves me several hours each week.</p>
<h3>5) <a href="http://txfx.net/code/wordpress/subscribe-to-comments/">Subscribe to Comments</a></h3>
<p>[<a href="http://wordpress.org/extend/plugins/subscribe-to-comments/">plugin dir link</a>] I only installed this plugin just recently, but I&#8217;ve been wanting this functionality for a long time, and I love how well it works.  As the post author, I get an email any time someone comments on my blog.  But sometimes it&#8217;s nice for my readers to receive emails when comments are submitted to posts that they have commented on, so they know to come back and defend their point of view without having to remember to check back for new comments.  That&#8217;s what this plugin does.  When you submit a comment, you may check a box that says, &#8220;Notify me of follow-up comments via e-mail&#8221; and you will be notified via email of each subsequent comment on that post.  And unsubscribing is easy, so you don&#8217;t have to worry about spamming your readers.  This plugin is a must for running a good reader-friendly blog.</p>
<h3>4) <a href="http://wordpress.org/extend/plugins/stats/">WordPress.com Stats</a></h3>
<p>[<a href="http://wordpress.org/extend/plugins/stats/">plugin dir link</a>] I use Google Analytics, but there&#8217;s something nice about how well the WordPress.com Stats analytics package nestles right into my blog admin.  As a result, I check the stats provided by this plugin much more often than Google Analytics.  To be honest, I even like the presentation of the data better than that of the Big G.  If you want an easy way to know about the traffic to your website, mainly which pages are most popular, how many hits per day you&#8217;re getting, and where traffic is coming from, this plugin is for you.</p>
<h3>3) <a href="http://blog.jodies.de/2004/11/recent-comments/">Get Recent Comments</a></h3>
<p>[<a href="http://wordpress.org/extend/plugins/get-recent-comments/">plugin dir link</a>] WordPress comes with a built-in &#8220;Recent Comments&#8221; widget, but it&#8217;s not very customizable.  I found and adore this plugin because it lets me format and filter the recent comments widget at the top right of my blog just the way I want it.  Highly recommended.</p>
<h3>2) <a href="http://ocaoimh.ie/wp-super-cache/">WP Super Cache</a></h3>
<p>[<a href="http://wordpress.org/extend/plugins/wp-super-cache/">plugin dir link</a>] This plugin is an absolute must if you expect any level of traffic to your blog.  It caches <em>entire pages</em> and saves them to static html files on your web server for <em>super fast</em> page loading on your high traffic pages.  Their motto is that it makes your blog &#8220;Digg-proof&#8221;.  While I have not been dugg since installing it, I have to say that I am very impressed with the performance improvement.</p>
<p>And the #1 plugin I can&#8217;t live without is&#8230;</p>
<h3>1) <a href="http://wordpresssupplies.com/wordpress-plugins/captcha-free/">WP Captcha Free</a></h3>
<p>[<a href="http://wordpress.org/extend/plugins/wp-captcha-free/">plugin dir link</a>] When I found this plugin, as a professional web developer, I was seriously impressed by the ingenuity behind its method of avoiding automated comment spam.  It works by sending a behind-the-scenes AJAX request to the server to request a special hash code (like an autogenerated password based on information about the requesting browser, time and date) which is then included when the comment is submitted.  Comment submissions, like those generated by an automated spam bot, that do not have this secret hash code attached to them will be rejected.  Since installing this plugin, my comment spam has plummeted, and I&#8217;m pretty sure that the two spam messages per month that I get are actually submitted by a person rather than an automated bot.  The work that an automated spammer would have to do to get around this mechanism is tremendous, so as long as those of us using this plugin are in the minority, they won&#8217;t do that extra work and we can live relatively free of comment spam and those horrible, horrible CAPTCHAs.  I love this plugin!</p>
<h2>Honorable Mentions</h2>
<h3><a href="http://ajaydsouza.com/wordpress/plugins/wp-ajax-edit-comments/">WP Ajax Edit Comments</a></h3>
<p>[<a href="http://wordpress.org/extend/plugins/wp-ajax-edit-comments/">plugin dir link</a>] This plugin is very handy for the admin for quick edits to comments, but it also allows commenters to correct mistakes that they find shortly after publishing their comment.  I much prefer the submission-and-correction paradigm to the preview-and-submit paradigm.  It feels cleaner.</p>
<h3><a href="http://mitcho.com/code/yarpp/">Yet Another Related Posts Plugin</a></h3>
<p>[<a href="http://wordpress.org/extend/plugins/yet-another-related-posts-plugin/">plugin dir link</a>] This is by far the most customizable &#8220;related posts&#8221; plugin I&#8217;ve seen.  It&#8217;s a great way to direct interested new readers to your other content to hold their interest.  Wonderful.</p>
<h3><a href="http://lesterchan.net/portfolio/programming/php/">WP-PageNavi</a></h3>
<p>[<a href="http://wordpress.org/extend/plugins/wp-pagenavi/">plugin dir link</a>] If you go out to <a href="http://erikras.com/">my homepage</a>, you&#8217;ll see a nice page navigation user interface at the bottom of the page.  In the business, we call this pagination.  It&#8217;s a nice way to let visitors quickly navigate through a long list of posts in a certain category or in your archives or whatever.  It&#8217;s one of those plugins that is so simple and useful that you wonder why isn&#8217;t core WordPress functionality.</p>
<div class="promote"><div class="tweet-button"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikras.com?utm_source=Twitter&utm_medium=Social&utm_campaign=Tweet%2BButton" data-via="erikras" data-count="horizontal" data-related="noraras" data-text="American in Spain: Thoughts and photos from an American living in Spain.">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook-like"><iframe src="http://www.facebook.com/plugins/like.php?href=http://erikras.com%3Futm_source%3DFacebook%26utm_medium%3DSocial%26utm_campaign%3DLike%252BButton&amp;layout=button_count&amp;show_faces=false&amp;width=250&amp;action=recommend&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:35px;" allowTransparency="true"></iframe></div><div class="google-plus-one"><g:plusone></g:plusone></div></div><span style="clear:both;">&nbsp;</span><div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2006/10/24/revver-wordpress-plugin/' rel='bookmark' title='Revver WordPress Plugin'>Revver WordPress Plugin</a></li>
<dt><a href='http://erikras.com/2006/09/14/flash-flickr-badge-widget-for-wordpress/' rel='bookmark' title='Flash Flickr Badge Widget for WordPress'>Flash Flickr Badge Widget for WordPress</a></li>
<dt><a href='http://erikras.com/2007/09/25/yt-audio-audio-hosting-from-youtube-in-wordpress/' rel='bookmark' title='YT-Audio: Audio Hosting From YouTube in WordPress'>YT-Audio: Audio Hosting From YouTube in WordPress</a></li>
</dl></div>]]></content:encoded>
			<wfw:commentRss>http://erikras.com/2009/10/27/top-ten-wordpress-plugins-i-cant-live-without/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Gravatars</title>
		<link>http://erikras.com/2008/02/22/gravatars/</link>
		<comments>http://erikras.com/2008/02/22/gravatars/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 10:04:06 +0000</pubDate>
		<dc:creator>erik</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.erik-rasmussen.com/blog/2008/02/22/gravatars/</guid>
		<description><![CDATA[A &#8220;gravatar&#8221; is a &#8220;globally recognized avatar&#8220;. I can&#8217;t remember why I signed up at gravatar.com about six months ago. Last October, the company that runs WordPress, the software that runs this blog, bought gravatar.com, so it&#8217;s not surprising that there is a WordPress plugin to support gravatars. When I noticed that the new version [...]<div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2007/01/19/real-time-horse-race-betting/' rel='bookmark' title='Real-Time Horse Race Betting'>Real-Time Horse Race Betting</a></li>
<dt><a href='http://erikras.com/2006/11/24/itunes-enabled/' rel='bookmark' title='iTunes Enabled'>iTunes Enabled</a></li>
<dt><a href='http://erikras.com/2006/10/24/revver-wordpress-plugin/' rel='bookmark' title='Revver WordPress Plugin'>Revver WordPress Plugin</a></li>
</dl></div>]]></description>
			<content:encoded><![CDATA[<p>A &#8220;gravatar&#8221; is a &#8220;globally recognized <a href="http://en.wikipedia.org/wiki/Avatar_%28computing%29">avatar</a>&#8220;.  I can&#8217;t remember why I signed up at <a href="http://site.gravatar.com/">gravatar.com</a> about six months ago.  Last October, <a href="http://automattic.com/">the company</a> that runs <a href="http://wordpress.com/">WordPress</a>, the software that runs this blog, <a href="http://blog.gravatar.com/2007/10/18/automattic-gravatar/">bought</a> gravatar.com, so it&#8217;s not surprising that there is <a href="http://wordpress.org/extend/plugins/wp-gravatar/">a WordPress plugin</a> to support gravatars.  When I noticed that the new version of my <a href="http://dev.wp-plugins.org/wiki/LiveCommentPreview">comment preview plugin</a> supports gravatars, I thought I&#8217;d give them a try here on my blog.  I might not keep them, but it&#8217;s a fun novelty for now.  As implied, your gravatar should show up on other websites too, especially as <a href="http://en.wikipedia.org/wiki/Metcalfe's_law">Metcalfe&#8217;s Law</a> takes effect and more sites adopt them.</p>
<p>So go <a href="http://site.gravatar.com/signup">sign up</a> and set your avatar for my blog comments!</p>
<div class="promote"><div class="tweet-button"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikras.com?utm_source=Twitter&utm_medium=Social&utm_campaign=Tweet%2BButton" data-via="erikras" data-count="horizontal" data-related="noraras" data-text="American in Spain: Thoughts and photos from an American living in Spain.">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook-like"><iframe src="http://www.facebook.com/plugins/like.php?href=http://erikras.com%3Futm_source%3DFacebook%26utm_medium%3DSocial%26utm_campaign%3DLike%252BButton&amp;layout=button_count&amp;show_faces=false&amp;width=250&amp;action=recommend&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:35px;" allowTransparency="true"></iframe></div><div class="google-plus-one"><g:plusone></g:plusone></div></div><span style="clear:both;">&nbsp;</span><div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2007/01/19/real-time-horse-race-betting/' rel='bookmark' title='Real-Time Horse Race Betting'>Real-Time Horse Race Betting</a></li>
<dt><a href='http://erikras.com/2006/11/24/itunes-enabled/' rel='bookmark' title='iTunes Enabled'>iTunes Enabled</a></li>
<dt><a href='http://erikras.com/2006/10/24/revver-wordpress-plugin/' rel='bookmark' title='Revver WordPress Plugin'>Revver WordPress Plugin</a></li>
</dl></div>]]></content:encoded>
			<wfw:commentRss>http://erikras.com/2008/02/22/gravatars/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>YT-Audio: Audio Hosting From YouTube in WordPress</title>
		<link>http://erikras.com/2007/09/25/yt-audio-audio-hosting-from-youtube-in-wordpress/</link>
		<comments>http://erikras.com/2007/09/25/yt-audio-audio-hosting-from-youtube-in-wordpress/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 20:06:20 +0000</pubDate>
		<dc:creator>erik</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.erik-rasmussen.com/blog/2007/09/25/yt-audio-audio-hosting-from-youtube-in-wordpress/</guid>
		<description><![CDATA[I&#8217;m a huge fan of the Audio Player plugin for WordPress that lets you embed a flash player for a single MP3 file in a blog post. The problem is that you have to host the MP3 file yourself, and if your hosting service isn&#8217;t very generous with either storage space or bandwidth, it&#8217;s not [...]<div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2007/05/30/untitled-ditty/' rel='bookmark' title='Untitled Ditty'>Untitled Ditty</a></li>
<dt><a href='http://erikras.com/2006/10/24/revver-wordpress-plugin/' rel='bookmark' title='Revver WordPress Plugin'>Revver WordPress Plugin</a></li>
<dt><a href='http://erikras.com/2007/04/08/wordpress-countdown-widget/' rel='bookmark' title='WordPress Countdown Widget'>WordPress Countdown Widget</a></li>
</dl></div>]]></description>
			<content:encoded><![CDATA[<p><a class="post-thumb erpic" title="YT-Audio by erikrasmussen, on Flickr" href="http://www.flickr.com/photos/erikrasmussen/3305136504/"><img alt="YT-Audio" src="http://farm4.static.flickr.com/3526/3305136504_b6afb922eb_t.jpg" width="100" height="51"/></a>I&#8217;m a huge fan of the <a href="http://www.1pixelout.net/code/audio-player-wordpress-plugin/">Audio Player</a> plugin for WordPress that lets you embed a flash player for a single MP3 file in a blog post.  The problem is that you have to host the MP3 file yourself, and if your hosting service isn&#8217;t very generous with either storage space or bandwidth, it&#8217;s not a very good solution.<br />
<span id="more-384"></span><br />
Most of the time that I want to attach a song to a blog post, it&#8217;s usually some pop song that I&#8217;m either listening to or my mood has reminded me of.  Let&#8217;s face it, YouTube is the new MTV.  Name a pop song, and the music video is probably on YouTube.  I could embed the whole YouTube video of a song on my blog, but what if I just want the audio?  What do I do then?</p>
<p>Introducing&#8230;. YT-Audio, the plugin for WordPress to embed the audio from a YouTube video on your blog!</p>
<p><a style="margin-left:30px;margin-bottom:20px;padding:10px;width:400px;float:left;border:2px outset #990000;text-align:center;font-weight:bold;background-color:#E5ECF7" href="http://dl.dropbox.com/u/5100577/yt-audio-streaming-audio-from-youtube.zip">yt-audio-streaming-audio-from-youtube.zip</a></p>
<h3>How does it work?</h3>
<p>It&#8217;s actually ridiculously simple.  All it does is embed YouTube&#8217;s regular flash movie player inside two iframes that chop off all but the bottom control bar of the video.  Nothing fancy.  Just useful.</p>
<h3>Instructions</h3>
<p>You install it just like any other WordPress plugin.  Unzip it into the /wp-content/plugins, directory.  Then, in your post, put the text:</p>
<p><code>ytaudi&#111;(2_HXUhShhmY)</code><br />
Where &#8220;2_HXUhShhmY&#8221; is the code for the video on YouTube.  And you should get something like:</p>
<p><iframe width="361" height="25" scrolling="no" style="border:none;" src="http://erikras.com/wp-content/plugins/yt-audio-streaming-audio-from-youtube/frame.php?v=2_HXUhShhmY">\n</iframe><!-- yt-audio: http://erikras.com/2007/09/25/yt-audio-audio-hosting-from-youtube-in-wordpress/ --></p>
<p>It&#8217;s just that simple!  I&#8217;ve tested this on Firefox, Safari and IE 7.  It looks pretty good in all three.  Enjoy!</p>
<h3>Frequently Asked Questions</h3>
<dl>
<dt><strong>The player shows up, but the song won&#8217;t play. What&#8217;s up?</strong></dt>
<dd>This will happen if embedding has been disabled for the video you are using. Because the video portion of the player is hidden, so is the message telling you that embedding is disabled. Try to embed the entire video with the full embed code from YouTube before reporting a problem.</dd>
<dt><strong>Where is the volume control?</strong></dt>
<dd>When the volume control opens in the YouTube player, it opens over the video portion of the player, which is hidden inside a frame by this plugin, so even if YT-Audio displayed the volume control button, you could not change the volume with it because the popup slider would be hidden. This is unfortunate, but there&#8217;s nothing that can be done about it.</dd>
<dt><strong>I&#8217;m getting something in the frame that looks like my blog header. What&#8217;s wrong?</strong></dt>
<dd>This will happen if your plugins directory is not in the default location. You will need to edit the two lines in `ytaudio.php` that contain `wp-content/plugins/yt-audio-streaming-audio-from-youtube` to reflect the actual location of the ytaudio plugin with respect to your blog root.</dd>
</dl>
<h3>Change History</h3>
<table style="width:100%;">
<tr>
<td>1.7</td>
<td>2011-02-22</td>
<td>Changed embed code to work with YouTube&#8217;s new player</td>
</tr>
<tr>
<td>1.6</td>
<td>2009-04-30</td>
<td>Oops. Remembered why volume control should be hidden. Sorry!</td>
</tr>
<tr>
<td>1.5</td>
<td>2009-04-30</td>
<td>Expanded iframe to include volume control.</td>
</tr>
<tr>
<td>1.4</td>
<td>2009-02-23</td>
<td>Fixed urls referencing plugins directory to work with the zip file available from <a href="http://wordpress.org/extend/plugins/yt-audio-streaming-audio-from-youtube/">wordpress.org</a>.</td>
</tr>
<tr>
<td>1.2</td>
<td>2009-02-20</td>
<td>Fixed to accept YouTube codes with underscores and dashes.</td>
</tr>
<tr>
<td>1.1</td>
<td>2007-12-04</td>
<td>Modified to handle YouTube&#8217;s new flash player.</td>
</tr>
<tr>
<td style="width:30px;">1.0</td>
<td style="width:80px;">2007-09-25</td>
<td>Original version</td>
</tr>
</table>
<div class="promote"><div class="tweet-button"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikras.com?utm_source=Twitter&utm_medium=Social&utm_campaign=Tweet%2BButton" data-via="erikras" data-count="horizontal" data-related="noraras" data-text="American in Spain: Thoughts and photos from an American living in Spain.">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook-like"><iframe src="http://www.facebook.com/plugins/like.php?href=http://erikras.com%3Futm_source%3DFacebook%26utm_medium%3DSocial%26utm_campaign%3DLike%252BButton&amp;layout=button_count&amp;show_faces=false&amp;width=250&amp;action=recommend&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:35px;" allowTransparency="true"></iframe></div><div class="google-plus-one"><g:plusone></g:plusone></div></div><span style="clear:both;">&nbsp;</span><div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2007/05/30/untitled-ditty/' rel='bookmark' title='Untitled Ditty'>Untitled Ditty</a></li>
<dt><a href='http://erikras.com/2006/10/24/revver-wordpress-plugin/' rel='bookmark' title='Revver WordPress Plugin'>Revver WordPress Plugin</a></li>
<dt><a href='http://erikras.com/2007/04/08/wordpress-countdown-widget/' rel='bookmark' title='WordPress Countdown Widget'>WordPress Countdown Widget</a></li>
</dl></div>]]></content:encoded>
			<wfw:commentRss>http://erikras.com/2007/09/25/yt-audio-audio-hosting-from-youtube-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>68</slash:comments>
		</item>
		<item>
		<title>Migrating to Flickr</title>
		<link>http://erikras.com/2007/06/05/migrating-to-flickr/</link>
		<comments>http://erikras.com/2007/06/05/migrating-to-flickr/#comments</comments>
		<pubDate>Tue, 05 Jun 2007 20:53:25 +0000</pubDate>
		<dc:creator>erik</dc:creator>
				<category><![CDATA[Flickr]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.erik-rasmussen.com/blog/2007/06/05/migrating-to-flickr/</guid>
		<description><![CDATA[I&#8217;ve been debating for a while how to, and whether or not to, switch to host all of my photos on Flickr. After one year of photo-heavy blogging, I am currently hosting 530 MiB of jpegs on my server. This is with every photo being sized down to 1024&#215;768 and having a 450&#215;338 thumbnail that [...]<div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2006/09/14/flash-flickr-badge-widget-for-wordpress/' rel='bookmark' title='Flash Flickr Badge Widget for WordPress'>Flash Flickr Badge Widget for WordPress</a></li>
<dt><a href='http://erikras.com/2006/06/03/more-flickr-pics/' rel='bookmark' title='More Flickr Pics'>More Flickr Pics</a></li>
<dt><a href='http://erikras.com/2006/12/29/topical-flickr-post/' rel='bookmark' title='Topical Flickr Post'>Topical Flickr Post</a></li>
</dl></div>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been debating for a while how to, and whether or not to, switch to host all of my photos on Flickr.<br />
<span id="more-285"></span><br />
After one year of photo-heavy blogging, I am currently hosting 530 MiB of jpegs on my server.  This is with every photo being sized down to 1024&#215;768 and having a 450&#215;338 thumbnail that is included inline on the blog.  My employer is kind enough to lend me the server space, but it&#8217;s clear that if I continue for a few more years, which I hope to, then there will be issues.  Plus, if I host my photos on Flickr, then there will be much higher resolution versions available to you, my dear readers, for the photos that particularly interest you.</p>
<p>The way I have been publishing my photos is:</p>
<ol>
<li>Drag them from iPhoto into a folder</li>
<li>Run a program that I wrote in java to resize the photos</li>
<li>Make the appropriate directly for the post id on the server</li>
<li>Securely copy them to the server</li>
<li>My program then prints out the HTML code that I paste into my blog, complete with empty paragraphs for the witty captions</li>
</ol>
<p>This has been very convenient, but every few months, my Photoshop Expert friend, <a href="http://www.thegradys.net/?src=erikblog">Alan</a>, complains that the quality of the photos is crap.  He&#8217;s right, of course.  The resampling algorithm that sizes them down in my java program does a pretty miserable job.  I would complain if he posted images of that quality on his blog, too.</p>
<p>I&#8217;ve been investigating various applications to help blog with photos from Flickr.  The new browser, <a href="http://www.flock.com/">Flock</a>, that I think has a <em>lot</em> of promise to be better than Firefox, lets you drag pictures from a bar that shows all your Flickr pictures directly into your blog post editor.  But it doesn&#8217;t put the image sizes in the &lt;img&gt; tags.  Just before embarking on writing a WordPress plugin to do this, I found this plugin called <a href="http://www.soldesignco.com/wordpress-imaxwidth.html">iMax Width</a> that does just that. It even does the extra trick of sizing them down to fit within your blog layout (the standard 500-pixel wide images from Flickr woudn&#8217;t fit in my blog design).</p>
<p>But what really sealed the deal was finding what must be the <a href="http://tantannoodles.com/toolkit/photo-album/">Mother of All Flickr WordPress Plugins</a>.  It was commercially developed and then released into the open source community.  It&#8217;s called, rather blandly, <a href="http://tantannoodles.com/toolkit/photo-album/">Photo Album</a>.  It does what Flock tries to do, but from directly within your WordPress post editor, and provides more sizes than Flock does.  Not only that, but includes a sidebar widget.  It completely rocks!</p>
<p>So I&#8217;ve decided to spend some mindless hours converting all my previous blog posts to host their images on Flickr.  Because I&#8217;m such a perfectionist, I&#8217;m having to find all the images in iPhoto so that I can upload the huge 4 MiB, 7 megapixel, versions, so it&#8217;s going to take me a little while.  If things are a little slow around here, that&#8217;s why.  I&#8217;ll be spending my normally budgeted blogging time on this task.</p>
<p>What&#8217;s beautiful about this is that, when I&#8217;m done, my blog will be nothing more than a database of text that can be moved to any server with ease.  I&#8217;ve had to suck it up and buy a Pro Flickr membership.  I had been operating on the free account up until now.  My idea was that Flickr would be for my best pictures only, but that&#8217;s going to have to change now.</p>
<p>To test the process, I have already converted <a href="http://erikras.com/2006/06/06/sunday-soccer/">my first post with any hosted pictures</a>.  It was relatively painless.  You will thank me later, my dear readers.</p>
<div class="promote"><div class="tweet-button"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikras.com?utm_source=Twitter&utm_medium=Social&utm_campaign=Tweet%2BButton" data-via="erikras" data-count="horizontal" data-related="noraras" data-text="American in Spain: Thoughts and photos from an American living in Spain.">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook-like"><iframe src="http://www.facebook.com/plugins/like.php?href=http://erikras.com%3Futm_source%3DFacebook%26utm_medium%3DSocial%26utm_campaign%3DLike%252BButton&amp;layout=button_count&amp;show_faces=false&amp;width=250&amp;action=recommend&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:35px;" allowTransparency="true"></iframe></div><div class="google-plus-one"><g:plusone></g:plusone></div></div><span style="clear:both;">&nbsp;</span><div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2006/09/14/flash-flickr-badge-widget-for-wordpress/' rel='bookmark' title='Flash Flickr Badge Widget for WordPress'>Flash Flickr Badge Widget for WordPress</a></li>
<dt><a href='http://erikras.com/2006/06/03/more-flickr-pics/' rel='bookmark' title='More Flickr Pics'>More Flickr Pics</a></li>
<dt><a href='http://erikras.com/2006/12/29/topical-flickr-post/' rel='bookmark' title='Topical Flickr Post'>Topical Flickr Post</a></li>
</dl></div>]]></content:encoded>
			<wfw:commentRss>http://erikras.com/2007/06/05/migrating-to-flickr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One Year Ago Widget</title>
		<link>http://erikras.com/2007/06/04/one-year-ago-widget/</link>
		<comments>http://erikras.com/2007/06/04/one-year-ago-widget/#comments</comments>
		<pubDate>Mon, 04 Jun 2007 10:23:37 +0000</pubDate>
		<dc:creator>erik</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.erik-rasmussen.com/blog/2007/06/04/one-year-ago-widget/</guid>
		<description><![CDATA[This blog, in its present form, turned one year old this past weekend. It was a solemn single-candle ceremony. To look back over the previous trip around the sun, I&#8217;ve added a new feature to the sidebar called &#8220;One Year Ago&#8221;, which displays three posts from one year ago. It&#8217;s kind of a hacked up [...]<div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2006/09/14/flash-flickr-badge-widget-for-wordpress/' rel='bookmark' title='Flash Flickr Badge Widget for WordPress'>Flash Flickr Badge Widget for WordPress</a></li>
<dt><a href='http://erikras.com/2007/04/08/wordpress-countdown-widget/' rel='bookmark' title='WordPress Countdown Widget'>WordPress Countdown Widget</a></li>
<dt><a href='http://erikras.com/2006/11/30/widgetize-anything/' rel='bookmark' title='Widgetize Anything'>Widgetize Anything</a></li>
</dl></div>]]></description>
			<content:encoded><![CDATA[<p>This blog, in its present form, turned one year old <a href="http://erikras.com/2006/06/02/new-blog/">this past weekend</a>.  It was a solemn single-candle ceremony.<br />
<span id="more-283"></span><br />
To look back over the previous trip around the sun, I&#8217;ve added a new feature to the sidebar called &#8220;One Year Ago&#8221;, which displays three posts from one year ago.  It&#8217;s kind of a hacked up version of the <a href="http://www.lamateporunyogur.net/wp-plugins/one-year-ago/">One Year Ago WordPress Plugin</a> using my famous <a href="http://erikras.com/2006/11/30/widgetize-anything/">Widgetize Anything</a> plugin.</p>
<p>The code used inside the body of the widget is as follows:</p>
<p><code>$dateago = (date(&#39;Y&#39;) - 1) . date(&#39;-m-d&#39;);<br />
global $wpdb;<br />
$entries = $wpdb->get_results(&#34;SELECT *<br />
&nbsp;&nbsp;&nbsp;&nbsp;FROM $wpdb->posts<br />
&nbsp;&nbsp;&nbsp;&nbsp;WHERE post_status = &#39;publish&#39; and post_date >= &#39;$dateago&#39;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ORDER BY post_date asc limit 3&#34;);<br />
if ($entries)<br />
{<br />
&nbsp;&nbsp;echo &#39;&lt;ul id=&#34;oneYearAgo&#34;&gt;&#39;;<br />
&nbsp;&nbsp;foreach ($entries as $entry)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$post_date =  date(&#39;F j, Y&#39;, strtotime($entry-&gt;post_date));<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo &#34;&lt;li&gt;&lt;a href=\&#34;&#34; . get_permalink($entry-&gt;ID) . <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;\&#34; title=\&#34;Posted on $post_date\&#34;&#34; .<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34; class=\&#34;tooltipped\&#34;&gt;$entry-&gt;post_title&lt;/a&gt;&lt;/li&gt;&#34;;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;echo &#39;&lt;/ul&gt;&#39;;<br />
}</code></p>
<p>You are now free to reminisce to your heart&#8217;s content.</p>
<div class="promote"><div class="tweet-button"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikras.com?utm_source=Twitter&utm_medium=Social&utm_campaign=Tweet%2BButton" data-via="erikras" data-count="horizontal" data-related="noraras" data-text="American in Spain: Thoughts and photos from an American living in Spain.">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook-like"><iframe src="http://www.facebook.com/plugins/like.php?href=http://erikras.com%3Futm_source%3DFacebook%26utm_medium%3DSocial%26utm_campaign%3DLike%252BButton&amp;layout=button_count&amp;show_faces=false&amp;width=250&amp;action=recommend&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:35px;" allowTransparency="true"></iframe></div><div class="google-plus-one"><g:plusone></g:plusone></div></div><span style="clear:both;">&nbsp;</span><div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2006/09/14/flash-flickr-badge-widget-for-wordpress/' rel='bookmark' title='Flash Flickr Badge Widget for WordPress'>Flash Flickr Badge Widget for WordPress</a></li>
<dt><a href='http://erikras.com/2007/04/08/wordpress-countdown-widget/' rel='bookmark' title='WordPress Countdown Widget'>WordPress Countdown Widget</a></li>
<dt><a href='http://erikras.com/2006/11/30/widgetize-anything/' rel='bookmark' title='Widgetize Anything'>Widgetize Anything</a></li>
</dl></div>]]></content:encoded>
			<wfw:commentRss>http://erikras.com/2007/06/04/one-year-ago-widget/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>WordPress Countdown Widget</title>
		<link>http://erikras.com/2007/04/08/wordpress-countdown-widget/</link>
		<comments>http://erikras.com/2007/04/08/wordpress-countdown-widget/#comments</comments>
		<pubDate>Sun, 08 Apr 2007 11:35:33 +0000</pubDate>
		<dc:creator>erik</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.erik-rasmussen.com/blog/2007/04/08/wordpress-countdown-widget/</guid>
		<description><![CDATA[Several people have found my blog lately searching for a countdown widget for WordPress. I briefly considered writing one with a nice back-end interface for entering the date, etc., but in the end, I think it&#8217;s going to take less time and be more flexible if I just explain how I have mine done. 1) [...]<div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2006/09/14/flash-flickr-badge-widget-for-wordpress/' rel='bookmark' title='Flash Flickr Badge Widget for WordPress'>Flash Flickr Badge Widget for WordPress</a></li>
<dt><a href='http://erikras.com/2006/10/24/revver-wordpress-plugin/' rel='bookmark' title='Revver WordPress Plugin'>Revver WordPress Plugin</a></li>
<dt><a href='http://erikras.com/2006/12/04/the-shadower-realistic-drop-shadows-in-javascript/' rel='bookmark' title='The Shadower &#8211; Realistic Drop Shadows in Javascript'>The Shadower &#8211; Realistic Drop Shadows in Javascript</a></li>
</dl></div>]]></description>
			<content:encoded><![CDATA[<p>Several people have found my blog lately searching for a countdown widget for WordPress.  I briefly considered writing one with a nice back-end interface for entering the date, etc., but in the end, I think it&#8217;s going to take less time and be more flexible if I just explain how I have mine done.<br />
<span id="more-235"></span></p>
<h3>1) Download</h3>
<p>First download these two files and put them in your blog directory.  I have mine in my blog root.</p>
<p><a href="http://erikras.com/downloads/235/prototype.js" style="margin-left:30px;margin-bottom:20px;padding:10px;width:400px;float:left;border:2px outset #990000;text-align:center;font-weight:bold;background-color:#E5ECF7">prototype.js</a></p>
<p><a href="http://erikras.com/downloads/235/duration.js" style="margin-left:30px;margin-bottom:20px;padding:10px;width:400px;float:left;border:2px outset #990000;text-align:center;font-weight:bold;background-color:#E5ECF7">duration.js</a></p>
<p style="clear:left;">The latter is does the countdown magic.</p>
<h3>2) Include</h3>
<p>Now include them in your header.php:</p>
<p><code>&lt;script type="text/javascript" src="/blog/prototype.js"&gt;<br />
// tag has to be open because of stupid IE<br />
&lt;/script&gt;<br />
&lt;script type="text/javascript" src="/blog/duration.js"&gt;<br />
// tag has to be open because of stupid IE<br />
&lt;/script&gt;</code></p>
<h3>3) Create Text Widget</h3>
<p>Then, create a text widget and fill it with the proper code.  Mine looks like this:</p>
<p><code>&lt;div class="countdown"&gt;<br />
&nbsp;&nbsp;&lt;span id="<span style="color:red;">weddingCountdown</span>"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;enable javascript to see the countdown<br />
&nbsp;&nbsp;&lt;/span&gt;<br />
&nbsp;&nbsp;until the wedding<br />
&lt;/div&gt;<br />
&lt;script type="text/javascript"&gt;<br />
&nbsp;&nbsp;Duration.countdown("<span style="color:red;">weddingCountdown</span>",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date.UTC(2007, 9, 13, 11, 30, 00));<br />
&lt;/script&gt;</code></p>
<p>The important thing here is that the id on the destination span and the id passed to the countdown function (both shown in red) have to match.  And if you have more than one countdown on your page at the same time, the id for each one has to be unique.</p>
<p>The content of the span will be replaced with the countdown.  That&#8217;s why it has a message informing people without javascript that they won&#8217;t see it until they enable javascript.</p>
<p>You can put any text you want before and after the countdown span.  For example:</p>
<p><code>There are only<br />
&lt;span id="graduationCountdown"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;enable javascript to see the countdown<br />
&lt;/span&gt;<br />
until graduation!<br />
</code></p>
<h3>4) Setting the Date</h3>
<p>Now for the hard part: the javascript UTC date.  You have to figure out the date of your event in <a href="http://en.wikipedia.org/wiki/Coordinated_Universal_Time">Coordinated Universal Time</a>.  It&#8217;s basically Greenwich Mean Time without Daylight Savings Time.  So if your event was at 9:30 AM today (April 8, 2007), in New York City, then we would remove the effect of daylight savings time, giving us 8:30, and then add five hours (the difference between EST and GMT), giving us 13:30.  So if your event was at 9:30 this morning, you would put the time parameters as 13:30.  Make sense?  Here is a <a href="http://www.spacearchive.info/utc.htm">conversion table</a> that might help.</p>
<p>The other important thing to remember is that the javascript Date.UTC() function requires that the month be zero-indexed, so January is 0, February is 1, &#8230; December is 11.</p>
<p>So if you wanted to set a countdown to 9:00 AM Christmas morning, 2007, in Los Angeles your date parameters would be:</p>
<p><code>Date.UTC(2007, 11, 25, 17, 00, 00)</code></p>
<p>The parameters are year, month (zero indexed!), day, hour, minute, and second, respectively.</p>
<h3>5) Choosing a display method</h3>
<p>You may optionally choose an abbreviated display.  For example:</p>
<p>Normal: 3 days, 4 hours, 10 minutes, 45 seconds<br />
Abbreviated: 3d, 04:10:45</p>
<p>To use abbreviated mode, pass a &#8220;true&#8221; to the Duration.countdown() function, like so:</p>
<p><code>Duration.countdown("myCountdown",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date.UTC(2007, 9, 13, 11, 30, 00), <span style="color:red;">true</span>);</code></p>
<h3>6) Internationalization</h3>
<p>Changing the language is simple.  Simply change the first few lines of duration.js.  So for Spanish, it would be:</p>
<p><code>units:<br />
{<br />
&nbsp;&nbsp;day: 'día',<br />
&nbsp;&nbsp;days: 'días',<br />
&nbsp;&nbsp;d: 'd',<br />
&nbsp;&nbsp;hour: 'hora',<br />
&nbsp;&nbsp;hours: 'horas',<br />
&nbsp;&nbsp;minute: 'minuto',<br />
&nbsp;&nbsp;minutes: 'minutos',<br />
&nbsp;&nbsp;second: 'segundo',<br />
&nbsp;&nbsp;seconds: 'segundos'<br />
},</code></p>
<p>And that&#8217;s all there is to it!</p>
<h3>Questions or Comments</h3>
<p>Feel free to email me about this at erikwordpressplugins -at- gmail.  May your countdowns be merry!</p>
<div class="promote"><div class="tweet-button"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikras.com?utm_source=Twitter&utm_medium=Social&utm_campaign=Tweet%2BButton" data-via="erikras" data-count="horizontal" data-related="noraras" data-text="American in Spain: Thoughts and photos from an American living in Spain.">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook-like"><iframe src="http://www.facebook.com/plugins/like.php?href=http://erikras.com%3Futm_source%3DFacebook%26utm_medium%3DSocial%26utm_campaign%3DLike%252BButton&amp;layout=button_count&amp;show_faces=false&amp;width=250&amp;action=recommend&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:35px;" allowTransparency="true"></iframe></div><div class="google-plus-one"><g:plusone></g:plusone></div></div><span style="clear:both;">&nbsp;</span><div class="related-posts"><h4>Related Posts</h4><dl>
<dt><a href='http://erikras.com/2006/09/14/flash-flickr-badge-widget-for-wordpress/' rel='bookmark' title='Flash Flickr Badge Widget for WordPress'>Flash Flickr Badge Widget for WordPress</a></li>
<dt><a href='http://erikras.com/2006/10/24/revver-wordpress-plugin/' rel='bookmark' title='Revver WordPress Plugin'>Revver WordPress Plugin</a></li>
<dt><a href='http://erikras.com/2006/12/04/the-shadower-realistic-drop-shadows-in-javascript/' rel='bookmark' title='The Shadower &#8211; Realistic Drop Shadows in Javascript'>The Shadower &#8211; Realistic Drop Shadows in Javascript</a></li>
</dl></div>]]></content:encoded>
			<wfw:commentRss>http://erikras.com/2007/04/08/wordpress-countdown-widget/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Email From Hollywood</title>
		<link>http://erikras.com/2007/01/10/email-from-hollywood/</link>
		<comments>http://erikras.com/2007/01/10/email-from-hollywood/#comments</comments>
		<pubDate>Wed, 10 Jan 2007 10:07:29 +0000</pubDate>
		<dc:creator>erik</dc:creator>
				<category><![CDATA[Weird]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.erik-rasmussen.com/blog/2007/01/10/email-from-hollywood/</guid>
		<description><![CDATA[Yesterday, I received an email from a Hollywood actor. His name is Miguel Pérez, and he has a pretty impressive IMDB page full of small parts in big name television shows and movies, including Seinfeld, 24, ER, Ocean&#8217;s Eleven, and Million Dollar Baby. He&#8217;s working on the website for French Maid TV, the sexiest technical [...]<div class="related-posts">No related posts.</div>]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I received an email from a Hollywood actor.<br />
<span id="more-172"></span><br />
His name is Miguel Pérez, and he has <a href="http://www.imdb.com/name/nm0702296/">a pretty impressive IMDB page</a> full of small parts in big name television shows and movies, including Seinfeld, 24, ER, Ocean&#8217;s Eleven, and Million Dollar Baby.</p>
<p>He&#8217;s working on the website for <a href="http://frenchmaidtv.com/">French Maid TV</a>, the sexiest technical instruction video blog on the internet.  It was one of the first video blogs available on iTunes, as I recall, back when the term video blog was being invented about a year ago.  For a geeky, twenty-something, heterosexual male such as myself, could there be anything better than a group of pretty women with French accents in French maid costumes giving technical advice?  I don&#8217;t think so.  I was a fan from episode #1.</p>
<p>Anyway, Miguel contacted me because he had a question about my <a href="http://erikras.com/2006/10/24/revver-wordpress-plugin/">Revver Plugin for WordPress</a>.  The popularity of both <a href="http://wordpress.org/">WordPress</a> and <a href="http://www.revver.com/">Revver</a> are growing rapidly, and, so far, the only plugin that makes them work well together is mine.</p>
<p>Miguel&#8217;s company, <a href="http://www.pcatoday.com/">Perez Creative Assignments</a>, seems to specialize in doing headshot photography for aspiring young Californians.</p>
<p>It&#8217;s just weird to communicate with someone who, although not incredibly famous himself, has been a part of some of my favorite movies and television shows.  I watched his episode of 24 that I have on DVD.  He had about 4 or 5 lines and his scene involved <a href="http://www.imdb.com/name/nm0193846/">Elisha Cuthbert</a>, an actress who was completely unknown before being cast for 24.</p>
<div class="promote"><div class="tweet-button"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikras.com?utm_source=Twitter&utm_medium=Social&utm_campaign=Tweet%2BButton" data-via="erikras" data-count="horizontal" data-related="noraras" data-text="American in Spain: Thoughts and photos from an American living in Spain.">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook-like"><iframe src="http://www.facebook.com/plugins/like.php?href=http://erikras.com%3Futm_source%3DFacebook%26utm_medium%3DSocial%26utm_campaign%3DLike%252BButton&amp;layout=button_count&amp;show_faces=false&amp;width=250&amp;action=recommend&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:35px;" allowTransparency="true"></iframe></div><div class="google-plus-one"><g:plusone></g:plusone></div></div><span style="clear:both;">&nbsp;</span><div class="related-posts">No related posts.</div>]]></content:encoded>
			<wfw:commentRss>http://erikras.com/2007/01/10/email-from-hollywood/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Stalker</title>
		<link>http://erikras.com/2006/12/04/google-stalker/</link>
		<comments>http://erikras.com/2006/12/04/google-stalker/#comments</comments>
		<pubDate>Mon, 04 Dec 2006 17:08:24 +0000</pubDate>
		<dc:creator>erik</dc:creator>
				<category><![CDATA[Complaining]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Weird]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.erik-rasmussen.com/blog/2006/12/04/google-stalker/</guid>
		<description><![CDATA[Don&#8217;t look now, but you&#8217;re being followed! By Google&#8230; I&#8217;m using an awesome WordPress plugin, called Firestats, that lets me see the real-time hits to my blog as they happen, both human and spider alike. One thing that I&#8217;ve noticed is this spider bot with the user-agent of Mediapartners-Google/2.1. Right after some people view my [...]<div class="related-posts">No related posts.</div>]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t look now, but you&#8217;re being followed!  By Google&#8230;<br />
<span id="more-145"></span><br />
I&#8217;m using an awesome WordPress plugin, called <a href="http://firestats.cc/">Firestats</a>, that  lets me see the real-time hits to my blog as they happen, both human and spider alike.  One thing that I&#8217;ve noticed is this spider bot with the user-agent of <a href="http://www.google.com/search?q=Mediapartners-Google%2F2.1">Mediapartners-Google/2.1</a>.  Right after some people view my site, I get a hit (or two) for the same page from Google.</p>
<p>Let&#8217;s have a look at the hits&#8230;<a class="erpic" href="http://www.flickr.com/photos/erikrasmussen/538829901/"><img alt="stathits" src="http://farm2.static.flickr.com/1314/538829901_49b0ccf66d.jpg" border="0" width="500" height="100"/></a></p>
<p>In this case, the human visitor was a friend of mine in Houston (IP blurred to protect the innocent).  The other IP address, 66.249.65.103, <a href="http://whois.domaintools.com/66.249.65.103">is Google</a>.  I&#8217;m not sure why the IP would be located in Michigan.</p>
<p>Notice that his hitting the home page didn&#8217;t cause a Google hit, presumably because he had already been to that page.  But when he hit the new post that he had never seen, Google got notified and came to check out the new content.</p>
<p>This can only be a result of having the <a href="http://toolbar.google.com/">Google Toolbar</a> installed.  It must keep track of when you hit a page that you haven&#8217;t hit before and send off a message to Google so they can come and investigate.</p>
<p>From Google&#8217;s point of view, this is a superb way of finding new content.  But from a personal privacy point of view, it&#8217;s more than a little disconcerting that your every move should be tracked and recorded in such a way.</p>
<p>I don&#8217;t see anywhere to disable this behavior in my Google Toolbar preferences.  Oh well&#8230;</p>
<p>I just thought you&#8217;d want to be made aware of the guy in the trench coat and dark glasses that&#8217;s behind you wherever you surf.</p>
<div class="promote"><div class="tweet-button"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikras.com?utm_source=Twitter&utm_medium=Social&utm_campaign=Tweet%2BButton" data-via="erikras" data-count="horizontal" data-related="noraras" data-text="American in Spain: Thoughts and photos from an American living in Spain.">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook-like"><iframe src="http://www.facebook.com/plugins/like.php?href=http://erikras.com%3Futm_source%3DFacebook%26utm_medium%3DSocial%26utm_campaign%3DLike%252BButton&amp;layout=button_count&amp;show_faces=false&amp;width=250&amp;action=recommend&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:35px;" allowTransparency="true"></iframe></div><div class="google-plus-one"><g:plusone></g:plusone></div></div><span style="clear:both;">&nbsp;</span><div class="related-posts">No related posts.</div>]]></content:encoded>
			<wfw:commentRss>http://erikras.com/2006/12/04/google-stalker/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Shadower &#8211; Realistic Drop Shadows in Javascript</title>
		<link>http://erikras.com/2006/12/04/the-shadower-realistic-drop-shadows-in-javascript/</link>
		<comments>http://erikras.com/2006/12/04/the-shadower-realistic-drop-shadows-in-javascript/#comments</comments>
		<pubDate>Mon, 04 Dec 2006 00:31:53 +0000</pubDate>
		<dc:creator>erik</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.erik-rasmussen.com/blog/2006/12/04/the-shadower-realistic-drop-shadows-in-javascript/</guid>
		<description><![CDATA[This has been done before, but not in such a simple and elegant way, in my opinion. This implementation has four important features that separate it from the rest: no images, no messy nested divs in your html code, no CSS, and realistic fading shadows! It is based on the Prototype Javascript Framework, and requires [...]<div class="related-posts">No related posts.</div>]]></description>
			<content:encoded><![CDATA[<p>This has been done before, but not in such a simple and elegant way, in my opinion.  This implementation has four important features that separate it from the rest: no images, no messy nested divs in your html code, no CSS, and realistic fading shadows!<br />
<span id="more-143"></span><br />
It is based on the <a href="http://prototype.conio.net/">Prototype Javascript Framework</a>, and requires version 1.5, which you can get <a href="http://erikras.com/downloads/143/prototype.js">here</a>.<br />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.2/effects.js"></script><br />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.2/dragdrop.js"></script><br />
<script type="text/javascript" src="/blog/shadower.js"></script></p>
<h3>Some Examples</h3>
<p>Other drop shadow libraries that eschew images, provide their shadow by adding an absolutely positioned div just behind the object.  Like so&#8230;</p>
<div id="example1" style="width:150px;z-index:10;background-color:#ff9999;text-align:center;padding:2px;cursor:move;"><strong>Example 1</strong><br /><small>(Drag Me Around)</small></div>
<p><script type="text/javascript">
var example1 = function() { Shadower.shadow('example1', {opacity:1.0,nestedShadows:1}); }
setTimeout(example1, 1); // IE doesn't like shadowing mid-flow
new Draggable('example1', { change: example1, starteffect: Prototype.emptyFunction, reverteffect: Prototype.emptyFunction, endeffect: Prototype.emptyFunction});</script><br />
I think you&#8217;ll agree that that looks pretty bad.  But it&#8217;s a lot better with a little opacity tweak&#8230;</p>
<div id="example2" style="width:150px;z-index:20;background-color:#99ff99;text-align:center;padding:2px;cursor:move;"><strong>Example 2</strong><br /><small>(Drag Me Around)</small></div>
<p><script type="text/javascript">
var example2 = function() { Shadower.shadow('example2', {opacity:0.7,nestedShadows:1}); }
setTimeout(example2, 1); // IE doesn't like shadowing mid-flow
new Draggable('example2', { change: example2, starteffect: Prototype.emptyFunction, reverteffect: Prototype.emptyFunction, endeffect: Prototype.emptyFunction});</script></p>
<p>But it still just looks like a gray box under there, doesn&#8217;t it?  That&#8217;s where the magic of The Shadower comes in.  Rather than just one gray box, it uses several successively smaller boxes stacked on top of each other to create a realistic drop shadow that really fades into the background.</p>
<div id="example3" style="width:150px;z-index:30;background-color:#9999ff;text-align:center;padding:2px;cursor:move;"><strong>Example 3</strong><br /><small>(Drag Me Around)</small></div>
<p><script type="text/javascript">
var example3 = function() { Shadower.shadow('example3', {opacity:0.7,nestedShadows:4}); }
setTimeout(example3, 1); // IE doesn't like shadowing mid-flow
new Draggable('example3', { change: example3, starteffect: Prototype.emptyFunction, reverteffect: Prototype.emptyFunction, endeffect: Prototype.emptyFunction});</script><br />
Now, doesn&#8217;t that look better?  Drag it up next to the others if you aren&#8217;t convinced.</p>
<h3>So how do I use it?</h3>
<p>There are five parameters to play with in getting your drop shadow just right.</p>
<dl>
<dt><strong>distance</strong> [default: 8]</dt>
<dd>The distance away from the shadowed element to draw the shadow.  This can also be thought of as the height &#8220;above the page&#8221; of the shadowed object</dd>
<dt><strong>angle</strong> [default: 130]</dt>
<dd>The direction away from the shadowed element to draw the shadow.  It is measured in degrees from the vertical.  If you think of it like the numbers on a clock, 12 is at 0&deg;, 3 is at 90&deg;, 6 is at 180&deg;, 9 is at 270&deg;, etc.  The default angle of 130 would be between 3 and 4 on the clock face.</dd>
<dt><strong>opacity</strong> [default: 0.7]</dt>
<dd>The opacity of the shadow, measured between 0.0 and 1.0.</dd>
<dt><strong>nestedShadows</strong> [default: 4]</dt>
<dd>This is the number of gradually darker shadows to draw under the shadowed element.</dd>
<dt><strong>color</strong> [default: #000000]</dt>
<dd>This is the color of the shadow.  The default black color is good enough for most uses, but you can change it if you want.</dd>
</dl>
<h3>Go ahead!  Play with it!</h3>
<p><script type="text/javascript">
function runShadower() {
try {
  $('shadower_error').innerHTML = '';
  var options = { distance: $('shadower_distance').value, angle: $('shadower_angle').value, opacity: $('shadower_opacity').value, nestedShadows: $('shadower_nestedShadows').value, color: '#' + $('shadower_color').value};
  if(isNaN(options.distance)) throw 'Invalid distance parameter';
  if(isNaN(options.angle)) throw 'Invalid angle parameter';
  if(isNaN(options.opacity)) throw 'Invalid opacity parameter';
  if(isNaN(options.nestedShadows)) throw 'Invalid nestedShadows parameter';
  $('shadower_code').innerHTML = 'Shadower.shadow(\'testExample\',<br />{<br />&nbsp;&nbsp;distance: '+options.distance+',<br />&nbsp;&nbsp;angle: '+options.angle+',<br />&nbsp;&nbsp;opacity: '+options.opacity+',<br />&nbsp;&nbsp;nestedShadows: '+options.nestedShadows+',<br />&nbsp;&nbsp;color: \''+options.color+'\'<br />});';
  Shadower.shadow('testExample', options, true);
}
catch (e) {
  $('shadower_error').innerHTML = e;
}
}
function shadowerPresets()
{
  var options = Object.extend({distance:8,angle:130,opacity:0.7,nestedShadows:4},arguments[0]);
  $('shadower_distance').value = options.distance;
  $('shadower_angle').value = options.angle;
  $('shadower_opacity').value = options.opacity;
  $('shadower_nestedShadows').value = options.nestedShadows;
  $('shadower_color').value = '000000';
  runShadower();
}
</script></p>
<div id="testExample" style="width:150px;z-index:40;background-color:#ff99ff;text-align:center;padding:2px;cursor:move;"><strong>Test Example</strong><br /><small>(Drag Me Around)</small></div>
<p><script type="text/javascript">new Draggable('testExample', { change: runShadower, starteffect: Prototype.emptyFunction, reverteffect: Prototype.emptyFunction, endeffect: Prototype.emptyFunction});</script></p>
<div style="text-align:center;width:100%">
<div id="shadower_error" style="width:100%;height:20px;font-weight:bold;color:#ff0000"> </div>
<table style="margin-left:40px;margin-bottom:15px;">
<tr>
<th style="text-align:right">distance:</th>
<td>
<input id="shadower_distance" onkeyup="runShadower()" type="text" style="width:40px;padding:2px;text-align:right;" value="8"/></td>
<th style="text-align:right">angle:</th>
<td>
<input id="shadower_angle" onkeyup="runShadower()" type="text" style="width:40px;padding:2px;text-align:right;" value="130"/></td>
</tr>
<tr>
<th style="text-align:right">opacity:</th>
<td>
<input id="shadower_opacity" type="text" onkeyup="runShadower()" style="width:40px;padding:2px;text-align:right;" value="0.7"/></td>
<th style="text-align:right">nestedShadows:</th>
<td>
<input id="shadower_nestedShadows" type="text" onkeyup="runShadower()" style="width:40px;padding:2px;text-align:right;" value="4"/></td>
</tr>
<tr>
<th style="text-align:right">color:</th>
<td>
<input id="shadower_color" type="text" style="padding:2px;width:55px;" onkeyup="runShadower()" value="000000"/></td>
</tr>
</table>
<p>Presets: <a href="javascript:shadowerPresets({opacity:1,nestedShadows:1});" style="margin-left:15px;">Example 1</a><a href="javascript:shadowerPresets({nestedShadows:1});" style="margin-left:15px;">Example 2</a><a href="javascript:shadowerPresets({});" style="margin-left:15px;">Example 3</a></p>
<p><code id="shadower_code" style="text-align:left;"> </code>
</div>
<p><script type="text/javascript">setTimeout(runShadower, 1); // IE doesn't like shadowing mid-flow</script></p>
<h3>Recommended Usage</h3>
<p>Ideally, you should set a CSS class on any elements that you want shadowed, and then call Shadower.shadowWithClass() on page load.  Like so&#8230;</p>
<p><code>&lt;html&gt;<br />
&nbsp;&nbsp;&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;script type="text/javascript" src="prototype.js"&gt;&lt;/script&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;script type="text/javascript" src="shadower.js"&gt;&lt;/script&gt;<br />
&nbsp;&nbsp;&lt;/head&gt;<br />
&nbsp;&nbsp;&lt;body onload="Shadower.shadowWithClass('shadowed');"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;div class="shadowed"&gt;This div is shadowed&lt;/div&gt;<br />
&nbsp;&nbsp;&lt;/body&gt;<br />
&lt;/html&gt;</code></p>
<h3>Download</h3>
<p>So what are you waiting for?  Download it and start using it!</p>
<p><a href="http://erikras.com/downloads/143/prototype.js" style="margin-left:30px;margin-bottom:20px;padding:10px;width:400px;float:left;border:2px outset #990000;text-align:center;font-weight:bold;background-color:#E5ECF7">prototype.js</a></p>
<p><a href="http://erikras.com/downloads/143/shadower.js" style="margin-left:30px;margin-bottom:20px;padding:10px;width:400px;float:left;border:2px outset #990000;text-align:center;font-weight:bold;background-color:#E5ECF7">shadower.js</a></p>
<h3>Feedback</h3>
<p>I have not yet tested this on all browsers.  If you have any problems, please either leave a comment on this blog entry or email me at erikwordpressplugins -at- gmail.</p>
<p>Enjoy!</p>
<div class="promote"><div class="tweet-button"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://erikras.com?utm_source=Twitter&utm_medium=Social&utm_campaign=Tweet%2BButton" data-via="erikras" data-count="horizontal" data-related="noraras" data-text="American in Spain: Thoughts and photos from an American living in Spain.">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook-like"><iframe src="http://www.facebook.com/plugins/like.php?href=http://erikras.com%3Futm_source%3DFacebook%26utm_medium%3DSocial%26utm_campaign%3DLike%252BButton&amp;layout=button_count&amp;show_faces=false&amp;width=250&amp;action=recommend&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:35px;" allowTransparency="true"></iframe></div><div class="google-plus-one"><g:plusone></g:plusone></div></div><span style="clear:both;">&nbsp;</span><div class="related-posts">No related posts.</div>]]></content:encoded>
			<wfw:commentRss>http://erikras.com/2006/12/04/the-shadower-realistic-drop-shadows-in-javascript/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
	</channel>
</rss>

