<?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>RoboZen</title>
	<atom:link href="http://robozen.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://robozen.com</link>
	<description>Web innovation, entrepreneurship, usability</description>
	<lastBuildDate>Fri, 09 Oct 2009 19:35:42 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to Monetize Your Blog: A Really Dumb Recursive Formula</title>
		<link>http://robozen.com/funny/how-to-monetize-your-blog-a-really-dumb-recursive-formula/</link>
		<comments>http://robozen.com/funny/how-to-monetize-your-blog-a-really-dumb-recursive-formula/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 19:35:42 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
				<category><![CDATA[Funny]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=316</guid>
		<description><![CDATA[Sometimes I&#8217;m stupid enough to subscribe to some online marketing newsletter. I got two this week from different &#8220;marketers&#8221; whose content was almost identical. They went something like this:
Want to make money off your blog?? I make $100000000 a week off my blog! Here&#8217;s How! Click here for this magic formula! Drive Traffic! Make dollars!
And [...]<p>&nbsp;</p><p>Hunting around for a new web host? RoboZen has used and recommends reliable web hosting from <a href="http://www.lunarpages.com/id/Verdage">Lunarpages</a>. Support for PHP, Ruby on Rails, unlimited storage, unlimited bandwidth, for $5 a month.</p>]]></description>
			<content:encoded><![CDATA[<p>Sometimes I&#8217;m stupid enough to subscribe to some online marketing newsletter. I got two this week from different &#8220;marketers&#8221; whose content was almost identical. They went something like this:</p>
<blockquote><p>Want to make money off your blog?? I make $100000000 a week off my blog! Here&#8217;s How! Click here for this magic formula! Drive Traffic! Make dollars!</p></blockquote>
<p>And of course, clicking takes you to an order page where you can shell out some hard-earned money for a PDF containing their &#8220;magic formula&#8221;.</p>
<p>Well I like you, dear readers, so I&#8217;m going to tell you their secrets, absolutely FREE! Here&#8217;s the trick to &#8220;monetizing your blog&#8221;:</p>
<ol>
<li>Put up a newsletter subscription form</li>
<li>Write some nonsense about how much money you make off your blog, even if you don&#8217;t &#8211; this will drive traffic</li>
<li>Blast your users with stupid annoying emails promising them the secret to blog monetization</li>
<li>Put these steps 1-4 into a PDF and sell it for $30</li>
</ol>
<p>It&#8217;s recursive!</p>
]]></content:encoded>
			<wfw:commentRss>http://robozen.com/funny/how-to-monetize-your-blog-a-really-dumb-recursive-formula/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8220;Drupal Sucks&#8221; Followup: Drupal Alternatives</title>
		<link>http://robozen.com/design/drupal-sucks-followup-drupal-alternatives/</link>
		<comments>http://robozen.com/design/drupal-sucks-followup-drupal-alternatives/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 10:33:58 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=292</guid>
		<description><![CDATA[First of all, thanks to everyone who read and commented on the original post. If nothing else, I got some (angry) tips for how to improve my Drupal experience when I do have to use it. It reminds me of this bash.org gem: Start the sentence with &#8220;Linux is gay because it can&#8217;t do XXX [...]<p>&nbsp;</p><p>Hunting around for a new web host? RoboZen has used and recommends reliable web hosting from <a href="http://www.lunarpages.com/id/Verdage">Lunarpages</a>. Support for PHP, Ruby on Rails, unlimited storage, unlimited bandwidth, for $5 a month.</p>]]></description>
			<content:encoded><![CDATA[<p>First of all, thanks to everyone who read and commented on the <a href="http://robozen.com/technology/drupal-sucks" onclick="">original post</a>. If nothing else, I got some (angry) tips for how to improve my Drupal experience when I do have to use it. It reminds me of this <a href="http://bash.org/?152037?" onclick="javascript:pageTracker._trackPageview('/outbound/article/bash.org');">bash.org gem</a>: Start the sentence with &#8220;Linux is gay because it can&#8217;t do XXX like Windows can&#8221;, and you get Linux geeks rushing to angrily help you. So again, thanks everyone.</p>
<p>That said, I haven&#8217;t changed my general opinion about Drupal, and this week I&#8217;ll be addressing some of the recurring points from the comments.</p>
<p>Let&#8217;s start with:</p>
<p><strong>Q. What do you recommend in its place and under what circumstances?</strong><strong><br />
</strong><span id="more-292"></span><strong><br />
A. If you&#8217;re building a web app with complex requirements, build from scratch.</strong></p>
<p>I&#8217;m a programmer by trade so I&#8217;m usually inclined to &#8220;roll my own&#8221;. If your project is less &#8220;website&#8221; and more &#8220;web app&#8221; with many custom features, you need an architecture to work around your requirements, not the other way around. There are plenty of frameworks&#8212;Rails, Symfony, Django, to name a few&#8212;with enough plugins that you&#8217;ll get many of the same features that Drupal offers, such as user management and authentication, without sacrificing flexibility.</p>
<p>More importantly, rolling your own leaves you in charge of deployment procedures. My number one issue with Drupal is deployment. Storing configuration in the database makes deploying a Drupal site across multiple environments a huge PITA. There is <a href="http://drupal.org/project/deploy" onclick="javascript:pageTracker._trackPageview('/outbound/article/drupal.org');">a module dealing with this</a>&#8212;of course&#8212;but it&#8217;s still in active development. And as far as I&#8217;m concerned, the sheer fact that this has to be dealt with through a third-party add-on is evidence of bad design.</p>
<p>In the original post I wrote that it&#8217;s possible to code up a custom CMS in a couple days, and I stick to this statement. No, it&#8217;s not possible to code up a Drupal replacement, i.e. a CMS that can be used for &#8220;anything&#8221;. But it&#8217;s definitely possible to code a basic <em>custom</em> CMS for *one* site. And custom-tailored suits, if well-sewn, are superior to off-the-rack jackets. This is hard to dispute.</p>
<p><strong>Blogging? Use a blogging engine.</strong></p>
<p>Use Wordpress, Typo or any of the other excellent ones out there. I happen to use WP but don&#8217;t have a particular bias.</p>
<p><strong>Simple content site? Off-the-shelf CMS (including Drupal) is fine</strong></p>
<p>If you&#8217;re aiming for something a tad more complex than a blog, but that is still limited to presenting content to a limited audience, and you don&#8217;t need much flexibility beyond the front end, and you don&#8217;t have complex deployment procedures, and you don&#8217;t have a team of developers working on the site, and there won&#8217;t be much post-launch development (that&#8217;s a lot of ifs) by all means use a general-purpose CMS. This can be Drupal (I said as much in the original post), but in the comments I&#8217;ve also seen people recommend these, in no particular order:</p>
<ul>
<li><a onclick="javascript:pageTracker._trackPageview('/outbound/comment/www.silverstripe.org');" rel="nofollow" href="http://www.silverstripe.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.silverstripe.org');">Silverstripe</a></li>
<li><a href="http://www.browsercms.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.browsercms.org');">BrowserCMS</a></li>
<li><a href="http://www.concrete5.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.concrete5.org');">concrete5</a></li>
<li><a href="http://modxcms.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/modxcms.com');">modx</a></li>
</ul>
<p>(I&#8217;ve excluded Joomla, a big ball of spaghetti fail. Wonder when the hate mail will start for that one&#8230;)</p>
<p>In short, I stand by my statement. Use an off-the-shelf CMS if you don&#8217;t need to do anything fancy. And if you&#8217;ve tried ay of the Drupal alternatives I mentioned above, please write in with your opinions.</p>
]]></content:encoded>
			<wfw:commentRss>http://robozen.com/design/drupal-sucks-followup-drupal-alternatives/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Run IE6, IE7 and IE8 on the same machine</title>
		<link>http://robozen.com/technology/run-ie6-ie7-and-ie8-on-the-same-machine/</link>
		<comments>http://robozen.com/technology/run-ie6-ie7-and-ie8-on-the-same-machine/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 09:15:06 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=287</guid>
		<description><![CDATA[Need to test your site in multiple versions of Internet Explorer? I just downloaded DebugBar and was beyond impressed. With a couple clicks, you can open a url in a single tabbed window with all IE versions 5.5 through 8. Grab it here.
Two years ago I endorsed Multiple IE, but unfortunately they&#8217;ve dropped the ball [...]<p>&nbsp;</p><p>Hunting around for a new web host? RoboZen has used and recommends reliable web hosting from <a href="http://www.lunarpages.com/id/Verdage">Lunarpages</a>. Support for PHP, Ruby on Rails, unlimited storage, unlimited bandwidth, for $5 a month.</p>]]></description>
			<content:encoded><![CDATA[<p>Need to test your site in multiple versions of Internet Explorer? I just downloaded DebugBar and was beyond impressed. With a couple clicks, you can open a url in a single tabbed window with all IE versions 5.5 through 8. <a href="http://www.my-debugbar.com/wiki/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.my-debugbar.com');">Grab it here</a>.</p>
<p>Two years ago I endorsed <a href="http://robozen.com/technology/how-to-run-ie6-and-ie7-on-the-same-machine/" onclick="">Multiple IE</a>, but unfortunately they&#8217;ve dropped the ball on Vista and IE8 support. I recommend upgrading to DebugBar.</p>
]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/run-ie6-ie7-and-ie8-on-the-same-machine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal Sucks</title>
		<link>http://robozen.com/technology/drupal-sucks/</link>
		<comments>http://robozen.com/technology/drupal-sucks/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 13:00:59 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=257</guid>
		<description><![CDATA[Edit: First followup posted.
Are you choosing a Content Management System for your next site? Allow me to throw in my two cents against Drupal. In theory, Drupal is a CMS that lets you control your site out of the box. In practice, it&#8217;s a nightmare to configure and maintain.
I recognize that Drupal might work for [...]<p>&nbsp;</p><p>Hunting around for a new web host? RoboZen has used and recommends reliable web hosting from <a href="http://www.lunarpages.com/id/Verdage">Lunarpages</a>. Support for PHP, Ruby on Rails, unlimited storage, unlimited bandwidth, for $5 a month.</p>]]></description>
			<content:encoded><![CDATA[<p>Edit: <a href="http://robozen.com/design/drupal-sucks-followup-drupal-alternatives/" onclick="">First followup posted</a>.</p>
<p>Are you choosing a Content Management System for your next site? Allow me to throw in my two cents against Drupal. In theory, Drupal is a CMS that lets you control your site out of the box. In practice, it&#8217;s a nightmare to configure and maintain.</p>
<p>I recognize that Drupal might work for small sites: install the software, upload your custom theme, and start adding content. But if you&#8217;re planning a serious site, with custom features and potential for high traffic, Droople, as I&#8217;ve christened it, might not be your best bet.</p>
<p>Apologists may protest that module X or hack Y might fix my gripes with Drupal. I think this is irrelevant. A CMS requiring a slew of third-party mods before it can be usable is useless to someone who can code a custom Rails CMS in a day or two. (Hint, hint. Build it in Rails.)</p>
<p>Without further ado, here is a breakdown of why Drupal is bad for the various parties involved, together with Why It&#8217;s Bad (WIB) notes for the less tech-savvy.</p>
<p><span id="more-257"></span></p>
<p><strong>Gripe #1: Drupal Stores Just About Everything in the Database</strong></p>
<p>Databases are great for storing passwords, content, and countless other things. These things do not include &#8220;views&#8221;, i.e. templates. That&#8217;s right, templates. In the database. Drupal stores templates in the database.</p>
<p><em><strong>WIB</strong>: Best practices dictate using a version control tool like Subversion or Git which, among other things, lets two developers &#8220;download&#8221; the same code so they can work on it simultaneously. Unfortunately for Drupal developers, database settings are not typically stored in version control. This means that two developers have no easy way of coordinating their work. Further, it means you&#8217;ll have a heck of a time replicating your settings across multiple servers if you have a high-traffic site that requires load balancing, or a staging server where you want to preview changes before they go live.</em></p>
<p>Another thing Drupal stores in the database? Logs. In the database. Drupal stores logs in the database.</p>
<p><em><strong>WIB:</strong> Logs record visits to your website, together with other useful details like errors. When you get lots of traffic, logs tend to get huge &#8211; we&#8217;re talking gigs. Logs are important for debugging, but, unless you&#8217;re a high-security outfit, they do not need to be permanently stored. If you back up your database regularly &#8211; and you should &#8211; you&#8217;ll be transferring all that unnecessary data every time you run a backup. Further, you might want to grant a sysadmin or programmer access to your logs to help diagnose a problem. You don&#8217;t want that person digging around in your database for this information: one bad search query and your data is gone.<br />
</em></p>
<p><strong><br />
Gripe #2: Drupal is Freaking Hard to Use and Has a High Learning Curve</strong></p>
<p>In the good old days, building a website meant coding a page in HTML and uploading it to a server. If you wanted to update the page, you edited the HTML, and re-uploaded the file. Then people who didn&#8217;t know HTML started clamoring for a way to edit their own sites. Along came Content Management Systems, presumably to let an admin log in, edit, save, and call it a day.</p>
<p>Enter Drupal. This CMS, my friends, is so bloated that it takes days, if not weeks, for the layperson to learn their way around it. In fact, my Drupal clients are so confused by the interface that they still send me content and ask me to input it for them.</p>
<p><em><strong>WIB</strong>: The whole point of a CMS is enabling a layperson to update a website. I think the average person can learn basic HTML and FTP within weeks. So if a CMS takes weeks to learn, and you still need a techie to help you find your way around it, the CMS is not doing its job of </em>simplifying<em> the website update process.</em></p>
<p>Why is Drupal so hard to use? It&#8217;s a combination of bad usability and  confusing navigation. An example of Drupal&#8217;s bad usability is requiring a user to confirm changes twice before they&#8217;re saved&#8212;often with the Save button located below the jump, i.e. out of view. As for confusing navigation:  creating a blog post is under &#8220;Create Content&#8221; but editing a blog post is under &#8220;Manage Content&#8221; and sidebar content is under &#8220;Site Building / Blocks&#8221;. What?</p>
<p><strong>Gripe #3: Drupal&#8217;s Design is Piss-Poor</strong></p>
<p>Drupal has <a href="http://secunia.com/advisories/20140/" onclick="javascript:pageTracker._trackPageview('/outbound/article/secunia.com');">a history of security vulnerabilities</a> and is written in ugly spaghetti code (guys, have you heard of classes? Objects? Inheritance? Oh, nevermind).</p>
<p>It also has poor maintainability. In other words, upgrading to a newer Drupal version breaks templates and other code you may have written for an older version. Fixing this, of course, costs time and money. Other frameworks also deprecate older APIs, but in my experience, the changes between versions of other frameworks are not so drastic, and there is often a helpful process built in to migrate your code.</p>
<p><strong><br />
Gripe #4: Drupal&#8217;s None Too Friendly</strong></p>
<p>There&#8217;s been quite a backlash over <a href="http://www.drupalsucks.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.drupalsucks.com');">Drupal&#8217;s new trademark policy</a>, which is rather contrary to the spirit of open-source software. Why protect your trademark so fiercely, Drupal? Your product is open, and great, so why the need to protect it against sites like <a href="http://www.drupalsucks.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.drupalsucks.com');">DrupalSucks.com</a>? Oh, right&#8230;</p>
<p><strong>Conclusion: Drupal Sucks</strong></p>
<p>If you are on a low budget and do not plan on hiring a developer, give Drupal a whirl (I guess). However, if you find yourself needing an oxymoronic &#8220;Drupal programmer&#8221; to do extensive configuration, consider hiring a Ruby on Rails developer instead. Chances are, you can get a custom CMS at the same price and with half the frustration.</p>
<p>Edit: Oh, and Drupal&#8217;s search also sucks. Thanks <a href="http://news.ycombinator.com/item?id=860131" onclick="javascript:pageTracker._trackPageview('/outbound/article/news.ycombinator.com');">YCombinator</a>.</p>
<p>Edit #2: I was unclear re. the templates in the database. I wasn&#8217;t referring to .tpl files, but to <a href="http://drupal.org/project/views" onclick="javascript:pageTracker._trackPageview('/outbound/article/drupal.org');">Drupal Views</a>.</p>
<p>Edit #3: Oh, and for the templates you <em>do</em> store in the filesystem, the naming conventions for overriding a particular item are horrendous. For example, block-block-5.tpl.php contains the auto-generated id in the filename. So if the node/block has a different id in a different environment (dev vs. production) you&#8217;re out of luck, and the template won&#8217;t work.</p>
<p>Edit #4: Thanks for the amazing feedback everyone, both positive and negative. There have definitely been a lot of helpful suggestions. I&#8217;ll look into them all and write a followup with the results!</p>
]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/drupal-sucks/feed/</wfw:commentRss>
		<slash:comments>135</slash:comments>
		</item>
		<item>
		<title>What are your shortcomings as a programmer?</title>
		<link>http://robozen.com/technology/what-are-your-shortcomings-as-a-programmer/</link>
		<comments>http://robozen.com/technology/what-are-your-shortcomings-as-a-programmer/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 10:01:55 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=245</guid>
		<description><![CDATA[What embarrassing shortcomings do you have as a coder? I find that I often need reference material when dealing with:

File permissions (chmod)
Regular expressions (Apache rewrite rules, Ruby regexes etc)

Does anyone else feel the same way? Do you have any good tutorials that can rid me of these handicaps once and for all?
<p>&nbsp;</p><p>Hunting around for a new web host? RoboZen has used and recommends reliable web hosting from <a href="http://www.lunarpages.com/id/Verdage">Lunarpages</a>. Support for PHP, Ruby on Rails, unlimited storage, unlimited bandwidth, for $5 a month.</p>]]></description>
			<content:encoded><![CDATA[<p>What embarrassing shortcomings do you have as a coder? I find that I often need reference material when dealing with:</p>
<ul>
<li>File permissions (chmod)</li>
<li>Regular expressions (Apache rewrite rules, Ruby regexes etc)</li>
</ul>
<p>Does anyone else feel the same way? Do you have any good tutorials that can rid me of these handicaps once and for all?</p>
]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/what-are-your-shortcomings-as-a-programmer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>This Week in Brief</title>
		<link>http://robozen.com/uncategorized/this-week-in-brief/</link>
		<comments>http://robozen.com/uncategorized/this-week-in-brief/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 07:50:36 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=247</guid>
		<description><![CDATA[I&#8217;m all over the web except here these days. Two highlights of my week:

Working with the awesome JuicyOrange to launch the Global Debt Clock for the Economist.  Fun to play with, but it will depress you if you are American or British.
Guest post over on Geek Feminism about sexism on social news sites. Please give [...]<p>&nbsp;</p><p>Hunting around for a new web host? RoboZen has used and recommends reliable web hosting from <a href="http://www.lunarpages.com/id/Verdage">Lunarpages</a>. Support for PHP, Ruby on Rails, unlimited storage, unlimited bandwidth, for $5 a month.</p>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m all over the web except here these days. Two highlights of my week:</p>
<ul>
<li>Working with the awesome <a href="http://juicyorange.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/juicyorange.com');">JuicyOrange</a> to launch the <a href="http://buttonwood.economist.com/content/gdc" onclick="javascript:pageTracker._trackPageview('/outbound/article/buttonwood.economist.com');">Global Debt Clock</a> for the Economist<a href="http://juicyorange.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/juicyorange.com');"></a>.  Fun to play with, but it will depress you if you are American or British.</li>
<li>Guest post over on <a href="http://geekfeminism.org/2009/09/22/sexism-on-reddit/" onclick="javascript:pageTracker._trackPageview('/outbound/article/geekfeminism.org');">Geek Feminism about sexism on social news sites</a>. Please give it a read.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://robozen.com/uncategorized/this-week-in-brief/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrade to Symfony 1.2: Have your layouts stopped working?</title>
		<link>http://robozen.com/technology/upgrade-to-symfony-12-have-your-layouts-stopped-working/</link>
		<comments>http://robozen.com/technology/upgrade-to-symfony-12-have-your-layouts-stopped-working/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 13:05:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=240</guid>
		<description><![CDATA[I had a Symfony 1.0 app and I finally decided to make the leap to 1.2. Lo and behold, this mysterious error cropped up:
Notice:  Undefined variable: site in /path/to/myproject/apps/site/templates/layout.php on line 10
If you&#8217;re upgrading from 1.0, you may suddenly notice that you get these &#8220;undefined variable&#8221; errors. That&#8217;s because global variables are deprecated in [...]<p>&nbsp;</p><p>Hunting around for a new web host? RoboZen has used and recommends reliable web hosting from <a href="http://www.lunarpages.com/id/Verdage">Lunarpages</a>. Support for PHP, Ruby on Rails, unlimited storage, unlimited bandwidth, for $5 a month.</p>]]></description>
			<content:encoded><![CDATA[<p>I had a Symfony 1.0 app and I finally decided to make the leap to 1.2. Lo and behold, this mysterious error cropped up:</p>
<p><strong>Notice</strong>:  Undefined variable: site in <strong>/path/to/myproject/apps/site/templates/layout.php</strong> on line <strong>10</strong></p>
<p>If you&#8217;re upgrading from 1.0, you may suddenly notice that you get these &#8220;undefined variable&#8221; errors. That&#8217;s because global variables are deprecated in layouts as of Symfony 1.1, to be replaced with slots. Generally, a wise idea. More info here: <a href="http://trac.symfony-project.org/wiki/Symfony11LayoutUpgrade" onclick="javascript:pageTracker._trackPageview('/outbound/article/trac.symfony-project.org');">http://trac.symfony-project.org/wiki/Symfony11LayoutUpgrade</a></p>
]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/upgrade-to-symfony-12-have-your-layouts-stopped-working/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RubyOnRails.org Parked</title>
		<link>http://robozen.com/technology/rubyonrailsorg-parked/</link>
		<comments>http://robozen.com/technology/rubyonrailsorg-parked/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 15:25:21 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
				<category><![CDATA[Funny]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=224</guid>
		<description><![CDATA[Remember to pay your domain fees, folks:

RubyOnRails.org actually showed this for a good few hours. TechCrunch has the full story.
<p>&nbsp;</p><p>Hunting around for a new web host? RoboZen has used and recommends reliable web hosting from <a href="http://www.lunarpages.com/id/Verdage">Lunarpages</a>. Support for PHP, Ruby on Rails, unlimited storage, unlimited bandwidth, for $5 a month.</p>]]></description>
			<content:encoded><![CDATA[<p>Remember to pay your domain fees, folks:</p>
<p><a href="http://robozen.com/wp-content/uploads/screenshot.png" onclick="" target="_self"><img class="alignnone size-full wp-image-226" title="RubyOnRails.org Parked" src="http://robozen.com/wp-content/uploads/screenshot.png" alt="" /></a></p>
<p>RubyOnRails.org actually showed this for a good few hours. <a href="http://www.techcrunch.com/2009/04/23/rubyonrailsorg-domain-derailed-by-hacker/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.techcrunch.com');">TechCrunch has the full story</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/rubyonrailsorg-parked/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symfony, Doctrine, preSave and postSave</title>
		<link>http://robozen.com/technology/symfony-doctrine-presave-and-postsave/</link>
		<comments>http://robozen.com/technology/symfony-doctrine-presave-and-postsave/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 07:11:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=221</guid>
		<description><![CDATA[My new Symfony app calls a remote web service as part of the user creation process. Since this is intimately linked with the model (I want this behavior executed for my fixtures, too) it makes no sense to call the web service from the controller.
Like Ruby on Rails, Doctrine has some handy built-in hooks to [...]<p>&nbsp;</p><p>Hunting around for a new web host? RoboZen has used and recommends reliable web hosting from <a href="http://www.lunarpages.com/id/Verdage">Lunarpages</a>. Support for PHP, Ruby on Rails, unlimited storage, unlimited bandwidth, for $5 a month.</p>]]></description>
			<content:encoded><![CDATA[<p>My new Symfony app calls a remote web service as part of the user creation process. Since this is intimately linked with the model (I want this behavior executed for my fixtures, too) it makes no sense to call the web service from the controller.</p>
<p>Like Ruby on Rails, Doctrine has some handy built-in hooks to execute code before and after saving a record. Here&#8217;s what my updated model looks like:</p>
<p><code>class sfGuardUser extends PluginsfGuardUser {<br />
&nbsp;public function preSave($obj){<br />
&nbsp;&nbsp;some_voodoo_magic($this-&gt;get('id'));<br />
&nbsp;}<br />
<br />
&nbsp;public function postSave($obj){<br />
&nbsp;&nbsp;call_my_special_webservice($this-&gt;get('id'));<br />
&nbsp;}</code><br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/symfony-doctrine-presave-and-postsave/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Trouble with MySQL Foreign Keys?</title>
		<link>http://robozen.com/technology/trouble-with-mysql-foreign-keys/</link>
		<comments>http://robozen.com/technology/trouble-with-mysql-foreign-keys/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 11:30:50 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
				<category><![CDATA[Angry Development Tips]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=182</guid>
		<description><![CDATA[There I was, coding up a fresh Doctrine schema for a Symfony app, when my plans to implement foreign keys were repeatedly foiled:
SQLSTATE[HY000]: General error: 1005 Can&#8217;t create table &#8216;./mydb/#sql-xxxx.frm&#8217; (errno: 150). Failing Query: ALTER TABLE cow ADD FOREIGN KEY (barn_id) REFERENCES barn(id)
I was using InnoDB, both tables were there, both columns were there, what [...]<p>&nbsp;</p><p>Hunting around for a new web host? RoboZen has used and recommends reliable web hosting from <a href="http://www.lunarpages.com/id/Verdage">Lunarpages</a>. Support for PHP, Ruby on Rails, unlimited storage, unlimited bandwidth, for $5 a month.</p>]]></description>
			<content:encoded><![CDATA[<p>There I was, coding up a fresh Doctrine schema for a Symfony app, when my plans to implement foreign keys were repeatedly foiled:</p>
<p>SQLSTATE[HY000]: General error: 1005 Can&#8217;t create table &#8216;./mydb/#sql-xxxx.frm&#8217; (errno: 150). Failing Query: ALTER TABLE cow ADD FOREIGN KEY (barn_id) REFERENCES barn(id)</p>
<p>I was using InnoDB, both tables were there, both columns were there, what else could MySQL want? Why didn&#8217;t it work?</p>
<p>Apparently, you must use the same data type for both columns. My cows.barn_id was an INT, while barns.id was a SMALLINT. This didn&#8217;t fly. Changing both to SMALLINT did the trick.</p>
<p>Hint: if you&#8217;re using Symfony with Doctrine, like I am, use &#8220;integer(4)&#8221; to get the MySQL INT datatype, or &#8220;integer(2)&#8221; for a SMALLINT data type. Plain old &#8220;integer&#8221; converts to BIGINT.</p>
]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/trouble-with-mysql-foreign-keys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
