<?xml version="1.0" encoding="UTF-8"?>
<articles type="array">
  <article>
    <body>&lt;p&gt;Sometimes it is necessary to find out more information about the version of PHP your server is running.  All versions of PHP come with a very simple and endlessly useful information function:&lt;/p&gt;

&lt;p&gt;phpinfo();  &lt;/p&gt;

&lt;p&gt;Calling this function inside a PHP page will output a full profile of the current state of PHP on your site. This can provide information you need to install scripts and write your own, and in some cases save you time e-mailing your us to ask about your PHP capabilities or paths.  Output will include information about PHP compilation options and extensions, the PHP version, server information and environment (if compiled as a module), the PHP environment, OS version information, paths, master and local values of configuration options, HTTP headers, and the PHP License.  &lt;/p&gt;

&lt;p&gt;To create a phpinfo file:&lt;/p&gt;

&lt;p&gt;1. Open up a simple text editor like Notepad or Textpad (not Microsoft Word or similar).&lt;/p&gt;

&lt;p&gt;2. Paste in the following PHP code:&lt;/p&gt;

&lt;pre&gt;&lt;code style=&quot;background-color: black; color: greenyellow; display: block; font-family: Courier New, Fixed, monospace; padding: 10px; border: 1px dashed #bbb; overflow: auto;&quot;&gt;
&amp;lt;?php  
  phpinfo();
?&amp;gt;
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;3. Save the file as phpinfo.php.&lt;/p&gt;

&lt;p&gt;4. Upload to the webserver. Put it in your public_html directory.&lt;/p&gt;

&lt;p&gt;You can also create this file from the file manager in your control panel&lt;/p&gt;

&lt;p&gt;Make sure to remove the file when you are done with it, hackers may use it to glean information about the server.&lt;/p&gt;

&lt;p&gt;If you want to change the version of PHP, from 4 to 5, log in to your &lt;a href=&quot;/control-panel&quot;&gt;control panel&lt;/a&gt; and click on the PHP Configuration icon.&lt;/p&gt;</body>
    <cached-tag-list>phpinfo, php</cached-tag-list>
    <category-id type="integer">2</category-id>
    <comments-enabled type="boolean">true</comments-enabled>
    <created-at type="datetime">2009-12-23T15:28:16Z</created-at>
    <id type="integer">100</id>
    <permalink>phpinfo</permalink>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-12-23T18:44:32Z</published-at>
    <synopsis>Sometimes you need to know what PHP is doing on our server to run or install certain scripts, like Wordpress plugins or Drupal modules for example.</synopsis>
    <title>How Do I Create a PHPinfo Page?</title>
    <updated-at type="datetime">2009-12-23T18:44:32Z</updated-at>
    <user-id type="integer">3</user-id>
  </article>
  <article>
    <body>&lt;p&gt;Changing your nameservers is typically the last step to move your web hosting to &lt;a href=&quot;http://www.sustainablewebsites.com&quot;&gt;Sustainable Websites&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It's important to ensure before this step that you have been able to log in to your &lt;a href=&quot;http://www.sustainablewebsites.com/control-panel&quot;&gt;control panel&lt;/a&gt;, and &lt;a href=&quot;http://www.sustainablewebsites.com/tutorial_cpanel/cpanel10_x2_popemail.html&quot;&gt;set up any email accounts&lt;/a&gt; that you need. Last but most definitely not least, make sure you have already uploaded your files for your website and previewed it at the temporary URL you received in your last welcome email.&lt;/p&gt;

&lt;p&gt;When you change your nameservers, it may take 36 or even 72 hours for the Internet to understand that your site has moved. During this time, your web site may be served to visitors from both your old web host and your new web host. Also, emails may get delivered to the old host or the new host. So, it's important not to cancel the old hosting right away, until you've had a chance to check to see if you've missed any emails.&lt;/p&gt;

&lt;p&gt;The best way to know if DNS propagation is over, and your name servers have been changed, is to use &lt;a href=&quot;http://www.whatsmydns.net/&quot;&gt;What's My DNS?&lt;/a&gt;The IP address number that's in the DNS Value column of your A record should match the IP address number of your temporary address URL that was in your last welcome email. Congrats, you're done with setting your name servers and are now hosting with Sustainable Websites.&lt;/p&gt;</body>
    <cached-tag-list>domainnames, dns, nameservers, accountsetup</cached-tag-list>
    <category-id type="integer">2</category-id>
    <comments-enabled type="boolean">true</comments-enabled>
    <created-at type="datetime">2009-12-23T02:57:35Z</created-at>
    <id type="integer">99</id>
    <permalink>domain-nameservers</permalink>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-12-23T03:08:33Z</published-at>
    <synopsis>Name servers tell the internet which computer example.com is hosted on. Name servers are updated where you bought the domain name. So this could be your old host, or a domain name registrar like &lt;a href=&quot;http://www.sustainabledomains.com&quot;&gt;SustainableDomains.com&lt;/a&gt;. Every company's system is slightly different, but there will always be a place to set the name servers. Many domain name registrars will set them for you if you give them a call.</synopsis>
    <title>How to Move Domain Name Servers</title>
    <updated-at type="datetime">2009-12-23T03:08:33Z</updated-at>
    <user-id type="integer">1</user-id>
  </article>
  <article>
    <body>&lt;p style=&quot;margin-top:20px&quot;&gt;&lt;img src=&quot;/images/kalnitskylaw-web.png&quot; style=&quot;float:left; margin-top: 20px; margin-right:20px; margin-bottom:20p;&quot;/&gt;While describing her practice, Ruth said:
&lt;blockquote&gt;While representing clients in the private sector is both challenging and gratifying, I wanted my practice to also include the populations that need legal representation the most, and can afford it the least. To that end, I have become a member of the San Francisco Bar Association's Juvenile Dependency Referral Panel, a referral service that appoints attorneys to represent indigent parents and children in the foster care system
&lt;/blockquote&gt;

Check out her &lt;a href=&quot;http://kalnitskylaw.com/commitment-to-community/&quot;&gt;commitment to community&lt;/a&gt;, &lt;a href=&quot;http://kalnitskylaw.com/practice-areas/&quot;&gt;practice areas&lt;/a&gt; and contact Ruth at &lt;a href=&quot;http://www.kalnitskylaw.com&quot;&gt;Kalnitsky Law&lt;/a&gt;.
&lt;/p&gt;</body>
    <cached-tag-list>lawyer, sanfrancisco, kalnitsky</cached-tag-list>
    <category-id type="integer">1</category-id>
    <comments-enabled type="boolean">true</comments-enabled>
    <created-at type="datetime">2009-11-19T22:14:32Z</created-at>
    <id type="integer">98</id>
    <permalink>kalnitsky-law-launches</permalink>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-12-03T17:44:17Z</published-at>
    <synopsis>&lt;a href=&quot;http://kalnitskylaw.com/&quot;&gt;Ruth Kalnitsky&lt;/a&gt; launched her law practice's web site, hosted with us, powered by &lt;a href=&quot;http://www.sustainablewebsites.com/wordpress-hosting&quot;&gt;WordPress&lt;a&gt; and designed by &lt;a href=&quot;http://metrikminute.com/&quot;&gt;Vlad Metrik&lt;/a&gt;. A focus is on maintaining positive relationships within the client's community by first attempting to resolve issues amicably and with diplomacy. 
</synopsis>
    <title>Kalnitsky Law Launches Practice</title>
    <updated-at type="datetime">2009-12-03T17:44:17Z</updated-at>
    <user-id type="integer">1</user-id>
  </article>
  <article>
    <body>&lt;p&gt;You may see the following error when upgrading &lt;a href=&quot;http://www.sustainablewebsites.com/wordpress-hosting&quot;&gt;WordPress&lt;/a&gt; : &lt;/p&gt;

&lt;p&gt;&lt;code style=&quot;color:red&quot;&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 &quot;deactivate&quot;. 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;
</body>
    <cached-tag-list>wordpress, plugins, upgrade</cached-tag-list>
    <category-id type="integer">2</category-id>
    <comments-enabled type="boolean">true</comments-enabled>
    <created-at type="datetime">2009-10-27T21:10:26Z</created-at>
    <id type="integer">97</id>
    <permalink>wordpress-upgrade-error</permalink>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-10-27T21:10:26Z</published-at>
    <synopsis>When upgrading WordPress, you may see an out of memory error. Temporarily disable all plug-ins, and the upgrade should work.</synopsis>
    <title>Wordpress Upgrade Error</title>
    <updated-at type="datetime">2009-10-27T21:10:26Z</updated-at>
    <user-id type="integer">1</user-id>
  </article>
  <article>
    <body>&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=&quot;http://en.wikipedia.org/wiki/Screenshot#Microsoft_Windows&quot;&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=&quot;http://sustainablewebsites.com/support&quot;&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=&quot;http://skitch.com/&quot;&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 &quot;Description&quot; area of our support form, or in any email response to our team.&lt;/p&gt;</body>
    <cached-tag-list>skitch support images screenshots</cached-tag-list>
    <category-id type="integer">2</category-id>
    <comments-enabled type="boolean">true</comments-enabled>
    <created-at type="datetime">2009-10-26T15:50:53Z</created-at>
    <id type="integer">96</id>
    <permalink>use-skitch-to-upload-screenshots-to-support</permalink>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-10-27T21:03:05Z</published-at>
    <synopsis>If you need to create screenshots for our support team to help troubleshoot an issue, try using Skitch for fast, fun, and secure image sharing.</synopsis>
    <title>Use Skitch to upload screenshots to support</title>
    <updated-at type="datetime">2009-10-27T21:03:05Z</updated-at>
    <user-id type="integer">3</user-id>
  </article>
  <article>
    <body>&lt;p&gt;This was bugging me. A random grey box was showing up on our support form. After using &lt;a href=&quot;http://getfirebug.com/&quot;&gt;Firebug&lt;/a&gt; to right click on it, and &quot;Inspect Element&quot;, 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=&quot;read the Rails API documentation on it&quot; href=&quot;http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html&quot;&gt;CSRF attacks&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To remove it, I first stumbled on &lt;a href=&quot;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&quot;&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=&quot;background-color: black; color: greenyellow; display: block; font-family: Courier New, Fixed, monospace; padding: 10px; border: 1px dashed #bbb; overflow: auto;&quot;&gt;
form#new_model div input[name=&quot;authenticity_token&quot;] {
   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=&quot;http://www.w3.org/TR/CSS2/selector.html&quot;&gt;CSS 2 specification&lt;/a&gt;.</body>
    <cached-tag-list>ruby, rails, rubyonrails, css</cached-tag-list>
    <category-id type="integer">2</category-id>
    <comments-enabled type="boolean">true</comments-enabled>
    <created-at type="datetime">2009-10-05T23:33:06Z</created-at>
    <id type="integer">94</id>
    <permalink>hide-rails-authenticity-token</permalink>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-10-05T23:37:09Z</published-at>
    <synopsis>&lt;p&gt;If you're using CSS styles in your Ruby on Rails forms, you may see a random box, especially if you put a background color on your input fields. Here's how to hide it: select the HTML element by name, instead of the more common id. A useful tip for new CSS desginers, too.&lt;/p&gt;</synopsis>
    <title>Hide the Rails Authenticity Token</title>
    <updated-at type="datetime">2009-10-05T23:37:09Z</updated-at>
    <user-id type="integer">1</user-id>
  </article>
  <article>
    <body>&lt;p&gt;If you&amp;#8217;re theme developing, especially using a theming framework like &lt;a href=&quot;http://carringtontheme.com/&quot;&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=&quot;http://codex.wordpress.org/Template_Tags/get_the_category&quot;&gt; Codex&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;
&lt;pre&gt;
&lt;code style=&quot;border: 1px dashed rgb(187, 187, 187); padding: 10px; overflow: auto; background-color: black; color: greenyellow; display: block; font-family: Courier New,Fixed,monospace;&quot;&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;
    
</body>
    <cached-tag-list>wordpress</cached-tag-list>
    <category-id type="integer">2</category-id>
    <comments-enabled type="boolean">true</comments-enabled>
    <created-at type="datetime">2009-10-01T22:49:53Z</created-at>
    <id type="integer">93</id>
    <permalink>wordpress-tip-get-current-category-with-query-posts</permalink>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-10-02T00:34:52Z</published-at>
    <synopsis>Better than unique category templates.</synopsis>
    <title>Wordpress Tip: get current category with query-posts</title>
    <updated-at type="datetime">2009-10-02T00:34:52Z</updated-at>
    <user-id type="integer">3</user-id>
  </article>
  <article>
    <body>&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=&quot;http://sustainablewebsites.com&quot;&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;
</body>
    <cached-tag-list>wordpress plugins errors</cached-tag-list>
    <category-id type="integer">2</category-id>
    <comments-enabled type="boolean">true</comments-enabled>
    <created-at type="datetime">2009-10-01T22:47:45Z</created-at>
    <id type="integer">92</id>
    <permalink>wordpress-plugin-activation-error</permalink>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-10-02T00:34:34Z</published-at>
    <synopsis>What the Parse error: syntax error, unexpected T_STATIC, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ???!!!!</synopsis>
    <title>Wordpress Plugin Activation Error</title>
    <updated-at type="datetime">2009-10-02T00:34:34Z</updated-at>
    <user-id type="integer">3</user-id>
  </article>
  <article>
    <body>&lt;p&gt;Found a rockin &lt;a href=&quot;http://www.nabble.com/slideToggle-jumpy-at-end-%28even-with-padding:-0%29-td25145254s27240.html&quot;&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=&quot;http://www.nabble.com/slideToggle-jumpy-at-end-%28even-with-padding:-0%29-td25145254s27240.html&quot;&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;
</body>
    <cached-tag-list>jquery slideToggle</cached-tag-list>
    <category-id type="integer">2</category-id>
    <comments-enabled type="boolean">true</comments-enabled>
    <created-at type="datetime">2009-10-01T22:46:13Z</created-at>
    <id type="integer">91</id>
    <permalink>jquery-slidetoggle-jumps-at-the-end</permalink>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-10-02T00:34:58Z</published-at>
    <synopsis>Fix that pesky slideToggle.</synopsis>
    <title>jQuery slideToggle jumps at the end</title>
    <updated-at type="datetime">2009-10-02T00:34:58Z</updated-at>
    <user-id type="integer">3</user-id>
  </article>
  <article>
    <body>&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=&quot;background-color: black; color: greenyellow; display: block; font-family: Courier New, Fixed, monospace; padding: 10px; border: 1px dashed #bbb; overflow: auto;&quot;&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 + 
          (&quot;!&quot;..&quot;/&quot;).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=&quot;http://snippets.dzone.com/posts/show/2137&quot;&gt;Peter Cooper&lt;/a&gt; and &lt;a href=&quot;http://evan.tiggerpalace.com/2008/4/26/pastie-from-the-mac-clipboard&quot;&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=&quot;http://gist.github.com/164649&quot;&gt;this code on GitHub&lt;/a&gt;&lt;/p&gt;</body>
    <cached-tag-list>ruby, passwords</cached-tag-list>
    <category-id type="integer">2</category-id>
    <comments-enabled type="boolean">true</comments-enabled>
    <created-at type="datetime">2009-08-09T04:43:48Z</created-at>
    <id type="integer">90</id>
    <permalink>random-password-generator</permalink>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-08-10T06:06:45Z</published-at>
    <synopsis>You can use this ruby code to generate random passwords. Or, save it as an executable file for the Mac OS X command line.</synopsis>
    <title>Generate Random Passwords</title>
    <updated-at type="datetime">2009-08-10T06:06:45Z</updated-at>
    <user-id type="integer">1</user-id>
  </article>
</articles>
