<?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>Darryl E. Clarke &#187; coding</title>
	<atom:link href="http://darrylclarke.com/category/coding/feed/" rel="self" type="application/rss+xml" />
	<link>http://darrylclarke.com</link>
	<description>Linux, PHP, MySQL, Apache, Development and More . . .</description>
	<lastBuildDate>Thu, 11 Mar 2010 01:30:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ZF Tip: Don&#8217;t use &#8216;index&#8217; as a module name.</title>
		<link>http://darrylclarke.com/2009/12/13/zf-tip-dont-use-index-as-a-module-name/</link>
		<comments>http://darrylclarke.com/2009/12/13/zf-tip-dont-use-index-as-a-module-name/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 02:07:52 +0000</pubDate>
		<dc:creator>Darryl Clarke</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[pointless]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://darrylclarke.com/?p=269</guid>
		<description><![CDATA[I&#8217;ve been using Zend Framework for a while and when I do my own sites things always work as expected.  But a couple of times in the past I&#8217;ve had the honor of working on other sites with other people that have lead me to a few &#8216;wtf?&#8217; issues.
The most recent one was as to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Zend Framework for a while and when I do my own sites things always work as expected.  But a couple of times in the past I&#8217;ve had the honor of working on other sites with other people that have lead me to a few &#8216;wtf?&#8217; issues.</p>
<p>The most recent one was as to why the shorter urls ie: &#8220;/index/pants&#8221; would not work.  It would always complain and blow up that the controller &#8216;pants&#8217; doesn&#8217;t exist.  Even though I know for a fact that I want the index controller in the default module and the action &#8216;pants&#8217;&#8230;<span id="more-269"></span></p>
<p>The problem with naming your default, or any module &#8216;index&#8217; is the way ZF matches and routes the request.  If you have a module called &#8216;index&#8217; then any request that begins with &#8216;/index&#8217; will get routed to it.  Even if this isn&#8217;t what you want.  Typically  when I have actions like &#8216;about&#8217; or &#8216;contact&#8217;, they reside in my default module and are easily accessed by &#8216;/index/about&#8217; or &#8216;/index/contact&#8217; &#8211; when a module exists called &#8216;index&#8217; these shorter links don&#8217;t work and I&#8217;d need &#8216;/index/index/about&#8217; or &#8216;/index/index/contact&#8217; &#8211; these suck and thus you should never have &#8216;index&#8217; as a module name.</p>
<p>The point: If your default module has to be in the URL to access these default actions, you&#8217;re not using the &#8216;default&#8217; module properly.</p>
]]></content:encoded>
			<wfw:commentRss>http://darrylclarke.com/2009/12/13/zf-tip-dont-use-index-as-a-module-name/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Summer Project: Updates (Aka WTF Am I Doing?)</title>
		<link>http://darrylclarke.com/2009/10/01/summer-project-updates-aka-wtf-am-i-doing/</link>
		<comments>http://darrylclarke.com/2009/10/01/summer-project-updates-aka-wtf-am-i-doing/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 21:11:32 +0000</pubDate>
		<dc:creator>Darryl Clarke</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[random poop]]></category>
		<category><![CDATA[delays]]></category>
		<category><![CDATA[facebook games]]></category>
		<category><![CDATA[moments like today]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[socialgamer]]></category>
		<category><![CDATA[summer project]]></category>
		<category><![CDATA[trivia]]></category>

		<guid isPermaLink="false">http://darrylclarke.com/?p=239</guid>
		<description><![CDATA[My &#8216;summer project&#8216; has now been demoted to just a &#8216;random project.&#8217;  Although I still intend on finishing it at some point, it&#8217;s clearly become far too delayed to call it a summer project anymore. I got overly distracted throughout the summer by family, fun, non-fun, and other projects.  Projects that I&#8217;ll explain a bit [...]]]></description>
			<content:encoded><![CDATA[<p>My &#8216;<a href="http://darrylclarke.com/2009/05/03/summer-project-details/">summer project</a>&#8216; has now been demoted to just a &#8216;random project.&#8217;  Although I still intend on finishing it at some point, it&#8217;s clearly become far too delayed to call it a summer project anymore. I got overly distracted throughout the summer by family, fun, non-fun, and other projects.  Projects that I&#8217;ll explain a bit here&#8230;<span id="more-239"></span><a href="http://socialgamer.ca/" target="_blank"></a></p>
<p><a href="http://socialgamer.ca/" target="_blank">Social Gamer</a>:  A small site that allows you to rate and review games that you play online.  Right now it&#8217;s focusing on <a href="http://apps.facebook.com/social-gamer/" target="_blank">Facebook Games</a> but will expand to include Wii, DS, Xbox360, PSP, and PS3 games.  But for now, It&#8217;s still getting the infrastructure put behind it.  You can play around with it right now if you want and feel free to share it with your friends. This project is getting most of my attention right now.</p>
<p><a title="Refill Revolution" href="http://refillrevolution.com/" target="_blank">Refill Revolution</a>:  A start up in sunny California dedicated to promoting the use of refillable bottles. The site is in the first phase and running in a closed on-campus beta test at Berkely.  That&#8217;s all I can really say for now on this one.</p>
<p><a href="http://momentsliketoday.com/" target="_blank">Moments Like Today</a>:  A collaborative effort between myself and Margaret.  There&#8217;s a <a href="http://www.facebook.com/group.php?gid=90101132786&amp;ref=ts" target="_blank">facebook group</a>, <a href="http://vimeo.com/groups/momentsliketoday" target="_blank">vimeo group</a> and <a href="http://www.flickr.com/groups/momentsliketoday/" target="_blank">flickr group</a>.  So far there are about a hundred contributors to the project and once it&#8217;s up and running on the main website there&#8217;ll be a nice little interface for you to browse peoples &#8216;moments.&#8217;</p>
<p>Triviosity!: A simple, quick online game of trivia.  It&#8217;s in the early stages still so I won&#8217;t link to it.  But it&#8217;s going to start on as a facebook app, but also be functional outside of facebook.</p>
<p>And now you know why my summer project got delayed. And now you know what the frack I&#8217;ve been doing.</p>
]]></content:encoded>
			<wfw:commentRss>http://darrylclarke.com/2009/10/01/summer-project-updates-aka-wtf-am-i-doing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>All I Need is REST, Vimeo, Flickr, Zend and More</title>
		<link>http://darrylclarke.com/2009/07/12/all-i-need-is-rest-vimeo-flickr-zend-and-more/</link>
		<comments>http://darrylclarke.com/2009/07/12/all-i-need-is-rest-vimeo-flickr-zend-and-more/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 18:18:45 +0000</pubDate>
		<dc:creator>Darryl Clarke</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend framework]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[restful]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[vimeo]]></category>

		<guid isPermaLink="false">http://darrylclarke.com/?p=208</guid>
		<description><![CDATA[Here&#8217;s my skeleton for my magical REST interface. It&#8217;s still missing a lot of method calls for Flickr and Vimeo, but the guts are there and the remaining methods will be done in priority when I need them.  Right now it supports automatic caching and logging via simple options.
At some point I&#8217;ll probably put it [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s my skeleton for my magical <a href="http://darrylclarke.com/wp-content/uploads/2009/07/dec-library.tar.gz">REST interface</a>. It&#8217;s still missing a lot of method calls for Flickr and Vimeo, but the guts are there and the remaining methods will be done in priority when I need them.  Right now it supports automatic caching and logging via simple options.</p>
<p>At some point I&#8217;ll probably put it on a public SVN repository, but for now you can have the tarball.  There&#8217;s a README in the file with a simple sample. And the source is pretty self explanatory so you should be able to figure it out if you want to.</p>
<p>The remainder of the work will be done in the order I see fit.  Likely read-only methods (most of the getters) Authentication and write methods will be much much later.</p>
<p>I&#8217;ll also add more RESTful interfaces as I need them.  Probably Facebook soon, Twitter later.  Who knows.</p>
<p>Drop your comments here if you&#8217;ve got any questions.</p>
]]></content:encoded>
			<wfw:commentRss>http://darrylclarke.com/2009/07/12/all-i-need-is-rest-vimeo-flickr-zend-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feeling Up Django: First Impressions From a PHP Guy</title>
		<link>http://darrylclarke.com/2009/06/11/feeling-up-django-first-impressions-from-a-php-guy/</link>
		<comments>http://darrylclarke.com/2009/06/11/feeling-up-django-first-impressions-from-a-php-guy/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 08:13:27 +0000</pubDate>
		<dc:creator>Darryl Clarke</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[path one]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[summer project]]></category>

		<guid isPermaLink="false">http://darrylclarke.com/?p=198</guid>
		<description><![CDATA[As I whipped through the tutorial on getting started with Django I made some mental notes on things I thought were interesting and things I thought weren&#8217;t so interesting. I have a feeling I&#8217;ll be saying similar things about Ruby on Rails&#8230;
Interesting:

Data Models
You define them in code and then the framework takes care of the [...]]]></description>
			<content:encoded><![CDATA[<p>As I whipped through the tutorial on getting started with Django I made some mental notes on things I thought were interesting and things I thought weren&#8217;t so interesting. I have a feeling I&#8217;ll be saying similar things about Ruby on Rails&#8230;</p>
<p><span id="more-198"></span>Interesting:</p>
<ul>
<li><strong>Data Models</strong><br />
You define them in code and then the framework takes care of the rest.  This leaves it to be truly independent of which database you should choose to use; it keeps it portable between databases and helps you make sure all your database structures are up to date after rolling out a new version.</li>
<li><strong>Admin Tools</strong><br />
Right out of the box Django has an easy to use and easy to configure admin section.  One of the greatest annoyances I&#8217;ve always had to deal with is &#8220;We need to be able to edit that.&#8221;  With Django&#8217;s magical admin section, all you have to do is enable your data models to be usable by it &#8211; and then anybody you give permission to can edit your database.  It&#8217;ll even track changes that users make. Handy.</li>
<li><strong>Lots of Tools</strong><br />
With a handy, full featured django-admin tool, you can get a lot done and a whole <span style="text-decoration: line-through;">app</span> project up and running in no time.</li>
<li><strong>Everything is an Object</strong> (not Django specific)<br />
There&#8217;s not much more to say on that. Just that every piece of code will behave in the same object-like manner.</li>
<li><strong>Standalone Dev Server</strong> (not Django specific)<br />
Having a quick and easy dev server is handy.</li>
</ul>
<p>Not so Interesting:</p>
<ul>
<li><strong>Template System</strong>. it&#8217;s &#8216;meh&#8217;.  Nothing really jumped out at me as to why it&#8217;s exciting or great.</li>
<li><strong>Django&#8217;s PHP bashing in their documentation.</strong> Why the hate, guys?</li>
<li><strong>Having to Configure URLs.</strong> I kinda like the fact that I can disable a certain section of an application at the drop of a hat.  But I can see it being an annoyance to have to actually configure every URL after I create new <span style="text-decoration: line-through;">modules</span> apps.</li>
<li><strong>Projects vs. Modules vs. Apps</strong>.  I don&#8217;t like how they call what I would refer to as a &#8216;module&#8217; an &#8216;app&#8217;.  This is just semantics.  In Djangoland what I would call an application they call a &#8220;project&#8221; and what I would call a module they call an &#8220;app&#8221;.</li>
</ul>
<p>With a bit of an understanding on how things work now, at least I can dive on into the APIs and perhaps get something done.</p>
<p>Does anybody have any suggestions for a light weight GUI IDE?</p>
]]></content:encoded>
			<wfw:commentRss>http://darrylclarke.com/2009/06/11/feeling-up-django-first-impressions-from-a-php-guy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Java Bridge vs. Zend Platform Java Bridge</title>
		<link>http://darrylclarke.com/2009/06/05/php-java-bridge-vs-zend-platform-java-bridge/</link>
		<comments>http://darrylclarke.com/2009/06/05/php-java-bridge-vs-zend-platform-java-bridge/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 18:50:56 +0000</pubDate>
		<dc:creator>Darryl Clarke</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend framework]]></category>
		<category><![CDATA[java bridge]]></category>
		<category><![CDATA[workarounds]]></category>
		<category><![CDATA[zend platform]]></category>

		<guid isPermaLink="false">http://darrylclarke.com/?p=194</guid>
		<description><![CDATA[A long time ago I posted some instructions on installing PHP/Java Bridge on Ubuntu and that post is getting quite a few reads, so I figured I&#8217;d post a follow up on how it was used.
Over the last year I had been using a Java Bridge from a Zend Framework application to access a Java [...]]]></description>
			<content:encoded><![CDATA[<p>A long time ago I posted some instructions on installing <a href="http://darrylclarke.com/2008/03/04/installing-php-java-bridge-on-ubuntu/">PHP/Java Bridge on Ubuntu</a> and that post is getting quite a few reads, so I figured I&#8217;d post a follow up on how it was used.</p>
<p>Over the last year I had been using a Java Bridge from a Zend Framework application to access a Java only API.  And really, between the two bridges there are no differences.  They both work identical, they both work great.  Would I pay Zend for Zend Platform&#8217;s Enterprise license? No.  Why? Because both bridges perform the same.  The only differences are:</p>
<ol>
<li>Zend&#8217;s Java bridge already has a function called <em>java_require</em> and the open source PHP/Java Bridge needs you to include a file.</li>
<li>PHP/Java Bridge has a <em>java_cast</em> function, and you need it.  Zend&#8217;s Java Bridge does not have, or need this.</li>
</ol>
<p>With these two differences all you need is a little code in your bootstrap (or somewhere else useful) to cover them and all is golden. Your app should work with both Java Bridges without any issue.</p>
<pre name="code" class="php">
/* no java_require() include the java.inc for PHP/Java Bridge */
if ( ! function_exists('java_require') ) {
    include "java/Java.inc";
}

/* declare this, it doesn't exist with Zend Java, but is needed for PHP/Java Bridge */
if ( ! function_exists('java_cast')) {
    function java_cast($whatever) {
        return $whatever;
    }
}</pre>
<p>There&#8217;s probably a more graceful way of checking and doing this but that&#8217;s it, and it&#8217;s worked on a multi tiered build environment for over a year now.</p>
]]></content:encoded>
			<wfw:commentRss>http://darrylclarke.com/2009/06/05/php-java-bridge-vs-zend-platform-java-bridge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Summer Project: Initial Setup and more Details</title>
		<link>http://darrylclarke.com/2009/05/27/summer-project-initial-setup-and-more-details/</link>
		<comments>http://darrylclarke.com/2009/05/27/summer-project-initial-setup-and-more-details/#comments</comments>
		<pubDate>Wed, 27 May 2009 07:35:15 +0000</pubDate>
		<dc:creator>Darryl Clarke</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[summer project]]></category>

		<guid isPermaLink="false">http://darrylclarke.com/?p=189</guid>
		<description><![CDATA[I&#8217;m still chugging along with the common elements on the project.
So, for the basics of what I have decided to do: Yep, it&#8217;s an image gallery.  It&#8217;s not too exciting and definitely nothing original.  There&#8217;ll be a basic authentication system (login/logout) with web based uploading and tagging.  That&#8217;s pretty much it.  The images that get [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m still chugging along with the common elements on the project.</p>
<p>So, for the basics of what I have decided to do: Yep, it&#8217;s an image gallery.  It&#8217;s not too exciting and definitely nothing original.  There&#8217;ll be a basic authentication system (login/logout) with web based uploading and tagging.  That&#8217;s pretty much it.  The images that get uploaded will be stored in the database itself as a nice central location for all my different variants to get the data from.</p>
<p>As far as the initial setup goes, I&#8217;ve managed to get PostgreSQL installed, running, and I&#8217;ve even created the necessary tables for all that I need.  Yeah, that part was pretty simple.  But I can&#8217;t say it happened without learning something.  I&#8217;ve noticed that something I took for granted with MySQL wasn&#8217;t available right away for my installation of PostgreSQL.<span id="more-189"></span></p>
<p>Yep, lots of functions.  As I previously explained about how expandable PostgreSQL is, well, it also starts out very simplistic.  I needed some encryption functions to be able to store users passwords in my database &#8211; and these functions weren&#8217;t available.  As PostgreSQL requires you to define functions on a per-database basis, I had to import a few little things (pgcrypto.sql from the distribution files) and voila, it all worked.  Part of this is an annoyance, but part of it makes sense.  I mean, there&#8217;s no point in declaring 500 functions if you&#8217;re only going to use 3. Right? Right.</p>
<p>Any way, I&#8217;m almost ready to jump on the first path. Python, Django here I come.</p>
]]></content:encoded>
			<wfw:commentRss>http://darrylclarke.com/2009/05/27/summer-project-initial-setup-and-more-details/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Summer Project: Setup PostgreSQL</title>
		<link>http://darrylclarke.com/2009/05/23/summer-project-setup-postgresql/</link>
		<comments>http://darrylclarke.com/2009/05/23/summer-project-setup-postgresql/#comments</comments>
		<pubDate>Sat, 23 May 2009 17:43:32 +0000</pubDate>
		<dc:creator>Darryl Clarke</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[summer project]]></category>

		<guid isPermaLink="false">http://darrylclarke.com/?p=186</guid>
		<description><![CDATA[Using my shiny new upgraded Ubuntu 9.04, I&#8217;ve gotten around to installing PostgreSQL.
Note: this is not a tutorial.
The installation was simple, as are most installations with Ubuntu.  The initial &#8220;get going&#8221; was a bit odd for PostgreSQL though.  The one thing you have to remember when initially trying to get things going is [...]]]></description>
			<content:encoded><![CDATA[<p>Using my shiny new upgraded Ubuntu 9.04, I&#8217;ve gotten around to installing PostgreSQL.</p>
<p><strong>Note:</strong> <em>this is not a tutorial.</em></p>
<p>The installation was simple, as are most installations with Ubuntu.  The initial &#8220;get going&#8221; was a bit odd for PostgreSQL though.  The one thing you have to remember when initially trying to get things going is this&#8230;<span id="more-186"></span></p>
<pre>sudo -u postgres [command]</pre>
<p>In order to set things up I had to use the <em>postgres</em> user account.  Using this I was able to create a password for <em>postgres</em>, create my own user account with super user privileges and a new database.  Once I had created my own account and secured the <em>postgres</em> user for remote network connections I was ready to move on and do whatever I want.  For administration purposes I&#8217;m going to stick with phpPgAdmin (php application) and pgAdmin3 (gui application), both available from the Ubuntu repositories.</p>
<p>After sifting around the admin interfaces a bit and creating a few test tables I started noticing a lot of differences between MySQL and PostgreSQL.  I&#8217;m really not going to get into the battle of who&#8217;s better.  It&#8217;s far too complicated for one post &#8211; and quite frankly I can&#8217;t tell you, yet.</p>
<p>What I can say though is that PostgreSQL seems to be a lot more versatile with respects to data types. It also seems to be a lot more configurable when it comes down to security and permissions of databases, schemas, tables.</p>
<p>A MySQL database contains: tables, views, stored procedures, functions and triggers.</p>
<p>A PostgreSQL database contains: schemas and full text search configurations. Sounds a bit off, right? but the schemas contains: tables, views, sequences, functions, domains.  This split allows for multiple schemas within a database, and essentially a much cleaner name space than what you can do with MySQL.  You can also use these schemas in the database to allocate different permissions to different groups of tables.  So far, not bad.</p>
<p>But, what are all these other things?</p>
<p>If you don&#8217;t know what tables and views are, you probably shouldn&#8217;t be reading this.  You should probably be reading a primer on what a database is.</p>
<p>One of the first &#8220;<acronym title="how do I do that?">HDIDT?</acronym>&#8221; was &#8216;Where&#8217;s the auto increment for my column?&#8221;  PostgreSQL doesn&#8217;t support an automagic counter like MySQL does.  So, for my standard table structure with an automatically numbered ID column, I had to figure it out.  This quickly introduced me to sequences and how PostgreSQL does things.  Using the data type &#8216;<em>SERIAL</em>&#8216; when I create the table, PostgreSQL automatically created a sequence for me which acts the same as an <em>auto_increment</em> setting for MySQL.  The difference? Well, with PostgreSQL&#8217;s sequences I can configure how it counts.  I can set the start, limit, increment, and whether or not it can cycle (loop, not useful for unique keys). The default SERIAL behaviour is to start at 0, increment by 1 with a maximum of 9223372036854775807 and not cycle.  That&#8217;s pretty good for a unique primary key if you ask me. I can also have multiple sequences on a single table, whereas MySQL only allows for a single <em>auto_increment</em> column.</p>
<p>Functions, much like MySQL&#8217;s stored procedures and functions only there&#8217;s something special about PostgreSQL&#8217;s functions.  That special feature is that you can do them in a few different ways.  Internal functions &#8211; built in when you compile PostgreSQL &#8211; not something that I can see a lot of use for in every day use, but if you&#8217;re a C programmer and want to make your own &#8211; you can!  The real kick here is the support for Procedure Language (PL) with multiple interfaces.  PostgreSQL supports pgSQL (their own), Python, TCL and Perl for creation of functions.  I don&#8217;t know about you, but those are some pretty powerful languages.  I&#8217;m not going to go into these in any depth, but I&#8217;m sold already.</p>
<p>Domains are a special little thing.  Slightly confused by the name, a domain is a user defined data type.  This is best described by the PostgreSQL manual:</p>
<blockquote><p>Domains are useful for abstracting common constraints on fields into a single location for maintenance. For example, several tables might contain email address columns, all requiring the same CHECK constraint to verify the address syntax. Define a domain rather than setting up each table&#8217;s constraint individually.</p></blockquote>
<p>With domains there is an ability to control data formatting as well as types at the server level.  I can see this being useful for <acronym title="bastard operator from hell">BOFH</acronym> <acronym title="database administrator">DBA&#8217;s</acronym>.</p>
<p>Another major difference that I&#8217;ll have to wrap my head around is the number of different data types that PostgreSQL supports.  Unlike MySQL&#8217;s fairly standard set, PostgreSQL supports a pile more.  A pile of native, specialized data types.  Nerdy things like ipv4 and ipv6, geometrical shapes, and money.  That&#8217;s pretty hot.</p>
<p>So far, I guess I have to say I&#8217;m pretty pleased with the shape things are taking with my adventure into PostgreSQL land. Only more time will tell as to whether it&#8217;s really good.</p>
]]></content:encoded>
			<wfw:commentRss>http://darrylclarke.com/2009/05/23/summer-project-setup-postgresql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Summer Project Details</title>
		<link>http://darrylclarke.com/2009/05/03/summer-project-details/</link>
		<comments>http://darrylclarke.com/2009/05/03/summer-project-details/#comments</comments>
		<pubDate>Sun, 03 May 2009 19:53:07 +0000</pubDate>
		<dc:creator>Darryl Clarke</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[insane]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[summer project]]></category>

		<guid isPermaLink="false">http://darrylclarke.com/?p=124</guid>
		<description><![CDATA[As part of my previous post, &#8220;things to do this summer,&#8221; I&#8217;ve decided on a not so clever appraoch to proving to myself that &#8220;it&#8217;s just a language.&#8221;
What do I mean by, &#8220;it&#8217;s just a language?&#8221;  Well, let me tell you. On a regular basis I get asked &#8220;do you now [language]?&#8221; And my answer [...]]]></description>
			<content:encoded><![CDATA[<p>As part of my previous post, &#8220;<a href="http://darrylclarke.com/2009/04/27/things-to-do-this-summer/">things to do this summer</a>,&#8221; I&#8217;ve decided on a not so clever appraoch to proving to myself that &#8220;it&#8217;s just a language.&#8221;</p>
<p>What do I mean by, &#8220;it&#8217;s just a language?&#8221;  Well, let me tell you. On a regular basis I get asked &#8220;do you now [language]?&#8221; And my answer is usually something along the lines of &#8220;Well, I know of it, I&#8217;ve touched it a bit, but never done anything real with it.&#8221;  But, since I&#8217;m a programmer I usually follow it with &#8220;It&#8217;s just a language.&#8221;  So now I&#8217;m going to prove to myself that it is in fact &#8220;just a language.&#8221;</p>
<p><span id="more-124"></span>In order to do this I&#8217;m going to do one project a few different times.  This project will be a simple web application that doesn&#8217;t do anything much &#8211; possibly something simple like a gallery or basic forums.</p>
<p>I&#8217;ll break down the project into components and then follow the following paths to complete it.</p>
<p><strong>Path 1: </strong>Python, Django, Apache, PostgreSQL</p>
<p><strong>Path 2:</strong> Ruby, Ruby on Rails, Apache, PostgreSQL</p>
<p><strong>Path 3:</strong> Java, JSP, Apache (tomcat), PostgreSQL</p>
<p><strong>Path 4:</strong> PHP, Zend Framework, Apache, PostgreSQL</p>
<p><strong>Bonus:</strong> Perl, Apache (cgi), PostgreSQL</p>
<p>They will all use a common source of data, all stored in a single PostgreSQL database. After those are completed I will then venture on into the mobile platforms mentioned.  Since the mobile platforms are a bit different as to what I can do the end result may vary.  Hopefully the mobile interfaces will interact directly as if they were the same as the web site interfaces.</p>
<p>I plan on starting after my trip to Vancouver &#8211; early June.</p>
<p>Here&#8217;s lookin&#8217; at my insanity.</p>
]]></content:encoded>
			<wfw:commentRss>http://darrylclarke.com/2009/05/03/summer-project-details/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Using Environment Variables So You Can Commit Your .project File</title>
		<link>http://darrylclarke.com/2009/02/25/using-environment-variables-so-you-can-commit-your-project-file/</link>
		<comments>http://darrylclarke.com/2009/02/25/using-environment-variables-so-you-can-commit-your-project-file/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 19:37:07 +0000</pubDate>
		<dc:creator>Darryl Clarke</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[zend framework]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[configuration]]></category>

		<guid isPermaLink="false">http://darrylclarke.com/?p=71</guid>
		<description><![CDATA[Quick Update: this apparently only works with Zend Studio for Eclipse. Sorry for any confusion if you&#8217;re trying to figure out where the f$#@ those dialogs are.
All of my projects reside in an SVN repository and now they&#8217;re starting to get accessed by multiple users.  Typically with eclipse, I would just have a project that [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Quick Update: </strong>this apparently only works with<strong> Zend Studio for Eclipse. </strong>Sorry for any confusion if you&#8217;re trying to figure out where the f$#@ those dialogs are.</p>
<p>All of my projects reside in an <a href="/coding/subversion">SVN</a> repository and now they&#8217;re starting to get accessed by multiple users.  Typically with eclipse, I would just have a project that contained externally required libraries &#8211; such as the Zend Framework &#8211; but now the location of this is required to be more flexible.</p>
<p><span id="more-71"></span><a href="http://darrylclarke.com/wp-content/uploads/2009/02/filtered-properties.png"><img class="alignright size-medium wp-image-72" title="filtered-properties" src="http://darrylclarke.com/wp-content/uploads/2009/02/filtered-properties-300x147.png" alt="filtered-properties" width="210" height="103" /></a>That&#8217;s where a trusty environment variable comes in to play.  Now, Zend Studio for Eclipse already implements this but &#8211; unless you keep up to date &#8211; you&#8217;ll probably notice that it only has variables set for ZF 1.5 and ZF 1.6.</p>
<p><a href="http://darrylclarke.com/wp-content/uploads/2009/02/new-variable-entry.png"><img class="alignleft size-medium wp-image-73" title="new-variable-entry" src="http://darrylclarke.com/wp-content/uploads/2009/02/new-variable-entry-300x98.png" alt="new-variable-entry" width="180" height="59" /></a>I want to add ZF 1.7 to this, and well, it&#8217;s fairly simple. Just click &#8216;New&#8230;&#8217; and enter the path to where you&#8217;re freshly downloaded ZF 1.7 is.</p>
<p><a href="http://darrylclarke.com/wp-content/uploads/2009/02/newly-added-path.png"><img class="alignright size-thumbnail wp-image-74" title="newly-added-path" src="http://darrylclarke.com/wp-content/uploads/2009/02/newly-added-path-150x150.png" alt="newly-added-path" width="150" height="150" /></a>After that, it&#8217;s all set and you can add that newly created environment variable to your project properties as an include path.  This is far more flexible and useful in the long run when multiple people and multiple platforms.</p>
<p>Now, you can commit your <strong>.project</strong> file and have it used for everybody without conflicting hard coded paths to included projects or libraries.</p>
<p>Cool, huh?</p>
]]></content:encoded>
			<wfw:commentRss>http://darrylclarke.com/2009/02/25/using-environment-variables-so-you-can-commit-your-project-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Framework 1.7.5 Released</title>
		<link>http://darrylclarke.com/2009/02/22/zend-framework-175-released/</link>
		<comments>http://darrylclarke.com/2009/02/22/zend-framework-175-released/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 20:11:45 +0000</pubDate>
		<dc:creator>Darryl Clarke</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend framework]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://darrylclarke.com/?p=68</guid>
		<description><![CDATA[Zend Framework 1.7.5 was released just a short while ago.  While there&#8217;s not much with regards to features, there&#8217;s an interesting update to the view renderer and local file injection attacks.
I&#8217;m guilty of using this style of inclusion in some cases.  Sometimes it&#8217;s just easier. I guess it&#8217;s time to re-think how I do what [...]]]></description>
			<content:encoded><![CDATA[<p>Zend Framework 1.7.5 was released just a short while ago.  While there&#8217;s not much with regards to features, there&#8217;s an <a href="http://weierophinney.net/matthew/archives/206-Zend-Framework-1.7.5-Released-Important-Note-Regarding-Zend_View.html" target="_blank">interesting update</a> to the view renderer and local file injection attacks.</p>
<p>I&#8217;m guilty of using this style of inclusion in some cases.  Sometimes it&#8217;s just easier. I guess it&#8217;s time to re-think how I do what I do in these very few and rare cases.  No more &#8216;../&#8217; in my render statements!</p>
<p>Thanks to <a href="http://www.zendframeworkinaction.com/2009/02/19/zend-framework-175/" target="_blank">Zend Framework In Action</a> for the quick update.</p>
]]></content:encoded>
			<wfw:commentRss>http://darrylclarke.com/2009/02/22/zend-framework-175-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
