<?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>Global Nerdy &#187; PHP</title>
	<atom:link href="http://www.globalnerdy.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.globalnerdy.com</link>
	<description>Tech Evangelist Joey deVilla on software development, tech news and other nerdy stuff</description>
	<lastBuildDate>Thu, 19 Nov 2009 02:16:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Open Source Language Roundtable Webcast: Wednesday, July 22nd</title>
		<link>http://www.globalnerdy.com/2009/07/20/open-source-language-roundtable-webcast-wednesday-july-22nd/</link>
		<comments>http://www.globalnerdy.com/2009/07/20/open-source-language-roundtable-webcast-wednesday-july-22nd/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 05:27:42 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Meetups]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[O'Reiilly]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OSCON]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[webcasts]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/2009/07/20/open-source-language-roundtable-webcast-wednesday-july-22nd/</guid>
		<description><![CDATA[
O’Reilly’s conference on Open Source, OSCON, takes place this week in San Jose, California. One of the events taking place at OSCON is the Open Source Language Roundtable, the abstract for which appears below:
We all have our favorite languages in our tool-belt, but is there a &#8216;best&#8217; overall language? If anyone can hash that out, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://www.oreillynet.com/pub/e/1386"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="oscon_language_roundtable" border="0" alt="oscon_language_roundtable" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/07/oscon_language_roundtable.jpg" width="403" height="496" /></a></p>
<p>O’Reilly’s conference on Open Source, <strong><a href="http://conferences.oreilly.com/oscon">OSCON</a></strong>, takes place this week in San Jose, California. One of the events taking place at OSCON is the <strong><a href="http://www.oreillynet.com/pub/e/1386">Open Source Language Roundtable</a></strong>, the abstract for which appears below:</p>
<blockquote><p>We all have our favorite languages in our tool-belt, but is there a &#8216;best&#8217; overall language? If anyone can hash that out, it will be the members of this roundtable discussion, some of the stars of the open source language space. This wide-ranging session, hosted and moderated by the O&#8217;Reilly Media editorial staff, and broadcast live on the web, will try to identify the best and worst features of each language, and which are best for various types of application development.</p>
</blockquote>
<p>The roundtable will me moderated by O’Reilly Media’s James Turner and will cover the following languages, listed below with the corresponding panelist:</p>
<ul>
<li><strong>Java:</strong> Rod Johnson (SpringSource)</li>
<li><strong>Perl:</strong> Jim Brandt (Perl Foundation)</li>
<li><strong>PHP:</strong> Laura Thomason (Mozilla)</li>
<li><strong>Python:</strong> Alex Martelli (Google)</li>
<li><strong>Ruby:</strong> Brian Ford (Engine Yard)</li>
</ul>
<p><strong>You can catch this roundtable even if you’re not going to be at OSCON because O’Reilly is webcasting the event.</strong> It takes place this Wednesday, July 22nd at 10pm EDT (7 pm Pacific) and is expected to run 90 minutes. It costs nothing to catch the webcast and you’ll even be able to ask the panelists questions via chat, but you’ll need to <a href="http://post.oreilly.com/rd/9z1z95hii30q4hc8e9c5r74c4s1cl6b97qsp4ivvp0o">register</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2009/07/20/open-source-language-roundtable-webcast-wednesday-july-22nd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Make Web Not War&#8221; in Toronto This Wednesday!</title>
		<link>http://www.globalnerdy.com/2009/06/08/make-web-not-war-in-toronto-this-wednesday/</link>
		<comments>http://www.globalnerdy.com/2009/06/08/make-web-not-war-in-toronto-this-wednesday/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 20:28:19 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Meetups]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Toronto]]></category>
		<category><![CDATA[What Joey Did]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Make Web Not War]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft's Sea Change]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[Web Platform Installer]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/2009/06/08/make-web-not-war-in-toronto-this-wednesday/</guid>
		<description><![CDATA[ 
About Make Web Not War
If you’re interested in web design and development, you should attend Wednesday’s Make Web Not War conference. It’s being presented by Microsoft Canada and is about the how open source tools like PHP and Microsoft technologies like IIS and SQL Server 2008 can be used together to make great web [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://webnotwar.ca/"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Make Web Not War: Toronto - Wednesday, June 10th" border="0" alt="Make Web Not War: Toronto - Wednesday, June 10th" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/06/make-web-not-war-2.jpg" width="556" height="432" /></a> </p>
<h3>About Make Web Not War</h3>
<p><strong>If you’re interested in web design and development,</strong> you should attend Wednesday’s <strong><a href="http://webnotwar.ca/">Make Web Not War</a></strong> conference. It’s being presented by Microsoft Canada and is about the how open source tools like PHP and Microsoft technologies like IIS and SQL Server 2008 can be used together to make great web sites and applications. No matter how much (or how little) Microsoft technology you use in your web development, there’s a lot to see at Make Web Not War!</p>
<h3>Who’s Speaking?</h3>
<p><strong>We’ve got a number of speakers, each talking about some different aspect of the interoperability between Microsoft and open source technologies,</strong> as well as their experiences and lessons learned working in the web industry:</p>
<p><img style="border-right-width: 0px; margin: 0px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="David Crow" border="0" alt="David Crow" align="right" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/06/david-crow.jpg" width="150" height="150" /> <strong></strong></p>
<h4><strong>David Crow,</strong> Microsoft</h4>
<p>David Crow is an emerging technology and start-up advocate. At Microsoft Canada, he is responsible for helping Canadian start-ups through programs like BizSpark (details at microsoft.com/bizspark). David helps companies understand emerging technology and design practices for creating compelling digital experiences. David focuses on helping companies to extend their customers&#8217; reach with next generation technology for the desktop, digital devices, standards based applications for the Web, and rich media applications. He has been named Toronto&#8217;s Best Web and Tech Evangelist for his efforts in DemoCamp, BarCampToronto, Founders &amp; Funders and StartupEmpire. </p>
<p><img style="border-right-width: 0px; margin: 0px 10px 10px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Mano Kulasingam" border="0" alt="Mano Kulasingam" align="left" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/06/mano-kulasingmam.jpg" width="150" height="150" /> <strong></strong></p>
<h4><strong>Mano Kulasingam,</strong> Digiflare</h4>
<p>Mano Kulasingam is a founding partner and principal interactive designer /developer with Digiflare, focusing on presentation layer technologies like Microsoft Silverlight, Windows Presentation Foundation and SharePoint 2007. He also has several years of experience developing B2B and B2C eCommerce and Content Management Web applications using ASP.NET (2.0 and 3.5) and Visual C#. His design skills include working with the latest professional design tools including Microsoft Expression Studio 2, which has earned him a Microsoft Expression MVP nod. He is a co-founder and host of the Toronto Silverlight User Group.</p>
<p><img style="border-right-width: 0px; margin: 0px 0px 0px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Brendan Sera-Shriar" border="0" alt="Brendan Sera-Shriar" align="right" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/06/brendan-serashriar.jpg" width="150" height="150" /> <strong></strong></p>
<h4><strong>Brendan Sera-Shriar,</strong> PHUG.ca</h4>
<p>Brendan is a prominent member of FlashinTO, PHUG – Open Source Culture, has taught web design at Long Island University Brooklyn campus, and has been a professor at Seneca College in the School of Communication Arts for over 7 years. Brendan currently owns and operates BackSpaceStudios, a web company specializing in WordPress development, social media applications. He is also the founder of PHUG, an open source community for designers and developers with currently over 4000 members, faculty at Seneca College, and organizer for WordCamp Toronto 2009. Brendan has contributed to many open source projects including papervision3D, red5, Firefox, WordPress, and Drupal, just to name a few.</p>
<p><img style="border-right-width: 0px; margin: 0px 10px 10px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Stephen Nichols" border="0" alt="Stephen Nichols" align="left" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/06/stephen-nichols.jpg" width="150" height="150" /> <strong></strong></p>
<h4><strong>Stephen Nichols,</strong> Softcom</h4>
<p>Under the brand myhosting.com we offer Shared and Virtual Web Hosting as well as Exchange 2007 and WSS hosting to customers around the world. </p>
<p>Stephen is Vice President of Sales at Softcom, a Gold certified Microsoft Partner based in Toronto and specializing in transactional hosting with a focus on the SMB market. His key role is to oversee the customer life cycle experience and drive new sales opportunities through the direct, affiliate and partner channels.</p>
<p><img style="border-right-width: 0px; margin: 0px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Yann Larivee" border="0" alt="Yann Larivee" align="right" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/06/yann-larivee.jpg" width="150" height="150" /> <strong></strong></p>
<h4><strong>Yann Larivee,</strong> PHP Quebec</h4>
<p>Yann Larrivée has been developing web applications for over 7 years and is currently offering PHP consulting services. In the past he has worked in many position from, project manager for a Linux consulting company to web architect for a well know company in the gaming industry. He also founded the PHP Quebec community in 2003 and organizes an international PHP conferences and an IT JobFair.</p>
<h3>Get Windows Server 2008 R2 for Free!</h3>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Windows Server 2008 R2 logo" border="0" alt="Windows Server 2008 R2 logo" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/06/windows-server-2008-r2-logo.jpg" width="600" height="189" /> </p>
<p>Windows Server 2008 R2 is a great server operating system, and this is your chance to take it out for a spin! Bring a machine to the <strong>Make Web Not War Installfest</strong> – it could be a server, desktop or even a laptop – and we’ll walk you through the process of installing your own free copy (which is good for a year). Space is limited – we’ve only got room for 100 people, so sign up soon!</p>
<h3>See the Utltimate FTW! Throwdown</h3>
<p>The Ultimate FTW! Throwdown was a challenge pitting student developers against professionals to develop a new PHP-on-Windows app or port an existing PHP-on-LAMP app to run on Windows Server with IIS. There were even bonus points for apps that made use of SQL Server as their database!</p>
<p>We took in a bunch of submissions, and the judges have narrowed it down to two finalists, one student, one professional:</p>
<p><img style="border-right-width: 0px; margin: 0px 10px 10px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Dac Chartrand" border="0" alt="Dac Chartrand" align="left" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/06/dac-chartrand.jpg" width="150" height="150" /> In the professional corner is <strong>Dac Chartrand</strong>, whose submission is <strong>Sux0r</strong>, a content-management system incorporating blogging, RSS aggregation, bookmark repository and photo publishing, all with a focus on naive Bayesian categorization and probabilistic content. The extra Bayesian/probabilistic goodies allow Sux0r to auto-categorize its content and users to train it to categorize better.</p>
<p><img style="border-right-width: 0px; margin: 0px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Casron Lam" border="0" alt="Casron Lam" align="right" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/06/carson-lam.jpg" width="150" height="150" /> His student opponent, <strong>Carson Lam</strong>, submitted <strong>Transit DB</strong>, which aims to transform the way commuters interact with public transit information system. The application is Carson’s answer to the question “How can we provide a modern, clean and user-friendly interface for transit data in cities?” The current version covers public transit for the Metro Vancouver region.</p>
<p>Dac and Carson will be competing for bragging rights and cold hard cash – may the best project win!</p>
<p>(For more details about the Ultimate FTW! Throwdown, <a href="http://phponwindows.ca/ftw/">see its page on PHPonWindows.ca</a>.)</p>
<h3>Interact</h3>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Telav audience device" border="0" alt="Telav audience device" align="right" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/06/telav-audience-device.jpg" width="139" height="240" /> </p>
<p>We don’t want to do all the talking at Make Web Not War, we also want to hear from you! </p>
<p>That’s why, when you arrive at the event, one of the first things we’ll do is hand you an AVW-TELAV audience response doohickey. It’s a microphone for the Q&amp;A sessions at the end of each presentation, but it’s also an instant audience polling device for quick surveys that we’ll have throughout the day.</p>
<h3>Chill Out</h3>
<p>All work and no play makes you a dull and burned-out web designer or developer, which is why we’ve also got a lounge where you can just hang out, meet the speakers, ask me questions about Microsoft’s web tools and tech and play XBox games.</p>
<h3>Win prizes</h3>
<p>We’ve got all sorts of prizes that you can win throughout the day, from software to books to trainign courses to Zune media players to XBox games to a brand new laptop. </p>
<h3>Get Fed</h3>
<p>Yup, we’re providing breakfast and lunch. You can’t conference on an empty stomach!</p>
<h3>Okay, How Much to Attend?</h3>
<p>Around this much:</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Canadian $10 bill" border="0" alt="Canadian $10 bill" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/06/canadian-10-dollar-bill.jpg" width="586" height="257" /> </p>
<p>Instead of charging a standard admission, <strong>we’re charging a “Donate what you can” rate, with all proceeds going to </strong><a href="http://prevnet.ca/"><strong>PREVNet.ca</strong></a><strong>, an anti-bullying group.</strong> The suggested donation is a mere $10.</p>
<h3>When and Where?</h3>
<p>Once again, Make Web Not War takes place <strong>this Wednesday, June 10th</strong> and runs from <strong>8:30 a.m. to 5:00 p.m..</strong>&#160; It’s happening in Toronto at Ryerson University’s <a href="http://www.ryerson.ca/tedrogersschool/"><strong>Ted Rogers School of Management</strong></a><strong> (</strong><a href="http://www.bing.com/maps/default.aspx?v=2&amp;FORM=LMLTCP&amp;cp=43.655896~-79.382993&amp;style=r&amp;lvl=15&amp;tilt=-90&amp;dir=0&amp;alt=-1000&amp;phx=0&amp;phy=0&amp;phscl=1&amp;where1=55%20Dundas%20Street%20West%2C%20Toronto%20ON&amp;encType=1"><strong>55 Dundas Street West</strong></a> – that’s Dundas between Bay and Yonge, right by the Best Buy and Canadian Tire). There’s parking aplenty in the area, and it’s right by Dundas Station on the Yonge/University/Spadina subway line. </p>
<div style="padding-bottom: 0px; padding-left: 0px; width: 564px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px" id="scid:84E294D0-71C9-4bd0-A0FE-95764E0368D9:d9acc6eb-3a94-4647-a8a0-2d6cb8973964" class="wlWriterEditableSmartContent"><a href="http://maps.live.com/default.aspx?v=2&amp;cp=43.6559~-79.383&amp;lvl=15&amp;style=r&amp;sp=aN.43.65586_-79.38313_Make%2520Web%2520Not%2520War%2520%2540%2520Ted%2520Rogers%2520School%2520of%2520Management_55%2520Dundas%2520Street%2520West%252c%2520Toronto%2520ON_http%253a%252f%252fwebnotwar.ca%252f&amp;mkt=en-us&amp;FORM=LLWR" id="map-dc1890fd-bdf7-4a59-8604-1c74cea6480c" alt="Click to view this map on Live.com" title="Click to view this map on Live.com"><img src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/06/map75073b0a57c2.jpg" width="564" height="240" alt="Map picture"></a></div>
<p>&#160;</p>
<h3>How Do I Register?</h3>
<p><strong><a href="http://www.starshot.com/microsoft/FTW/webnotwar/register.html">Visit the Make Web Not War registration page</a></strong> and fill out your details, and we’ll see you there on Wednesday!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2009/06/08/make-web-not-war-in-toronto-this-wednesday/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PHP on Windows: The Undiscovered Country</title>
		<link>http://www.globalnerdy.com/2009/05/12/php-on-windows-the-undiscovered-country/</link>
		<comments>http://www.globalnerdy.com/2009/05/12/php-on-windows-the-undiscovered-country/#comments</comments>
		<pubDate>Tue, 12 May 2009 13:53:49 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software and Services]]></category>
		<category><![CDATA[What Joey Did]]></category>
		<category><![CDATA[Garrett Serack]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft's Sea Change]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Open Source Software Lab]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Port 25]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/2009/05/12/php-on-windows-the-undiscovered-country/</guid>
		<description><![CDATA[This article also appears in Canadian Developer Connection.
I’m doing a lot of running around today. First, I’m off to the University of Waterloo to talk to students about PHP on Windows and the PHP FTW! contest. Then, it’s back to Toronto, where I’m headed downtown to catch up with Garrett Serack from Microsoft’s Open Source [...]]]></description>
			<content:encoded><![CDATA[<p></p><p class="alert"><a href="http://blogs.msdn.com/cdndevs/archive/2009/05/12/php-on-windows-the-undiscovered-country.aspx">This article also appears in <em>Canadian Developer Connection</em>.</a></p>
<p>I’m doing a lot of running around today. First, I’m off to the <a href="http://uwaterloo.ca/">University of Waterloo</a> to talk to students about PHP on Windows and the <a href="http://www.globalnerdy.com/2009/04/19/the-ftw-ultimate-php-app-throwdown/"><strong>PHP FTW! contest</strong></a>. Then, it’s back to Toronto, where I’m headed downtown to catch up with <a href="http://blogs.msdn.com/garretts/"><strong>Garrett Serack</strong></a> from Microsoft’s <a href="http://port25.technet.com/">Open Source Software Lab</a> to talk about The Empire, Open Source (which includes PHP, of course) and how they fit together. If this sounds like a conversation you’d be interested in joining, <a href="mailto:joey.devilla@microsoft.com">drop me a line</a>!</p>
<p>To give you a taste of what Microsoft is doing with PHP, I present the slides from Garrett’s talk, <strong><em><a href="http://www.slideshare.net/GarrettS/php-on-windows-the-undiscovered-country-presentation">PHP on Windows: The Undiscovered Country</a></em></strong>, which he gave last year. Things have advanced since then, but I thought it would give you an idea of what The Empire is thinking and where we’re going with PHP on the Windows platform:</p>
<div style="text-align: left; width: 425px" id="__ss_620269"><a style="margin: 12px 0px 3px; display: block; font: 14px helvetica,arial,sans-serif; text-decoration: underline" title="PHP on Windows - The Undiscovered Country" href="http://www.slideshare.net/GarrettS/php-on-windows-the-undiscovered-country-presentation?type=presentation">PHP on Windows &#8211; The Undiscovered Country</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=zendconpresentation-1222446163489369-9&amp;stripped_title=php-on-windows-the-undiscovered-country-presentation" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=zendconpresentation-1222446163489369-9&amp;stripped_title=php-on-windows-the-undiscovered-country-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2009/05/12/php-on-windows-the-undiscovered-country/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Got Time Tuesday After Work?</title>
		<link>http://www.globalnerdy.com/2009/05/11/got-time-tuesday-after-work/</link>
		<comments>http://www.globalnerdy.com/2009/05/11/got-time-tuesday-after-work/#comments</comments>
		<pubDate>Mon, 11 May 2009 19:43:06 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Meetups]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software and Services]]></category>
		<category><![CDATA[What Joey Did]]></category>
		<category><![CDATA[free as in beer]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft's Sea Change]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/2009/05/11/got-time-tuesday-after-work/</guid>
		<description><![CDATA[ 
If…

you’re a PHP developer or curious about what Microsoft is doing in the world of open source
you’re in the downtown Toronto area tomorrow (Tuesday, May 12th) after work
you like free food and drink

…then drop me a line. I’m helping out at an event that you might be interested in.
]]></description>
			<content:encoded><![CDATA[<p></p><p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="PHP logo" border="0" alt="PHP logo" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/phplogo.jpg" width="300" height="158" /> </p>
<p><strong>If…</strong></p>
<ul>
<li>you’re a PHP developer or curious about what Microsoft is doing in the world of open source</li>
<li>you’re in the downtown Toronto area tomorrow (Tuesday, May 12th) after work</li>
<li>you like free food and drink</li>
</ul>
<p>…then <a href="mailto:joey.devilla@microsoft.com">drop me a line</a>. I’m helping out at an event that you might be interested in.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2009/05/11/got-time-tuesday-after-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Special PHP/Windows-Themed Coffee and Code: This THURSDAY at the Dark Horse</title>
		<link>http://www.globalnerdy.com/2009/05/06/a-special-phpwindows-themed-coffee-and-code-this-thursday-at-the-dark-horse/</link>
		<comments>http://www.globalnerdy.com/2009/05/06/a-special-phpwindows-themed-coffee-and-code-this-thursday-at-the-dark-horse/#comments</comments>
		<pubDate>Wed, 06 May 2009 05:29:38 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Meetups]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Toronto]]></category>
		<category><![CDATA[Coffee and Code]]></category>
		<category><![CDATA[Dark Horse Cafe]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP on Windows]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/2009/05/06/a-special-phpwindows-themed-coffee-and-code-this-thursday-at-the-dark-horse/</guid>
		<description><![CDATA[This article also appears in Canadian Developer Connection.
 
This week, I’m going to have my hands full on Friday with WordCamp Toronto, so I’m moving my Coffee and Code session from Friday to this Thursday, May 7th, from 2:00 p.m. to 5:00 p.m. at the Dark Horse Cafe (215 Spadina).
This particular Coffee and Code has [...]]]></description>
			<content:encoded><![CDATA[<p></p><p class="alert"><a href="http://blogs.msdn.com/cdndevs/archive/2009/05/06/a-special-php-windows-themed-coffee-and-code-this-thursday-at-the-dark-horse.aspx">This article also appears in <em>Canadian Developer Connection</em>.</a></p>
<p><img style="border-right-width: 0px; margin: 0px 0px 0px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Coffee cup" border="0" alt="Coffee cup" align="right" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/coffee-cup.jpg" width="240" height="180" /> </p>
<p>This week, I’m going to have my hands full on Friday with <a href="http://phug.ca/wordcamptoronto/">WordCamp Toronto</a>, so I’m moving my Coffee and Code session from Friday to this <strong>Thursday, May 7th, from 2:00 p.m. to 5:00 p.m. at the Dark Horse Cafe</strong> (<a href="http://maps.live.com/#JndoZXJlMT0yMTUrU3BhZGluYStBdmVudWUlMmMrVG9yb250bytPTiZiYj01NC4yNjUyMjQwNzg2MDU3JTdlLTQwLjg2OTE0MDYyNSU3ZTMwLjc1MTI3Nzc3NjI1NzglN2UtMTE3Ljg2MTMyODEyNQ==">215 Spadina</a>).</p>
<p>This particular Coffee and Code has a theme: developing and deploying PHP applications on Windows. I’ll be talking about and answering questions about PHP on Windows, the Web Platform Installer (which I recently covered in <a href="http://blogs.msdn.com/cdndevs/archive/2009/05/05/installing-php-on-windows-using-the-web-platform-installer-2-0-beta.aspx">this article</a>) and <a href="http://www.globalnerdy.com/2009/04/19/the-ftw-ultimate-php-app-throwdown/">the PHP FTW! contest</a>, which pits student developers against professional developers for cash prizes.</p>
<p>Come on down and join me for a coffee! I’m going to see if I can bring some PHP-themed goodies to give away, just in case my scintillating company and Dark Horse’s great coffee aren’t enticements enough for you to drop by.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2009/05/06/a-special-phpwindows-themed-coffee-and-code-this-thursday-at-the-dark-horse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing PHP on Windows Using the Web Platform Installer 2.0 Beta</title>
		<link>http://www.globalnerdy.com/2009/05/05/installing-php-on-windows-using-the-web-platform-installer-20-beta/</link>
		<comments>http://www.globalnerdy.com/2009/05/05/installing-php-on-windows-using-the-web-platform-installer-20-beta/#comments</comments>
		<pubDate>Tue, 05 May 2009 04:00:00 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software and Services]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP on Windows]]></category>
		<category><![CDATA[Web Platform Installer]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/?p=3390</guid>
		<description><![CDATA[This article also appears in Canadian Developer Connection.
Yesterday, I showed you how to install MySQL Server 5.1 (Community Edition) onto your Windows-based development machine. The reason I wrote the article was to help you prep your machine for installing PHP and PHP-based applications using Microsoft’s Web Platform Installer.
What is Web Platform Installer?
Web Platform Installer is, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p class="alert"><a href="http://blogs.msdn.com/cdndevs/archive/2009/05/05/installing-php-on-windows-using-the-web-platform-installer-2-0-beta.aspx">This article also appears in <em>Canadian Developer Connection</em>.</a></p>
<p><strong><a href="http://www.globalnerdy.com/2009/05/04/installing-mysql-server-51-on-windows/">Yesterday, I showed you how to install MySQL Server 5.1</a></strong> (Community Edition) onto your Windows-based development machine. The reason I wrote the article was to help you prep your machine for installing PHP and PHP-based applications using Microsoft’s <strong><a href="http://www.microsoft.com/Web/downloads/platform.aspx">Web Platform Installer</a></strong>.</p>
<h3>What is Web Platform Installer?</h3>
<p>Web Platform Installer is, as the website puts it, “a free tool that makes it simple to download, install and keep up-to-date with the latest components of the Microsoft Web Platform”. Yes, this is stuff you can do yourself, but I’m all for tools that automate away drudgery.</p>
<p>As of this writing, there are two versions of Web Platform Installer available: the original 1.0 version and the beta 2.0 version. In this article, I’m going to focus on the 2.0 version.</p>
<p>Here’s what you’ll see when you fire up the Web Platform Installer 2.0 beta:</p>
<p><a href="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/wpi-01.gif"><font color="#990000"></font><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="wpi_01" border="0" alt="wpi_01" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/wpi-01-thumb.gif" width="600" height="445" /></a></p>
<p>Web Platform Installer has three tabs:</p>
<ol>
<li><strong>What’s New?:</strong> This lists the newest applications that are available for download and aren’t already installed on your system. This is the tab that is automatically selected when you launch Web Platform Installer. </li>
<li><strong>Web Platform:</strong> This lists web platform applications that are available for download and whether they’re installed on your system. These apps are divided into the following categories:
<ul>
<li><strong>Web Server Applications:</strong> Extensions for IIS as well as other server software such as the FTP server </li>
<li><strong>Frameworks and Runtimes:</strong> Both Microsoft and open source frameworks and runtimes, such as .NET Framework and ASP.NET MVC. <strong>This is where you’ll find PHP.</strong> </li>
<li><strong>Database:</strong> SQL Server Express and management tools. </li>
<li><strong>Tools:</strong> Applications for web development, such as Silverlight and Visual Web Developer Express. </li>
</ul>
</li>
<li><strong>Web Applications:</strong> This lists web applications that are available for download and whether they’re installed on your system. These apps are divided into the following categories:
<ul>
<li><strong>Blogs:</strong> A selection of .NET blogging apps such as BlogEngine.NET and DasBlog, as well as WordPress. </li>
<li><strong>Content Management:</strong> Applications like DotNetNuke and Acquia Drupal. </li>
<li><strong>Galleries:</strong> Photo gallery applications. </li>
<li><strong>Wiki:</strong> Wikis and apps with wiki functionality, such as the PHP-based Acquia Drupal and the ASP.NET-based ScrewTurn Wiki. </li>
</ul>
</li>
</ol>
<h3>Installing PHP</h3>
<p>If PHP isn’t on your system, it will appear on the What’s New? tab page. If you click on the “information” icon beside the checkbox item for PHP, you’ll be shown its information page:</p>
<p><a href="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/wpi-02.gif"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="wpi_02" border="0" alt="wpi_02" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/wpi-02-thumb.gif" width="600" height="445" /></a></p>
<p>You can choose to install PHP by checking PHP’s checkbox in the list of applications or the <strong>Click to include in your install </strong>button.</p>
<p>You can choose to add other applications to your install. Once you’ve chosen all the apps you want, click the <strong>Install </strong>button. You’ll be presented with a list of the apps you chose for review, along with any dependencies for those apps:</p>
<p><a href="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/wpi-04.gif"><font color="#111111"></font><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="wpi_04" border="0" alt="wpi_04" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/wpi-04-thumb.gif" width="600" height="412" /></a></p>
<p>To start the installation, click the <strong>I Accept</strong> button, and Web Platform Installer will do its thing: </p>
<p><a href="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/wpi-05.gif"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="wpi_05" border="0" alt="wpi_05" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/wpi-05-thumb.gif" width="600" height="412" /></a></p>
<h3>Taking PHP for a Quick Spin</h3>
<p>Let’s write a very quick script to confirm that PHP is up and running:</p>
<p> <code>
<pre>&lt;?php

phpinfo();

?&gt;</pre>
<p></code></p>
<p>In case you’re not familiar with PHP’s built-in <strong><code>phpinfo()</code></strong> function, it returns information about your PHP installation, its configuration and its current environment. It’s useful for all sorts of things, not the least of which is checking to see if your PHP installation worked.</p>
<p>Enter the script above using your favourite editor, and save it as <strong><code>test.php</code></strong> into the web root directory, <strong><code>c:/inetpub/wwwroot</code></strong> Note that in order to save to this directory, you’ll need to be running the editor with administrator privileges. Alternately, you can save to another directory and then copy the file to <strong><code>c:/inetpub/wwwroot</code></strong>, giving your administrative approval when prompted by the dialog box.</p>
<p>Then point your browser at <strong><code>http://localhost/test.php</code></strong> &#8212; you should see something that looks like this:</p>
<p><a href="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/wpi-06.gif"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="wpi_06" border="0" alt="wpi_06" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/wpi-06-thumb.gif" width="600" height="724" /></a></p>
<h3>Next Steps</h3>
<p>With PHP up and running, you can install PHP-based apps. PHP apps are like old-school ASP apps; installing them is often a matter of moving the files into the webroot directory and perhaps running an install script by typing its URL into your browser.</p>
<p><a href="http://www.phpmyadmin.net/"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="phpMyAdmin" border="0" alt="phpMyAdmin" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/phpmyadmin.jpg" width="182" height="104" /></a></p>
<p>One app you might want to consider installing is <a href="http://www.phpmyadmin.net/"><strong>phpMyAdmin</strong></a>, a PHP-based web application for administering MySQL databases. While it’s possible to administer MySQL solely through its command-line interfaces, phpMyAdmin makes it so much easier. I can’t recommend this utility enough.</p>
<p><a href="http://nostarch.com/wcphp.htm"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Cover of &quot;Wicked Cool PHP&quot;" border="0" alt="Cover of &quot;Wicked Cool PHP&quot;" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/wicked-cool-php.jpg" width="154" height="204" /></a></p>
</p>
</p>
<p>If I had to recommend just one PHP book, it would be No Starch Press’ <strong><em><a href="http://nostarch.com/wcphp.htm">Wicked Cool PHP</a></em></strong>. I find No Starch books to be both informative and enjoyable reads, and this book is no exception. If you’ve got at least a little programming experience under your belt. I think that you’ll find this book and its very useful examples, coupled with <a href="http://us3.php.net/docs.php">the online documentation at PHP.net</a>, will serve you very well.</p>
<p>Happy PHPing!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2009/05/05/installing-php-on-windows-using-the-web-platform-installer-20-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The &#8220;FTW!&#8221; Ultimate PHP App Throwdown</title>
		<link>http://www.globalnerdy.com/2009/04/19/the-ftw-ultimate-php-app-throwdown/</link>
		<comments>http://www.globalnerdy.com/2009/04/19/the-ftw-ultimate-php-app-throwdown/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 17:41:06 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[competitions]]></category>
		<category><![CDATA[contests]]></category>
		<category><![CDATA[FTW]]></category>
		<category><![CDATA[FTW Throwdown]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/2009/04/19/the-ftw-ultimate-php-app-throwdown/</guid>
		<description><![CDATA[
This article also appears in Canadian Developer Connection.
Wait a Minute…Microsoft and PHP?
You probably wouldn’t be surprised that Microsoft is holding a development contest that pits professional developers against student developers. You might be surprised that Microsoft is holding a development contest where the challenge is to build a PHP application.
You read that right: PHP. Microsoft’s [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://www.phponwindows.ca/FTW/"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="For the Win! For the Web! FTW: Ultimate App Throwdown -- Professionals vs. Students" border="0" alt="For the Win! For the Web! FTW: Ultimate App Throwdown -- Professionals vs. Students" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/04/ftw.jpg" width="600" height="336" /></a></p>
<p class="alert"><a href="http://blogs.msdn.com/cdndevs/archive/2009/04/19/the-ftw-ultimate-php-app-throwdown.aspx">This article also appears in <em>Canadian Developer Connection</em>.</a></p>
<h3>Wait a Minute…Microsoft and <em>PHP</em>?</h3>
<p>You probably wouldn’t be surprised that Microsoft is holding a development contest that pits professional developers against student developers. <strong>You <em>might</em> be surprised that <a href="http://www.phponwindows.ca/FTW/">Microsoft is holding a development contest where the challenge is to build a PHP application.</a></strong></p>
<p>You read that right: PHP. Microsoft’s web server, <strong>IIS (Internet Information Services) can run PHP as well as ASP.NET; in fact, it can even run both on the same site at the same time,</strong> so you can have apps like Wordpress along with your ASP.NET-based apps.</p>
<p>Think of ASP.NET and PHP running on the same server as the great jam session with Spock and the space hippie from <a href="http://en.wikipedia.org/wiki/The_Way_to_Eden">that old Star Trek “hippies in space” episode</a>.</p>
<p align="center"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Spock and a space hippie, jamming on their instruments" alt="Spock and a space hippie, jamming on their instruments" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/04/jammin.gif" width="256" height="209" /><em>See? We’re not Herbert!</em></p>
<p>Even more unexpected is that the beta for the 2.0 version of the <strong><a href="http://www.microsoft.com/Web/downloads/platform.aspx">Microsoft Web Platform Installer</a></strong> doesn’t do a “couple-of-clicks” installation of the expected stuff like IIS and SQL Server 2008 Express, <strong>it also provides a “couple-of-clicks” installation of PHP and Wordpress</strong>.</p>
<h3>The <em>FTW!</em> Throwdown</h3>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="&quot;Goopymart&quot; comic of a dog holding a trophy: &quot;FTW!&quot;" border="0" alt="&quot;Goopymart&quot; comic of a dog holding a trophy: &quot;FTW!&quot;" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/04/ftw1.jpg" width="500" height="500" /> </p>
<p>That’s “<em>FTW!</em>” as in “For the Win” or “For the Web”, by the way.</p>
<p>The contest is pretty simple: the idea is to show the best application written in PHP and deployed on Windows. The app can be either:</p>
<ul>
<li><strong>A <em>new</em> application</strong> developed by you in PHP and running on IIS in Windows </li>
<li><strong>An <em>existing</em> application or framework</strong> written in PHP and ported by you to run on IIS in Windows </li>
</ul>
<p>That’s right: if you’re pressed for ideas or time to make a new application, it’s all right – you can take a PHP application that already exists, make the necessary changes so that it’ll run on IIS (and hey, for bonus points, make it tie into SQL Server instead of MySQL), and submit that as your contest entry!</p>
<h3>Students vs. Professionals</h3>
<p>Another twist to the <em>FTW! </em>Throwdown is that we’re getting student developers and professional developers to challenge each other. The pros have experience and resources on their side; students have youthful energy and fewer distractions going for them. Not since <a href="http://en.wikipedia.org/wiki/Pirates_versus_Ninjas">“Pirates vs. Ninjas”</a> has there been a challenge like this!</p>
<p>One application developed or ported by students and one application developed or ported by professionals will be chosen from the submissions for the Ultimate Challenge, which will be a final bout at Microsoft’s <strong>Make Web, Not War</strong> conference. In that last match, it “Two apps enter! One app leaves!”. Simply put, one of the apps – either the student one or the professional one – will be declared the <em>Ultimate Champion</em>.</p>
<p>As they said in <em>Highlander</em>: “There can be…only one!”</p>
<h3>The Booty</h3>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Stuffed animal prizes at a carnival" border="0" alt="Stuffed animal prizes at a carnival" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/04/carnival-prizes.jpg" width="333" height="500" /> </p>
<p>We want to reward the best contestants for their efforts in the <em>FTW!</em> Throwdown, and we plan to do so with some pretty nice prizes, which include: </p>
<ul>
<li><strong>The grand prize:</strong> $5000 for the winning entrant. </li>
<li><strong>The runner-up prize:</strong> $3000 for the runner-up. </li>
<li><strong>The SQL Server prize:</strong> $3000 for the finalist whose app showcases the best use of PHP with a Microsoft SQL Server database. </li>
<li><strong>The PHP/.NET Mash-Up prize:</strong> $2000 for the finalist whose app showcases the best of PHP with .NET-based code working together in a single application. </li>
<li><strong>The student finalist prize:</strong> The student developer who makes it to the last match will also get an interview and resume critique from Microsoft and a $200 Petro-Canada gas card. </li>
<li><strong>The professional finalist prize:</strong> The professional developer who makes it to the last match will also get a chance for a published case study, enrollment in the MAPS or EMPOWER program and a $200 Petro-Canada gas card. </li>
</ul>
<h3>Hosting Options</h3>
<p>Naturally, the apps that you submit for the <em>FTW!</em> Throwdown need a place to live. If you don’t already have IIS hosting, our partners at <a href="http://myhosting.com/Promotions/2009MS/"><strong>myhosting</strong></a> and <a href="http://www.rackforce.com/windows_servers/mspro.html"><strong>RackForce</strong></a> are offering a 60-day free hosting promotion.</p>
<h3>Deadlines and Details</h3>
<p><strong>The deadline for entering the <em>FTW!</em> Throwdown is Wednesday, June 3rd, 2009.</strong> Finalists will be announced on <strong>Friday, June 5th, 2009</strong>, and the main event where the student finalist faces off against the professional finalist happens on <strong>Wednesday June 10th, 2009</strong>.</p>
<p><strong><a href="http://www.phponwindows.ca/FTW/index.php">If you’d like to know more about the FTW! Throwdown, visit the FTW! Throwdown site.</a></strong> I’ll be posting regular bulletins about the FTW! Throwdown on this blog, and you can follow the FTW! team on Twitter as the user <a href="http://twitter.com/PHPonWindows/">@PHPOnWindows</a> and the hashtag <a href="http://search.twitter.com/search?q=%23FTW09">#FTW09</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2009/04/19/the-ftw-ultimate-php-app-throwdown/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the Twitter API with PHP and PEAR</title>
		<link>http://www.globalnerdy.com/2009/04/15/using-the-twitter-api-with-php-and-pear/</link>
		<comments>http://www.globalnerdy.com/2009/04/15/using-the-twitter-api-with-php-and-pear/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 12:44:59 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software and Services]]></category>
		<category><![CDATA[APIs]]></category>
		<category><![CDATA[PEAR]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Serives_Twitter]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/2009/04/15/using-the-twitter-api-with-php-and-pear/</guid>
		<description><![CDATA[ 
The Zend Developer Zone article Using the Twitter API with PHP and PEAR covers the Services_Twitter PEAR package, which the articles describes as follows:
Services_Twitter works by providing a full-fledged, object-oriented interface to the Twitter API. This interface insulates you from the nitty-gritty of working directly with REST requests and, by representing responses as SimpleXML [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://devzone.zend.com/article/4431-Using-the-Twitter-API-with-PHP-and-PEAR"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="PHP, PEAR and Twitter logos" border="0" alt="PHP, PEAR and Twitter logos" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/04/pear-php-twitter.jpg" width="439" height="90" /></a> </p>
<p>The <em><a href="http://devzone.zend.com/">Zend Developer Zone</a></em> article <strong><em><a href="http://devzone.zend.com/article/4431-Using-the-Twitter-API-with-PHP-and-PEAR">Using the Twitter API with PHP and PEAR</a></em> </strong>covers the <a href="http://pear.php.net/package/Services_Twitter"><strong>Services_Twitter</strong> PEAR package</a>, which the articles describes as follows:</p>
<blockquote><p>Services_Twitter works by providing a full-fledged, object-oriented interface to the Twitter API. This interface insulates you from the nitty-gritty of working directly with REST requests and, by representing responses as SimpleXML objects, makes it very easy to access specific elements of the returned data. This not only saves time; it&#8217;s also simpler, because it&#8217;s no longer necessary to be intimately aware of the nitty-gritties of the Twitter API in order to use it effectively.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2009/04/15/using-the-twitter-api-with-php-and-pear/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Tech Reading List for May</title>
		<link>http://www.globalnerdy.com/2008/05/01/my-tech-reading-list-for-may/</link>
		<comments>http://www.globalnerdy.com/2008/05/01/my-tech-reading-list-for-may/#comments</comments>
		<pubDate>Thu, 01 May 2008 19:29:09 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[Apress]]></category>
		<category><![CDATA[Head First]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://globalnerdy.com/?p=1655</guid>
		<description><![CDATA[<p>I got a number of books for free this past week:</p>

<p style="text-align:center;"><img src="http://globalnerdy.com/wordpress/wp-content/uploads/2008/05/books_im_reviewing_may_2008.jpg" alt="Books I\&#039;m reviewing in May 2008" title="books_im_reviewing_may_2008" width="400" height="337" /></p>

<ul>
<li><a href="http://www.amazon.com/Head-First-PMP-Brain-Friendly-Professional/dp/0596102348?tag=particculturf-20"><strong><cite>Head First PMP</cite></strong></a> - When my friend <a href="http://hypatia.ca/">Leigh Honeywell</a> heard that I was taking a project management course later this month, she told me that she got this book for free at a conference and had no use for it. So she gave this book to me, and I'll be reading it so that when the course comes around -- it's May 21st through 23rd -- I'll be at least familiar with the material.</li>
</ul>

<p>And four books from <a href="http://apress.com/">Apress</a>, courtesy of Julie Miller:</p>
<ul>
<li><a href="http://www.amazon.com/Pro-PHP-Patterns-Frameworks-Testing/dp/1590598199/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1209667340&#038;sr=1-1"><strong><cite>Pro PHP: Patterns, Frameworks, Testing and More</cite></strong></a></li>
<li><a href="http://www.amazon.com/PHP-Objects-Patterns-Practice-Second/dp/1590599098/ref=pd_bxgy_b_img_b"><strong><cite>PHP Objects, Patterns, and Practice, Second Edition</cite></strong></a></li>
<li><a href="http://www.amazon.com/Practical-Web-2-0-Applications-PHP/dp/1590599063/ref=pd_bxgy_b_img_b"><strong><cite>Practical Web 2.0 Applications with PHP</cite></strong></a></li>
<li><a href="http://www.amazon.com/Practical-Reporting-Rails-Experts-Source/dp/1590599330/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1209667643&#038;sr=1-1"><strong><cite>Practical Reporting with Ruby and Rails</cite></strong></a></li>
</ul>

<p>I'll be reading them this month and posting my reviews here in <cite>Global Nerdy</cite>. Watch this space!</p>]]></description>
			<content:encoded><![CDATA[<p></p><p>I got a number of books for free this past week:</p>
<p style="text-align:center;"><img src="http://globalnerdy.com/wordpress/wp-content/uploads/2008/05/books_im_reviewing_may_2008.jpg" alt="Books I\&#039;m reviewing in May 2008" title="books_im_reviewing_may_2008" width="400" height="337" /></p>
<ul>
<li><a href="http://www.amazon.com/Head-First-PMP-Brain-Friendly-Professional/dp/0596102348?tag=particculturf-20"><strong><cite>Head First PMP</cite></strong></a> &#8211; When my friend <a href="http://hypatia.ca/">Leigh Honeywell</a> heard that I was taking a project management course later this month, she told me that she got this book for free at a conference and had no use for it. So she gave this book to me, and I&#8217;ll be reading it so that when the course comes around &#8212; it&#8217;s May 21st through 23rd &#8212; I&#8217;ll be at least familiar with the material.</li>
</ul>
<p>And four books from <a href="http://apress.com/">Apress</a>, courtesy of Julie Miller:</p>
<ul>
<li><a href="http://www.amazon.com/Pro-PHP-Patterns-Frameworks-Testing/dp/1590598199/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1209667340&#038;sr=1-1"><strong><cite>Pro PHP: Patterns, Frameworks, Testing and More</cite></strong></a></li>
<li><a href="http://www.amazon.com/PHP-Objects-Patterns-Practice-Second/dp/1590599098/ref=pd_bxgy_b_img_b"><strong><cite>PHP Objects, Patterns, and Practice, Second Edition</cite></strong></a></li>
<li><a href="http://www.amazon.com/Practical-Web-2-0-Applications-PHP/dp/1590599063/ref=pd_bxgy_b_img_b"><strong><cite>Practical Web 2.0 Applications with PHP</cite></strong></a></li>
<li><a href="http://www.amazon.com/Practical-Reporting-Rails-Experts-Source/dp/1590599330/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1209667643&#038;sr=1-1"><strong><cite>Practical Reporting with Ruby and Rails</cite></strong></a></li>
</ul>
<p>I&#8217;ll be reading them this month and posting my reviews here in <cite>Global Nerdy</cite>. Watch this space!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2008/05/01/my-tech-reading-list-for-may/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>In PHP, There&#8217;s Equality, and Then There&#8217;s EQUALITY</title>
		<link>http://www.globalnerdy.com/2007/12/12/in-php-theres-equality-and-then-theres-equality/</link>
		<comments>http://www.globalnerdy.com/2007/12/12/in-php-theres-equality-and-then-theres-equality/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 02:59:08 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://globalnerdy.com/2007/12/12/in-php-theres-equality-and-then-theres-equality/</guid>
		<description><![CDATA[Ka=Ping Yee&#8217;s Equality Test
Here&#8217;s a quickie PHP script based on the one that appears in Ka-Ping Yee&#8217;s LiveJournal entry titled Why PHP Should Never Be Taught:
&#60;?php
$a = 0;
$b = "eggs";
$c = "spam";
$e = "eggs";

echo "&#60;h1&#62;The &#92;"==&#92;" Exercise&#60;/h1&#62;";
echo "&#60;ul&#62;";
echo "&#60;li&#62;&#92;$a is $a&#60;/li&#62;";
echo "&#60;li&#62;&#92;$b is $b&#60;/li&#62;";
echo "&#60;li&#62;&#92;$c is $c&#60;/li&#62;";
echo "&#60;li&#62;&#92;$d is undefined&#60;/li&#62;";
echo "&#60;li&#62;&#92;$e is $e&#60;/li&#62;";
echo "&#60;/ul&#62;";

echo ($a [...]]]></description>
			<content:encoded><![CDATA[<p></p><h3>Ka=Ping Yee&#8217;s Equality Test</h3>
<p>Here&#8217;s a quickie PHP script based on the one that appears in Ka-Ping Yee&#8217;s LiveJournal entry titled <a href="http://zestyping.livejournal.com/124503.html"><strong><cite>Why PHP Should Never Be Taught</cite></strong></a>:</p>
<pre><code>&lt;?php
$a = 0;
$b = "eggs";
$c = "spam";
$e = "eggs";

echo "&lt;h1&gt;The &#92;"==&#92;" Exercise&lt;/h1&gt;";
echo "&lt;ul&gt;";
echo "&lt;li&gt;&#92;$a is $a&lt;/li&gt;";
echo "&lt;li&gt;&#92;$b is $b&lt;/li&gt;";
echo "&lt;li&gt;&#92;$c is $c&lt;/li&gt;";
echo "&lt;li&gt;&#92;$d is undefined&lt;/li&gt;";
echo "&lt;li&gt;&#92;$e is $e&lt;/li&gt;";
echo "&lt;/ul&gt;";

echo ($a == $b) ? "&#92;$a == &#92;$b&lt;br /&gt;" : "&#92;$a != &#92;$b&lt;br /&gt;";
echo ($b == $c) ? "&#92;$b == &#92;$c&lt;br /&gt;" : "&#92;$b != &#92;$c&lt;br /&gt;";
echo ($a == $c) ? "&#92;$a == &#92;$c&lt;br /&gt;" : "&#92;$a != &#92;$c&lt;br /&gt;";
echo ($a == $d) ? "&#92;$a == &#92;$d&lt;br /&gt;" : "&#92;$a != &#92;$d&lt;br /&gt;";
echo ($b == $d) ? "&#92;$b == &#92;$d&lt;br /&gt;" : "&#92;$b != &#92;$d&lt;br /&gt;";
echo ($c == $d) ? "&#92;$c == &#92;$d&lt;br /&gt;" : "&#92;$c != &#92;$d&lt;br /&gt;";
echo ($b == $e) ? "&#92;$b == &#92;$e&lt;br /&gt;" : "&#92;$b != &#92;$e&lt;br /&gt;";
?&gt;</code></pre>
<p>If you&#8217;re not familiar with PHP&#8217;s quirks, you&#8217;ll find the output surprising:</p>
<blockquote>
<h3>The &#8220;==&#8221; Exercise</h3>
<ul>
<li>$a is 0</li>
<li>$b is eggs</li>
<li>$c is spam</li>
<li>$d is undefined</li>
<li>$e is eggs</li>
</ul>
<p>$a == $b<br />$b != $c<br />$a == $c<br />$a == $d<br />$b != $d<br />$c != $d<br />$b == $e
</p></blockquote>
<h3>What Happened?</h3>
<p>In PHP, as with many other programming languages, the <code>==</code> operator is the <strong>equality</strong> operator, which returns <code>true</code> if the operands on either side are equal in value. It works as expected when used on operands of the same type, as evidenced by the program above, which states that <code>$b</code> is equal in value to <code>$e</code>, both of which are set to the string <code>eggs</code>.</p>
<p>We get into strange territory when the <code>==</code> operator is used to compare operands of different types. The program above evaluates the boolean <code>$a == $b</code> as <code>true</code> even though <code>$a</code> is set to the integer value <code>0</code> and <code>$b</code> is set to the value <code>eggs</code>. How can <code>eggs</code> be equivalent to <code>0</code>? They&#8217;re so tasty and versatile! <em>Damned anti-ovites!</em></p>
<p>In PHP, the <code>==</code> operator is what I like to call the &#8220;Slack Equality Operator&#8221;. When used to compare a string and a number, it attempts to convert the string to a numeric type and then performs the comparison. The following example code, <a href="http://us.php.net/manual/en/language.types.string.php#language.types.string.conversion">taken from the PHP documentation</a>, shows how PHP&#8217;s string-to-number coercion works:</p>
<pre><code>&lt;?php
$foo = 1 + "10.5";                // $foo is float (11.5)
$foo = 1 + "-1.3e3";              // $foo is float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo is integer (1)
$foo = 1 + "bob3";                // $foo is integer (1)
$foo = 1 + "10 Small Pigs";       // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1;          // $foo is float (11)
$foo = "10.0 pigs " + 1.0;        // $foo is float (11)
?&gt;</code></pre>
<p>Hence the eggs/zero equivalence: the string <code>eggs</code> is coerced to <code>0</code>.</p>
<h3>Enter the <code>===</code> Operator</h3>
<p>I like to call the <code>===</code> the &#8220;Strict Equality Operator&#8221;. It returns <code>true</code> if and only if:</p>
<ul>
<li>Both operands are the same type</li>
<li>Both operands have the same value</li>
</ul>
<p>Here&#8217;s the code I showed at the start of the article, but with all instances of <code>==</code> replaced with <code>===</code>:</p>
<pre><code>&lt;?php
$a = 0;
$b = "eggs";
$c = "spam";
$e = "eggs";

echo "&lt;h1&gt;The &#92;"===&#92;" Exercise&lt;/h1&gt;";
echo "&lt;ul&gt;";
echo "&lt;li&gt;&#92;$a is $a&lt;/li&gt;";
echo "&lt;li&gt;&#92;$b is $b&lt;/li&gt;";
echo "&lt;li&gt;&#92;$c is $c&lt;/li&gt;";
echo "&lt;li&gt;&#92;$d is undefined&lt;/li&gt;";
echo "&lt;li&gt;&#92;$e is $e&lt;/li&gt;";
echo "&lt;/ul&gt;";

echo ($a === $b) ? "&#92;$a === &#92;$b&lt;br /&gt;" : "&#92;$a != &#92;$b&lt;br /&gt;";
echo ($b === $c) ? "&#92;$b === &#92;$c&lt;br /&gt;" : "&#92;$b != &#92;$c&lt;br /&gt;";
echo ($a === $c) ? "&#92;$a === &#92;$c&lt;br /&gt;" : "&#92;$a != &#92;$c&lt;br /&gt;";
echo ($a === $d) ? "&#92;$a === &#92;$d&lt;br /&gt;" : "&#92;$a != &#92;$d&lt;br /&gt;";
echo ($b === $d) ? "&#92;$b === &#92;$d&lt;br /&gt;" : "&#92;$b != &#92;$d&lt;br /&gt;";
echo ($c === $d) ? "&#92;$c === &#92;$d&lt;br /&gt;" : "&#92;$c != &#92;$d&lt;br /&gt;";
echo ($b === $e) ? "&#92;$b === &#92;$e&lt;br /&gt;" : "&#92;$b != &#92;$e&lt;br /&gt;";
?&gt;</code></pre>
<p>Here&#8217;s the output, which behaves as expected:</p>
<blockquote>
<h3>The &#8220;===&#8221; Exercise</h3>
<ul>
<li>$a is 0</li>
<li>$b is eggs</li>
<li>$c is spam</li>
<li>$d is undefined</li>
<li>$e is eggs</li>
</ul>
<p>$a != $b<br />$b != $c<br />$a != $c<br />$a != $d<br />$b != $d<br />$c != $d<br />$b === $e
</p></blockquote>
<h3>Once More, in Ruby</h3>
<p>Just for kicks, I thought I&#8217;d translate the original code into Ruby just to see what would happen. Here&#8217;s the code:</p>
<pre><code>a = 0
b = "eggs"
c = "spam"
e = "eggs"

puts "a is 0"
puts "b is 'eggs'"
puts "c is 'spam'"
puts "e is 'eggs'"

puts a == b ? "a == b" : "a != b"
puts b == c ? "b == c" : "b != c"
puts a == c ? "a == c" : "a != c"
puts a == d ? "a == d" : "a != d"
puts b == d ? "b == d" : "b != d"
puts c == d ? "c == d" : "c != d"
puts b == e ? "b == e" : "b != e"</code></pre>
<p>&#8230;and here&#8217;s the output:</p>
<pre><code>a is 0
b is 'eggs'
c is 'spam'
e is 'eggs'
a != b
b != c
a != c
double-equals.rb:14: undefined local variable or method `d' for main:Object (NameError)</code></pre>
<h3>Links</h3>
<ul>
<li>Zestyping&#8217;s LiveJournal: <a href="http://zestyping.livejournal.com/124503.html"><strong><cite>Why PHP Should Never Be Taught</cite></strong></a></li>
<li>PHP Manual: <a href="http://www.php.net/manual/en/types.comparisons.php"><strong><cite>PHP Type Comparison Tables</cite></strong></a></li>
<li>Well House Consultants: <a href="http://www.wellho.net/mouth/406_Assignment-equality-and-identity-in-PHP.html"><strong><cite>Assignment, Equality and Identity in PHP</cite></strong></a></li>
<li>JonLee.ca: <a href="http://www.jonlee.ca/the-triple-equals-in-php/"><strong><cite>The Triple Equals in PHP</cite></strong></a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2007/12/12/in-php-theres-equality-and-then-theres-equality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Language Adoption Debate and &#8220;Three Stooges Syndrome&#8221;</title>
		<link>http://www.globalnerdy.com/2007/10/22/the-language-adoption-debate-and-three-stooges-syndrome/</link>
		<comments>http://www.globalnerdy.com/2007/10/22/the-language-adoption-debate-and-three-stooges-syndrome/#comments</comments>
		<pubDate>Mon, 22 Oct 2007 19:40:25 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://globalnerdy.com/2007/10/22/the-language-adoption-debate-and-three-stooges-syndrome/</guid>
		<description><![CDATA[Tim &#8220;Ongoing&#8221; Bray&#8217;s Take
Tim Bray posted a blog entry on what drives adoption of a language in which he included some tables such as the only below:



Flawed
Founders
Polished
Successors


Procedural
FORTRAN, COBOL, PL/1
C


Object-Oriented
C++
Java


Higher-Level
Perl, TCL
Python, Ruby



This table of his should inspire a monkey knife fight on a number of blogs:



Flawed
Founders
Polished
Successors


Web-Centric
WebObjects, ColdFusion, ASP.Net, Struts, etc.,
etc., etc., PHP
Rails



Here&#8217;s an interesting one. What [...]]]></description>
			<content:encoded><![CDATA[<p></p><h3>Tim &#8220;<cite>Ongoing</cite>&#8221; Bray&#8217;s Take</h3>
<p><a href="http://www.tbray.org/ongoing/When/200x/2007/10/21/On-Languages"><strong>Tim Bray posted a blog entry on what drives adoption of a language</strong></a> in which he included some tables such as the only below:</p>
<blockquote><table>
<tr>
<th></th>
<th>Flawed<br />
Founders</th>
<th>Polished<br />
Successors</th>
</tr>
<tr>
<th>Procedural</th>
<td>FORTRAN, COBOL, PL/1</td>
<td>C</td>
</tr>
<tr>
<th>Object-Oriented</th>
<td>C++</td>
<td>Java</td>
</tr>
<tr>
<th>Higher-Level</th>
<td>Perl, TCL</td>
<td>Python, Ruby</td>
</tr>
</table>
</blockquote>
<p>This table of his should inspire a monkey knife fight on a number of blogs:</p>
<blockquote><table>
<tr>
<th></th>
<th>Flawed<br />
Founders</th>
<th>Polished<br />
Successors</th>
</tr>
<tr>
<th>Web-Centric</th>
<td>WebObjects, ColdFusion, ASP.Net, Struts, etc.,<br />
etc., etc., PHP</td>
<td>Rails</td>
</tr>
</table>
</blockquote>
<p>Here&#8217;s an interesting one. What will JavaScript&#8217;s successor be? My guess for the short-term (by that, I mean &#8220;the next half-dozen or so years&#8221;) is &#8220;the next version of JavaScript&#8221;.</p>
<blockquote><table>
<tr>
<th></th>
<th>Flawed<br />
Founders</th>
<th>Polished<br />
Successors</th>
</tr>
<tr>
<th>Mobile-Code</th>
<td>JavaScript</td>
<td>?</td>
</tr>
</table>
</blockquote>
<p>The one about concurrent programming is a little more up in the air. Although there are other languages designed with concurrent programming in mind (either from the ground up or with concurrency retrofitted onto an existing language) and there have been for a while (I used <a href="http://www.silicon-press.com/books/isbn.0-929306-00-7/index.html">Concurrent C</a> in a course back at <a href="http://queensu.ca/">Crazy Go Nuts University</a> in the early &#8217;90s), Erlang is getting a lot of the attention these days since it has both <a href="http://www.ericsson.com/technology/opensource/erlang/index.shtml">a success story at Ericsson under its belt</a> as well the clout of <a href="http://www.pragprog.com/titles/jaerlang">a Pragmatic Programmers book</a> behind it. There is a feeling among some programmers (<a href="http://www.tbray.org/ongoing/When/200x/2007/09/21/Erlang">Bray</a> <a href="http://www.tbray.org/ongoing/When/200x/2007/09/22/Erlang">included</a>) that it isn&#8217;t going to be the language to turn concurrent programming from arcane art into mainstream practice:</p>
<blockquote><table>
<tr>
<th></th>
<th>Flawed<br />
Founders</th>
<th>Polished<br />
Successors</th>
</tr>
<tr>
<th>Concurrent</th>
<td>Erlang</td>
<td>?</td>
</tr>
</table>
</blockquote>
<h3>Shelley &#8220;<cite>BurningBird</cite>&#8221; Powers&#8217; Take</h3>
<p>Shelley Powers disagreed with Tim&#8217;s assessments in her posts <a href="http://burningbird.net/technology/flaws-are-in-the-eye-of-the-beholder/"><strong><cite>Flaws are in the Eye of the Beholder</cite></strong></a>:</p>
<blockquote><p>
I find it fascinating when a person marks as &#8216;flawed&#8217; the languages that have, literally, defined not only the web but application development of all forms. Perhaps the metric shouldn&#8217;t be on syntax, form, or function, but on usability.
</p></blockquote>
<p>Here&#8217;s her own table on languages:</p>
<blockquote><table>
<tr>
<th></th>
<th>&#039;Perfect&#039;, but barely used</th>
<th>&#039;Flawed&#039;, but simple, approachable, powerful, <em>popular</em>
</th>
</tr>
<tr>
<th>Higher-Level</th>
<td>*Ruby (every time I see &#039;Ruby&#039; I mentally add, <em>Mama&#039;s precious little&#8230;)</em></p>
<p>*I&#8217;m giving Python a slide because Python has fairly widespread use today.</td>
<td>Perl</td>
</tr>
<tr>
<th>Client side code</th>
<td>(The to-be-created scripting language that will take a nice, clean, easy to use language and morph it until it satisfies the purists, while breaking faith with the millions of users just trying to do a job)</td>
<td>JavaScript</td>
</tr>
<tr>
<th>Object Oriented</th>
<td>Java (bloated beyond recognition with senseless additions and overly complex infrastructures)</td>
<td>C++ (which can kick Java&#039;s ass performance and resource wise)</td>
</tr>
<tr>
<th>Web-Centric</th>
<td>Rails (you know that thing they used for the one application?)</td>
<td>Cold Fusion, ASP and ASP.NET, PHP</td>
</tr>
</table>
</blockquote>
<p>Those of you who recall Bjarne &#8220;C++&#8221; Stroustrup&#8217;s line <a href="http://www.technologyreview.com/Infotech/17831/page3/">&#8220;There are just two kinds of languages: the ones everybody complains about and the ones nobody uses&#8221;</a> or the essay <a href="http://www.dreamsongs.com/WorseIsBetter.html"><cite>Worse is Better</cite></a> (or <a href="http://www.dreamsongs.com/WIB.html">the essay that led to it</a> or <a href="http://www.jwz.org/doc/worse-is-better.html">Jamie Zawinski&#8217;s commentary on it</a>) should be feeling <em>deja vu</em> now.</p>
<p>As for Shelley&#8217;s table, I&#8217;d probably have put &#8220;PHP&#8221; where &#8220;Perl&#8221; is right now.</p>
<h3>My Own Take</h3>
<p>I think that right now, the &#8220;scripting languages&#8221; are stuck in something akin to &#8220;Three Stooges Syndrome&#8221;. That&#8217;s the disease where Mr. Burns from <cite>The Simpsons</cite>, being so old and frail, has so many diseases trying to get at him at the same time that they&#8217;re all &#8220;stuck in the door&#8221;. The doctors illustrated the syndrome with a model, shown below:</p>
<p style="text-align:center;"><img src='http://globalnerdy.com/wordpress/wp-content/uploads/2007/10/3_stooges_syndrome.jpg' alt='“Three stooges syndrome” from “The Simpsons”: All the germs and viruses are stuck in the door because they tried to get in all at once.' width="320" height="240" /></p>
<p>And since Tim and Shelley have their tables, I thought I&#8217;d make one too:</p>
<table>
<tr>
<th>Scripting Stooge</th>
<th>What&#8217;s Driving It</th>
</tr>
<tr>
<td><strong>Perl</strong></td>
<td>Legacy: it was the original &#8220;duct tape of the internet&#8221;.</td>
</tr>
<tr>
<td><strong>PHP</strong></td>
<td>Widespread adoption, drives a lot of apps, easy to program, easy to deploy.</td>
</tr>
<tr>
<td><strong>Python</strong></td>
<td>Very readable, one of the 4 languages approved for use at Google (the others being C++, Java and JavaScript, <a href="http://steve-yegge.blogspot.com/2007/06/rhino-on-rails.html">according to Steve Yegge</a>).</td>
</tr>
<tr>
<td><strong>Ruby</strong></td>
<td>Ruby on Rails, which is a very nice framework from the web app developer&#8217;s point of view. That and maybe the fact that <a href="http://www.loudthinking.com/">DHH</a> is rather photogenic (although PHPer-turned-Pythoner <a href="http://leahculver.com/">Leah Culver</a> could give him some competition).</td>
</tr>
</table>
<p><a href="http://services.tucows.com/developers/2007/10/22/the-language-adoption-debate-and-three-stooges-syndrome/"><br />
<img src="http://globalnerdy.com/wordpress/wp-content/uploads/2007/07/cross-posted-to-the-tucows-developer-blog.jpg" alt="Cross-posted to the Tucows Developer Blog." /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2007/10/22/the-language-adoption-debate-and-three-stooges-syndrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sign Up for PHP Training, Get an iPod touch (or Two!)</title>
		<link>http://www.globalnerdy.com/2007/09/21/sing-up-for-php-training-get-an-ipod-touch-or-two/</link>
		<comments>http://www.globalnerdy.com/2007/09/21/sing-up-for-php-training-get-an-ipod-touch-or-two/#comments</comments>
		<pubDate>Fri, 21 Sep 2007 18:52:05 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://globalnerdy.com/2007/09/21/sing-up-for-php-training-get-an-ipod-touch-or-two/</guid>
		<description><![CDATA[Here&#8217;s a sweet deal from php &#124; architect magazine, to which I am a subscriber: sign up for online PHP training before the end of November and they&#8217;ll give you an iPod Touch&#8230;or maybe two! Click here for details about this offer.


]]></description>
			<content:encoded><![CDATA[<p></p><p><img src='http://globalnerdy.com/wordpress/wp-content/uploads/2007/09/ipod_touch_php_logo.thumbnail.jpg' alt='iPod Touch displaying the PHP logo' width="139" height="249" /><strong>Here&#8217;s a sweet deal from <a href="http://www.phparch.com/"><cite>php | architect</cite></a> magazine,</strong> to which I am a subscriber: sign up for online PHP training before the end of November and they&#8217;ll give you an iPod Touch&#8230;or maybe two! <a href="http://hades.phparch.com/socrates/page/index.php/ipodpromo"><strong>Click here for details about this offer.</strong></a></p>
<p><a href="http://services.tucows.com/developers/2007/09/21/sing-up-for-php-training-get-an-ipod-touch-or-two/"><img src="http://globalnerdy.com/wordpress/wp-content/uploads/2007/07/cross-posted-to-the-tucows-developer-blog.jpg" alt="Cross-posted to the Tucows Developer Blog." /><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2007/09/21/sing-up-for-php-training-get-an-ipod-touch-or-two/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Development: Photos, Part 3</title>
		<link>http://www.globalnerdy.com/2007/08/31/facebook-development-photos-part-3/</link>
		<comments>http://www.globalnerdy.com/2007/08/31/facebook-development-photos-part-3/#comments</comments>
		<pubDate>Fri, 31 Aug 2007 20:24:44 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://globalnerdy.com/2007/08/31/facebook-development-photos-part-3/</guid>
		<description><![CDATA[
The Facebook development articles continue at the Tucows Developer Blog, this time with Using the FacebookRestClient Class’ “Photo” Methods, Part 3: photos_getTags.
]]></description>
			<content:encoded><![CDATA[<p></p><p style="text-align:center;"><a href="http://services.tucows.com/developers/2007/08/31/using-the-facebookrestclient-class’-“photo”-methods-part-3-photos_gettags/"><img src='http://globalnerdy.com/wordpress/wp-content/uploads/2007/08/facebook_polaroid_camera_3.jpg' alt='Facebook Polaroid Camera 3' width="512" height="563" /></a></p>
<p>The Facebook development articles continue at the <a href="http://services.tucows.com/developers/"><cite>Tucows Developer Blog</cite></a>, this time with <a href="http://services.tucows.com/developers/2007/08/31/using-the-facebookrestclient-class’-“photo”-methods-part-3-photos_gettags/"><strong><cite>Using the FacebookRestClient Class’ “Photo” Methods, Part 3: photos_getTags</cite></strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2007/08/31/facebook-development-photos-part-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Facebook Development: Photos, Part 2</title>
		<link>http://www.globalnerdy.com/2007/08/24/facebook-development-photos-part-2/</link>
		<comments>http://www.globalnerdy.com/2007/08/24/facebook-development-photos-part-2/#comments</comments>
		<pubDate>Fri, 24 Aug 2007 22:02:30 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://globalnerdy.com/2007/08/24/facebook-development-photos-part-2/</guid>
		<description><![CDATA[
More Facebook application development goodness at the Tucows Developer Blog: Using the FacebookRestClient Class’ “Photo” Methods, Part 2: photos_get.
]]></description>
			<content:encoded><![CDATA[<p></p><p style="text-align:center;"><a href="http://services.tucows.com/developers/2007/08/24/using-the-facebookrestclient-class%e2%80%99-%e2%80%9cphoto%e2%80%9d-methods-part-2-photos_get/"><img src='http://globalnerdy.com/wordpress/wp-content/uploads/2007/08/facebook_polaroid_camera_2.jpg' alt='Facebook Polaroid Cameras' width="512" height="563" /></a></p>
<p>More Facebook application development goodness at the <a href="http://services.tucows.com/developers/"><cite>Tucows Developer Blog</cite></a>: <a href="http://services.tucows.com/developers/2007/08/24/using-the-facebookrestclient-class%e2%80%99-%e2%80%9cphoto%e2%80%9d-methods-part-2-photos_get/"><strong><cite>Using the FacebookRestClient Class’ “Photo” Methods, Part 2: photos_get</cite></strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2007/08/24/facebook-development-photos-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Development: Photos, Part 1</title>
		<link>http://www.globalnerdy.com/2007/08/23/facebook-development-photos-part-1/</link>
		<comments>http://www.globalnerdy.com/2007/08/23/facebook-development-photos-part-1/#comments</comments>
		<pubDate>Thu, 23 Aug 2007 21:07:46 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://globalnerdy.com/2007/08/23/facebook-development-photos-part-1/</guid>
		<description><![CDATA[
Over at the Tucows Developer Blog, I have another article in my series on developing Facebook Applications in PHP using Facebook&#8217;s client code. In this article, I start looking at the FacebookRestClient class&#8217; methods for dealing with photos, starting with the photos_getAlbums method.
]]></description>
			<content:encoded><![CDATA[<p></p><p style="text-align:center;"><a href="http://services.tucows.com/developers/2007/08/23/using-the-facebookrestclient-class-photo-methods-part-1-photos_getalbums/"><img src='http://globalnerdy.com/wordpress/wp-content/uploads/2007/08/facebook_polaroid_camera.jpg' alt='Polaroid Camera dispensing “Facebook” photo' width="450" height="287" /></a></p>
<p>Over at the <a href="http://services.tucows.com/developers/"><cite>Tucows Developer Blog</cite></a>, I have another article in my series on developing Facebook Applications in PHP using Facebook&#8217;s client code. <a href="http://services.tucows.com/developers/2007/08/23/using-the-facebookrestclient-class-photo-methods-part-1-photos_getalbums/"><strong>In this article, I start looking at the <code>FacebookRestClient</code> class&#8217; methods for dealing with photos, starting with the <code>photos_getAlbums</code> method.</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2007/08/23/facebook-development-photos-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Development: Groups, Part 2</title>
		<link>http://www.globalnerdy.com/2007/08/20/facebook-development-groups-part-2/</link>
		<comments>http://www.globalnerdy.com/2007/08/20/facebook-development-groups-part-2/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 21:47:01 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://globalnerdy.com/2007/08/20/facebook-development-groups-part-2/</guid>
		<description><![CDATA[
Over at the Tucows Developer Blog, I have yet another installment in my series of articles on developing Facebook Applications using their PHP 5 client library. In this article, I look at the FacebookRestClient class&#8217; groups_getMembers method.
]]></description>
			<content:encoded><![CDATA[<p></p><p style="text-align:center;"><a href="http://services.tucows.com/developers/2007/08/20/using-the-facebookrestclient-class’-“group”-methods-part-2/"><img src='http://globalnerdy.com/wordpress/wp-content/uploads/2007/08/facebook_development_on_old_computer.jpg' alt='“Rand Corporation” fake computer image, doctored to include some Facebook logos.' width="500" height="326" /></a></p>
<p>Over at the <a href="http://services.tucows.com/developers/"><cite>Tucows Developer Blog</cite></a>, I have yet another installment in my series of articles on developing Facebook Applications using their PHP 5 client library. <a href="http://services.tucows.com/developers/2007/08/20/using-the-facebookrestclient-class’-“group”-methods-part-2/"><strong>In this article, I look at the <code>FacebookRestClient</code> class&#8217; <code>groups_getMembers</code> method.</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2007/08/20/facebook-development-groups-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Development: Getting a User&#8217;s Groups</title>
		<link>http://www.globalnerdy.com/2007/08/15/facebook-development-getting-a-users-groups/</link>
		<comments>http://www.globalnerdy.com/2007/08/15/facebook-development-getting-a-users-groups/#comments</comments>
		<pubDate>Wed, 15 Aug 2007 22:10:41 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://globalnerdy.com/2007/08/15/facebook-development-getting-a-users-groups/</guid>
		<description><![CDATA[
Over at the Tucows Developer Blog, I have another installment in my series of articles on developing Facebook Apps in PHP: Using the FacebookRestClient Class’ “Group” Methods, Part 1.
]]></description>
			<content:encoded><![CDATA[<p></p><p style="text-align:center;"><a href="http://services.tucows.com/developers/2007/08/15/using-the-facebookrestclient-class-group-methods-part-1/"><img src='http://globalnerdy.com/wordpress/wp-content/uploads/2007/08/we_can_has_facebook_group.jpg' alt='Photo of cats, captioned “WE CAN HAS FACEBOOK GROUP?”' width="400" height="406" /></a></p>
<p>Over at the <a href="http://services.tucows.com/developers/"><cite>Tucows Developer Blog</cite></a>, I have another installment in my series of articles on developing Facebook Apps in PHP: <a href="http://services.tucows.com/developers/2007/08/15/using-the-facebookrestclient-class-group-methods-part-1/"><strong><cite>Using the FacebookRestClient Class’ “Group” Methods, Part 1</cite></strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2007/08/15/facebook-development-getting-a-users-groups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Hi, I&#8217;m Ruby on Rails&#8230;&#8221;</title>
		<link>http://www.globalnerdy.com/2007/05/15/hi-im-ruby-on-rails/</link>
		<comments>http://www.globalnerdy.com/2007/05/15/hi-im-ruby-on-rails/#comments</comments>
		<pubDate>Tue, 15 May 2007 23:36:03 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Geek Culture]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://globalnerdy.com/2007/05/15/hi-im-ruby-on-rails/</guid>
		<description><![CDATA[Since there&#8217;s considerable overlap between the Cult of Mac and the Cult of Rails, it was inevitable some Rails enthusiasts would make Rails advocacy videos borrowing from the style of the popular &#8220;I&#8217;m a Mac / I&#8217;m a PC&#8221; ads.
Gregg Pollack and Jason Seifer of the blog Rails Envy are posting a series of Rails-themed [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://globalnerdy.com/2007/05/15/the-cult-of-rails-the-cult-of-mac/">Since there&#8217;s considerable overlap between the Cult of Mac and the Cult of Rails</a>, it was inevitable some Rails enthusiasts would make Rails advocacy videos borrowing from the style of the popular &#8220;I&#8217;m a Mac / I&#8217;m a PC&#8221; ads.</p>
<p>Gregg Pollack and Jason Seifer of the blog <a href="http://www.railsenvy.com/"><cite>Rails Envy</cite></a> are <a href="http://www.railsenvy.com/2007/5/14/ruby-on-rails-commercial"><strong>posting a series of Rails-themed &#8220;I&#8217;m a Mac&#8221;-style videos, one each day leading up to RailsConf</strong></a>, in order to get everyone fired up for the conference.</p>
<p><a href="http://www.railsenvy.com/2007/5/14/ruby-on-rails-commercial">Here&#8217;s yesterday&#8217;s ad, in which Java plays the &#8220;PC&#8221; role</a>:</p>
<p style="text-align:center;"><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/PQbuyKUaKFo"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/PQbuyKUaKFo" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
<p><a href="http://www.railsenvy.com/2007/5/15/hi-i-m-ruby-on-rails-part-2">Here&#8217;s today&#8217;s ad, in which PHP &#8212; who bears a strange resemblance to Java &#8212; is the PC</a>:</p>
<p style="text-align:center;"><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/n1NVfDlU6yQ"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/n1NVfDlU6yQ" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2007/05/15/hi-im-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
