<?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>cdevroe.com &#187; php</title>
	<atom:link href="http://cdevroe.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://cdevroe.com</link>
	<description>by Colin Devroe</description>
	<lastBuildDate>Fri, 25 May 2012 15:36:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>	<atom:link rel='hub' href='http://cdevroe.com/?pushpress=hub'/>
<cloud domain='cdevroe.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Justin Kan&#8217;s first programming experience</title>
		<link>http://cdevroe.com/links/kan-programming/</link>
		<comments>http://cdevroe.com/links/kan-programming/#comments</comments>
		<pubDate>Tue, 22 May 2012 14:43:11 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[code year]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[justin kan]]></category>
		<category><![CDATA[learn-to-code]]></category>
		<category><![CDATA[macro]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[thinkgeek]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5964</guid>
		<description><![CDATA[Justin Kan about his first experience using programming on the job: A couple more hours of applied effort and I had a macro that looped through all the images in a directory tree and laid them out in Excel. I spent the next four days surfing the web and handing out files. The first time [...]]]></description>
			<content:encoded><![CDATA[<p>Justin Kan about <a href="http://justinkan.com/the-first-time-i-used-programming-at-work">his first experience using programming on the job</a>:</p>
<blockquote><p>A couple more hours of applied effort and I had a macro that looped through all the images in a directory tree and laid them out in Excel. I spent the next four days surfing the web and handing out files.</p></blockquote>
<p>The first time I did any programming it was more than likely a &#8220;Hello World&#8221; script in ASP. However, I do remember doing something very similar to what Kan did to automate a process which a fellow employee spent <em>hours a day</em> doing.</p>
<p>I worked for a brokerage and each and every day a fellow employee had to take about 100 stock ticker symbols and run reports on them and input that data into an Excel spreadsheet. This was circa 2000. This went on for nearly a year before I caught wind of what they were doing. On a break or at lunch I was talking to this person and they explained to me what they did nearly every morning for two hours. I was astounded.</p>
<p>When I got back to my desk I fired up my code editor (<a href="http://www.editplus.com/">EditPlus</a> I believe) and in about an hour I had built a very simple PHP script to pull the relevant information for all 100 stock tickers using Yahoo! Finance&#8217;s CSV creator. Then a simple Excel macro formatted the data the way that this person had been doing. In all it took the script and macro about 45 seconds to run and create an email with the new data as an attachment.</p>
<p>It wasn&#8217;t long after I shared this workflow with my boss that the person that had been doing that job needed to figure out something else to do or they&#8217;d probably be of little use to the company. Whoops. Not my intention.</p>
<p>Another co-worker and friend at the time bought me a sticker from Thinkgeek and stuck it to the side of my computer. It read &#8220;Go away or I&#8217;ll replace you with a very small Shell script.&#8221; (<a href="http://www.thinkgeek.com/tshirts-apparel/unisex/frustrations/374d/?srp=1">Now available in T-shirt form.</a>)</p>
<p>There has been a lot of hoopla lately about the fact that people believe that <a href="http://codeyear.com/">everyone should learn to code</a>. Some are taking that quite literally to mean that everyone should learn how to build applications or websites. I don&#8217;t take it that way. I think everyone should learn the &#8220;languages&#8221; that their applications speak so that they too can take advantage of <a href="http://cdevroe.com/links/work-smart-hard/">working smarter rather than harder</a>. If you are tasked with using Excel all day become the very best at it you can be. And that means being able to program macros. If you are asked to use multiple applications on a Mac learn how to use Services or Automator to do some of your reoccurring tasks for you.</p>
<p>This type of programming won&#8217;t put you out of the job. It will free you up to get more work done. To use your time to do other things rather than the same thing every single day. If you do the same task more than once a week you should seriously consider learning how to automate it.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/kan-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple HTML parsing with PHP</title>
		<link>http://cdevroe.com/links/parse-html-php/</link>
		<comments>http://cdevroe.com/links/parse-html-php/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 21:09:23 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[nilai]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[parsing]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5852</guid>
		<description><![CDATA[PHP Simple HTML DOM Parser is a pretty great open source project for parsing the DOM using jQuery-like selectors. I recently used it on Nilai to parse recipes from the leading recipe sites. Worked great.]]></description>
			<content:encoded><![CDATA[<p><a href="http://simplehtmldom.sourceforge.net/">PHP Simple HTML DOM Parser</a> is a pretty great open source project for parsing the DOM using jQuery-like selectors. I recently used it on <a href="http://nilai.co">Nilai</a> to parse recipes from the leading recipe sites. Worked great.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/parse-html-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP is like scrapple</title>
		<link>http://cdevroe.com/links/php-scrapple/</link>
		<comments>http://cdevroe.com/links/php-scrapple/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 15:38:15 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[instagram]]></category>
		<category><![CDATA[nymag]]></category>
		<category><![CDATA[paul ford]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[proramming]]></category>
		<category><![CDATA[scrapple]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5819</guid>
		<description><![CDATA[Paul Ford, of NYMag, about Facebook: The company is also technologically weird. For example, much of the code that runs the site is written in a horrible computer language called PHP, which stands for nothing you care about. Millions of websites are built with PHP, because it works and it&#8217;s cheap to run, but PHP [...]]]></description>
			<content:encoded><![CDATA[<p>Paul Ford, of NYMag, <a href="http://nymag.com/daily/intel/2012/04/facebook-and-instagram-when-your-favorite-app-sells-out.html">about Facebook</a>:</p>
<blockquote><p>The company is also technologically weird. For example, much of the code that runs the site is written in a horrible computer language called PHP, which stands for nothing you care about. Millions of websites are built with PHP, because it works and it&#8217;s cheap to run, but PHP is a programming language like scrapple is a meat. Imagine eating two pounds of scrapple every day for the rest of your life — that’s what Facebook does, programming-wise. Which is just to say that Facebook has its own way of doing things that looks very suspect from the outside world — but man, does it work.</p></blockquote>
<p>I use PHP. Which makes sense because <em>man do I love scrapple</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/php-scrapple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP 5.4 to have a built-in web server</title>
		<link>http://cdevroe.com/links/php54-server/</link>
		<comments>http://cdevroe.com/links/php54-server/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 15:10:29 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php 5.4]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web server]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5569</guid>
		<description><![CDATA[I&#8217;ll leave the comparisons to other languages and frameworks out of this and just say that I&#8217;m happy to see that PHP 5.4 will have a built-in web server for doing things like local development without the need for installing Apache. Excellent.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll leave the comparisons to other languages and frameworks out of this and just say that I&#8217;m happy to see that <a href="http://digitizor.com/2011/12/22/php-54-built-in-erver/">PHP 5.4 will have a built-in web server</a> for doing things like local development without the need for installing Apache. Excellent.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/php54-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeIgniter, now on Github</title>
		<link>http://cdevroe.com/links/ci-github/</link>
		<comments>http://cdevroe.com/links/ci-github/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 13:25:06 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5068</guid>
		<description><![CDATA[I don&#8217;t use PHP often but when I do I use CodeIgniter. And now it is on Github.]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t use PHP often but when I do I use <a href="http://codeigniter.com/">CodeIgniter</a>. And now <a href="https://github.com/EllisLab/CodeIgniter">it is on Github</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/ci-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An unofficial RunKeeper API</title>
		<link>http://cdevroe.com/links/unofficial-runkeeper-api/</link>
		<comments>http://cdevroe.com/links/unofficial-runkeeper-api/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 12:30:10 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[jeff johns]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[runkeeper]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4846</guid>
		<description><![CDATA[My friend and Viddler teammate Jeff Johns is working on an unofficial RunKeeper API.]]></description>
			<content:encoded><![CDATA[<p>My friend and Viddler teammate <a href="http://phpfunk.me/">Jeff Johns</a> is working on <a href="https://github.com/phpfunk/Unofficial-Runkeeper-API">an unofficial RunKeeper API</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/unofficial-runkeeper-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apostrophe 1.5 &#8211; Now with Viddler support</title>
		<link>http://cdevroe.com/links/apostrophe-viddler/</link>
		<comments>http://cdevroe.com/links/apostrophe-viddler/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 04:24:49 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[apostrophe]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[philadelphia]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[punk avenue]]></category>
		<category><![CDATA[symphony]]></category>
		<category><![CDATA[viddler]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4555</guid>
		<description><![CDATA[As I just announced on the Viddler blog, Apostrophe &#8211; the amazing CMS built by my friends at Punk Avenue, now includes deep support for Viddler. Huzzah!]]></description>
			<content:encoded><![CDATA[<p>As <a href="http://blog.viddler.com/cdevroe/apostrophe-viddler/">I just announced on the Viddler blog</a>, <a href="http://apostrophenow.com/">Apostrophe</a> &#8211; the amazing CMS built by my friends at <a href="http://punkave.com/">Punk Avenue</a>, now includes deep support for Viddler. Huzzah!</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/apostrophe-viddler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Classes by Tijs Verkoyen</title>
		<link>http://cdevroe.com/links/verkoyen-classes/</link>
		<comments>http://cdevroe.com/links/verkoyen-classes/#comments</comments>
		<pubDate>Fri, 31 Dec 2010 13:52:08 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tijs verkoyen]]></category>
		<category><![CDATA[wrappers]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4514</guid>
		<description><![CDATA[Speaking of RSS to Twitter (which now supports OAuth by the way) the reason I was able to update that project so easily was due to the generosity of Tijs Verkoyen who has an open source PHP wrapper for just about every API you need.]]></description>
			<content:encoded><![CDATA[<p>Speaking of <a href="https://github.com/cdevroe/rss2twitter-PHP5">RSS to Twitter</a> (which now supports OAuth by the way) the reason I was able to update that project so easily was due to the generosity of <a href="http://verkoyen.eu/">Tijs Verkoyen</a> who has an <a href="http://classes.verkoyen.eu/">open source PHP wrapper for just about every API you need</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/verkoyen-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSS to Twitter using PHP now supports OAuth</title>
		<link>http://cdevroe.com/links/rss2twitter-oauth/</link>
		<comments>http://cdevroe.com/links/rss2twitter-oauth/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 19:48:14 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[parse]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4511</guid>
		<description><![CDATA[My handy dandy little script that makes it easy to parse an RSS feed and send links to Twitter using PHP just got a nice little update. It now supports OAuth and has been cleaned up quite a bit. Oh, version 1.0 is still available.]]></description>
			<content:encoded><![CDATA[<p></p>
<p>My handy dandy little script that makes it easy to <a href="https://github.com/cdevroe/rss2twitter-PHP5">parse an RSS feed and send links to Twitter using PHP</a> just got a nice little update. It now supports OAuth and has been cleaned up quite a bit.</p>
<p>Oh, <a href="https://github.com/cdevroe/rss2twitter-PHP5/tree/v1.0">version 1.0</a> is still available.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/rss2twitter-oauth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing PHPViddler 2 for the Viddler API</title>
		<link>http://cdevroe.com/links/phpviddler2/</link>
		<comments>http://cdevroe.com/links/phpviddler2/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 15:03:06 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpviddler]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[video api]]></category>
		<category><![CDATA[wrapper]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4437</guid>
		<description><![CDATA[A little something for the developers out there. Over on the Viddler blog I announced that we&#8217;ve just released PHPViddler 2 (which is also on the great Github) which is a brand new PHP class for our brand new API version 2. Its all brand new baby.]]></description>
			<content:encoded><![CDATA[<p>A little something for the developers out there. Over on <a href="http://blog.viddler.com/">the Viddler blog</a> I <a href="http://blog.viddler.com/cdevroe/phpviddler2/">announced that we&#8217;ve just released PHPViddler 2</a> (which is also <a href="https://github.com/viddler/phpviddler">on the great Github</a>) which is a brand new PHP class for <a href="http://cdevroe.com/links/viddler-api-v2/">our brand new API version 2</a>. Its all brand new baby.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/phpviddler2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>There&#8217;s a new API in town at Viddler</title>
		<link>http://cdevroe.com/links/viddler-api-v2/</link>
		<comments>http://cdevroe.com/links/viddler-api-v2/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 17:55:03 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[bethlehem]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[kyle slattery]]></category>
		<category><![CDATA[pennsylvania]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4348</guid>
		<description><![CDATA[Or, the video in which my head explodes. For more information, see the Viddler developers page. Note: If you are using Google Reader you may not be able to see this video. The Reader team is dragging their feet on supporting Viddler&#8217;s latest embed code. Come on over to my site to see it.]]></description>
			<content:encoded><![CDATA[<p>Or, the video in which my head explodes.</p>
<p><!--[if IE]><object width="640" height="402" id="viddlerOuter-64e54b38" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="movie" value="http://www.viddler.com/player/64e54b38/"><param name="allowScriptAccess" value="always"><param name="allowNetworking" value="all"><param name="allowFullScreen" value="true"><param name="flashVars" value="f=1&#038;autoplay=f&#038;disablebranding=f"><object id="viddlerInner-64e54b38"><video id="viddlerVideo-64e54b38" src="http://www.viddler.com/file/64e54b38/html5mobile/" type="video/mp4" width="640" height="360" poster="http://www.viddler.com/thumbnail/64e54b38/" controls="controls"></video></object></object><![endif]--> <!--[if !IE]> <!--> <object width="640" height="402" id="viddlerOuter-64e54b38" type="application/x-shockwave-flash" data="http://www.viddler.com/player/64e54b38/"><param name="movie" value="http://www.viddler.com/player/64e54b38/"><param name="allowScriptAccess" value="always"><param name="allowNetworking" value="all"><param name="allowFullScreen" value="true"><param name="flashVars" value="f=1&#038;autoplay=f&#038;disablebranding=f"><object id="viddlerInner-64e54b38"> <video id="viddlerVideo-64e54b38" src="http://www.viddler.com/file/64e54b38/html5mobile/" type="video/mp4" width="640" height="360" poster="http://www.viddler.com/thumbnail/64e54b38/" controls="controls"></video> </object></object> <!--<![endif]--></p>
<p>For more information, see <a  href="http://developers.viddler.com/">the Viddler developers page</a>.</p>
<p>Note: If you are using Google Reader you may not be able to see this video. The Reader team is dragging their feet on supporting Viddler&#8217;s latest embed code. Come on over to my site to see it.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/viddler-api-v2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSS to Twitter using PHP 5 now on GitHub</title>
		<link>http://cdevroe.com/links/rss2twitter-github/</link>
		<comments>http://cdevroe.com/links/rss2twitter-github/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 04:40:31 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[feeds]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[rss2twitter]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=3564</guid>
		<description><![CDATA[The PHP5 script that I use to send my mobile photos to Twitter that was bounced back and forth a few times back in December has now been officially moved to GitHub. After searching on GitHub for scripts that did the same thing I didn&#8217;t come up with much. Hopefully this both fills that void [...]]]></description>
			<content:encoded><![CDATA[<p>The PHP5 script that I use to send my mobile photos to Twitter that was bounced back and forth a few times <a href="http://cdevroe.com/notes/rss-php-twitter/">back in December</a> has now been officially <a href="http://github.com/cdevroe/rss2twitter-PHP5">moved to GitHub</a>.</p>
<p>After searching on GitHub for scripts that did the same thing I didn&#8217;t come up with much. Hopefully this both fills that void and gets better because it is now out in the open.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/rss2twitter-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSS to Twitter using PHP</title>
		<link>http://cdevroe.com/notes/rss-php-twitter/</link>
		<comments>http://cdevroe.com/notes/rss-php-twitter/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 20:08:10 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[gist]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[parsing]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[tweet]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=3310</guid>
		<description><![CDATA[Update January 19, 2010: This script is now available on GitHub. Go forth and fork. Today I noticed that my now ancient PHP script to update Twitter automatically using PHP/cron needed to be updated. It turns out that Twitter stopped recognizing URLs with ? in them as clickable links. Here is an example tweet where [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p><strong>Update January 19, 2010:</strong> This script is <strong><a href="http://github.com/cdevroe/rss2twitter-PHP5">now available on GitHub</a></strong>. Go forth and fork.</p>
<p>Today I noticed that my now ancient PHP script to update Twitter automatically using PHP/cron needed to be updated. It turns out that Twitter stopped recognizing URLs with ? in them as clickable links. Here is <a href="http://twitter.com/cdevroe/status/6404356720">an example tweet</a> where you&#8217;ll notice this happening.</p>
<p>I could have told Twitter and asked that they update the way they handle URLs but in reality my script was old, slow, too long, and shouldn&#8217;t include ? anyway so I figured I&#8217;d write a new one from scratch that included my short URL scheme.</p>
<p>So, here is <a href="http://gist.github.com/250382">the PHP script to parse an RSS feed and send the posts to Twitter</a>. It includes a caching mechanism so that you won&#8217;t have duplicate URLs posted to Twitter. If you want it, take it. However, if you are better than I am at PHP (most 6yr. olds are better than I am at programming) then I ask that you fork the script on Gist and try to improve it.</p>
<p><strong>Update Dec. 6 @ 5:34p:</strong> <a href="http://kyleslattery.com/">Kyle Slattery</a>, follow Viddler team member, loves him some Ruby on Rails. As such he&#8217;s offered up <a href="http://gist.github.com/250434">this version of the script rewritten in Ruby</a>.</p>
<p>Next up we have <a href="http://twitter.com/AnthonySterling">Anthony Sterling</a>, self-proclaimed &#8220;PHP addict&#8221;, who has <a href="http://pastie.org/730900">rewritten the script to make the configuration a bit easier</a>. He also changed the way the cache is saved. He&#8217;s using a hashed version of the title for each post as his key. I do not believe this to be the best way to go, since post titles can easily change after publishing &#8211; but I do like that the script is about 20 lines shorter and the code is arguably cleaner.</p>
<p>Thanks to both Kyle and Anthony for their versions. Lets keep this going and see if we can get this script much more succinct, stable, faster, and usable by others?</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/rss-php-twitter/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CodeIgniter is fast</title>
		<link>http://cdevroe.com/links/codeigniter-fast/</link>
		<comments>http://cdevroe.com/links/codeigniter-fast/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 14:02:25 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mike-rundle]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[viddler]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=3077</guid>
		<description><![CDATA[CodeIgniter is faster than its competitors by quite a margin. Glad we at Viddler chose it for our PHP-based solutions. /via Mike Rundle on Twitter.]]></description>
			<content:encoded><![CDATA[<p><a href="http://codeigniter.com/">CodeIgniter</a> is <a href="http://avnetlabs.com/php/php-framework-comparison-benchmarks">faster than its competitors</a> by quite a margin. Glad we at <a href="http://viddler.com/">Viddler</a> chose it for our PHP-based solutions.</p>
<p>/via <a href="http://twitter.com/mike9r/statuses/5612178870">Mike Rundle on Twitter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/codeigniter-fast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to: Use the Viddler API with CodeIgniter</title>
		<link>http://cdevroe.com/links/how-to-use-the-viddler-api-with-codeigniter/</link>
		<comments>http://cdevroe.com/links/how-to-use-the-viddler-api-with-codeigniter/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 01:39:33 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpviddler]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[viddler api]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=2642</guid>
		<description><![CDATA[Me, on The Viddler Developers Blog: &#8220;The Viddler team is using CodeIgniter more and more for our internal PHP projects. Obviously we need to use CodeIgniter with the Viddler API quite a bit so we figured weâ€™d share with you how easy it is to include PHPViddler, the open source PHP API wrapper class for [...]]]></description>
			<content:encoded><![CDATA[<p>Me, on <a href="http://developers.viddler.com/blog/">The Viddler Developers Blog</a>:</p>
<blockquote><p>&#8220;The Viddler team is using <a href="http://codeigniter.com/">CodeIgniter</a> more and more for our internal PHP projects. Obviously we need to use CodeIgniter with <a href="http://developers.viddler.com/documentation/api/">the Viddler API</a> quite a bit so we figured weâ€™d share with you how easy it is to include <a href="http://developers.viddler.com/projects/api-wrappers/phpviddler/">PHPViddler</a>, the open source PHP API wrapper class for the Viddler API, in your CodeIgniter application.&#8221;</p></blockquote>
<p>Read more in the blog post titled <a href="http://developers.viddler.com/2009/08/04/codeigniter-phpviddler/">How to: Use the Viddler API with CodeIgniter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/how-to-use-the-viddler-api-with-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Igniter vs. CakePHP &#8211; An overview by Jonathan Snook</title>
		<link>http://cdevroe.com/links/cakephp-codeigniter/</link>
		<comments>http://cdevroe.com/links/cakephp-codeigniter/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 04:18:07 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[jonathan snook]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=2601</guid>
		<description><![CDATA[Speaking of Code Igniter, Jonathan Snook (way back in March 2007) compared it to CakePHP. Although both frameworks have matured slightly since then, this overview still holds up ok &#8211; although he is a fan of CakePHP where I&#8217;d choose Code Igniter. Thank goodness for choices.]]></description>
			<content:encoded><![CDATA[<p></p>
<p>Speaking of <a href="http://codeigniter.com/">Code Igniter</a>, <a href="http://snook.ca/">Jonathan Snook</a> (way back in March 2007) <a href="http://snook.ca/archives/php/codeigniter_vs_cakephp/">compared it to CakePHP</a>. Although both frameworks have matured slightly since then, this overview still holds up ok &#8211; although he is a fan of <a href="http://cakephp.org/">CakePHP</a> where I&#8217;d choose Code Igniter. Thank goodness for choices.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/cakephp-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A PHP Wrapper for Freewheel.tv&#8217;s API</title>
		<link>http://cdevroe.com/links/freewheelphp/</link>
		<comments>http://cdevroe.com/links/freewheelphp/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 19:36:23 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[jeff johns]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[viddler]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=2448</guid>
		<description><![CDATA[Jeff Johns, fellow Viddler team member and jogger (although he&#8217;s much more accomplished than I in that area), recently wrote and released an open source PHP wrapper for Freewheel&#8217;s API. Much needed by the Viddler team, open for the world.]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/phpfunk/">Jeff Johns</a>, fellow <a href="http://viddler.com/">Viddler</a> team member and jogger (although he&#8217;s <em>much more</em> accomplished than I in that area), recently wrote and released an open source <a href="http://code.google.com/p/freewheelphp/">PHP wrapper for Freewheel&#8217;s API</a>. Much needed by the Viddler team, open for the world.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/freewheelphp/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Add a progress bar to your Viddler uploads</title>
		<link>http://cdevroe.com/links/phpviddleruploadify/</link>
		<comments>http://cdevroe.com/links/phpviddleruploadify/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 12:38:23 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpviddler]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[progress]]></category>
		<category><![CDATA[swfobject]]></category>
		<category><![CDATA[uploadify]]></category>
		<category><![CDATA[uploading]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=2378</guid>
		<description><![CDATA[We get this question a lot at Viddler: How can I add a progress bar to my uploads using the Viddler API? We&#8217;re always asked if this is something included in our API wrappers. Until now, it hasn&#8217;t been. That&#8217;s where phpViddlerUploadify comes in. This extension to phpViddler, our PHP wrapper for our API, makes [...]]]></description>
			<content:encoded><![CDATA[<p>We get this question a lot at <a href="http://viddler.com/">Viddler</a>: How can I add a progress bar to my uploads using the Viddler API? We&#8217;re always asked if this is something included in <a href="http://developers.viddler.com/projects/api-wrappers/">our API wrappers</a>. Until now, it hasn&#8217;t been. That&#8217;s where <a href="http://developers.viddler.com/projects/api-wrappers/phpviddler/uploadify/">phpViddlerUploadify</a> comes in. This extension to <a href="http://developers.viddler.com/projects/api-wrappers/phpviddler/">phpViddler</a>, our PHP wrapper for <a href="http://developers.viddler.com/documentation/api/">our API</a>, makes it pretty easy to use the open source JavaScript library <a href="http://jquery.com/">jQuery</a> and the extension <a href="http://uploadify.com/">Uploadify</a> to add progress indicators to your Viddler uploads.</p>
<p>Go forth, and hack!  Oh, and <a href="http://code.google.com/p/phpviddleruploadify/">its completely open source too</a>. (More on this later.)</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/phpviddleruploadify/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recording live video on the iPhone with Qik and Viddler</title>
		<link>http://cdevroe.com/notes/iphone-qik-viddler/</link>
		<comments>http://cdevroe.com/notes/iphone-qik-viddler/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 05:49:45 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[qik]]></category>
		<category><![CDATA[recorded]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=1354</guid>
		<description><![CDATA[I hacked together a quick solution to record videos with my iPhone using Qik and automatically import them to Viddler.]]></description>
			<content:encoded><![CDATA[<p>Sometimes I just can&#8217;t help myself. I&#8217;m a hacker. Not the type of hacker that wants to break into a bank&#8217;s records and steal your personal information or anything &#8211; the type of hacker that just likes to make up fun solutions to interesting problems.</p>
<p><a href="http://viddler.com/">Viddler&#8217;s</a> current lack of any way to record video on a mobile phone, for instance. More specifically the iPhone. I take a lot of <a href="http://cdevroe.com/category/mobile-photos/">mobile photos</a> (<a href="http://flickr.com/photos/cdevroe/">more here</a>) on my iPhone. I&#8217;ve wanted to shoot videos on my iPhone too. Now I can.</p>
<p>The first step I had to take was to <a href="http://cdevroe.com/notes/out-of-prison/">jailbreak my iPhone</a>. <a href="http://qik.com/video/100699">Qik&#8217;s iPhone application</a>, while not perfect, allows me to shoot video on my iPhone and have it be recorded, live, on Qik&#8217;s servers. In fact, if the connection is good enough you can <a href="http://qik.com/cdevroe/">watch me</a> recording the video only a few seconds delayed.</p>
<div class="postImage-right"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="280" height="248" id="viddler_3e2e6ff0"><param name="movie" value="http://www.viddler.com/player/3e2e6ff0/" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><embed src="http://www.viddler.com/player/3e2e6ff0/" width="280" height="248" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler_3e2e6ff0" ></embed></object>
<p><a href="http://www.viddler.com/explore/cdevroe/videos/498/">Viddler bagels!</a> Recorded with iPhone.</p>
</div>
<p>But I wanted my video on Viddler. It is <a href="http://viddler.com/cdevroe/">my player of choice</a>. Qik&#8217;s player is great, especially since it allows you to watch the video as it is being recorded. It also has some interesting interactive features like chat. But, like MTV &#8211; I want my Viddler.</p>
<p>So my second step was to build a bridge from Qik to the Viddler. Once the live session has been saved as an FLV Qik creates <a href="http://qik.com/cdevroe/latest-videos">an RSS feed</a> with a link to the video file. I&#8217;ve built <a href="http://cdevroe.com/qik/qik.zip">a dead simple PHP script</a> that reads that RSS feed, downloads the FLVs, and then transfers them to Viddler. I then took the liberty of creating a quick bit of code that then <a href="http://twitter.com/cdevroe/">Twitters the link</a> to the video on Viddler. I do this for my mobile photos posted to Flickr so I thought why not do that for mobile videos as well.</p>
<p>After talking with Qik about this bridge we&#8217;ve both decided to do something a little bit better than what I have hacked together using nothing more than what I had access to. So stay tuned. Â Until then, you may <a href="http://cdevroe.com/qik/qik.zip">have my script</a> that I wrote in an hour to play with.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/iphone-qik-viddler/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Figuring out the proper dimensions to embed the Viddler player using JavaScript or PHP</title>
		<link>http://cdevroe.com/notes/viddler-embed/</link>
		<comments>http://cdevroe.com/notes/viddler-embed/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 04:33:43 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[oembed]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=1263</guid>
		<description><![CDATA[A few simple functions in both JavaScript and PHP to figure out the appropriate height for Viddler's video player.]]></description>
			<content:encoded><![CDATA[<div class="postImage"><img title="Pickles programming" src="http://cdevroe.com/wp-content/mobile/photos/2008/10/photo-338.jpg" alt="" width="540" />
<p>Pickles helps out. Circa January 2007.</p>
</div>
<p>Viddler&#8217;s player is, in my incredibly biased opinion, the best Flash video player available. Especially if you&#8217;re of the sort that likes to engage in conversation or put an incredible amount of metadata <em>in</em> your videos.</p>
<p>Using <a href="http://wiki.developers.viddler.com/">Viddler&#8217;s API</a> for various projects has always resulted in some sort of learning experience for me. Not only in using APIs in general, but in how to best utilize Viddler&#8217;s platform, player, API, etc. etc. to get the best results. This helps to improve Viddler&#8217;s services, but also the Web at large.</p>
<p>One of the things I, and the entire team at <a href="http://viddler.com/">Viddler</a>, have learned is that most people want their player to perfectly wrap their video. That is, they&#8217;d like their video to be as chromeless as possible while retaining the conversational quality of the enhanced timeline that Viddler affords.</p>
<p>Knowing this we were excited when <a href="http://oembed.com/">oEmbed</a>, and its underlying methodology, allowed for this to happen programmatically. Â This made it rather easy for developers, such as the team at Pownce, to use this service on Viddler to embed videos knowing only the URL assigned to it, in a way that shows off the quality of the player, and keeping the aspect ratio of the video that the publisher created. Perfect.</p>
<p>That one underlying and undocumented feature of oEmbed, that is, that the response from oEmbed was an embed code with the dimensions perfectly suited for your video based on a maximum width &#8211; is what I think will make the following JavaScript useful to developers using Viddler&#8217;s API.</p>
<p>The response from the API method of <a href="http://wiki.developers.viddler.com/index.php/Viddler.videos.setDetails">viddler.videos.getDetails</a> includes the dimensions of the original video uploaded. Â It does not, however, include the embed code of the proper dimensions given a specific width. You have to either figure that out own your own, use oEmbed (which is yet another call),Â or do the math yourself.</p>
<p>Included in <a href="http://cdevroe.com/wp-content/mobile/photos/2008/10/viddler-embed.zip">this simple ZIP file</a> is both the JavaScript and PHP functions you would need to determine the appropriate height for a video given a specific maximum width. Â These files do not include the ability to use the oEmbed service. For that, you will need phpViddler or your own homegrown way to call that service.</p>
<p>Happy embedding!</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/viddler-embed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pagination in Facebook applications with PHP</title>
		<link>http://cdevroe.com/links/php-facebook-pagination/</link>
		<comments>http://cdevroe.com/links/php-facebook-pagination/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 13:56:03 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[f8]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[kyle slattery]]></category>
		<category><![CDATA[pagination]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[viddler]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=851</guid>
		<description><![CDATA[A snippet from Kyle Slattery.]]></description>
			<content:encoded><![CDATA[<p></p>
<p><a href="http://kyleslattery.com/">Kyle Slattery</a>, Viddler&#8217;s Lead Social Developer, recently released <a href="http://blog.kyleslattery.com/2008/07/08/php-facebook-paginator/">a nice little PHP-snippet for Facebook application developers</a>:</p>
<blockquote><p>&#8220;While building theÂ <a href="http://apps.facebook.com/viddler/">Viddler Facebook application</a>, I needed to create a pagination tool that worked just like Facebookâ€™s. After looking at their HTML and their logic of what pages to display, I came up with one, which Iâ€™m releasing for anyone to use.&#8221;</p></blockquote>
<p>Simple. Straight forward.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/php-facebook-pagination/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I WANT PHP &#8211; A Google App Engine application</title>
		<link>http://cdevroe.com/links/i-want-php/</link>
		<comments>http://cdevroe.com/links/i-want-php/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 21:10:00 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[app engine]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=600</guid>
		<description><![CDATA[I want my PHP too.]]></description>
			<content:encoded><![CDATA[<p>This is great. Â If you haven&#8217;t seen it, or seen <a href="http://cdevroe.com/links/google-app-engine/">my link to it</a>, <a href="http://code.google.com/appengine/">Google App Engine</a> is a new service provided by Google to help scale web applications built with, as of today, Python.</p>
<p>Turns out a few people would like to see PHP support as well.</p>
<p>Source: <a href="http://i-want-php.appspot.com/">I WANT PHP</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/i-want-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Review of CakePHP</title>
		<link>http://cdevroe.com/links/kyle-slattery-cakephp/</link>
		<comments>http://cdevroe.com/links/kyle-slattery-cakephp/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 03:17:02 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[kyle slattery]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cdevroe.com/links/kyle-slattery-cakephp/</guid>
		<description><![CDATA[Kyle does a quick review and comparison of CakePHP against Ruby on Rails.]]></description>
			<content:encoded><![CDATA[<p><a href="http://kyleslattery.com/" rel="friend met">Kyle Slattery</a>, Viddler&#8217;s Lead Social Developer, recently gave CakePHP a spin to see how it compared to Ruby on Rails &#8211; or at least how the MVC modularity of the two compared to each other.</p>
<blockquote><p>&#8220;Though CakePHP is lacking in a many areas where Rails really excels, I think it definitely has its place in the world of web frameworks.&#8221;</p></blockquote>
<p>Source: <a href="http://blog.kyleslattery.com/2008/04/06/a-review-of-cakephp/#comment-8">Kyle Slattery  Â» Blog Archive   Â» A Review of CakePHP</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/kyle-slattery-cakephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Powncing your Flickr photos automagically</title>
		<link>http://cdevroe.com/notes/pownce-flickr/</link>
		<comments>http://cdevroe.com/notes/pownce-flickr/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 04:00:59 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[freeware]]></category>
		<category><![CDATA[Photos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pownce]]></category>

		<guid isPermaLink="false">http://cdevroe.com/notes/pownce-flickr/</guid>
		<description><![CDATA[Introducing a free PHP script that will automatically post your Flickr photos to Pownce.  I'm calling this little baby Powncer.]]></description>
			<content:encoded><![CDATA[<p><span class="firstletter">T</span>he moment I saw how <a href="http://pownce.com/">Pownce</a> handled links to <a href="http://flickr.com/">Flickr</a> photos (here is <a href="http://pownce.com/cdevroe/notes/1434015/">my first Flickr photo that I Pownced</a>) I knew I had to modify <a href="http://blog.mozmonkey.com/2008/flickr-twitter-mashup-twickr/">a script that I found</a> and had modified for <a href="http://twitter.com/">Twitter</a>. The script would automatically &#8220;tweet&#8221; when I posted a photo to Flickr <a href="http://cdevroe.com/notes/mobile-photos/">using my iPhone</a>.</p>
<p>The script isn&#8217;t anything special mind you, all it does it &#8220;watch&#8221; any Flickr feed for new entries.  To be more precise, my server runs this script every 15 minutes and checks for new photos, when there is one, it creates a <a href="http://tinyurl.com/">TinyURL</a> and posts it to Twitter (<a href="http://twitter.com/cdevroe/statuses/767301066">like this</a>).</p>
<p>But I wanted this to work for Pownce.</p>
<p>I immediately dove head first into <a href="http://pownce.com/api/">Pownce&#8217;s API</a> only to find out that the API didn&#8217;t allow posting anything.  I thought my Powncing days were over until, out of some crazy stroke of coincidence, I read an article on <a href="http://techcrunch.com/">TechCrunch</a> that said <a href="http://www.techcrunch.com/2008/02/27/pownce-to-release-more-complete-api-this-friday/">Pownce was due to release a new version of their API</a> <em>the very next day</em>.  Turns out, I didn&#8217;t even have to wait that long and the Pownce wiki was updated to include <a href="http://pownce.pbwiki.com/API%20Documentation2-0">documentation for version 2 of their API</a>.</p>
<p>Without blinking an eye I finished my script, grabbed myself an app_key, and <a href="http://pownce.com/cdevroe/notes/1436699/">Pownced the script</a> (you&#8217;ll need to be logged in, and <a href="http://pownce.com/cdevroe/">be my Pownce friend</a> to see this Pownce message).  Once I figured out that I couldn&#8217;t Pownce a file to the general public, I knew I had to find some time to write this post.</p>
<p>Since then I read that <a href="http://scripting.com/">Dave Winer</a> also enjoys the way <a href="http://www.scripting.com/stories/2008/03/01/theVerdictIsInThePownceApi.html">Pownce shows links to Flickr photos</a> and that he is running a similar script.  So I thought I&#8217;d put this out for everyone to use.</p>
<h3>Powncer!</h3>
<p>Enough beating around the bush, you can <a href="http://chancecube.com/files/powncer.zip">download the script here</a> which includes an XML parser for ripping through Flickr&#8217;s RSS feed.  You&#8217;ll need to edit the first few lines of powncer.php for it to work, so this isn&#8217;t your run-of-the-mill plug-and-play type script, unfortunately, but for the PHP savvy of you, you should be able to get it up and running pretty easily.  If you need help getting it setup, just ask in the comments.</p>
<p>I run this script here on cdevroe.com every 15 minutes using cron.  You may run it however you&#8217;d like.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/pownce-flickr/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>10MacApps</title>
		<link>http://cdevroe.com/notes/10macapps/</link>
		<comments>http://cdevroe.com/notes/10macapps/#comments</comments>
		<pubDate>Fri, 21 Apr 2006 15:02:45 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chax]]></category>
		<category><![CDATA[colloquy]]></category>
		<category><![CDATA[delicious-library]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[ichat]]></category>
		<category><![CDATA[iphoto]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[macintosh]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[marsedit]]></category>
		<category><![CDATA[meme]]></category>
		<category><![CDATA[netnewswire]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-function-index]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[quicksilver]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[text-editor]]></category>
		<category><![CDATA[textmate]]></category>
		<category><![CDATA[transmit]]></category>

		<guid isPermaLink="false">http://cdevroe.com/notes/10macapps/</guid>
		<description><![CDATA[My 10, errr, 13 most favorite Mac applications as of today.]]></description>
			<content:encoded><![CDATA[<p>Merely days after saying <a href="http://cdevroe.com/notes/un-meme/">that I never get invited to do memes</a>, here comes one <a href="http://semistereo.com/archives/2006/04/20/10macapps/">from Zach Hale</a>.</p>
<p>Here is a list of my <strike>10</strike> 13 favorite applications for the Macintosh.</p>
<ul>
<li><a href="http://macromates.com/">Textmate</a></li>
<li><a href="http://ranchero.com/netnewswire/">NetNewsWire</a></li>
<li><a href="http://ranchero.com/marsedit/">MarsEdit</a></li>
<li><a href="http://blacktree.com/">QuickSilver</a></li>
<li><a href="http://apple.com/itunes/">iTunes</a></li>
<li><a href="http://apple.com/ilife/iphoto/">iPhoto</a></li>
<li><a href="http://delicious-monster.com/">Delicious Library</a></li>
<li><a href="http://apple.com/macosx/features/safari/">Safari</a></li>
<li><a href="http://panic.com/transmit/">Transmit</a></li>
<li><a href="http://colloquy.info/">Colloquy</a></li>
<li><a href="http://www.artissoftware.com/phpfi/">PHP Function Index</a></li>
<li><a href="http://www.ksuther.com/chax/">Chax</a> iChat extension</li>
<li><a href="http://apple.com/macosx/features/mail/">Mail</a>.app</li>
</ul>
<p>I was supposed to stop at 10, but oh well.  There is no particular order to the above, I kind of just jotted these down as I thought of them.</p>
<p>I suppose I&#8217;ll ask <span class="vcard" id="inline-vcard-stickel"><a class="fn url" href="http://screenflicker.com/mike/" rel="colleague friend">Mike Stickel</a></span>, <span class="vcard" id="inline-vcard-celik"><a class="fn url" href="http://tantek.com/" rel="friend">Tantek &Ccedil;elik</a></span>, and <span class="vcard" id="inline-vcard-rundle"><a class="fn url" href="http://phark.typepad.com/" rel="colleague friend met">Mike Rundle</a></span> to do the same.</p>
<p>[tags]meme, apple, macintosh, applications, textmate, netnewswire, marsedit, quicksilver, itunes, iphoto, delicious library, safari, transmit, colloquy, php function index, php, ichat, chax, mail, email, programming, browser, text editor[/tags]</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/10macapps/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

