<?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>Phil Hassey &#187; PHP</title>
	<atom:link href="http://www.philhassey.com/blog/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.philhassey.com/blog</link>
	<description>game dev blog</description>
	<lastBuildDate>Fri, 03 Feb 2012 00:13:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Galcon Flash has arrived ..</title>
		<link>http://www.philhassey.com/blog/2009/06/23/galcon-flash-has-arrived/</link>
		<comments>http://www.philhassey.com/blog/2009/06/23/galcon-flash-has-arrived/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 21:39:05 +0000</pubDate>
		<dc:creator>philhassey</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[galcon]]></category>
		<category><![CDATA[gamedev]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.philhassey.com/blog/?p=217</guid>
		<description><![CDATA[So .. Yeah.  Check it out.  Realtime multi-player game .. in flash! So on a more technical note .. The game involves quite a number of technologies! AS3 &#8211; of course &#8211; for the Flash client itself C++ &#8211; for the server PHP &#8211; for the web API and rankings system python &#8211; for the [...]]]></description>
			<content:encoded><![CDATA[<p>So .. Yeah.  <a href="http://www.galcon.com/flash/">Check it out</a>.  Realtime multi-player game .. in flash!</p>
<p><a href="http://www.philhassey.com/blog/wp-content/uploads/2009/06/prepreload.jpg"><img class="alignnone size-medium wp-image-218" title="prepreload" src="http://www.philhassey.com/blog/wp-content/uploads/2009/06/prepreload-300x216.jpg" alt="" width="300" height="216" /></a></p>
<p>So on a more technical note .. The game involves quite a number of technologies!</p>
<ul>
<li>AS3 &#8211; of course &#8211; for the Flash client itself</li>
<li>C++ &#8211; for the server</li>
<li>PHP &#8211; for the web API and rankings system</li>
<li>python &#8211; for the bots</li>
</ul>
<p>If I did the project over, I&#8217;d probably do the server in python as well.  But all in all the project went pretty well.  After things were done, it only took me a morning to write up the python client.  There&#8217;s a very good chance I&#8217;ll release that code in a few weeks and let people try making bots for the game.</p>
<p>Anyway &#8211; have fun checking it out.  I&#8217;m a bit wiped out from wrapping all this up, so I&#8217;ll try and post some more interesting details later!</p>
<p>-Phil</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.philhassey.com/blog/2009/06/23/galcon-flash-has-arrived/&amp;title=Galcon+Flash+has+arrived+.." rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.philhassey.com/blog/2009/06/23/galcon-flash-has-arrived/&amp;title=Galcon+Flash+has+arrived+.." rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.philhassey.com/blog/2009/06/23/galcon-flash-has-arrived/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.philhassey.com/blog/2009/06/23/galcon-flash-has-arrived/&amp;title=Galcon+Flash+has+arrived+.." rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.philhassey.com/blog/2009/06/23/galcon-flash-has-arrived/&amp;title=Galcon+Flash+has+arrived+.." rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.philhassey.com/blog/2009/06/23/galcon-flash-has-arrived/&amp;title=Galcon+Flash+has+arrived+.." rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.philhassey.com/blog/2009/06/23/galcon-flash-has-arrived/&amp;title=Galcon+Flash+has+arrived+.." rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.philhassey.com/blog/2009/06/23/galcon-flash-has-arrived/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Galcon+Flash+has+arrived+..+@+http://www.philhassey.com/blog/2009/06/23/galcon-flash-has-arrived/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.philhassey.com/blog/2009/06/23/galcon-flash-has-arrived/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Healthcare job opening for a pythonic PHP coder &#8230;</title>
		<link>http://www.philhassey.com/blog/2008/09/24/healthcare-job-opening-for-a-pythonic-php-coder/</link>
		<comments>http://www.philhassey.com/blog/2008/09/24/healthcare-job-opening-for-a-pythonic-php-coder/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 15:53:41 +0000</pubDate>
		<dc:creator>philhassey</dc:creator>
				<category><![CDATA[biz]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[job]]></category>

		<guid isPermaLink="false">http://www.philhassey.com/blog/?p=165</guid>
		<description><![CDATA[Hey &#8211; my healthcare business is hiring! Yay! We&#8217;re looking for someone who lives in western New York, is a pythonic PHP coder, and enjoys consulting and software maintenance. Here&#8217;s the full listing at monster and at craigslist. Cheers! -Phil]]></description>
			<content:encoded><![CDATA[<p>Hey &#8211; my <a href="http://www.lance-tech.com">healthcare business</a> is hiring!  Yay!</p>
<p>We&#8217;re looking for someone who lives in western New York, is a pythonic PHP coder, and enjoys consulting and software maintenance.</p>
<p>Here&#8217;s the full listing at <a href="http://jobview.monster.com/GetJob.aspx?JobID=75979622">monster</a> and at <a href="http://buffalo.craigslist.org/sof/850969122.html">craigslist</a>.</p>
<p>Cheers!<br />
-Phil</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.philhassey.com/blog/2008/09/24/healthcare-job-opening-for-a-pythonic-php-coder/&amp;title=Healthcare+job+opening+for+a+pythonic+PHP+coder+%26%238230%3B" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.philhassey.com/blog/2008/09/24/healthcare-job-opening-for-a-pythonic-php-coder/&amp;title=Healthcare+job+opening+for+a+pythonic+PHP+coder+%26%238230%3B" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.philhassey.com/blog/2008/09/24/healthcare-job-opening-for-a-pythonic-php-coder/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.philhassey.com/blog/2008/09/24/healthcare-job-opening-for-a-pythonic-php-coder/&amp;title=Healthcare+job+opening+for+a+pythonic+PHP+coder+%26%238230%3B" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.philhassey.com/blog/2008/09/24/healthcare-job-opening-for-a-pythonic-php-coder/&amp;title=Healthcare+job+opening+for+a+pythonic+PHP+coder+%26%238230%3B" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.philhassey.com/blog/2008/09/24/healthcare-job-opening-for-a-pythonic-php-coder/&amp;title=Healthcare+job+opening+for+a+pythonic+PHP+coder+%26%238230%3B" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.philhassey.com/blog/2008/09/24/healthcare-job-opening-for-a-pythonic-php-coder/&amp;title=Healthcare+job+opening+for+a+pythonic+PHP+coder+%26%238230%3B" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.philhassey.com/blog/2008/09/24/healthcare-job-opening-for-a-pythonic-php-coder/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Healthcare+job+opening+for+a+pythonic+PHP+coder+%26%238230%3B+@+http://www.philhassey.com/blog/2008/09/24/healthcare-job-opening-for-a-pythonic-php-coder/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.philhassey.com/blog/2008/09/24/healthcare-job-opening-for-a-pythonic-php-coder/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>tinypy.org website launched!</title>
		<link>http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/</link>
		<comments>http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 04:04:29 +0000</pubDate>
		<dc:creator>philhassey</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tinypy]]></category>

		<guid isPermaLink="false">http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/</guid>
		<description><![CDATA[Yay!Â  Go to tinypy.org and spend the rest of your day basking in the glow of the new tinypy website!Â  Yipee!Â  Thanks to everyone who told me not to re-invent the wheel on this one.Â  I spent a large bit of the week thinking about doing that, but eventually I gave up the idea because [...]]]></description>
			<content:encoded><![CDATA[<p>Yay!Â  Go to <a href="http://www.tinypy.org/">tinypy.org</a> and spend the rest of your day basking in the glow of the new tinypy website!Â  Yipee!Â  Thanks to everyone who told me not to re-invent the wheel on this one.Â  I spent a large bit of the week thinking about doing that, but eventually I gave up the idea because I was feeling kind of worn out.Â  So I just threw together a google code and google group and slapped a website in front of it all.</p>
<p>If you&#8217;re interested in tinypy in any way, be sure to go to the site then navigate to the google group from there and join in the fun.Â  I suppose I could have direct links from this post, but then you&#8217;d miss out seeing my new swell site <img src='http://www.philhassey.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Share and enjoy!<br />
-Phil</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/&amp;title=tinypy.org+website+launched%21" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/&amp;title=tinypy.org+website+launched%21" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/&amp;title=tinypy.org+website+launched%21" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/&amp;title=tinypy.org+website+launched%21" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/&amp;title=tinypy.org+website+launched%21" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/&amp;title=tinypy.org+website+launched%21" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+tinypy.org+website+launched%21+@+http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.philhassey.com/blog/2008/04/03/tinypyorg-website-launched/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Searching for a electronic document / data / business intelligence tool</title>
		<link>http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/</link>
		<comments>http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 21:17:15 +0000</pubDate>
		<dc:creator>philhassey</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/</guid>
		<description><![CDATA[Hey all you open source folks out there .. I&#8217;m looking for an electronic document / data / business intelligence tool. Something where I can set up a handful of forms, collect the data, search the data, and generate nice reports. I&#8217;m open for any language, any platform, whatever (though, PHP and python are preferred). [...]]]></description>
			<content:encoded><![CDATA[<p>Hey all you open source folks out there .. I&#8217;m looking for an electronic document / data / business intelligence tool.  Something where I can set up a handful of forms, collect the data, search the data, and generate nice reports.</p>
<p>I&#8217;m open for any language, any platform, whatever (though, PHP and python are preferred).  I&#8217;ve done some searching but so far most things seem too &#8220;heavyweight&#8221; I want something &#8220;lightweight&#8221; that I can actually get into and use without dedicating the rest of my life to figuring out someone&#8217;s junk.</p>
<p>Thanks!</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/&amp;title=Searching+for+a+electronic+document+%2F+data+%2F+business+intelligence+tool" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/&amp;title=Searching+for+a+electronic+document+%2F+data+%2F+business+intelligence+tool" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/&amp;title=Searching+for+a+electronic+document+%2F+data+%2F+business+intelligence+tool" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/&amp;title=Searching+for+a+electronic+document+%2F+data+%2F+business+intelligence+tool" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/&amp;title=Searching+for+a+electronic+document+%2F+data+%2F+business+intelligence+tool" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/&amp;title=Searching+for+a+electronic+document+%2F+data+%2F+business+intelligence+tool" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Searching+for+a+electronic+document+%2F+data+%2F+business+intelligence+tool+@+http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.philhassey.com/blog/2008/01/16/searching-for-a-electronic-document-data-business-intelligence-tool/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Ludum Dare Website Post-Mortem</title>
		<link>http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/</link>
		<comments>http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 22:32:08 +0000</pubDate>
		<dc:creator>philhassey</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[gamedev]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/</guid>
		<description><![CDATA[I&#8217;ve been a bit quiet the last couple weeks .. after my spree of &#8220;python-&#62;c&#8221; converter posts I got pretty busy working on the Ludum Dare 10 website.Â  Ludum Dare is a 48 hour game development competition. I used WordPress as the basis for this project and I think it was a pretty good choice.Â  [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been a bit quiet the last couple weeks .. after my spree of &#8220;python-&gt;c&#8221; converter posts I got pretty busy working on the <a href="http://www.imitationpickles.org/ludum/">Ludum Dare 10 website</a>.Â  Ludum Dare is a 48 hour game development competition.</p>
<p>I used WordPress as the basis for this project and I think it was a pretty good choice.Â  Generally anything I needed to do, there was a hook in the API to let me do it.Â  I was able to keep all my compo code (theme voting, trophies, rating of entries,Â  tag clouds, screenshot grids, security tweaks) all within a module I wrote without having to modify any of the core WordPress files <img src='http://www.philhassey.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>There were around 150 signups on the site and 50 people completed entries.Â  The theme was &#8220;Chain Reaction&#8221; which won even in the first round of voting .. and still won after the 2nd and 3rd rounds.Â  I spent most of the competition sitting around on IRC doing nothing and occasionally working on my game.</p>
<p>The one notable glitch in the compo was the announcement of the theme ceremony.Â  I switched the voting to closed so we could see the results and it showed several themes with almost nobody voting for them.Â  Turns out those were two themes which I initially had in the final round but removed (because they didn&#8217;t make the cut).Â  The results of a few people voting was stored in the database so they still showed up.Â  Anyway, that was easily fixed.</p>
<p>At the end of the compo it took me an hour or so to get the entry rating system set up.Â  I also added the ability to leave a comment along with your rating to encourage more people to leave comments.Â  (They could use the WordPress blog commenting system, but that would take a few extra clicks and thinking.)Â  This way seems much nicer.</p>
<p>I think the funnest feature I added to the site was the Trophy feature.Â  This feature lets users award each-other 64&#215;64 pixel trophies at any time.Â  It&#8217;s a nice community feature because it lets people recognize cool things that people did out-side of the pre-set rating categories in the contest.Â  (For example, one entrant recorded a tuba solo for their game.Â  Although the compo has a sound category, several people felt that the tuba playing merited special <a href="http://www.imitationpickles.org/ludum/author/samiljan/">tuba trophies</a>.)</p>
<p>I don&#8217;t know if I&#8217;ll be running the Ludum Dare competition again or not, but I&#8217;m sure I&#8217;ll be hosting some others now that I&#8217;ve got this swell compo system written <img src='http://www.philhassey.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/&amp;title=Ludum+Dare+Website+Post-Mortem" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/&amp;title=Ludum+Dare+Website+Post-Mortem" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/&amp;title=Ludum+Dare+Website+Post-Mortem" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/&amp;title=Ludum+Dare+Website+Post-Mortem" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/&amp;title=Ludum+Dare+Website+Post-Mortem" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/&amp;title=Ludum+Dare+Website+Post-Mortem" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Ludum+Dare+Website+Post-Mortem+@+http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.philhassey.com/blog/2007/12/18/ludum-dare-website-post-mortem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customizing WordPress</title>
		<link>http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/</link>
		<comments>http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/#comments</comments>
		<pubDate>Wed, 28 Nov 2007 16:49:30 +0000</pubDate>
		<dc:creator>philhassey</dc:creator>
				<category><![CDATA[biz]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[gamedev]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/</guid>
		<description><![CDATA[As far as code goes, I&#8217;ve usually been a do-it-yourself kind of guy. However, I&#8217;ve been so impressed with WordPress I&#8217;ve actually used it to implement four of my sites in the last couple months. WordPress is an easy to use, smart piece of blogging software. It really seems to have just the right set [...]]]></description>
			<content:encoded><![CDATA[<p>As far as code goes, I&#8217;ve usually been a do-it-yourself kind of guy.  However, I&#8217;ve been so impressed with WordPress I&#8217;ve actually used it to implement four of my sites in the last couple months.  <a href="http://www.wordpress.org/">WordPress</a> is an easy to use, smart piece of blogging software.  It really seems to have just the right set of features in its default installation to be useful for most cases out of the box.</p>
<p>However, there comes a time when what&#8217;s given just isn&#8217;t enough.  Thankfully, its got an extensive collection of <a href="http://wordpress.org/extend/plugins/">plugins</a>!  Everything from blog aggregation to voting to forms to photo galleries.  Not all plugins are great, but usually if you check out a few you can find one that will do what you want.</p>
<p>That is .. until you want something different!  I might be hosting the <a href="http://www.imitationpickles.org/ludum/">10th Ludum Dare compo</a>.  For that I needed some special features for collecting <a href="http://www.imitationpickles.org/ludum/category/test-compo/">ratings of contestants entries</a>, showing <a href="http://www.imitationpickles.org/ludum/?mythumb_nav=1">screenshot grids</a>, and <a href="http://www.imitationpickles.org/ludum/author/admin/">giving trophies</a> to entrants.</p>
<p align="center"><a href="http://www.imitationpickles.org/ludum/?mythumb_nav=1" title="Ludum Dare Screenshot Grid"><img src="http://www.philhassey.com/blog/wp-content/uploads/2007/11/ld-grid.png" alt="Ludum Dare Screenshot Grid" /></a></p>
<p>WordPress comes with a fairly nice themes and plugins system which made it possible to add all those features to my blog without modifying the core-code of WordPress.  Frequently I would implement a feature, and after learning more about WP internals, I was able to refactor it to be simpler by using more of the existing WP framework.</p>
<p>It wasn&#8217;t all fun and games, though, the learning curve was a bit painful for some features.  A couple WordPress features (like <a href="http://codex.wordpress.org/Creating_Tables_with_Plugins">table deltas</a>) seemed a bit too clever (not to mention broken) for their own good.  Fortunately, I was able to get away with not using those features.</p>
<p>The other challenge I had was when I came across a <a href="http://trac.wordpress.org/ticket/5380">bug in WordPress</a>.  I did my best to figure out the bug, but it appears to be some strange javascripty thing which was beyond me.  So I&#8217;ve reported the bug, and according to their schedule, it probably won&#8217;t be fixed for about six months.  Ah well, at least it&#8217;s pretty minor.</p>
<p>All that said, it has been a fairly enjoyable process.  I&#8217;ve been able to develop more site in less time by working with the WordPress plugin system.  I have *considerably* less code to maintain, since I&#8217;m only responsible for the plugins I&#8217;ve made.  Had I created this from scratch, I wouldn&#8217;t have gotten even half as far given the amount of time I invested.</p>
<p><em>This just in, the WordPress spell checker chokes on the word &#8220;with&#8221; .. weirdness!</em></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/&amp;title=Customizing+WordPress" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/&amp;title=Customizing+WordPress" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/&amp;title=Customizing+WordPress" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/&amp;title=Customizing+WordPress" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/&amp;title=Customizing+WordPress" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/&amp;title=Customizing+WordPress" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Customizing+WordPress+@+http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.philhassey.com/blog/2007/11/28/customizing-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Watermelons on facebook</title>
		<link>http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/</link>
		<comments>http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 03:38:04 +0000</pubDate>
		<dc:creator>philhassey</dc:creator>
				<category><![CDATA[crazy]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[haxe]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[pygame]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/</guid>
		<description><![CDATA[Watermelons was a pygame game made in about 8 hours one evening on the #ludumdare channel. Since then I&#8217;ve ported it to flash using haxe. This past weekend I integrated it into the facebook API. You can check the app out here. My server-side high score system was written with PHP. The integration was somewhat [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.imitationpickles.org/melons/">Watermelons</a> was a pygame game made in about 8 hours one evening on the <a href="http://www.ludumdare.com">#ludumdare</a> channel.  Since then I&#8217;ve ported it to <a href="http://www.imitationpickles.org/melons/flash.php">flash</a> using <a href="http://www.haxe.org">haxe</a>.  This past weekend I integrated it into the facebook API.  You can check the app out <a href="http://apps.facebook.com/watermelons/">here</a>.  My server-side high score system was written with PHP.</p>
<p>The integration was somewhat challenging, since I was using a language not supported by facebook (haxe) and my integration involved using flash, which has some restrictions when used within FMBL.  To work around these things, I had to embed my flash object within an iframe and then pass high scores back through my main web script in the browser window (instead of as a background request) in order to be able to use all the facebook notification features.</p>
<p>So far (after about 5 days) the app has about 160 users, which isn&#8217;t very many.  But I suppose it&#8217;s not bad for my first shot at writing a facebook app.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/&amp;title=Watermelons+on+facebook" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/&amp;title=Watermelons+on+facebook" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/&amp;title=Watermelons+on+facebook" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/&amp;title=Watermelons+on+facebook" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/&amp;title=Watermelons+on+facebook" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/&amp;title=Watermelons+on+facebook" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Watermelons+on+facebook+@+http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.philhassey.com/blog/2007/11/08/watermelons-on-facebook/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>pygame.org updated</title>
		<link>http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/</link>
		<comments>http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 00:09:59 +0000</pubDate>
		<dc:creator>philhassey</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[pygame]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/</guid>
		<description><![CDATA[I just spent the last few hours working on an update to pygame.org . The most exciting feature is the tagging which I&#8217;ve added. Now you can look up all pyweek entries by going to www.pygame.org/tags/pyweek for example (at least, once people start filling in their tags!) I haven&#8217;t had lots of time lately to [...]]]></description>
			<content:encoded><![CDATA[<p>I just spent the last few hours working on an update to <a href="http://www.pygame.org">pygame.org</a> .  The most exciting feature is the tagging which I&#8217;ve added.  Now you can look up all pyweek entries by going to <a href="http://www.pygame.org/tags/pyweek">www.pygame.org/tags/pyweek</a> for example (at least, once people start filling in their tags!)</p>
<p>I haven&#8217;t had lots of time lately to work on the pygame site, but I&#8217;m glad I was able to round up a few hours today, I think this is a nice feature and I hope it encourages people who use other python game frameworks to post their games there as well, now that they can tag their games as &#8220;soya&#8221; or &#8220;pyopengl&#8221;.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/&amp;title=pygame.org+updated" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/&amp;title=pygame.org+updated" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/&amp;title=pygame.org+updated" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/&amp;title=pygame.org+updated" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/&amp;title=pygame.org+updated" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/&amp;title=pygame.org+updated" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+pygame.org+updated+@+http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.philhassey.com/blog/2007/11/01/pygameorg-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ain&#8217;t broken don&#8217;t fix it</title>
		<link>http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/</link>
		<comments>http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 19:28:27 +0000</pubDate>
		<dc:creator>philhassey</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/</guid>
		<description><![CDATA[One line PHP templating engine: echo str_replace(array_keys($replace), array_values($replace),$content);]]></description>
			<content:encoded><![CDATA[<p>One line PHP templating engine:</p>
<pre>echo str_replace(array_keys($replace),
array_values($replace),$content);</pre>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/&amp;title=ain%26%238217%3Bt+broken+don%26%238217%3Bt+fix+it" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/&amp;title=ain%26%238217%3Bt+broken+don%26%238217%3Bt+fix+it" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/&amp;title=ain%26%238217%3Bt+broken+don%26%238217%3Bt+fix+it" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/&amp;title=ain%26%238217%3Bt+broken+don%26%238217%3Bt+fix+it" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/&amp;title=ain%26%238217%3Bt+broken+don%26%238217%3Bt+fix+it" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/&amp;title=ain%26%238217%3Bt+broken+don%26%238217%3Bt+fix+it" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+ain%26%238217%3Bt+broken+don%26%238217%3Bt+fix+it+@+http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.philhassey.com/blog/2007/10/31/aint-broken-dont-fix-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Great commercial libraries for web development</title>
		<link>http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/</link>
		<comments>http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 18:56:35 +0000</pubDate>
		<dc:creator>philhassey</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/</guid>
		<description><![CDATA[Although I&#8217;m generally an Open Source enthusiast, sometimes you just need something better &#8230; Prince XML &#8211; if you need to create lots of PDFs, you probably need this. It converts HTML to PDFs really fast and accurately. They&#8217;ve even used it to publish a book. There is an open source alternatives which may suite [...]]]></description>
			<content:encoded><![CDATA[<p>Although I&#8217;m generally an Open Source enthusiast, sometimes you just need something better &#8230;</p>
<p><a href="http://www.princexml.com/">Prince XML</a> &#8211; if you need to create lots of PDFs, you probably need this.  It converts HTML to PDFs really fast and accurately.  They&#8217;ve even used it to publish a book.  There is an open source alternatives which may suite you: <a href="http://www.tufat.com/s_html2ps_html2pdf.htm">tufat html2pdf</a> &#8211; but it isn&#8217;t as powerful, is really slow, and takes up a lot of memory.  Good for small scale projects.  I&#8217;ve actually used it quite a bit, but eventually the requirements of my projects grew beyond what could be done with it.  (I talked with the devs about sponsoring the changes I needed, but they felt it would be impossible meet my requirements and recommended that I get Prince XML instead.)  Prince XML comes as a command line binary, so it&#8217;s easy to integrate it with any language.  &#8220;prince in.html out.pdf&#8221; is all it takes.</p>
<p><a href="http://www.advsofteng.com/">Chart Director</a> &#8211; makes building graphical charts for your website both fun and beautiful.  I haven&#8217;t really come across any open source alternatives that I cared for.  The API is quite nice and includes just about everything I need.  It comes with bindings for all common languages.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/&amp;title=Great+commercial+libraries+for+web+development" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/&amp;title=Great+commercial+libraries+for+web+development" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/&amp;title=Great+commercial+libraries+for+web+development" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/&amp;title=Great+commercial+libraries+for+web+development" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/&amp;title=Great+commercial+libraries+for+web+development" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/&amp;title=Great+commercial+libraries+for+web+development" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Great+commercial+libraries+for+web+development+@+http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.philhassey.com/blog/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.philhassey.com/blog/2007/10/17/great-commercial-libraries-for-web-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

