<?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>Rick Tuttle, Papasoft &#187; Web Development</title>
	<atom:link href="http://www.papasoft.com/category/web-dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.papasoft.com</link>
	<description>Custom WordPress Programming &#38;raquop Miami, FL</description>
	<lastBuildDate>Wed, 02 Jun 2010 07:34:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Surviving the Programming Language Dead Pool</title>
		<link>http://www.papasoft.com/2009/01/07/programming-language-dead-pool/</link>
		<comments>http://www.papasoft.com/2009/01/07/programming-language-dead-pool/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 13:50:03 +0000</pubDate>
		<dc:creator>Rick Tuttle</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.papasoft.com/?p=336</guid>
		<description><![CDATA[I have been writing code professionally for about 20 years now. Here is an homage to the programming languages that I used to be friends with but have lost contact (no love lost). In chronological order: Atari 800 Basic DEC Fortran (written on a DEC Writer, no terminal!) DEC Pascal DEC COBOL Mac Hypercard (on [...]]]></description>
			<content:encoded><![CDATA[<p>I have been writing code professionally for about 20 years now. Here is an homage to the programming languages that I used to be friends with but have lost contact (no love lost).  In chronological order:</p>
<ul>
<li>Atari 800 Basic</li>
<li>DEC Fortran (written on a DEC Writer, no terminal!)</li>
<li>DEC Pascal</li>
<li>DEC COBOL</li>
<li>Mac Hypercard (on a Mac Classic, circa 1988)</li>
<li>Mac Filemaker</li>
<li>MVS 360 Assembler</li>
<li>MVS COBOL</li>
<li>Borland Turbo Pascal (my introduction to OOP)</li>
<li>Borland Turbo C++</li>
<li>Microsoft C</li>
<li>Microsoft GW-Basic</li>
<li>Visual Basic 1.0 up to .NET</li>
<li>Visual C++</li>
<li>C#.NET</li>
<li>Sybase Transact-SQL (which turned into Microsoft Transact-SQL)</li>
<li>Borland Paradox</li>
<li>Powerbuilder (this is getting embarrassing)</li>
<li>Java (J2EE, JSP, Struts, blah, blah, blah)</li>
<li>ASP 3.0 and ASP.NET</li>
</ul>
<p>I won&#8217;t mention the various third-part IT tools with their own proprietary scripting languages which I would rather forget about.</p>
<p>Now, here is the live list of programming languages and technologies:</p>
<ul>
<li>PHP</li>
<li>MySQL (and yes, <a href="http://www.papasoft.com/2009/01/07/programming-language-dead-pool/#comment-831">Mr. Morris</a>&#8230;PostgreSQL)</li>
<li>HTML, XHTML, XML, all the MLs</li>
<li>CSS</li>
<li>Javascript</li>
<li>(and if you pay me enough I will do .NET and SQL Server)</li>
</ul>
<h3>Things Change Fast!</h3>
<p>One thing I have done right is to keep abreast of changing technologies.  I&#8217;m always learning. This is one reason I have had some moderate success in my career as a developer and have not gone the way of the COBOL dinosaurs.</p>
<p>I look back and laugh thinking about the paradigm shifts that promised to change the world:  client-server, three-tier, n-tier, Java write-once run anywhere (croak), SOA, and on and on. Front-end and middle-tier technologies seem to change every three years or so.  But throughout my career there is one thing that has pretty much remained the same:  relational databases.</p>
<h3>Show Me the Data</h3>
<p>I started using SQL back around 1994 with Sybase. I can say that every month of my life since 1994 I have been writing SQL code.  The actual databases have been different&#8211;Sybase, MS SQL, Oracle, DB2, MySQL&#8211;but the standard language and more importantly the logical design of relational databases have remained the same.</p>
<p>I learned something early on from either <a href="http://www.martinfowler.com/">Martin Fowler</a> or <a href="http://www.celko.com">Joe Celko</a> or one of those other hard-core relational dudes:</p>
<blockquote><p>Show me the data and I will understand the application.</p></blockquote>
<p>I have definitely found that to be true.  Whenever I write an app I start with the db design and whenever I am trying to figure out somebody&#8217;s code (happens a lot), the first place I look is at the db.</p>
<h3>How Long Will SQL Last?</h3>
<p>I think SQL is here to stay for a long time. The APIs are changing and web scripting is starting to move away from talking directly to the DB.  However, when it comes down to actually storing and retrieving the data you&#8217;re going to be using SQL, probably MySQL or PostgreSQL nowadays if you&#8217;re on the web and MS SQL, Oracle and DB2 in IT.</p>
<p>Are you starting in your career as a developer? My advice, learn SQL and try to stay ahead of the curve with everything else.</p>
<p>P.S.  HTML deserves an honorable mention as the technology that has lasted and will continue to last for a while.</p>
<p>What programming languages are in your dead pool?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.papasoft.com/2009/01/07/programming-language-dead-pool/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Cake PHP 1.2 Released (Finally)</title>
		<link>http://www.papasoft.com/2008/12/28/cake-php-12-released-finally/</link>
		<comments>http://www.papasoft.com/2008/12/28/cake-php-12-released-finally/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 06:24:34 +0000</pubDate>
		<dc:creator>Rick Tuttle</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.papasoft.com/?p=294</guid>
		<description><![CDATA[I&#8217;m a little late to blog about this but I&#8217;ve got a lot of excuses. So, did you hear? Cake PHP 1.2 has been released! (Finally.) I&#8217;ve been using the Cake PHP Framework for over 2 years now. If you are going to be doing hard-core PHP programming then I recommend it as an excellent [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a little late to blog about this but I&#8217;ve got a lot of excuses. So, did you hear?</p>
<p><a href="http://cakephp.org/">Cake PHP 1.2 has been released!</a> (Finally.)</p>
<p>I&#8217;ve been using the Cake PHP Framework for over 2 years now. If you are going to be doing hard-core PHP programming then I recommend it as an excellent MVC Framework.</p>
<p>Lately, I&#8217;ve been focusing on using WordPress for most of my development. While I had used Cake PHP for an early revision, I ended up moving to WordPress for the directory listings at <a href="http://www.lincolnroadlocator.com">Linoln Road Locator</a> (still under development, BTW). The ease of applying a custom theme and not having to develop an admin section from scratch have sold me on using WP from now on.</p>
<p>Of course, I&#8217;m sure I might use Cake for more involved projects&#8230;we&#8217;ll see.</p>
<p>Congratulations Cake Team!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.papasoft.com/2008/12/28/cake-php-12-released-finally/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Understanding Web Design: Jeffrey Zeldman Video</title>
		<link>http://www.papasoft.com/2008/12/19/understanding-web-design-jeffrey-zeldman-video/</link>
		<comments>http://www.papasoft.com/2008/12/19/understanding-web-design-jeffrey-zeldman-video/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 19:12:05 +0000</pubDate>
		<dc:creator>Rick Tuttle</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.papasoft.com/?p=252</guid>
		<description><![CDATA[Here&#8217;s an interesting video of Jeffrey Zeldman explaining web design. Zeldman is the cult hero of web standards zealots and advocates the valid use of XHTML, CSS, Javascript and other web technologies.  I have benefited from reading his Designing with Web Standards books. And, yes, you can just use his last name and people will [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s an interesting <a href="http://www.aiga.org/content.cfm/video-gain-2008-zeldman" target="_blank">video of Jeffrey Zeldman explaining web design</a>.</p>
<p>Zeldman is the cult hero of web standards zealots and advocates the valid use of XHTML, CSS, Javascript and other web technologies.  I have benefited from reading his Designing with Web Standards books.</p>
<p>And, yes, you can just use his last name and people will know who you mean.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.papasoft.com/2008/12/19/understanding-web-design-jeffrey-zeldman-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smashing Magazine&#8217;s 50 Extremely Useful And Powerful CSS Tools</title>
		<link>http://www.papasoft.com/2008/12/16/smashing-magazines-50-extremely-useful-and-powerful-css-tools/</link>
		<comments>http://www.papasoft.com/2008/12/16/smashing-magazines-50-extremely-useful-and-powerful-css-tools/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 21:22:40 +0000</pubDate>
		<dc:creator>Rick Tuttle</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.papasoft.com/?p=243</guid>
		<description><![CDATA[I found this list of useful CSS tools on Smashing Magazine where there are lots of resources for web developers and designers.]]></description>
			<content:encoded><![CDATA[<p>I found <a target="_blank" href="http://www.smashingmagazine.com/2008/12/09/50-really-useful-css-tools/">this list of useful CSS tools</a> on Smashing Magazine where there are lots of resources for web developers and designers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.papasoft.com/2008/12/16/smashing-magazines-50-extremely-useful-and-powerful-css-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tiled Backgrounds for Web Sites</title>
		<link>http://www.papasoft.com/2008/12/12/tiled-backgrounds-for-web-sites/</link>
		<comments>http://www.papasoft.com/2008/12/12/tiled-backgrounds-for-web-sites/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 04:31:43 +0000</pubDate>
		<dc:creator>Rick Tuttle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[backgrounds]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[images]]></category>

		<guid isPermaLink="false">http://www.papasoft.com/?p=139</guid>
		<description><![CDATA[Anyone remember the early days of the Web when everybody used Netscape Navigator and you have to get this Winsock.dll working? Well, one of the early features that Netscape and later IE added to the browser was the ability to use a tiled image for your background. Of course, back then you had engineers building [...]]]></description>
			<content:encoded><![CDATA[<p>Anyone remember the early days of the Web when everybody used Netscape Navigator and you have to get this Winsock.dll working? Well, one of the early features that Netscape and later IE added to the browser was the ability to use a tiled image for your background.</p>
<p>Of course, back then you had engineers building web sites instead of designers who were still heavy focused on print media. We ended up really &#8220;cool&#8221; sites with clouds and water drops for backgrounds.</p>
<p><span id="more-139"></span></p>
<p>Thankfully more artistic designers have come up with some more elegant tiled backgrounds (and some artistic but not so elegant). Here are a few resource links that I have used to find tiled backgrounds.</p>
<ul>
<li><a href="http://www.k10k.net/pixelpatterns/" target="_blank">Kaliber10000 Pixel Patterns</a></li>
<li><a href="http://www.dinpattern.com/" target="_blank">DinPattern</a></li>
<li><a href="http://www.noqta.it/dromoscopio/" target="_blank">Dromoscopio Libreria di Pattern</a></li>
<li><a href="http://www.kollermedia.at/pattern4u/" target="_blank">Kollermedia.at Patern4u</a></li>
<li><a href="http://www.squidfingers.com/patterns/" target="_blank">SquidFingers Patterns</a></li>
</ul>
<p>Enjoy and don&#8217;t get too dizzy looking at all those patterns.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.papasoft.com/2008/12/12/tiled-backgrounds-for-web-sites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Happened to My Web Developer Toolbar?</title>
		<link>http://www.papasoft.com/2008/12/09/what-happened-to-my-web-developer-toolbar/</link>
		<comments>http://www.papasoft.com/2008/12/09/what-happened-to-my-web-developer-toolbar/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 21:50:11 +0000</pubDate>
		<dc:creator>Rick Tuttle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://www.papasoft.com/2008/12/09/what-happened-to-my-web-developer-toolbar/</guid>
		<description><![CDATA[One of the addons for FireFox that I depend on every day is the Web Developer Firefox Addon. It allows me to view CSS, image information, highlight renegade objects (usually tables) among lots of other useful functions. Over the past few weeks my toolbar had disappeared. I could still get to the developer tools from [...]]]></description>
			<content:encoded><![CDATA[<p>One of the addons for FireFox that I depend on every day is the <a href="https://addons.mozilla.org/en-US/firefox/addon/60" target="_blank">Web Developer Firefox Addon</a>. It allows me to view CSS, image information, highlight renegade objects (usually tables) among lots of other useful functions.</p>
<p>Over the past few weeks my toolbar had disappeared. I could still get to the developer tools from the Tools menu but the &#8220;one-click&#8221; love of the toolbar was gone.</p>
<p><span id="more-126"></span></p>
<p>I tried Googling and found nothing so I did what any experienced developer does&#8230;guess.  I went to the Firefox toolbar customize tab and reset the customizations to the default settings and, voila! my toolbar appeared again.</p>
<p>Turns out it was there all along it just was not displaying icons or text&#8230;doh!</p>
<p>Anyway, if anyone experiences the same thing I did and tries to Google &#8220;firefox web developer toolbar missing&#8221; maybe you&#8217;ll hit this page and find the answer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.papasoft.com/2008/12/09/what-happened-to-my-web-developer-toolbar/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Geocoding Update</title>
		<link>http://www.papasoft.com/2006/05/26/geocoding-update/</link>
		<comments>http://www.papasoft.com/2006/05/26/geocoding-update/#comments</comments>
		<pubDate>Sat, 27 May 2006 01:25:53 +0000</pubDate>
		<dc:creator>Rick Tuttle</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.papasoft.com/2006/05/26/geocoding-update/</guid>
		<description><![CDATA[Here is an update on a previous posting regarding using Google maps and Geocoding APIs. I had previously tried to use ontok to do my geocoding for a project that uses Google maps. As mentioned earlier I found ontok because I couldn&#8217;t get Yahoo&#8217;s geocoding API to work from my current webhost (Dreamhost). Well, it [...]]]></description>
			<content:encoded><![CDATA[<p>Here is an update on a previous posting regarding using Google maps and Geocoding APIs.</p>
<p>I had previously tried to use <a href="http://www.ontok.com">ontok</a> to do my geocoding for a project that uses Google maps.  As mentioned earlier I found ontok because I couldn&#8217;t get Yahoo&#8217;s geocoding API to work from my current webhost (Dreamhost).</p>
<p>Well, it turns out that ontok&#8217;s geocoding was inaccurate about 50% of the time at least for addresses in South Florida.  So I revisited the Yahoo API.  I still had the problem of not being able to use php&#8217;s file_get_contents() function on Dreamhost so I went back to trying to use cURL in order to call the Yahoo API.</p>
<p>In my research I found <a href="http://www.mapbuilder.net/demo/yahoo.geocode.php">this resource</a> at MapBuilder.net which provides a php script to call Yahoo&#8217;s geocoding API using cURL.  As an added bonus it hooks up the API call via AJAX!  I didn&#8217;t use the AJAX method for my project but it was very helpful for me to see some working code for the geocoding.</p>
<p>Next I hacked Phoogle (again!), this time getting it to work with Google Maps API v.2 as well as using the Yahoo cURL call for the geocoding.</p>
<p>Web 2.0 baby!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.papasoft.com/2006/05/26/geocoding-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dreamhost Gotcha</title>
		<link>http://www.papasoft.com/2006/04/24/dreamhost-gotcha/</link>
		<comments>http://www.papasoft.com/2006/04/24/dreamhost-gotcha/#comments</comments>
		<pubDate>Tue, 25 Apr 2006 00:19:32 +0000</pubDate>
		<dc:creator>Rick Tuttle</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.papasoft.com/2006/04/24/dreamhost-gotcha/</guid>
		<description><![CDATA[I have moved a lot of my sites over to Dreamhost and have been pretty satisfied so far. The control panel is very good and you can do some neat one-click installs of popular open-source packages like WordPress. Today I had my first PHP Gotcha on Dreamhost. I am working on a site that uses [...]]]></description>
			<content:encoded><![CDATA[<p>I have moved a lot of my sites over to <a href="http://www.dreamhost.com">Dreamhost </a>and have been pretty satisfied so far.  The control panel is very good and you can do some neat one-click installs of popular open-source packages like <a href="http://www.wordpress.org">WordPress</a>.</p>
<p>Today I had my first PHP Gotcha on Dreamhost.</p>
<p><span id="more-14"></span>I am working on a site that uses Google Maps and I decided to try out <a href="http://www.system7designs.com/codebase">Phoogle Maps</a>, a PHP script that integrates Google Maps with your PHP application and also does GeoCoding based on an address.  I tested the script on my dev server and everything worked great.  I then started working on the rest of the app.</p>
<p>After uploading the scripts to Dreamhost I got an error that file_get_contents() was not allowed.  After looking into it I found out that Dreamhost has disabled file_get_contents() for security reasons.  Phoogle calls the Yahoo Geocoding API (since Google doesn&#8217;t provide one) and used the file_get_contents() method of doing the REST call to Yahoo.  I checked out Yahoo&#8217;s developer site and found out that they also support curl() but after banging my head against the wall trying to retrofit Phoogle to use that method I looked elsewhere.</p>
<p>First I tried using XML-RPC to call the <a href="http://www.geocoder.us">geocoder.us</a> database but that was extremely slow. Then I stumbled upon <a href="http://www.ontok.com">ontok.com</a> which provides a geocoding API.  I grabbed their example code using SOAP and it was pretty fast and I then proceeded to hack Phroogle to call ontok.com for it&#8217;s geocoding.</p>
<p>So, I&#8217;m still on Dreamhost until something else doesn&#8217;t work.</p>
<p> <img src='http://www.papasoft.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.papasoft.com/2006/04/24/dreamhost-gotcha/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Spring Cleaning</title>
		<link>http://www.papasoft.com/2006/03/30/spring-cleaning/</link>
		<comments>http://www.papasoft.com/2006/03/30/spring-cleaning/#comments</comments>
		<pubDate>Thu, 30 Mar 2006 16:10:53 +0000</pubDate>
		<dc:creator>Rick Tuttle</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Papasoft is going through some Spring Cleaning. I started using WordPress again for this site and also for several customers. I settled on working with the WP Theme White as Milk by Azeem Azeez and customized it for Papasoft. Since the release of version 2.0, WordPress has become much more than a blogging script. It [...]]]></description>
			<content:encoded><![CDATA[<p>Papasoft is going through some Spring Cleaning.<span id="more-1"></span></p>
<p>I started using <a href="http://www.papasoft.com/www.wordpress.org">WordPress</a> again for this site and also for several customers.  I settled on working with the WP Theme <a href="http://www.azeemazeez.com/stuff/themes/">White as Milk</a> by <a href="http://www.azeemazeez.com/">Azeem Azeez</a> and customized it for Papasoft.</p>
<p>Since the release of version 2.0, WordPress has become much more than a blogging script.  It is now very easy to work with pages and customize themes.  The admin area is very easy to use.</p>
<p>I still use CMS&#8217;s like <a href="http://www.papasoft.com/www.joomla.org">Joomla</a> and <a href="http://www.papasoft.com/www.drupal.org">Drupal</a> but only for sites that have a very complex information hierarchy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.papasoft.com/2006/03/30/spring-cleaning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let Them Eat Cake</title>
		<link>http://www.papasoft.com/2006/03/18/let-them-eat-cake/</link>
		<comments>http://www.papasoft.com/2006/03/18/let-them-eat-cake/#comments</comments>
		<pubDate>Sat, 18 Mar 2006 23:12:22 +0000</pubDate>
		<dc:creator>Rick Tuttle</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.papasoft.com/2006/03/18/let-them-eat-cake/</guid>
		<description><![CDATA[The web development world is buzzing about Web 2.0. Everybody&#8217;s got their own spin and every day there seem to be new ideological skirmishes going on about whether Web 2.0 is a significant paradigm shift or just hype. A couple of technologies that are &#8220;hot&#8221; right now are AJAX and Ruby on Rails. I&#8217;ll let [...]]]></description>
			<content:encoded><![CDATA[<p>The web development world is buzzing about <a href="http://en.wikipedia.org/wiki/Web_2.0">Web 2.0</a>.  Everybody&#8217;s got their own spin and every day there seem to be new ideological skirmishes going on about whether Web 2.0 is a significant paradigm shift or just hype.<span id="more-10"></span></p>
<p>A couple of technologies that are &#8220;hot&#8221; right now are <a title="AJAX on Wikipedia" href="http://en.wikipedia.org/wiki/AJAX">AJAX</a> and <a title="Ruby on Rails" href="http://www.rubyonrails.org">Ruby on Rails</a>.  I&#8217;ll let you read about AJAX and RoR on your own time.  So, what does this have to do with Cake?</p>
<p>It started when I was checking out RoR.  I took the time to learn a little about Ruby (the language used in RoR) as well as the framework.  Ruby reminded me of Smalltalk (we&#8217;re going back about 15 years in my memory now!) but what I really liked was the simplicity of the framework.  I have lots of MVC experience with Jakarta/Struts but building a Rails app seemed so much simpler.  When I tried getting it to work on my web server I found out that Rails requires FastCGI to work with Apache and that it is really best to use <a title="lighttpd" href="http://www.lighttpd.net">lighttpd</a> instead of Apache.  I didn&#8217;t want to jeopardize the other sites running on my box so I got an account at <a title="TextDrive" href="http://www.textdrive.com">TextDrive</a> since they have good Rails support.  So, what does this have to do with Cake?</p>
<p>My customer didn&#8217;t think it was a good idea to experiment with Rails on his project (a valid concern).  Since he wanted to stick with PHP I started revisiting MVC frameworks in PHP.  I found several Struts ports and mostly huge overcomplicated bloatware.  But then I found Cake.</p>
<p>From the <a title="Cake PHP" href="http://www.cakephp.org">Cake PHP</a> Web Site:</p>
<blockquote><p>&#8220;Cake is a rapid development framework for PHP which uses commonly known design patterns like ActiveRecord, Association Data Mapping, Front Controller and MVC. Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility.&#8221;</p></blockquote>
<p>The reason I orginally found Cake is because the project used to say that it was &#8220;inspired by&#8221; Ruby on Rails.  As I have been monitoring the development of the project the dev team has felt strongly to keep Cake PHP-like and just use some of the good patterns from Rails. Anyway, I have found Cake to be a great starting point for my projects that require more custom programming.  I have been able to add in my own libraries for user registration, authentication, image uploading and manipulation and content management.</p>
<p>Cake has a very active development community which will be necessary to make the project a success.  Recent releases of Cake have provided a cleaner project structure and easier ways to extend the framework without having to use <em>Digital Duct Tape</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.papasoft.com/2006/03/18/let-them-eat-cake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
