<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Sustainable Websites Green Web Hosting News</title>
    <link>http://www.sustainablewebsites.com/articles</link>
    <pubDate>Tue, 27 Oct 2009 21:10:26 GMT</pubDate>
    <description>Articles from Sustainable Websites. Tips on web hosting, web design, green design, and green marketing.</description>
    <geo:lat>37.791728</geo:lat><geo:long>-122.401909</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/sustainablewebsites" type="application/rss+xml" /><feedburner:emailServiceId>sustainablewebsites</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>Wordpress Upgrade Error</title>
      <link>http://feedproxy.google.com/~r/sustainablewebsites/~3/7eKpyuFOC7A/97</link>
      <description>&lt;p&gt;You may see the following error when upgrading &lt;a href="http://www.sustainablewebsites.com/wordpress-hosting"&gt;WordPress&lt;/a&gt; : &lt;/p&gt;

&lt;p&gt;&lt;code style="color:red"&gt;
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2354671 bytes) in /home/username/public_html/wp-includes/http.php on line 1331
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you disable your plugins the upgrade should work. You can re-enable your plug-ins later. &lt;/p&gt;

&lt;p&gt;Go to: 
http://example.com/wp-admin/plugins.php . Replace example.com with your domain name.&lt;/p&gt;

&lt;p&gt;Click on the check box next to plugin to select all plug-ins. Click on the drop-down that says Bulk Actions, and select "deactivate". Then click on the Apply button. Do the upgrade, and then go back to the plugin screen to re-enable only the plug-ins that you actually are using.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=7eKpyuFOC7A:NoFi-iB1k64:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=7eKpyuFOC7A:NoFi-iB1k64:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=7eKpyuFOC7A:NoFi-iB1k64:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=7eKpyuFOC7A:NoFi-iB1k64:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=7eKpyuFOC7A:NoFi-iB1k64:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=7eKpyuFOC7A:NoFi-iB1k64:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=7eKpyuFOC7A:NoFi-iB1k64:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=7eKpyuFOC7A:NoFi-iB1k64:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sustainablewebsites/~4/7eKpyuFOC7A" height="1" width="1"/&gt;</description>
      <pubDate>Tue, 27 Oct 2009 21:10:26 GMT</pubDate>
      <guid isPermaLink="false">http://www.sustainablewebsites.com/articles/97</guid>
      <author />
    <feedburner:origLink>http://www.sustainablewebsites.com/articles/97</feedburner:origLink></item>
    <item>
      <title>Use Skitch to upload screenshots to support</title>
      <link>http://feedproxy.google.com/~r/sustainablewebsites/~3/PeAJ8s8T-_Y/96</link>
      <description>&lt;p&gt;Sometimes when working with our 24/7 email support team to troubleshoot issues it is best to include screenshots of errors, so that both parties have a clear, common understanding of what's going on.  Both Windows and Mac OS have native &lt;a href="http://en.wikipedia.org/wiki/Screenshot#Microsoft_Windows"&gt;keyboard shortcuts&lt;/a&gt;, and Mac OS even comes out of the box with a desktop app called Grab.  Taking screenshots is easy.  However, our &lt;a href="http://sustainablewebsites.com/support"&gt;online support form&lt;/a&gt; does not have image attachments (we're working on it).  In this case, using an image sharing service like &lt;a href="http://skitch.com/"&gt;Skitch&lt;/a&gt; can be a big help.    &lt;/p&gt;

&lt;p&gt;Skitch is a very user-friendly graphics tool for Mac OS X, with built-in screen capture. Even if you are on Windows only, it provides a personal webspace for you to upload your images and share with whomever you please.  Once uploaded to your Skitch webspace, Skitch assigns a unique URL to your image, much like other photo-sharing services like Flickr.  You can very easily copy and paste this URL into the "Description" area of our support form, or in any email response to our team.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=PeAJ8s8T-_Y:4BYXvQL_bDM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=PeAJ8s8T-_Y:4BYXvQL_bDM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=PeAJ8s8T-_Y:4BYXvQL_bDM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=PeAJ8s8T-_Y:4BYXvQL_bDM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=PeAJ8s8T-_Y:4BYXvQL_bDM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=PeAJ8s8T-_Y:4BYXvQL_bDM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=PeAJ8s8T-_Y:4BYXvQL_bDM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=PeAJ8s8T-_Y:4BYXvQL_bDM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sustainablewebsites/~4/PeAJ8s8T-_Y" height="1" width="1"/&gt;</description>
      <pubDate>Tue, 27 Oct 2009 21:03:05 GMT</pubDate>
      <guid isPermaLink="false">http://www.sustainablewebsites.com/articles/96</guid>
      <author />
    <feedburner:origLink>http://www.sustainablewebsites.com/articles/96</feedburner:origLink></item>
    <item>
      <title>Hide the Rails Authenticity Token</title>
      <link>http://feedproxy.google.com/~r/sustainablewebsites/~3/SYsTwUIx_L8/94</link>
      <description>&lt;p&gt;This was bugging me. A random grey box was showing up on our support form. After using &lt;a href="http://getfirebug.com/"&gt;Firebug&lt;/a&gt; to right click on it, and "Inspect Element", I could tell it was a hidden input form field, being inserted by Ruby on Rails. And it was showing up because we had a CSS style that made all form fields have a grey background. It's an authenticity token - meaning that the forms must have that to be submitted, to protect against &lt;a title="read the Rails API documentation on it" href="http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html"&gt;CSRF attacks&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To remove it, I first stumbled on &lt;a href="https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/2044-patch-to-add-html-options-to-the-div-that-wraps-the-authenticity_token-input-field#ticket-2044-13"&gt;this lighthouse ticket&lt;/a&gt;, where someone has a patch to add a config option to Rails's environment. That might be useful for some, but I found it's also easy to select the element by it's name. This is a little different:
&lt;pre&gt;
&lt;code style="background-color: black; color: greenyellow; display: block; font-family: Courier New, Fixed, monospace; padding: 10px; border: 1px dashed #bbb; overflow: auto;"&gt;
form#new_model div input[name="authenticity_token"] {
   display: none;
   background-color: #fff;
}
&lt;/code&gt;
&lt;/pre&gt;

You can select any HTML element by an attribute. See section 5.1 in the &lt;a href="http://www.w3.org/TR/CSS2/selector.html"&gt;CSS 2 specification&lt;/a&gt;.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=SYsTwUIx_L8:KdYKSNcQqeQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=SYsTwUIx_L8:KdYKSNcQqeQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=SYsTwUIx_L8:KdYKSNcQqeQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=SYsTwUIx_L8:KdYKSNcQqeQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=SYsTwUIx_L8:KdYKSNcQqeQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=SYsTwUIx_L8:KdYKSNcQqeQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=SYsTwUIx_L8:KdYKSNcQqeQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=SYsTwUIx_L8:KdYKSNcQqeQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sustainablewebsites/~4/SYsTwUIx_L8" height="1" width="1"/&gt;</description>
      <pubDate>Mon, 05 Oct 2009 23:37:09 GMT</pubDate>
      <guid isPermaLink="false">http://www.sustainablewebsites.com/articles/94</guid>
      <author />
    <feedburner:origLink>http://www.sustainablewebsites.com/articles/94</feedburner:origLink></item>
    <item>
      <title>Wordpress Tip: get current category with query-posts</title>
      <link>http://feedproxy.google.com/~r/sustainablewebsites/~3/FEyelKFp5KA/93</link>
      <description>&lt;p&gt;If you&amp;#8217;re theme developing, especially using a theming framework like &lt;a href="http://carringtontheme.com/"&gt;Carrington&lt;/a&gt; (in my case), you might want to create a generic query to grab posts based on a category, without creating creating unique template files for reach category.  Here&amp;#8217;s some code I used.  Simple, but you won&amp;#8217;t find an exact example in the&lt;a href="http://codex.wordpress.org/Template_Tags/get_the_category"&gt; Codex&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;
&lt;pre&gt;
&lt;code style="border: 1px dashed rgb(187, 187, 187); padding: 10px; overflow: auto; background-color: black; color: greenyellow; display: block; font-family: Courier New,Fixed,monospace;"&gt;
foreach(get_the_category() as $category)
{
  $cat = $category-&amp;gt;cat_ID;
}
query_posts('orderby=menu_order&amp;amp;cat=' . $cat . '&amp;amp;order=ASC');
&lt;/code&gt;
&lt;/pre&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=FEyelKFp5KA:qSyOMF_Se1o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=FEyelKFp5KA:qSyOMF_Se1o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=FEyelKFp5KA:qSyOMF_Se1o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=FEyelKFp5KA:qSyOMF_Se1o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=FEyelKFp5KA:qSyOMF_Se1o:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=FEyelKFp5KA:qSyOMF_Se1o:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=FEyelKFp5KA:qSyOMF_Se1o:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=FEyelKFp5KA:qSyOMF_Se1o:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sustainablewebsites/~4/FEyelKFp5KA" height="1" width="1"/&gt;</description>
      <pubDate>Fri, 02 Oct 2009 00:34:52 GMT</pubDate>
      <guid isPermaLink="false">http://www.sustainablewebsites.com/articles/93</guid>
      <author />
    <feedburner:origLink>http://www.sustainablewebsites.com/articles/93</feedburner:origLink></item>
    <item>
      <title>Wordpress Plugin Activation Error</title>
      <link>http://feedproxy.google.com/~r/sustainablewebsites/~3/flRCK7IbsLQ/92</link>
      <description>&lt;p&gt;Was trying to activate a plugin for client and kept receiving the following error:&lt;/p&gt;
&lt;p&gt;Parse error: syntax error, unexpected T_STATIC, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or&lt;/p&gt;
&lt;p&gt;Turns out that I had to make sure that the client&amp;#8217;s &lt;a href="http://sustainablewebsites.com"&gt;server&lt;/a&gt; was running PHP5 for the site.  An easy switch in cpanel under PHP Configuration did the trick.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=flRCK7IbsLQ:PhQS7u7GTLA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=flRCK7IbsLQ:PhQS7u7GTLA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=flRCK7IbsLQ:PhQS7u7GTLA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=flRCK7IbsLQ:PhQS7u7GTLA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=flRCK7IbsLQ:PhQS7u7GTLA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=flRCK7IbsLQ:PhQS7u7GTLA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=flRCK7IbsLQ:PhQS7u7GTLA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=flRCK7IbsLQ:PhQS7u7GTLA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sustainablewebsites/~4/flRCK7IbsLQ" height="1" width="1"/&gt;</description>
      <pubDate>Fri, 02 Oct 2009 00:34:34 GMT</pubDate>
      <guid isPermaLink="false">http://www.sustainablewebsites.com/articles/92</guid>
      <author />
    <feedburner:origLink>http://www.sustainablewebsites.com/articles/92</feedburner:origLink></item>
    <item>
      <title>jQuery slideToggle jumps at the end</title>
      <link>http://feedproxy.google.com/~r/sustainablewebsites/~3/JgACIf6ZarI/91</link>
      <description>&lt;p&gt;Found a rockin &lt;a href="http://www.nabble.com/slideToggle-jumpy-at-end-%28even-with-padding:-0%29-td25145254s27240.html"&gt;forum thread&lt;/a&gt; on the Nabble jQeury Dev List that saved me a ton of agravation trying to get a slideToggle to stop jumping when it expanded.  The basic idea, explained also in the &lt;a href="http://www.nabble.com/slideToggle-jumpy-at-end-%28even-with-padding:-0%29-td25145254s27240.html"&gt;thread&lt;/a&gt;, is that you calculate and store the height of your toggle item before hiding, which helps your script smoothly expand to the proper height.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=JgACIf6ZarI:3LkwRqwGmjE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=JgACIf6ZarI:3LkwRqwGmjE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=JgACIf6ZarI:3LkwRqwGmjE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=JgACIf6ZarI:3LkwRqwGmjE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=JgACIf6ZarI:3LkwRqwGmjE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=JgACIf6ZarI:3LkwRqwGmjE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=JgACIf6ZarI:3LkwRqwGmjE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=JgACIf6ZarI:3LkwRqwGmjE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sustainablewebsites/~4/JgACIf6ZarI" height="1" width="1"/&gt;</description>
      <pubDate>Fri, 02 Oct 2009 00:34:58 GMT</pubDate>
      <guid isPermaLink="false">http://www.sustainablewebsites.com/articles/91</guid>
      <author />
    <feedburner:origLink>http://www.sustainablewebsites.com/articles/91</feedburner:origLink></item>
    <item>
      <title>Generate Random Passwords</title>
      <link>http://feedproxy.google.com/~r/sustainablewebsites/~3/Z-dTl8R-u4w/90</link>
      <description>&lt;p&gt;Do you need to make as many passwords as I do? Do you have a mac, and are you comfortable with the command line? You can save this code in an executable file and run it as a command. It makes a random password and copies it to the clipboard
&lt;/p&gt;

&lt;pre&gt;
&lt;code style="background-color: black; color: greenyellow; display: block; font-family: Courier New, Fixed, monospace; padding: 10px; border: 1px dashed #bbb; overflow: auto;"&gt;
#!/usr/bin/env ruby
 
# read and writes to the mac clipboard
class MacClipboard
   class &lt;&lt; self
     def read
       IO.popen('pbpaste') {|clipboard| clipboard.read}
     end
     def write(stuff)
       IO.popen('pbcopy', 'w+') {|clipboard| clipboard.write(stuff)}
     end
   end
end #class MacClipboard
 
# creates a random password
# include unwanted characters in the - %w
def random_password(size = 12)
  chars = (('a'..'z').to_a + 
          ('0'..'9').to_a + 
          ('A'..'Z').to_a + 
          ("!".."/").to_a) - %w(i o 0 1 l 0)
    (1..size).collect{|a| chars[rand(chars.size)] }.join
end
 
newpass = random_password
MacClipboard.write(newpass)
puts newpass
&lt;/code&gt;
&lt;/pre&gt;

&lt;p&gt;Thanks to &lt;a href="http://snippets.dzone.com/posts/show/2137"&gt;Peter Cooper&lt;/a&gt; and &lt;a href="http://evan.tiggerpalace.com/2008/4/26/pastie-from-the-mac-clipboard"&gt;Evan Light&lt;/a&gt; for the snippets of code, I just tied them together and added symbols and uppercase characters.

&lt;p&gt;You can also find &lt;a href="http://gist.github.com/164649"&gt;this code on GitHub&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=Z-dTl8R-u4w:4lxAYqSth_0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=Z-dTl8R-u4w:4lxAYqSth_0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=Z-dTl8R-u4w:4lxAYqSth_0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=Z-dTl8R-u4w:4lxAYqSth_0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=Z-dTl8R-u4w:4lxAYqSth_0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=Z-dTl8R-u4w:4lxAYqSth_0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=Z-dTl8R-u4w:4lxAYqSth_0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=Z-dTl8R-u4w:4lxAYqSth_0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sustainablewebsites/~4/Z-dTl8R-u4w" height="1" width="1"/&gt;</description>
      <pubDate>Mon, 10 Aug 2009 06:06:45 GMT</pubDate>
      <guid isPermaLink="false">http://www.sustainablewebsites.com/articles/90</guid>
      <author />
    <feedburner:origLink>http://www.sustainablewebsites.com/articles/90</feedburner:origLink></item>
    <item>
      <title>Get email on your Blackberry (Verizon Customers)</title>
      <link>http://feedproxy.google.com/~r/sustainablewebsites/~3/dlHnJSJ0T64/89</link>
      <description>&lt;p&gt;The Blackberry website &lt;a href="http://www.blackberry.net/go/vzw"&gt;provides a page&lt;/a&gt; specifically for Verizon customers. &lt;/p&gt;

&lt;p&gt;If you need help and would like a customer service rep to walk you through the steps, simply call 800-922-0204 .  &lt;/p&gt;

&lt;p&gt;Hat tip to our customer &lt;a href="www.ecolisticcleaning.com"&gt;www.ecolisticcleaning.com&lt;/a&gt; for doing this research.  &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=dlHnJSJ0T64:cjukJJgblrM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=dlHnJSJ0T64:cjukJJgblrM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=dlHnJSJ0T64:cjukJJgblrM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=dlHnJSJ0T64:cjukJJgblrM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=dlHnJSJ0T64:cjukJJgblrM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=dlHnJSJ0T64:cjukJJgblrM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=dlHnJSJ0T64:cjukJJgblrM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=dlHnJSJ0T64:cjukJJgblrM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sustainablewebsites/~4/dlHnJSJ0T64" height="1" width="1"/&gt;</description>
      <pubDate>Wed, 05 Aug 2009 15:18:40 GMT</pubDate>
      <guid isPermaLink="false">http://www.sustainablewebsites.com/articles/89</guid>
      <author />
    <feedburner:origLink>http://www.sustainablewebsites.com/articles/89</feedburner:origLink></item>
    <item>
      <title>Our First Kiva Loan to a US Green Business</title>
      <link>http://feedproxy.google.com/~r/sustainablewebsites/~3/lLmg0f857D0/88</link>
      <description>&lt;p&gt;I just made a loan to a green business in the United States using a revolutionary website called &lt;a href="http://www.kiva.org"&gt;Kiva&lt;/a&gt;.  Sustainable Websites has been supporting entrepreneurs in the developing world ( &lt;a href="http://www.sustainablewebsites.com/kiva"&gt;view our kiva loans&lt;/a&gt; ), but I am proud to say this is our first through their new ability to lend to entrepreneurs in the U.S.&lt;/p&gt;

&lt;div style="float:left; margin-right: 5px"&gt;
&lt;object width="212" height="172"&gt;&lt;param name="movie" value="http://www.youtube.com/v/S1RsLDJydRI&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/S1RsLDJydRI&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="212" height="172"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/div&gt;

&lt;p&gt;You can go to Kiva&amp;#8217;s website and lend to someone across the globe who needs a loan for their business &amp;#8211; like raising goats, selling vegetables at market or making bricks. Or, in the United States, &lt;a href="http://www.kiva.org/app.php?page=businesses&amp;#38;action=about&amp;#38;id=119418"&gt;organic landscaping&lt;/a&gt;. Each loan has a picture of the entrepreneur, a description of their business and how they plan to use the loan so you know exactly how your money is being spent &amp;#8211; and you get updates letting you know how the entrepreneur is going.&lt;/p&gt;


&lt;p&gt;The best part is, when the entrepreneur pays back their loan you get your money back &amp;#8211; and Kiva&amp;#8217;s loans are managed by microfinance institutions on the ground who have a lot of experience doing this, so you can trust that your money is being handled responsibly.&lt;/p&gt;


&lt;p&gt;I just made a loan to two american entrepreneurs named &lt;a href="http://www.kiva.org/app.php?page=businesses&amp;#38;action=about&amp;#38;id=119418"&gt;Sean and James&lt;/a&gt; in the United States.  They still need another $2,175.00 to complete their loan request of $8,125.00 (you can loan as little as $25.00!).  Help me get this entrepreneur off the ground by clicking on the link below to &lt;a href="http://www.kiva.org/app.php?page=businesses&amp;#38;action=about&amp;#38;id=119418"&gt;make a loan&lt;/a&gt; to Sean and James too.&lt;/p&gt;


&lt;p&gt;It&amp;#8217;s finally easy to actually do something about encouraging entrepreneurship at home, and reducing poverty in the developing world &amp;#8211; using Kiva I know exactly who my money is loaned to and what they&amp;#8217;re using it for.  And most of all, I know that I&amp;#8217;m helping them build a
sustainable business that will provide income to feed, clothe, house and educate their family long after my loan is paid back.&lt;/p&gt;


&lt;p&gt;Join me in changing the world &amp;mdash; one loan at a time.&lt;/p&gt;


What others are saying about Kiva.org:
&lt;blockquote&gt;
&amp;#8216;Revolutionising how donors and lenders in the US are connecting with small entrepreneurs in developing countries.&amp;#8217;
&amp;mdash; &lt;span class="caps"&gt;BBC&lt;/span&gt;

	&lt;p&gt;&amp;#8216;If you&amp;#8217;ve got 25 bucks, a PC and a PayPal account, you&amp;#8217;ve now got the wherewithal to be an international financier.&amp;#8217;
&amp;mdash; &lt;span class="caps"&gt;CNN&lt;/span&gt; Money&lt;/p&gt;


	&lt;p&gt;&amp;#8216;Smaller investors can make loans of as little as $25 to specific individual entrepreneurs through a service launched last fall by Kiva.org.&amp;#8217;
&amp;mdash; The Wall Street Journal&lt;/p&gt;


&amp;#8216;An inexpensive feel-good investment opportunity&amp;#8230;All loaned funds go directly to the applicants, and most loans are repaid in full.&amp;#8217;
&amp;mdash; Entrepreneur Magazine    
&lt;/blockquote&gt;

	&lt;p&gt;Check out our &lt;a href="http://www.sustainablewebsites.com/kiva"&gt;Kiva Lender Page&lt;/a&gt; for a list of all the loans we&amp;#8217;ve made.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=lLmg0f857D0:gSTloNC8Tcs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=lLmg0f857D0:gSTloNC8Tcs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=lLmg0f857D0:gSTloNC8Tcs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=lLmg0f857D0:gSTloNC8Tcs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=lLmg0f857D0:gSTloNC8Tcs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=lLmg0f857D0:gSTloNC8Tcs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=lLmg0f857D0:gSTloNC8Tcs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=lLmg0f857D0:gSTloNC8Tcs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sustainablewebsites/~4/lLmg0f857D0" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 09 Jul 2009 14:46:36 GMT</pubDate>
      <guid isPermaLink="false">http://www.sustainablewebsites.com/articles/88</guid>
      <author />
    <feedburner:origLink>http://www.sustainablewebsites.com/articles/88</feedburner:origLink></item>
    <item>
      <title>5 Common PHP Website Programs and How to Keep Them Up-To-Date</title>
      <link>http://feedproxy.google.com/~r/sustainablewebsites/~3/3j4AaBW4PHM/87</link>
      <description>&lt;blockquote&gt;
		&lt;p&gt;A cautionary tale: This could be you, if you don&amp;#8217;t upgrade! A web hosting customer never upgraded the software that they originally installed on the site. The site was hacked, and the hackers installed a fake bank website &amp;mdash; designed to fool unsuspecting users into revealing their online banking info. Also, they installed a spam program that sent out hundreds of emails, causing the server, and their email addresses to be temporarily blacklisted &amp;mdash; meaning that when they tried to email anyone, it was blocked by spam filters and their emails could not get through. Another customer got hacked, and they simply put a pirate skull and crossbones on their home page, and deleted their files.&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;It should go without saying that the first step is to back up your current site. If anything goes wrong, you can restore the backup. &lt;a href="http://www.sustainablewebsites.com/cpanel-demo"&gt;CPanel&lt;/a&gt; makes it ridiculously simple to make a backup of your site. Log in to your site&amp;#8217;s control panel (ususally your-site.com/cpanel &amp;#8211; replace your-site.com with your actual domain name). Click on the backup wizard or backup icon. Make a complete backup, which will be stored on the server. Also download a copy of your files, databases, and email filters to your local machine.&lt;/p&gt;


	&lt;h3&gt;WordPress&lt;/h3&gt;


	&lt;p&gt;WordPress after version 2.7 has an automatic upgrade built-in. If you log into your /wp-admin area, it should tell you if your software is out-of-date and provide you an automatic upgrade link. It still makes sense to make a backup before you do this.&lt;/p&gt;


	&lt;p&gt;For older versions of WordPress, you can find directions on the wordpress site for &lt;a href="http://codex.wordpress.org/Upgrading_WordPress"&gt;how to upgrade&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Don&amp;#8217;t forget to check your plugins link in the wp-admin screen to see if there are updated versions of plugins. Frequently plugins have security holes, too.&lt;/p&gt;


	&lt;h3&gt;Joomla&lt;/h3&gt;


	&lt;p&gt;Joomla&amp;#8217;s &lt;a href="http://docs.joomla.org/Upgrade_Instructions"&gt;upgrade instructions&lt;/a&gt; are available on &lt;a href="http://docs.joomla.org/Upgrade_Instructions"&gt;docs.joomla.org&lt;/a&gt;. You should also make sure to check all components, modules, and mambots that you have installed for the latest versions.&lt;/p&gt;


	&lt;h3&gt;Drupal&lt;/h3&gt;


	&lt;p&gt;Drupal has a detailed upgrade guide available at &lt;a href="http://drupal.org/upgrade/"&gt;http://drupal.org/upgrade/&lt;/a&gt;  Also, make sure to check drupal.org for the latest versions of any drupal modules you have installed.&lt;/p&gt;


	&lt;h3&gt;PHPList&lt;/h3&gt;


	&lt;p&gt;PHPList is critically important to keep updated because if it is comprimised hackers can send out &lt;span class="caps"&gt;SPAM&lt;/span&gt; with it! Read the &lt;a href="http://docs.phplist.com/PhplistUpgrade"&gt;upgrade instructions&lt;/a&gt;.&lt;/p&gt;


	&lt;h3&gt;CubeCart&lt;/h3&gt;


	&lt;p&gt;CubeCart has &lt;a href="http://www.cubecart.com/tech-support/"&gt;commercial support&lt;/a&gt; available and &lt;a href="http://forums.cubecart.com"&gt;online forums&lt;/a&gt;. Anything related to ecommerce, accepting payments, and delivering inventory should be kept up-to-date at all times.&lt;/p&gt;


	&lt;h3&gt;Other Software&lt;/h3&gt;


	&lt;p&gt;Usually answers can be found by googling &amp;#8220;upgrade name-of-software&amp;#8221;. Replace name-of-software with the actual name of your software.&lt;/p&gt;


	&lt;h3&gt;Stuck?&lt;/h3&gt;


	&lt;p&gt;If you&amp;#8217;ve tried upgrading, and you&amp;#8217;re totally stuck, or your existing webmaster has skipped town, &lt;a href="http://www.sustainablewebsites.com/contact"&gt;contact our sales team&lt;/a&gt; for a quote. Let us know what software you have, which version, and any customizations you have made. We can let you know about our availability for consulting work. Consulting work is not included in your monthly web hosting fee &amp;mdash; there is an hourly rate.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=3j4AaBW4PHM:5f4EMY5ns8o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=3j4AaBW4PHM:5f4EMY5ns8o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=3j4AaBW4PHM:5f4EMY5ns8o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=3j4AaBW4PHM:5f4EMY5ns8o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=3j4AaBW4PHM:5f4EMY5ns8o:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=3j4AaBW4PHM:5f4EMY5ns8o:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sustainablewebsites?a=3j4AaBW4PHM:5f4EMY5ns8o:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sustainablewebsites?i=3j4AaBW4PHM:5f4EMY5ns8o:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sustainablewebsites/~4/3j4AaBW4PHM" height="1" width="1"/&gt;</description>
      <pubDate>Tue, 07 Jul 2009 03:51:01 GMT</pubDate>
      <guid isPermaLink="false">http://www.sustainablewebsites.com/articles/87</guid>
      <author />
    <feedburner:origLink>http://www.sustainablewebsites.com/articles/87</feedburner:origLink></item>
  </channel>
</rss>
