<?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>The Life and Times of Michael Shadle</title>
	<atom:link href="http://michaelshadle.com/feed" rel="self" type="application/rss+xml" />
	<link>http://michaelshadle.com</link>
	<description>&#34;Lazy people are efficient.&#34; - My boss.</description>
	<lastBuildDate>Sat, 28 Jan 2012 09:12:11 +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>PHP 5.4 stuff I&#039;m jazzed about...</title>
		<link>http://michaelshadle.com/2012/01/28/php54-stuff-im-jazzed-about</link>
		<comments>http://michaelshadle.com/2012/01/28/php54-stuff-im-jazzed-about#comments</comments>
		<pubDate>Sat, 28 Jan 2012 09:10:17 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP-FPM]]></category>

		<guid isPermaLink="false">http://michaelshadle.com/?p=719</guid>
		<description><![CDATA[I'm always excited to read updates to the NEWS file for each PHP version (yes, I am that big of a PHP fan boy) - and PHP 5.4 has quite a handful of noteworthy changes. I started cutting them out and decided to publish my "this is interesting" or "this is awesome" list... This is [...]]]></description>
			<content:encoded><![CDATA[<p>I'm always excited to read updates to the NEWS file for each PHP version (yes, I am that big of a PHP fan boy) - and PHP 5.4 has quite a handful of noteworthy changes. I started cutting them out and decided to publish my "this is interesting" or "this is awesome" list...</p>
<p>This is as of PHP 5.4.0 RC6 (<a href="https://svn.php.net/repository/php/php-src/tags/php_5_4_0RC6/NEWS" target="_blank">NEWS</a>). Note that I didn't put in anything related to OO, as I despise the obsession with OO now in PHP and do my best to live without it.</p>
<p>Misc. notable changes:</p>
<ul>
<li>Added built-in web server that is intended for testing purpose. (Moriyoshi)</li>
<li>Changed default value of "default_charset" php.ini option from ISO-8859-1 to UTF-8. (Rasmus)</li>
<li>Added array dereferencing support. (Felipe)</li>
<li>Added header_register_callback() which is invoked immediately prior to the sending of headers and after default headers have been added. (Scott)</li>
<li>Changed http_response_code() to be able to set a response code. (Kalle)</li>
<li>Added new json_encode() option JSON_PRETTY_PRINT. FR #44331. (Adam)</li>
<li>Changed silent conversion of array to string to produce a notice. (Patrick)</li>
<li>Removed support for putenv("TZ=..") for setting the timezone. (Derick)</li>
<li>Removed the timezone guessing algorithm in case the timezone isn't set with date.timezone or date_default_timezone_set(). Instead of a guessed timezone, "UTC" is now used instead. (Derick)</li>
<li>ext/mysql, mysqli and pdo_mysql now use mysqlnd by default. (Johannes) )I think this is in 5.3 though too?)</li>
<li>Expose session status via new function, session_status (FR #52982) (Arpad)</li>
<li>Added support for storing upload progress feedback in session data. (Arnaud)</li>
</ul>
<p>PHP-FPM related:</p>
<ul>
<li>Remove EXPERIMENTAL flag. (fat)</li>
<li>Added partial syslog support (on error_log only). FR #52052. (fat)</li>
<li>Lowered default value for Process Manager. FR #54098. (fat)</li>
<li>Enhance security by limiting access to user defined extensions. FR #55181. (fat)</li>
<li>Added process.max to control the number of process FPM can fork. FR #55166. (fat)</li>
<li>Dropped restriction of not setting the same value multiple times, the last one holds. (giovanni at giacobbi dot net, fat)</li>
</ul>
<p>Removed legacy features:</p>
<ul>
<li>Safe mode and all related ini options. (Kalle)</li>
<li>register_globals and register_long_arrays ini options. (Kalle)</li>
<li>import_request_variables(). (Kalle)</li>
<li>allow_call_time_pass_reference. (Pierrick)</li>
<li>Session bug compatibility mode (session.bug_compat_42 and session.bug_compat_warn ini options). (Kalle)</li>
<li>session_is_registered(), session_register() and session_unregister() functions. (Kalle)</li>
<li>y2k_compliance ini option. (Kalle)</li>
<li>Removed magic_quotes_gpc, magic_quotes_runtime and magic_quotes_sybase ini options. get_magic_quotes_gpc, get_magic_quotes_runtime are kept but always return false, set_magic_quotes_runtime raises an E_CORE_ERROR. (Pierrick, Pierre)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://michaelshadle.com/2012/01/28/php54-stuff-im-jazzed-about/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP.reboot - are you kidding me?</title>
		<link>http://michaelshadle.com/2011/10/09/php-reboot-are-you-kidding-me</link>
		<comments>http://michaelshadle.com/2011/10/09/php-reboot-are-you-kidding-me#comments</comments>
		<pubDate>Sun, 09 Oct 2011 21:22:17 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://michaelshadle.com/?p=715</guid>
		<description><![CDATA[Something just cropped up today on HN about a "reboot of PHP" - being a PHP fanboy, I decided to go look. I've had my own ideas on what I'd change (or rather, just clean up, optimize, and purge) from PHP. The project is here: https://code.google.com/p/phpreboot/ Why is this an issue? Well, for one, it's NOT [...]]]></description>
			<content:encoded><![CDATA[<p>Something just cropped up today on HN about a "reboot of PHP" - being a PHP fanboy, I decided to go look. I've had my own ideas on what I'd change (or rather, just clean up, optimize, and purge) from PHP.</p>
<p>The project is here: <a href="https://code.google.com/p/phpreboot/">https://code.google.com/p/phpreboot/</a></p>
<p>Why is this an issue? Well, for one, it's NOT A REBOOT OF PHP. It's a frickin' Java-based re-implementation of some PHP ideas and function names with a completely different syntax, and at the end of the day, it has 99.9% nothing in common with PHP.</p>
<p>Why do people develop in PHP? Because it is PHP. Stop trying to make PHP more like Java, more JSON-y, etc. Why did it become the world's most popular language? Besides for being easy to pick up (too easy, sometimes, which leads to a bunch of garbage and unsecure code), it got there because of what it is.</p>
<p>This "php.reboot" project is just trying to use PHP's popularity and function names to get people to check it out. PHP doesn't have XML/JSON/SQL style constructs (although the new array syntax sure does look like an attempt to emulate JSON, cough), it has structure - that's what "$" and ";" are for - denoting specific constructs in the language. If people don't want to develop using "$" or ";" go switch to another language that doesn't, that is already established.</p>
<p>I am tired of seeing blog posts and other items pop up every so often "why PHP wants to be more like Java" or "10 things PHP can learn from Ruby" - if you're trying to adapt PHP to another language, just use the other language. Period.</p>
<p>Some of the ideas in this project might be neat, or good; but in the end, it's not a "reboot of PHP" and stop labeling it as one.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelshadle.com/2011/10/09/php-reboot-are-you-kidding-me/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx goes &quot;Prime time&quot;</title>
		<link>http://michaelshadle.com/2011/07/18/nginx-goes-prime-time</link>
		<comments>http://michaelshadle.com/2011/07/18/nginx-goes-prime-time#comments</comments>
		<pubDate>Mon, 18 Jul 2011 17:05:47 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://michaelshadle.com/?p=712</guid>
		<description><![CDATA[Today, Igor announced that he is establishing a company behind nginx, citing that he and some others are going to be focusing more seriously on development, support, etc. This is exciting, as it proves how serious the project has become. For a long time, nginx has been regularly updated, and support has been typically very [...]]]></description>
			<content:encoded><![CDATA[<p>Today, Igor announced that he is establishing a company behind nginx, citing that he and some others are going to be focusing more seriously on development, support, etc. This is exciting, as it proves how serious the project has become. For a long time, nginx has been regularly updated, and support has been typically very reliable, but at the end of the day, the internals of nginx development and features and such have largely been a mystery. It sounds like now we'll all benefit from increased transparency and much more focus on the end-users and support for developers in a more structured and formal way.</p>
<p>I, for one, am excited to see things like a roadmap and making it easier for contributors to help out.</p>
<p>Read Igor's post <a href="http://nginx.org/pipermail/nginx/2011-July/028021.html" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelshadle.com/2011/07/18/nginx-goes-prime-time/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>nginx hits 1.0(.0)</title>
		<link>http://michaelshadle.com/2011/04/12/nginx-hits-1-0-0</link>
		<comments>http://michaelshadle.com/2011/04/12/nginx-hits-1-0-0#comments</comments>
		<pubDate>Tue, 12 Apr 2011 10:16:31 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://michaelshadle.com/?p=702</guid>
		<description><![CDATA[nginx, my webserver du joir, announced its 1.0.0 launch today. Along with the announcement, Igor has also posted a public SVN repository to grab the code from (which seems to include a lot of historical versions, if not the whole thing!) He hasn't setup a web-based SVN option yet (cough, cough, I bet it would [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://nginx.org/" target="_blank">nginx</a>, my webserver du joir, announced its 1.0.0 launch today. Along with the announcement, Igor has also posted a public SVN repository to grab the code from (which seems to include a lot of historical versions, if not the whole thing!)</p>
<p>He hasn't setup a web-based SVN option yet (cough, cough, I bet it would be if nginx supported SVN's DAV needs <img src='http://michaelshadle.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) - but you can hit it up using a native SVN client: svn://svn.nginx.org - note, I would only grab "/nginx/trunk" as otherwise you'll get a few years worth of code, if not the entire nine years.</p>
<p>At first I thought this was a joke, seeing the announcement for 1.0.0 - sounds like it just started. But one must remember, he's always used pre-1.0 for past versions.</p>
<p><strong>Update:</strong></p>
<p>MTecknology maintains a <a href="http://ppa.launchpad.net/nginx/stable/ubuntu" target="_blank">PPA</a> and has already built a package for 1.0.0. The quick and dirty method to update:</p>
<pre class="brush: plain">
apt-get install python-software-properties
add-apt-repository ppa:nginx/stable
apt-get update
</pre>
<p>This will provide you a handful of new packages, by default the "nginx" package is a dummy package that will provide "nginx-full" and should be the only one you really need to care about.</p>
<pre class="brush: plain">
nginx-dbg - Debugging symbols for nginx
nginx - small, but very powerful and efficient web server and mail proxy
nginx-common - small, but very powerful and efficient web server (common files)
nginx-doc - small, but very powerful and efficient web server (documentation)
nginx-extras - nginx web server with full set of core modules and extras
nginx-extras-dbg - Debugging symbols for nginx (extras)
nginx-full - nginx web server with full set of core modules
nginx-full-dbg - Debugging symbols for nginx (full)
nginx-light - nginx web server with minimal set of core modules
nginx-light-dbg - Debugging symbols for nginx (light)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://michaelshadle.com/2011/04/12/nginx-hits-1-0-0/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Poor man&#039;s Global Redirect for Drupal 6.x</title>
		<link>http://michaelshadle.com/2011/03/22/poor-mans-global-redirect-for-drupal-6x</link>
		<comments>http://michaelshadle.com/2011/03/22/poor-mans-global-redirect-for-drupal-6x#comments</comments>
		<pubDate>Wed, 23 Mar 2011 05:31:23 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://michaelshadle.com/?p=692</guid>
		<description><![CDATA[I was moving a customer's site from an old HTML and individual PHP page site to a friendly URL site managed by Drupal, and I only cared about intercepting URLs with those file extensions. I installed Global Redirect on a Drupal 6.x site, and the entire site started going into an infinite redirect, before I [...]]]></description>
			<content:encoded><![CDATA[<p>I was moving a customer's site from an old HTML and individual PHP page site to a friendly URL site managed by Drupal, and I only cared about intercepting URLs with those file extensions. I installed <a href="http://drupal.org/project/globalredirect" target="_blank">Global Redirect</a> on a Drupal 6.x site, and the entire site started going into an infinite redirect, before I even had time to configure it. I had to use Drush to disable the module, and immediately uninstalled Global Redirect since I didn't have time to debug what was going on, and hacked this up.</p>
<p>I didn't really need this to do much. The code is simple and there is no UI to manage it, but it works, and even gives you cute little X-Redirect headers to let you know if it was executed and if it found a match. It would be easy enough to take that if() out and have it check any URL (just be sure to remove the fallback <img src='http://michaelshadle.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<pre class="brush: php">
function foo_init() {
    if(stristr($_SERVER['REQUEST_URI'], '.php') || stristr($_SERVER['REQUEST_URI'], '.htm')) {
        $old = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
        $new = db_result(db_query("SELECT new_url FROM custom_redirect WHERE old_url = '%s'", $old));
        if($new) {
            watchdog('foo', $old.' found in the custom_redirect table', NULL, WATCHDOG_INFO);
            header('X-Redirect: Found');
            drupal_goto('http://'.$_SERVER['HTTP_HOST'].$new, '', '', 301);
        } else {
            watchdog('foo', $old.' NOT found in the custom_redirect table', NULL, WATCHDOG_ERROR);
            header('X-Redirect: Not Found');
            drupal_goto('http://'.$_SERVER['HTTP_HOST'].'/', '', '', 302);
        }
    }
}
</pre>
<p>The table?</p>
<pre class="brush: sql">
CREATE TABLE custom_redirect (
  old_url varchar(150) NOT NULL,
  new_url varchar(150) NOT NULL,
  PRIMARY KEY (old_url)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
</pre>
<p>Enjoy. Totally could have Drupal'ed that up and made a hook_install() for the schema too, right? :p</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelshadle.com/2011/03/22/poor-mans-global-redirect-for-drupal-6x/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I sped up my MySQL restores</title>
		<link>http://michaelshadle.com/2011/02/25/how-i-sped-up-my-mysql-restores</link>
		<comments>http://michaelshadle.com/2011/02/25/how-i-sped-up-my-mysql-restores#comments</comments>
		<pubDate>Fri, 25 Feb 2011 12:12:02 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://michaelshadle.com/?p=636</guid>
		<description><![CDATA[I want to share this with the world, as it may have been helpful up front for me. I had to move a database that is 13gb on the filesystem (not including the shared ibdata file) - the database is a mixture of MyISAM and InnoDB tables. That's not an extremely large or complex database, however, [...]]]></description>
			<content:encoded><![CDATA[<p>I want to share this with the world, as it may have been helpful up front for me. I had to move a database that is 13gb on the filesystem (not including the shared ibdata file) - the database is a mixture of MyISAM and InnoDB tables. That's not an extremely large or complex database, however, when I ran the export script, it only took a couple minutes. Great, I figured import would take longer, but not as long as it actually was originally.</p>
<p>I didn't do the math, but it would have probably taken over 10-15 hours to restore the database from the mysqldump. There's a couple easy tweaks I did not use. For one, I used --skip-opt and made my mysqldump files full INSERT statements (for verbosity and the ability to "diff" them if I ever needed to) - this was stolen from a backup script I wrote.</p>
<p>If you read the documentation/blogs, it says to use --opt when running mysqldump for faster imports. Well, duh! While I was at it, I also tweaked a couple other things. Right now it is moving MUCH faster. What did I do?</p>
<ul>
<li>On the source, I used mysqldump --opt (it seemed to dump the database faster too)</li>
<li>On the destination, I set innodb_flush_log_at_trx_commit to "0" in my.cnf for the time being. This server isn't used yet, so that's safe.</li>
<li>I also put "SET AUTOCOMMIT=0;" at the top of the script, and "COMMIT;" at the bottom of the script. I don't need any commits until the end, this is a fresh import.</li>
</ul>
<p>The results are not very scientific, but here's how it breaks down so far (still in the middle of the process)</p>
<ul>
<li>Without these tweaks, at 107 minutes it was only at 2.2gb out of 13gb.</li>
<li>Without these tweaks, at 12 minutes it was at 4.5gb out of 13gb.</li>
</ul>
<p>I think this will save my bacon, I wish I had done this sooner and not wasted that two hours originally. Someone in #mysql recommended I look at <a href="http://www.percona.com/software/percona-xtrabackup/" target="_blank">XtraBackup</a>, but it seemed like too much to learn and attempt my first run at it while I was having to do a  production migration.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelshadle.com/2011/02/25/how-i-sped-up-my-mysql-restores/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Setting PHP INI parameters from nginx</title>
		<link>http://michaelshadle.com/2011/02/11/setting-php-ini-parameters-from-nginx</link>
		<comments>http://michaelshadle.com/2011/02/11/setting-php-ini-parameters-from-nginx#comments</comments>
		<pubDate>Fri, 11 Feb 2011 11:29:28 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[nginx]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP-FPM]]></category>

		<guid isPermaLink="false">http://michaelshadle.com/?p=629</guid>
		<description><![CDATA[A little known feature in PHP-FPM 5.3.3+ (since it was integrated into PHP core) is that you can actually define PHP INI parameters inside of your nginx configuration. This bridges some of the desire to have "php_value" and "php_admin_value" from Apache available. It's not user-override-able, but things like htscanner or newer PHP 5.3 features could [...]]]></description>
			<content:encoded><![CDATA[<p>A little known feature in PHP-FPM 5.3.3+ (since it was integrated into PHP core) is that you can actually define PHP INI parameters inside of your nginx configuration. This bridges some of the desire to have "php_value" and "php_admin_value" from Apache available. It's not user-override-able, but things like htscanner or newer PHP 5.3 features could address some of that.</p>
<p>This is cool, and I wasn't sure it actually got in a build or not, I remember it was mentioned or discussed, but sure enough, Jérôme coded it and got it in to FPM in core. So it is available to all, and he welcomes the feedback - see <a href="http://forum.nginx.org/read.php?2,172118" target="_blank">this thread</a> on the nginx mailing list.</p>
<p>Due to limitations in the FastCGI protocol, you have to pass all the parameters you want as a single string, separated by "\n" - it's not the cleanest looking configuration, but that's how it is for now. I spitballed a different approach to it, but at the moment I believe it will be unlikely to get adopted.</p>
<p>If you're like me, you're probably looking for the code samples almost immediately. Here's your examples. Note that PHP_VALUE and PHP_ADMIN_VALUE are both legitimate keys, the difference being that PHP_ADMIN_VALUE does not allow the user to override the value using ini_set() - see <a href="http://php.net/manual/en/configuration.changes.php" target="_blank">the manual</a> for more infomation.</p>
<p>Single value:</p>
<pre class="brush: plain">fastcgi_param PHP_VALUE sendmail_from=direct@prout.com;</pre>
<p>Multiple values, manually line-broken:</p>
<pre class="brush: plain">fastcgi_param PHP_VALUE "sendmail_from=chroot@prout.com
precision=42";</pre>
<p>Multiple values, with the \n in there to clearly call it out:</p>
<pre class="brush: plain">fastcgi_param PHP_VALUE "sendmail_from=chroot@prout.com \n precision=42";</pre>
<p>More information is available in the <a href="http://bugs.php.net/bug.php?id=51595" target="_blank">feature request</a> on the PHP bug tracker.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelshadle.com/2011/02/11/setting-php-ini-parameters-from-nginx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Verizon and Frontier have your password - just FYI</title>
		<link>http://michaelshadle.com/2011/02/05/verizon-and-frontier-have-your-password-just-fyi</link>
		<comments>http://michaelshadle.com/2011/02/05/verizon-and-frontier-have-your-password-just-fyi#comments</comments>
		<pubDate>Sat, 05 Feb 2011 21:22:38 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Consumerism]]></category>

		<guid isPermaLink="false">http://michaelshadle.com/?p=621</guid>
		<description><![CDATA[It was weird to see a company nowadays still have your password stored somewhere plaintext.]]></description>
			<content:encoded><![CDATA[<p>It was weird to see a company nowadays still have your password stored somewhere plaintext.<br />
<br />
<a href="http://michaelshadle.com/wordpress/wp-content/uploads/ms/2011/02/frontier-password-plaintext.png" class="broken_link"><img class="aligncenter size-full wp-image-625" title="frontier-password-plaintext" src="http://michaelshadle.com/wordpress/wp-content/uploads/ms/2011/02/frontier-password-plaintext.png" alt="" width="532" height="660" /></a><br /></p>
]]></content:encoded>
			<wfw:commentRss>http://michaelshadle.com/2011/02/05/verizon-and-frontier-have-your-password-just-fyi/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mozy stops &quot;unlimited&quot; plan... and I mosey on</title>
		<link>http://michaelshadle.com/2011/02/01/mozy-stops-unlimited-plan-and-i-mosey-on</link>
		<comments>http://michaelshadle.com/2011/02/01/mozy-stops-unlimited-plan-and-i-mosey-on#comments</comments>
		<pubDate>Tue, 01 Feb 2011 23:57:40 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Consumerism]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://michaelshadle.com/?p=612</guid>
		<description><![CDATA[I've been a fan of Backblaze for a long time, and prefer it and recommend it over Mozy time and time again. Mozy was the golden child for a bit, but now the prize goes to Backblaze, with its more efficient backup client, faster network speeds and same price. I've been using Backblaze for over [...]]]></description>
			<content:encoded><![CDATA[<p>I've been a fan of Backblaze for a long time, and prefer it and recommend it over Mozy time and time again. Mozy was the golden child for a bit, but now the prize goes to Backblaze, with its more efficient backup client, faster network speeds and same price. I've been using Backblaze for over a year by itself on many machines and have been quite happy. For the sake of redundancy though, a couple months ago I decided to subscribe to Mozy as well, just out of paranoia.</p>
<p>Due to the fact that their service always uses over 100 megs of RAM, and seems to continuously get stuck on certain files, I was planning on getting rid of it soon. Today's announcement made this decision even easier though, as now they've decided to go the way of other companies with tiered pricing models. With how cheap technology continuously gets, any company marking prices up really pisses me off.</p>
<p>So, I give a profane salute to you, Mozy, as you have now joined the ranks of companies I feel personally displeased with, and definitely will not recommend (not that I really did anyway.)</p>
<p>Even AT&#038;T (one of the main companies I despise) let people grandfather in their unlimited plans, and cell networks take a lot more beating than a backup service with hard drive prices going down every day. Adding more servers to a rack is a lot harder than adding cell tower capacity. That type of "next month you'll be forced to change" does not sit well with me.</p>
<blockquote><p>Dear Michael,</p>
<p>Thanks for being a valued Mozy subscriber. For the first time since 2006, we're adjusting the price of our MozyHome service and wanted to give you a heads up. As part of this change, we’re replacing our MozyHome Unlimited backup plan and introducing the following tiered storage plans:</p>
<p>50 GB for $5.99 per month (includes backup for 1 computer)<br />
125 GB for $9.99 per month (includes backup for up to 3 computers)</p>
<p>You may add additional computers (up to 5 in total) or 20 GB increments of storage to either of the plans, each for a monthly cost of $2.00.</p>
<p>While this policy takes effect for new MozyHome customers starting today, your MozyHome Unlimited subscription is still valid for the duration of your current monthly term. In order to ensure uninterrupted service, you'll need to select a new renewal plan.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://michaelshadle.com/2011/02/01/mozy-stops-unlimited-plan-and-i-mosey-on/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>United States of Google</title>
		<link>http://michaelshadle.com/2011/01/23/united-states-of-google</link>
		<comments>http://michaelshadle.com/2011/01/23/united-states-of-google#comments</comments>
		<pubDate>Sun, 23 Jan 2011 08:17:45 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://michaelshadle.com/?p=598</guid>
		<description><![CDATA[Just saw this code on a site, I forgot this good stuff existed. I've seen it before in a post about Google's web fonts and using their jsapi to load the webfont.js file, and I just rediscovered it again. I love Google. Using their clout to better the web (IMHO.) You can call me a [...]]]></description>
			<content:encoded><![CDATA[<p>Just saw this code on a site, I forgot this good stuff existed. I've seen it before in a post about Google's web fonts and using their jsapi to load the webfont.js file, and I just rediscovered it again. I love Google. Using their clout to better the web (IMHO.) You can call me a fanboy - I don't care.</p>
<pre class="brush: javascript">&lt;script type="text/javascript" src="http://www.google.com/jsapi"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;google.load("jquery", "1.4");&lt;/script&gt;
&lt;script type="text/javascript"&gt;google.load("jqueryui", "1.7.2");&lt;/script&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://michaelshadle.com/2011/01/23/united-states-of-google/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

