<?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; programming</title>
	<atom:link href="http://cdevroe.com/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://cdevroe.com</link>
	<description>by Colin Devroe</description>
	<lastBuildDate>Thu, 24 May 2012 15:29:58 +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>Coda 2 and Diet Coda now available</title>
		<link>http://cdevroe.com/links/coda2-dietcoda-available/</link>
		<comments>http://cdevroe.com/links/coda2-dietcoda-available/#comments</comments>
		<pubDate>Thu, 24 May 2012 15:29:58 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[coda]]></category>
		<category><![CDATA[coda 2]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[diet coda]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[panic]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5981</guid>
		<description><![CDATA[Coda 2 and Diet Coda are now available. 50% off until tomorrow. Just picked up my copy. Take that Duke Nukem.]]></description>
			<content:encoded><![CDATA[<p><a href="http://panic.com/coda">Coda 2</a> and <a href="http://panic.com/dietcoda">Diet Coda</a> are now available. 50% off until tomorrow. Just picked up my copy.</p>
<p>Take that Duke Nukem.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/coda2-dietcoda-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>Coda 2 and Diet Coda available May 24th</title>
		<link>http://cdevroe.com/links/panic-coda2-dietcoda/</link>
		<comments>http://cdevroe.com/links/panic-coda2-dietcoda/#comments</comments>
		<pubDate>Mon, 21 May 2012 20:53:03 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[coda]]></category>
		<category><![CDATA[coda 2]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[diet coda]]></category>
		<category><![CDATA[panic]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[web-design]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5957</guid>
		<description><![CDATA[Not-so-hot on the heels of my interview with Panic in September 2009 comes Coda 2 and its sister? iPad app Diet Coda &#8211; both available on May 24th. Coda 2 looks like an amazingly big update.]]></description>
			<content:encoded><![CDATA[<p>Not-so-hot on the heels of <a title="An interview with Panic on transparency in software development and Coda 2.0" href="http://cdevroe.com/notes/panic-interview/">my interview with Panic in September 2009</a> comes <a href="http://panic.com/coda/">Coda 2</a> and its sister? iPad app <a href="http://panic.com/dietcoda/">Diet Coda</a> &#8211; both available on May 24th. Coda 2 looks like an amazingly big update.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/panic-coda2-dietcoda/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>Light Table, a new IDE concept</title>
		<link>http://cdevroe.com/links/light-table-ide/</link>
		<comments>http://cdevroe.com/links/light-table-ide/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 12:26:51 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[bret victor]]></category>
		<category><![CDATA[chris granger]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[hacker news]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[inventing on principal]]></category>
		<category><![CDATA[iop]]></category>
		<category><![CDATA[light table]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5849</guid>
		<description><![CDATA[Chris Granger about Light Table: Light Table is based on a very simple idea: we need a real work surface to code on, not just an editor and a project explorer. We need to be able to move things around, keep clutter down, and bring information to the foreground in the places we need it [...]]]></description>
			<content:encoded><![CDATA[<p>Chris Granger <a href="http://www.chris-granger.com/2012/04/12/light-table---a-new-ide-concept/">about Light Table</a>:</p>
<blockquote><p>Light Table is based on a very simple idea: we need a real work surface to code on, not just an editor and a project explorer. We need to be able to move things around, keep clutter down, and bring information to the foreground in the places we need it most.</p></blockquote>
<p>This project is inspired by Bret Victor&#8217;s presentation <a href="https://vimeo.com/36579366">Inventing on Principal</a> that <a href="http://cdevroe.com/notes/why-nilai/">I also mentioned Nilai is inspired by</a>. Light Table makes for a very interesting demo. The most intriguing of the modes shown was the mode wherein you could see all of the related code while you were editing, say, a specific method in a class. This type of IDE wouldn&#8217;t just save time, it&#8217;d probably result in far better code.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/light-table-ide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The WordPress.com API</title>
		<link>http://cdevroe.com/links/wordpress-com-api/</link>
		<comments>http://cdevroe.com/links/wordpress-com-api/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 12:25:58 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5842</guid>
		<description><![CDATA[Interesting. WordPress.com now has an API. Which is slightly different than WordPress simply having the use of the decade old Meta-Weblog API. This opens up features on WordPress.com like reblogging, following, etc. It will be interesting to see what comes of this.]]></description>
			<content:encoded><![CDATA[<p>Interesting. <a href="http://developer.wordpress.com/">WordPress.com now has an API</a>. Which is slightly different than WordPress simply having the use of the decade old <a href="http://xmlrpc.scripting.com/metaWeblogApi.html">Meta-Weblog API</a>. This opens up features on WordPress.com like reblogging, following, etc.</p>
<p>It will be interesting to see what comes of this.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/wordpress-com-api/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>The Path clock scroll thingy</title>
		<link>http://cdevroe.com/links/path-clock-ios/</link>
		<comments>http://cdevroe.com/links/path-clock-ios/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 21:31:03 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[florian mielke]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5517</guid>
		<description><![CDATA[Hot on the heels of the Path app&#8217;s menu being reverse engineered into CSS3 and CoreAnimation is the Path app&#8217;s clock face that appears when you&#8217;re scrolling down through your timeline being reverse engineered by Florian Mielke.]]></description>
			<content:encoded><![CDATA[<p>Hot on the heels of <a href="http://cdevroe.com/links/path-menu-css3-coreanimation/">the Path app&#8217;s menu being reverse engineered into CSS3 and CoreAnimation</a> is <a href="http://blog.madefm.com/post/13817640556/ios-devcorner-attaching-an-info-panel-to-a">the Path app&#8217;s clock face</a> that appears when you&#8217;re scrolling down through your timeline being reverse engineered by <a href="http://florianmielke.me/">Florian Mielke</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/path-clock-ios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An even better Spotify Alfred extension</title>
		<link>http://cdevroe.com/links/johns-alfred-spotify/</link>
		<comments>http://cdevroe.com/links/johns-alfred-spotify/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 14:23:15 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[alfred]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[jeff johns]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[spotify]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5505</guid>
		<description><![CDATA[Jeff Johns has released an update to his Spotify Alfred extension. The man&#8217;s an addict. He has Alfred extensions for Skype, Bluetooth, Caffeine, and Screen Sharing.]]></description>
			<content:encoded><![CDATA[<p>Jeff Johns has <a href="https://github.com/phpfunk/alfred-spotify-controls">released an update to his Spotify Alfred extension</a>. The man&#8217;s an addict. He has <a href="http://phpfunk.me/#alfred">Alfred extensions for Skype, Bluetooth, Caffeine, and Screen Sharing</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/johns-alfred-spotify/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Path menu in pure CSS3 and using CoreAnimation</title>
		<link>http://cdevroe.com/links/path-menu-css3-coreanimation/</link>
		<comments>http://cdevroe.com/links/path-menu-css3-coreanimation/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 15:23:58 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[coreanimation]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[levy]]></category>
		<category><![CDATA[mike-rundle]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[victor coulon]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5461</guid>
		<description><![CDATA[As I mentioned last week the new Path application for iPhone is arguably the best designed application on the iPhone currently. And when there is a great design, there are going to be those that begin to pick it apart and do neat things with it. The Path app is no different. People have begun [...]]]></description>
			<content:encoded><![CDATA[<p>As <a title="Path 2.0" href="http://cdevroe.com/links/path-2/">I mentioned last week</a> the new Path application for iPhone is arguably the best designed application on the iPhone currently. And when there is a great design, there are going to be those that begin to pick it apart and do neat things with it. The Path app is no different. People have begun breaking it down in various ways.</p>
<p>One of the distinct features in the Path app is the fly-out menu that allows you to share photos, comments, location, etc. Two developers took it upon themselves to build out that menu both in CSS3 and using CoreAnimation. Both open sourced their work and gave credit.</p>
<ul>
<li><a href="http://lab.victorcoulon.fr/css/path-menu/">Path menu in pure CSS 3</a> by Victor Coulon.</li>
<li><a href="https://github.com/levey/QuadCurveMenu">Path menu using CoreAnimation</a> by ??? (Levy)</li>
</ul>
<p>/via <a href="https://twitter.com/flyosity">Mike Rundle on Twitter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/path-menu-css3-coreanimation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codify &#8211; Build games for iPad on iPad</title>
		<link>http://cdevroe.com/links/codify/</link>
		<comments>http://cdevroe.com/links/codify/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 12:12:09 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[codify]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5332</guid>
		<description><![CDATA[How in the world is Codify only $7.99? Watch the video demo. Trés impressive. /via John Gruber.]]></description>
			<content:encoded><![CDATA[<p>How in the world is <a href="http://twolivesleft.com/Codify/">Codify</a> only $7.99? Watch the video demo. Trés impressive.</p>
<p>/via <a href="http://daringfireball.net/linked/2011/10/26/codify">John Gruber</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/codify/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1 million on Github</title>
		<link>http://cdevroe.com/links/1m-github/</link>
		<comments>http://cdevroe.com/links/1m-github/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 15:06:12 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[growth]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[source control]]></category>
		<category><![CDATA[users]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5221</guid>
		<description><![CDATA[Congratulations to all of my friends at Github for reaching the 1 million user milestone. Github is easily one of the very best services for developers on the web. If you don&#8217;t yet have an account and you are a developer; stop waiting.]]></description>
			<content:encoded><![CDATA[<p>Congratulations to all of my friends at <a href="http://github.com/">Github</a> for <a href="http://www.readwriteweb.com/archives/github_hits_1_million_users.php">reaching the 1 million user milestone</a>. Github is easily one of the very best services for developers on the web. If you don&#8217;t yet have an account and you are a developer; stop waiting.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/1m-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ifttt</title>
		<link>http://cdevroe.com/links/ifttt/</link>
		<comments>http://cdevroe.com/links/ifttt/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 14:47:58 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[actions]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[hooks]]></category>
		<category><![CDATA[if this then that]]></category>
		<category><![CDATA[ifttt]]></category>
		<category><![CDATA[kyle-neath]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[triggers]]></category>
		<category><![CDATA[web service]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5178</guid>
		<description><![CDATA[If This Then That is a web service that allows you to plug into a few other web services and trigger actions based on certain criteria. Example: If I take a photo using Instagram store it in Dropbox as well. /via Kyle Neath on Twitter.]]></description>
			<content:encoded><![CDATA[<p><a href="http://ifttt.com/">If This Then That</a> is a web service that allows you to plug into a few other web services and trigger actions based on certain criteria. Example: If I take a photo using Instagram store it in Dropbox as well.</p>
<p>/via <a href="https://twitter.com/kneath/statuses/112593350426763264">Kyle Neath on Twitter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/ifttt/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>Quality is contagious</title>
		<link>http://cdevroe.com/links/neath-quality/</link>
		<comments>http://cdevroe.com/links/neath-quality/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 11:50:06 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[dedication]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[kyle-neath]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[quote]]></category>
		<category><![CDATA[quotes]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5061</guid>
		<description><![CDATA[Kyle Neath on Relentless Quality: &#8220;Broken windows are the reason most large software projects suck to work on. A little technical debt here, a few shortcuts there, and pretty soon you’ve got a codebase so full of broken windows that no one even cares if they throw another pile of broken glass on the heap. [...]]]></description>
			<content:encoded><![CDATA[<p>Kyle Neath on <a href="http://warpspire.com/posts/relentless-quality/"><em>Relentless Quality</em></a>:</p>
<blockquote><p>
  &#8220;Broken windows are the reason most large software projects suck to work on. A little technical debt here, a few shortcuts there, and pretty soon you’ve got a codebase so full of broken windows that no one even cares if they throw another pile of broken glass on the heap.</p>
<p>  But just as broken windows are contagious, so is a dedication to quality. Carve out a little piece of a messy codebase and clean it up. Sharpen the edges, polish the surface and make it shine.&#8221;
</p></blockquote>
<p>This bubbles all the way up to the top of the product too. The code of a not-so-great feature can be gorgeous but it is still a feature that isn&#8217;t quite right. Focusing on the quality of the product from the engineering to the coding to the marketing is also contagious.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/neath-quality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ludum Dare</title>
		<link>http://cdevroe.com/links/ludum-dare/</link>
		<comments>http://cdevroe.com/links/ludum-dare/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 16:44:04 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[data entry sentry]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ludum dare]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[shaun-inman]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5029</guid>
		<description><![CDATA[A 48-hour solo hackathon for game developers to create a game. Pretty fun. Shaun Inman, who just released The Last Rocket for iOS, put together a quick game called Data Entry Sentry that works on an iPad (or any Webkit browser). Fun to play. I don&#8217;t know where he gets the energy.]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.ludumdare.com/compo/rules/">48-hour solo hackathon for game developers</a> to create a game. Pretty fun.</p>
<p><a href="http://shauninman.com/">Shaun Inman</a>, who just released <a href="http://shauninman.com/lastrocket/">The Last Rocket</a> for iOS, put together a quick game called <a href="http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&#038;uid=4017">Data Entry Sentry</a> that works on an iPad (or any Webkit browser). Fun to play. I don&#8217;t know where he gets the energy.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/ludum-dare/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>My words in Hacker Monthly</title>
		<link>http://cdevroe.com/links/may-hacker-monthly/</link>
		<comments>http://cdevroe.com/links/may-hacker-monthly/#comments</comments>
		<pubDate>Mon, 16 May 2011 15:39:53 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[hacker monthly]]></category>
		<category><![CDATA[may]]></category>
		<category><![CDATA[permission]]></category>
		<category><![CDATA[print]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[published]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4797</guid>
		<description><![CDATA[My words have been in print before (and several other times that I&#8217;ve never taken the time to jot down on my blog, sorry). Well, it has happened again. In the May issue of Hacker Monthly my piece Why you should never ask permission to clean up code (which has received over a quarter-of-a-million views to-date) [...]]]></description>
			<content:encoded><![CDATA[<p>My words have been <a href="http://cdevroe.com/notes/published/">in print before</a> (and several other times that I&#8217;ve never taken the time to jot down on my blog, sorry). Well, it has happened again.</p>
<p><a href="http://hackermonthly.com/issue-12.html"><img class="alignnone size-full wp-image-4798" title="Hacker Monthly - May Issue - Page 40" src="http://cdevroe.com/wp-content/mobile/photos/2011/05/hackermonthly-issue12.pdf-page-40-of-42.jpg" alt="" width="640" /></a></p>
<p>In <a href="http://hackermonthly.com/issue-12.html">the May issue</a> of <a href="http://hackermonthly.com/">Hacker Monthly</a> my piece <em><a href="http://cdevroe.com/notes/code-maintenance-dont-ask/">Why you should never ask permission to clean up code</a></em> (which has received over a quarter-of-a-million views to-date) was published and I&#8217;m extremely grateful to the Hacker Monthly team for their consideration.</p>
<p>I highly recommend picking up a subscription to Hacker Monthly (if you don&#8217;t already have one shame on you).</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/may-hacker-monthly/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The truth is, we don&#8217;t know how long it takes.</title>
		<link>http://cdevroe.com/notes/time-estimate-fail/</link>
		<comments>http://cdevroe.com/notes/time-estimate-fail/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 12:20:15 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[estimation]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4750</guid>
		<description><![CDATA[This can be applied to just about anything; none of us know how long it will take us to get something done. This is especially true with writing software but lets think about an everyday task, shall we? What about washing the dishes? How long is it going to take you to wash the dishes [...]]]></description>
			<content:encoded><![CDATA[<p>This can be applied to just about anything; none of us know how long it will take us to get something done.</p>
<p>This is especially true with writing software but lets think about an everyday task, shall we? What about washing the dishes? How long is it going to take you to wash the dishes the next time you decide to do that oft procrastinated task? Five minutes? Ten? Two hours? The truth is, you don&#8217;t know. You might count the number dishes, say 10 dishes, and think it will take you about 5 minutes (or 30 seconds per dish) to wash, dry, and put them all away. But, how dirty are these dishes? Is one a burnt pan? Do you have the right soap or tool to do the job? What if you find that, while you&#8217;re washing a pot, that the pot&#8217;s handle is loose? Do you fix it right then or wait till next time? If you fix it right then how long will <em>that</em> take?</p>
<p>You see where I&#8217;m going? Estimating the amount of time it will take to complete a task is &#8211; well, I&#8217;ll just say it &#8211; impossible. But we try. We try to calculate all of the possibilities, rule in error, and even give ourselves some padding in the estimate to lower expectations and over deliver. But we almost always fail. Sometimes miserably. The difficult part is coming to grips with that and embracing it.</p>
<p>In my entire life I&#8217;ve never been 100% accurate on estimating time. I&#8217;m forever an optimist and because of that I&#8217;m almost always late at getting something done because I always think it will take less time to finish something than it really will. I think in rose pedals and rainbows.</p>
<p>One quick example to beat this horse until bloody. Recently I was playing around with a pet project of mine and I wanted to add Twitter&#8217;s authentication tools to it. In short, this allows people to use their Twitter credentials to log into my application. Should be relatively straight forward, right? Well, ever the optimist and being smart and efficient I grabbed an open source library that claimed to do exactly what I needed. I thought, foolishly, that I&#8217;d simply plug the library into my application, follow the setup instructions and I&#8217;d move on in less than 30 minutes. It works this way sometimes but not very often. Suffice to say it didn&#8217;t work like this for me. In fact, I still haven&#8217;t finished hours later. <em>Hours</em>. Something I thought would take me less than 20 minutes and I have now spent hours trying to get it to work properly. And guess what? I&#8217;ve decided to scrap it. Hours and hours wasted only to figure out that I&#8217;d have been better off building this myself. And now it will take me a few hours to do just that (or much longer).</p>
<p>I&#8217;ll never learn. I&#8217;m freely admitting that right now. I&#8217;d rather be an optimist than be the person that thinks that everything they ever want to do will take too long, be too hard, and will ultimately not be possible to achieve and thus; never try. I&#8217;m going to continue to try and continue to fail but &#8211; every once and while &#8211; I&#8217;ll succeed (although later than I would have thought) and be happy.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/time-estimate-fail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pow</title>
		<link>http://cdevroe.com/links/pow/</link>
		<comments>http://cdevroe.com/links/pow/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 20:00:48 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[37signals]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mac-os-x]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[pow]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4744</guid>
		<description><![CDATA[Pow is an open source, zero-configuration Rack server for Mac OS X. If you do web development on the Mac you will want to give this a gander.]]></description>
			<content:encoded><![CDATA[<p><a href="http://pow.cx/">Pow</a> is an open source, zero-configuration <a href="http://rack.rubyforge.org/">Rack</a> server for Mac OS X. If you do web development on the Mac you will want to give this a gander.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/pow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why you should never ask permission to clean up code</title>
		<link>http://cdevroe.com/notes/code-maintenance-dont-ask/</link>
		<comments>http://cdevroe.com/notes/code-maintenance-dont-ask/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 12:35:48 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[maintenance]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[questions]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4672</guid>
		<description><![CDATA[&#8220;Can I take some time to clean up this code? It is horrendous.&#8221; The answer should always be yes to this question. However, often times we find ourselves up against walls in the form of budgets, time, due dates and expectation and so the typical &#8220;powers that be&#8221; at companies often veto the request. My [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p><img class="alignnone size-full wp-image-4675" title="Table at Panera" src="http://cdevroe.com/wp-content/mobile/photos/2011/03/2202482306_14aff0ea6a_z.jpg" alt="" width="640" height="480" /></p>
<p>&#8220;Can I take some time to clean up this code? It is horrendous.&#8221; The answer should always be yes to this question. However, often times we find ourselves up against walls in the form of budgets, time, due dates and expectation and so the typical &#8220;powers that be&#8221; at companies often veto the request. My advice to you, dear developer, is to never ask for permission for things you know are vital to your work.</p>
<p>You know your work environment better than I do so perhaps you can ask this question and immediately have the full support of your team. Sad to say that many aren&#8217;t so fortunate. They&#8217;ll ask their boss if they can take some time to clean up their code, make it efficient and extensible and, while the boss may recognize the need for such tasks, ultimately the boss will simply say &#8220;maybe we can do that later&#8221;.</p>
<p>Why is this the typical reaction? Because bosses don&#8217;t have to read, edit and support the code.</p>
<p>This is folly and every developer knows it. Bosses, (if you&#8217;re reading this) putting off a few hours worth of code clean-up now will only turn into many hours or days in the future. So by allowing your developers time to do this much needed code maintenance you&#8217;re actually saving your company money. But don&#8217;t worry &#8211; they&#8217;re not going to ask you for permission anymore. They&#8217;re just going to do it.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/code-maintenance-dont-ask/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I&#8217;m heading to Florida for MagicRuby</title>
		<link>http://cdevroe.com/notes/magicruby/</link>
		<comments>http://cdevroe.com/notes/magicruby/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 04:10:10 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[florida]]></category>
		<category><![CDATA[magic kingdom]]></category>
		<category><![CDATA[magicruby]]></category>
		<category><![CDATA[orlando]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4557</guid>
		<description><![CDATA[Not many people know how well suited Viddler&#8216;s platform is for developing on top of. Kyle Slattery and I are heading to Florida in a few weeks to attend Magic Ruby to let some talented Ruby developers know just that. We&#8217;ve set up a special page on Viddler just for Magic Ruby to help let [...]]]></description>
			<content:encoded><![CDATA[<p>Not many people know how well suited <a href="http://viddler.com/">Viddler</a>&#8216;s platform is for developing on top of. <a href="http://kyleslattery.com">Kyle Slattery</a> and I are heading to Florida in a few weeks to attend <a href="http://magic-ruby.com/">Magic Ruby</a> to let some talented Ruby developers know just that.</p>
<p>We&#8217;ve set up <a href="http://viddler.com/magicruby">a special page on Viddler just for Magic Ruby</a> to help let people know some of the things we&#8217;re already doing with the Ruby community. We hope to learn a little about Ruby, to let attendees know about Viddler, and to enjoy the weather.</p>
<p>Viddler&#8217;s offerings to developers aren&#8217;t limited to only Ruby. We&#8217;ve got <a href="http://developers.viddler.com/documentation/api-v2/">a fantastic API</a> that has been recently overhauled and <a href="http://developers.viddler.com/projects/api-wrappers/">wrappers for just about every language</a>. We power some of the biggest brands online and our platform has been used to power web sites, applications, iPhone and iPad applications and much more. I personally hope to help Viddler grow in this area in 2011.</p>
<p>If you&#8217;re a developer and ever have any video needs &#8211; consider using Viddler for your next project.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/magicruby/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>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>How to test a WordPress Dashboard Widget</title>
		<link>http://cdevroe.com/notes/howto-test-wp-dash-widget/</link>
		<comments>http://cdevroe.com/notes/howto-test-wp-dash-widget/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 05:23:48 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[dashboard widget]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[viddler wordpress plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4509</guid>
		<description><![CDATA[I&#8217;m working on a relatively big update to Viddler&#8217;s WordPress plugin and something that doesn&#8217;t seem to be documented anywhere is how to test a Dashboard Widget if your plugin supports one. It is fairly easy to add just a bit of code to make it pretty simple to test your widget. First, rather than [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>I&#8217;m working on a relatively big update to <a href="http://wordpress.org/extend/plugins/the-viddler-wordpress-plugin/">Viddler&#8217;s WordPress plugin</a> and something that doesn&#8217;t seem to be documented anywhere is how to test a Dashboard Widget if your plugin supports one.</p>
<p>It is fairly easy to add just a bit of code to make it pretty simple to test your widget. First, rather than only loading your WordPress Admin URL (ie. yoursite.com/wp-admin) you simply prepend the appropriate information to the end of the URL. Like this: yousite.com/wp-admin/index.php?page=viddler&#038;noheader.</p>
<p>Then, somewhere within your plugin&#8217;s code, you add something like the following:<br />
<code>function viddler_page() {<br />
	if ( isset( $_GET['noheader'] ) )<br />
		return viddler_dashboard_content();<br />
}</code></p>
<p>Obviously viddler_dashboard_content() is the function that I use to build the HTML for the Dashboard Widget. This will return the HTML you&#8217;re creating for your WordPress Admin Dashboard Widget sans JavaScript and CSS. But at least you&#8217;re able to test your output.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/howto-test-wp-dash-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upload video to Viddler using C#</title>
		<link>http://cdevroe.com/links/viddler-upload-csharp/</link>
		<comments>http://cdevroe.com/links/viddler-upload-csharp/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 02:36:15 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[c-sharp]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ejveal]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[upload]]></category>
		<category><![CDATA[upload video]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4502</guid>
		<description><![CDATA[ejveal on Viddler graciously shared a snippet of C# to upload video to Viddler. Thanks for that Eric. /via the Viddler Developers Group.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.viddler.com/explore/ejveal/">ejveal on Viddler</a> graciously shared <a href="http://codepaste.net/hin1kr">a snippet of C# to upload video to Viddler</a>. Thanks for that Eric.</p>
<p>/via <a href="http://www.viddler.com/groups/developers/discuss/1877/">the Viddler Developers Group</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/viddler-upload-csharp/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>37signals&#8217; Chalk dissected</title>
		<link>http://cdevroe.com/links/37signals-chalk-dissected/</link>
		<comments>http://cdevroe.com/links/37signals-chalk-dissected/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 14:36:26 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[37signals]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sam samhuri]]></category>
		<category><![CDATA[web app]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4360</guid>
		<description><![CDATA[Remember my link to Chalk? Sam Samhuri took the time to dissect exactly how it was built. Impressive. Both the app and the write up.]]></description>
			<content:encoded><![CDATA[<p>Remember <a href="http://cdevroe.com/links/chalk-37s/">my link to Chalk</a>? Sam Samhuri took the time to <a href="http://samisamhuri.blogspot.com/2010/11/37signals-chalk-dissected.html">dissect exactly how it was built</a>. Impressive. Both the app and the write up.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/37signals-chalk-dissected/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zepto.js &#8211; Mobile JavaScript framework</title>
		<link>http://cdevroe.com/links/zepto/</link>
		<comments>http://cdevroe.com/links/zepto/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 13:07:25 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[zepto]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4352</guid>
		<description><![CDATA[Doing JavaScript for mobile platforms? Maybe you should check out Zepto.js. Update: Via Kyle Slattery on Twitter: Sencha. I haven&#8217;t yet had any experience using jQuery mobile (I simply do not do too much JavaScript anymore) but I wanted to make sure that any &#8220;competitors&#8221; to such a popular framework gets some attention. Does that [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>Doing JavaScript for mobile platforms? Maybe you should <a href="http://zeptojs.com/">check out Zepto.js</a>.</p>
<p><strong>Update:</strong> Via <a href="http://twitter.com/kyleslattery/status/1325769041125376">Kyle Slattery on Twitter</a>: <a href="http://www.sencha.com/products/touch/">Sencha</a>.</p>
<p>I haven&#8217;t yet had any experience using <a href="http://jquerymobile.com/">jQuery mobile</a> (I simply do not do too much JavaScript anymore) but I wanted to make sure that any &#8220;competitors&#8221; to such a popular framework gets some attention. Does that make sense?</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/zepto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The time waster is every developer&#8217;s bane</title>
		<link>http://cdevroe.com/notes/development-bane-time-waster/</link>
		<comments>http://cdevroe.com/notes/development-bane-time-waster/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 12:31:38 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[bane]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[time waster]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=3838</guid>
		<description><![CDATA[Every developer&#8217;s bane is a problem that seemingly has no cause or solution. Most times, after wasting hours and hours and hours trying to solve the issue, I will discover that there was a cause and there is a solution &#8211; but it is the time wasted, the sweat, the tears and the fist pounding [...]]]></description>
			<content:encoded><![CDATA[<p>Every developer&#8217;s bane is a problem that seemingly has no cause or solution. Most times, after wasting hours and hours and hours trying to solve the issue, I will discover that there was a cause and there is a solution &#8211; but it is the time wasted, the sweat, the tears and the fist pounding that really gets to me.</p>
<p>Last night I ran into such a problem wherein, so far at least, I&#8217;ve been unable to find the cause. It is very frustrating. Trial, error, trial, error, hunt, poke, literally cause my app to crash on purpose hoping I can find the problem, comment out line after line after line, change settings, etc. Usually during this process I will end up breaking my application even more and forget how to change it back (thank goodness for <a href="http://git-scm.com/">Git</a>).</p>
<p>The problem I&#8217;m currently having seems to be environmental. The problem doesn&#8217;t exist in one environment but does on another. This actually causes even more fist-pounding because I know my code works.</p>
<p>The part about this process that is most frustrating is that the time spent solving one of these minor problems (that have a major impact on the app) could be time spent making a great application. It is my least favorite part about programming. Nowadays it is possible to accomplish an incredible amount of work in a short period of time yet, still, you run into these little time wasting seemingly no cause no solution problems that take a very long time to work out. <strong>Grrr!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/development-bane-time-waster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Style guides make code collaboration easier.</title>
		<link>http://cdevroe.com/links/code-style-guides/</link>
		<comments>http://cdevroe.com/links/code-style-guides/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 13:46:06 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[jonathan christopher]]></category>
		<category><![CDATA[monday by noon]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[style guide]]></category>
		<category><![CDATA[web-design]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=3810</guid>
		<description><![CDATA[In this week&#8217;s Monday By Noon article Jonathan Christopher covers establishing style guides in code to make collaboration between multiple developers easier. Although it may seem like an anal attempt at control style guides can go along way in making a lot things easier in the project workflow. Reading through and fixing bugs in someone [...]]]></description>
			<content:encoded><![CDATA[<p>In this week&#8217;s <a href="http://mondaybynoon.com/">Monday By Noon</a> article Jonathan Christopher covers <a href="http://mondaybynoon.com/2010/03/29/establishing-style-guides/">establishing style guides in code</a> to make collaboration between multiple developers easier.</p>
<p>Although it may seem like an anal attempt at control style guides can go along way in making a lot things easier in the project workflow. Reading through and fixing bugs in someone else&#8217;s code, less conflicts will occur when merging branches and the speed at which new features can be added are all fringe benefits.</p>
<p>As Jon said: &#8220;It helps with everything from readability to quality control and especially helps a team become that much more cohesive.&#8221; So, do it.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/code-style-guides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interview with GitHub team member Scott Chacon</title>
		<link>http://cdevroe.com/links/interview-github-chacon/</link>
		<comments>http://cdevroe.com/links/interview-github-chacon/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 15:56:25 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[scott chacon]]></category>
		<category><![CDATA[source control]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=3723</guid>
		<description><![CDATA[I was digging through this interview of GitHub developer Scott Chacon trying to find the most quoatable portion to paste here in hopes that you&#8217;d follow the link to the interview to read it. The fact is, though, the entire interview is dripping with awesome. Read it. /via Simon Willison.]]></description>
			<content:encoded><![CDATA[<p>I was digging through <a href="http://thegeektalk.com/interviews/scott-chacon">this interview of GitHub developer Scott Chacon</a> trying to find the most quoatable portion to paste here in hopes that you&#8217;d follow the link to the interview to read it. The fact is, though, the entire interview is dripping with awesome. Read it.</p>
<p>/via <a href="http://simonwillison.net/2010/Feb/22/rcorg/">Simon Willison</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/interview-github-chacon/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>Tumblr&#8217;s Twitter API</title>
		<link>http://cdevroe.com/links/tumblrs-twitter-api/</link>
		<comments>http://cdevroe.com/links/tumblrs-twitter-api/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 14:49:00 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tumblr]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=3358</guid>
		<description><![CDATA[Hot on the heels of WordPress&#8217; Twitter API Tumblr has announced their own Twitter-like API for reading and writing to Tumblogs. I love that they came right out and said that they were inspired by WordPress&#8217; move.]]></description>
			<content:encoded><![CDATA[<p>Hot on the heels of <a href="http://cdevroe.com/links/wordpress-twitter-api/">WordPress&#8217; Twitter API</a> Tumblr has <a href="http://staff.tumblr.com/post/287703110/api">announced their own Twitter-like API</a> for reading and writing to Tumblogs.</p>
<p>I love that they came right out and said that they were inspired by WordPress&#8217; move.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/tumblrs-twitter-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress&#8217; Twitter API</title>
		<link>http://cdevroe.com/links/wordpress-twitter-api/</link>
		<comments>http://cdevroe.com/links/wordpress-twitter-api/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 14:43:51 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress.com]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=3356</guid>
		<description><![CDATA[WordPress.com, to be specific, now has an API that mirrors the Twitter API. This effectively allows any Twitter client, such as Tweetie or Hahlo, to read and write to WordPress.com powered blogs only by changing their API endpoint. Hopefully this feature will be available via a plugin sometime in the near future? /via Tony Schneider.]]></description>
			<content:encoded><![CDATA[<p><a href="http://wordpress.com/">WordPress.com</a>, to be specific, now has <a href="http://en.blog.wordpress.com/2009/12/12/twitter-api/">an API that mirrors the Twitter API</a>. This effectively allows any Twitter client, such as <a href="http://www.atebits.com/">Tweetie</a> or <a href="http://blog.hahlo.com/">Hahlo</a>, to read and write to WordPress.com powered blogs only by changing their API endpoint.</p>
<p>Hopefully this feature will be available via a plugin sometime in the near future?</p>
<p>/via <a href="http://toni.org/2009/12/12/wordpress-com-supports-the-twitter-api/">Tony Schneider</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/wordpress-twitter-api/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>Pie Guy, a free web game for iPhone</title>
		<link>http://cdevroe.com/links/pie-guy/</link>
		<comments>http://cdevroe.com/links/pie-guy/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 15:55:12 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[neven mrgan]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[pie guy]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web app]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=3265</guid>
		<description><![CDATA[Pie Guy is a fun game for your iPhone that is free, is installed via the Web (it is a fancy Web page), works offline, and is actually a lot of fun (works sorta like Pac-Man). Neven Mrgan, the developer of Pie Guy, built the game &#8211; not only so people can enjoy the game [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://media.tumblr.com/tumblr_ktn1zxjK1U1qz50x3.png" width="460" alt="Pie Guy, for iPhone." /></p>
<p><a href="http://mrgan.tumblr.com/post/257187093/pie-guy">Pie Guy</a> is a fun game for your iPhone that is free, is installed via the Web (it is a fancy Web page), works offline, and is actually a lot of fun (works sorta like Pac-Man).</p>
<p><a href="http://mrgan.tumblr.com/">Neven Mrgan</a>, the developer of Pie Guy, built the game &#8211; not only so people can enjoy the game &#8211; but to help show what is possible via HTML, JavaScript, and CSS for building games or applications on the iPhone using the Web browser rather than native cocoa technologies.</p>
<blockquote><p>&#8220;If you find Pie Guy a fun game to play, well thatâ€™s grand.</p>
<p>But, I hope Pie Guy will also be an opportunity for the code-savvy among you to learn a trick or two about making serious web apps for the iPhone. Just grab my source code and tweak it. Iâ€™m not talking about just a fancied-up webpage here; this is a fullscreen game, with fast gameplay and responsive touch controls. I canâ€™t wait to see what a better programmer does with this stuff (itâ€™s not hard to program better than me!)&#8221;</p></blockquote>
<p>A very notable thing to do and I hope a ton of talented developers take him up on it. I&#8217;d love to see stuff like <a href="http://jquery.com/">jQuery</a> for iPhone games/apps (which I&#8217;m sure exists in some form or another).</p>
<p>Also of note: As Neven pointed out in his announcement post &#8211; don&#8217;t try this on your first generation iPhones. This game only performs well on an iPhone 3GS.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/pie-guy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wrap text around an image with jQSlickWrap</title>
		<link>http://cdevroe.com/links/jqslickwrap/</link>
		<comments>http://cdevroe.com/links/jqslickwrap/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 13:55:24 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jqslickwrap]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=3213</guid>
		<description><![CDATA[Neat jQuery plugin that makes it dead simple to wrap text around an image. The key point here is that it will actually wrap the text around the contents of the image, not just the bounding box of an image. /via Simon Willison.]]></description>
			<content:encoded><![CDATA[<p>Neat <a href="http://jquery.com/">jQuery</a> plugin that makes it dead simple to <a href="http://jwf.us/projects/jQSlickWrap/">wrap text around an image</a>. The key point here is that it will actually wrap the text around the contents of the image, not just the bounding box of an image.</p>
<p>/via <a href="http://simonwillison.net/2009/Nov/23/jqslickwrap/">Simon Willison</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/jqslickwrap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chrome&#8217;s view source &#8220;oddity&#8221;</title>
		<link>http://cdevroe.com/notes/chrome-viewsource-oddity/</link>
		<comments>http://cdevroe.com/notes/chrome-viewsource-oddity/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 21:02:53 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[view source]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=3118</guid>
		<description><![CDATA[Viewing the source of a page on Google Chrome is, for the most part, a terrific experience. Chrome supports syntax highlighting of the underlying code of a page making it much more readable for us geeks while we look under the hood. However, something I&#8217;ve run into of late is that it doesn&#8217;t work very [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p><a href="http://img.skitch.com/20091117-cms4nqd3eugq2m7ms72x2877bh.jpg"><img alt="" src="http://img.skitch.com/20091117-cms4nqd3eugq2m7ms72x2877bh.jpg" title="The source of cdevroe.com/about/ in Google Chrome for Mac." class="alignnone" width="480" /></a></p>
<p>Viewing the source of a page on <a href="http://google.com/chrome/">Google Chrome</a> is, for the most part, a terrific experience. Chrome supports syntax highlighting of the underlying code of a page making it much more readable for us geeks while we look under the hood.</p>
<p>However, something I&#8217;ve run into of late is that it doesn&#8217;t work very well for dynamically generated pages. The issue seems to be that since Google Chrome opens a new tab to view the source of the current URL that you&#8217;re on, it actually &#8220;reloads&#8221; that page with new session data, as well as ditching all of the POST variables you may have sent to it. This causes some confusion and may lead to head scratching (as it did for me).</p>
<p>I don&#8217;t know of a work around currently but knowing this may save you some time.</p>
<p>Side note: I&#8217;m loving <a href="http://google.com/chrome/">Google Chrome for Mac</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/chrome-viewsource-oddity/feed/</wfw:commentRss>
		<slash:comments>0</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>A few tips to good API design</title>
		<link>http://cdevroe.com/notes/api-tips/</link>
		<comments>http://cdevroe.com/notes/api-tips/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 14:51:30 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[api design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[viddler]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=2943</guid>
		<description><![CDATA[Good API design is essential to an API being used. The design of an API can be extremely daunting when you are just starting out with a new service so here are a few tips that can help you along the way to build a good, usable API. Use your own API. The very best [...]]]></description>
			<content:encoded><![CDATA[<p>Good API design is essential to an API being used. The design of an API can be extremely daunting when you are just starting out with a new service so here are a few tips that can help you along the way to build a good, usable API.</p>
<div class="postImage-right"><img src="http://cdevroe.com/wp-content/mobile/photos/2009/10/IMG_3505.jpg" alt="Fire hydrant" title="Fire hydrant" width="160" /></div>
<ul>
<li><strong>Use your own API.</strong> The very best way to make sure your API is equipped with everything one would need to build something of value is to use it yourself. You will find that by using your own API to build your product you will work out a lot of kinks that would otherwise frustrate third-party developers.</li>
<li><strong>Remove as many learning curves as possible.</strong> An example of this is to provide <em>more</em> documentation than you really need to by writing tutorials and not just flat documents. Code examples go a long way too. Provide &#8220;wrappers&#8221; or frameworks in common languages that help third party developers to &#8220;plug and play&#8221; with your API.</li>
<li><strong>Follow standard conventions.</strong> This is related to removing learning curves, but you do not go against the grain. Try to utilize as many standards as possible. Chances are any third party developers that use your API will already be familiar with much of what you&#8217;re doing.</li>
<li><strong>Support multiple response types.</strong> Do not assume that third party developers will only use the response type that you prefer. Supporting XML, JSON, PHP, and others is not too much more work and yet has a measurable impact on your APIs adoption.</li>
<li><strong>Create and keep your own conventions.</strong> If you have one way to do things try to stick with it all the way through your API. An example of this would be how Twitter recently added a Lists API to their API and used the very same convention of interacting with that API as they do with accounts. This makes integration of new features dead simple and <a href="http://www.scripting.com/stories/2009/10/25/goodApiDesignAtTwitter.html">it will be appreciated</a>.</li>
<li><strong>Add some brains!</strong> If there are common actions that must be taken by all third party developers to interact with your API try to build those actions into the API. A good example of this is <a href="http://code.flickr.com/blog/2009/07/06/extraextraextra/">Flickr&#8217;s support for machine tags</a>. Although a third party developer could do all of the work on their end to work with namespaces, predicates, and ultimately the values they are looking for &#8211; Flickr makes it easy by doing all of that work on the server-side. Taking the most common actions and rolling them back into the API will slowly build tremendous value in your API.</li>
<li><strong>Open source as much code as you can.</strong> If you build any tools, frameworks, testing applications, products, or anything that uses your API &#8211; try to release that stuff as open source. This will help any new third parties to be able to see real examples of products that use your API. It would also be a good idea to promote open source projects to use your API as well so that the entire development community that you build can benefit.</li>
<li><strong>Communicate with those using your API.</strong> Give the developers a clear path to communicate with you about your API, their applications, or anything they may need to get their jobs done. You will learn a lot about what you are lacking that you may have never thought of.</li>
<li><strong>Drink a lot of caffeine.</strong></li>
</ul>
<p>These are just a few tips that I&#8217;ve learned in working with <a href="http://viddler.com/">Viddler</a>&#8216;s development team to build <a href="http://developers.viddler.com/">our API</a>. We&#8217;re currently working on the next version of our API, dubbed version 2, and we&#8217;ll be making massive improvements to the way that the API works, is documented, and how we use it internally. We&#8217;ve learned a lot over the last few years and we&#8217;re taking all of the tips above and everything we&#8217;ve learned from our development community to build what we think is a much more solid offering.</p>
<p>I hope that if you are building an API you can learn from our experience, our failures, and our successes (and I&#8217;ll try to share more of them here).  If you have anything you&#8217;d like to add about good API design please do so in the comments.</p>
<p><small>The photo of the fire hydrant has nothing to do with this post but I liked it. It is one from <a href="http://cdevroe.com/photos/lincolnton-nc/">my Lincolnton, North Carolina photo set</a>.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/api-tips/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The perfect Git workflow by Kyle Slattery</title>
		<link>http://cdevroe.com/links/git-workflow-slattery/</link>
		<comments>http://cdevroe.com/links/git-workflow-slattery/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 12:50:06 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[kyle slattery]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[source control]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=2927</guid>
		<description><![CDATA[The way Kyle talks about Git is much the same as I talk about cookies. Sort of makes me want to grab a tall glass of milk and dive into Git. Here is his perfect Git workflow for a one person project.]]></description>
			<content:encoded><![CDATA[<p>The way Kyle talks about Git is much the same as I talk about cookies. Sort of makes me want to grab a tall glass of milk and dive into Git. Here is <a href="http://kyleslattery.com/notebook/entries/the-perfect-git-workflow-for-a-one-person-project">his perfect Git workflow for a one person project</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/git-workflow-slattery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WPAPI.org &#8211; A stats API for WordPress.org hosted plugins and themes</title>
		<link>http://cdevroe.com/links/wpapi-org/</link>
		<comments>http://cdevroe.com/links/wpapi-org/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 01:01:55 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[dean robinson]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress.org]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=2907</guid>
		<description><![CDATA[WPAPI.org, the brain-child of Dean Robinson (who has been mentioned a few times here on First Initial, Last Name), is an easy to use stats API for plugins and themes hosted on WordPress.org. Simple idea, perfectly executed.]]></description>
			<content:encoded><![CDATA[<p><a href="http://wpapi.org/">WPAPI.org</a>, the brain-child of <a href="http://deanjrobinson.com/">Dean Robinson</a> (who has been <a href="http://cdevroe.com/?s=dean+robinson">mentioned a few times here on First Initial, Last Name</a>), is an easy to use stats API for plugins and themes hosted on WordPress.org. Simple idea, perfectly executed.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/wpapi-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dive Into HTML5 &#8211; Video on the Web</title>
		<link>http://cdevroe.com/links/html5-video/</link>
		<comments>http://cdevroe.com/links/html5-video/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 00:30:17 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[dive into html5]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mark pilgrim]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web-development]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=2901</guid>
		<description><![CDATA[The much talked about &#60;video&#62; tag in the HTML5 spec is, obviously, of interest to me. I mean, I work at Viddler after all. However, even if I didn&#8217;t &#8211; I&#8217;d still tell all of you &#8211; especially those of you that are Web developers &#8211; to take a look at Mark Pilgrim&#8216;s amazingly awesome [...]]]></description>
			<content:encoded><![CDATA[<p>The much talked about <code>&lt;video&gt;</code> tag in <a href="http://dev.w3.org/html5/spec/Overview.html">the HTML5 spec</a> is, obviously, of interest to me. I mean, I work at <a href="http://viddler.com/">Viddler</a> after all. However, even if I didn&#8217;t &#8211; I&#8217;d still tell all of you &#8211; especially those of you that are Web developers &#8211; to take a look at <a href="http://diveintomark.org/">Mark Pilgrim</a>&#8216;s <a href="http://diveintohtml5.org/video.html">amazingly awesome chapter about it</a> from his upcoming book; <a href="http://diveintohtml5.org/">Dive Into HTML5</a>.</p>
<p>Even though he&#8217;s publishing all of these &#8220;drafts&#8221; on the site for free, I will be getting the paper version when it is published.</p>
<p>Via <a href="http://daringfireball.net/linked/2009/10/16/pilgrim-video-html5">John Gruber</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/html5-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zen-coding, snippets for the rest of us</title>
		<link>http://cdevroe.com/links/zencoding/</link>
		<comments>http://cdevroe.com/links/zencoding/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 13:50:52 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[coda]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[jonathan christopher]]></category>
		<category><![CDATA[monday by noon]]></category>
		<category><![CDATA[panic]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[snippets]]></category>
		<category><![CDATA[textmate]]></category>
		<category><![CDATA[zen-coding]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=2725</guid>
		<description><![CDATA[Jonathan Christopher of Monday By Noon talks about snippets and zen-coding, a &#8220;Set of plugins for HTML and CSS hi-speed coding&#8221;, in a nice piece about his experience with same. I&#8217;ve been dabbling with zen-coding plugins with Coda for about a week. Loving it.]]></description>
			<content:encoded><![CDATA[<p>Jonathan Christopher of <a href="http://mondaybynoon.com/">Monday By Noon</a> <a href="http://mondaybynoon.com/2009/08/17/the-art-of-zen-coding-bringing-snippets-to-a-new-level/">talks about snippets and zen-coding</a>, a &#8220;Set of plugins for HTML and CSS hi-speed coding&#8221;, in a nice piece about his experience with same.</p>
<p>I&#8217;ve been dabbling with <a href="http://code.google.com/p/zen-coding/">zen-coding plugins</a> with <a href="http://panic.com/coda/">Coda</a> for about a week. Loving it.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/zencoding/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>These aren&#8217;t the droids you&#8217;re looking for URLs</title>
		<link>http://cdevroe.com/notes/no-droids-here/</link>
		<comments>http://cdevroe.com/notes/no-droids-here/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 14:45:29 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[404]]></category>
		<category><![CDATA[best-practices]]></category>
		<category><![CDATA[error pages]]></category>
		<category><![CDATA[kyle slattery]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[urls]]></category>
		<category><![CDATA[web site]]></category>
		<category><![CDATA[web-development]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=2668</guid>
		<description><![CDATA[Page not found. Error 404. Those of us that build Web sites for a living have all had to deal with creating these pages. Planning for people to stumble across a URL that we don&#8217;t plan on is fairly important to the user&#8217;s experience on your site. However, many 404 pages could be done better. [...]]]></description>
			<content:encoded><![CDATA[<p>Page not found. Error 404. Those of us that build Web sites for a living have all had to deal with creating these pages. Planning for people to stumble across a URL that we don&#8217;t plan on is fairly important to the user&#8217;s experience on your site. However, many 404 pages could be done better. Today we&#8217;re going to focus on one use case &#8211; the uses when you know what the user is actually looking for Â you just know you don&#8217;t have it.</p>
<p>Fellow Viddler and friend <a href="http://kyleslattery.com">Kyle Slattery</a> is reworking his tag search pages. He&#8217;s created a really nice way to filter through the various types of content on his site based on tag search results. For instance, going to <a href="http://kyleslattery.com/notebook/tags/colindevroe">a tag search for my name</a> will result in a few photos and a few links that he tagged with my name. You can then filter those results to <a href="http://kyleslattery.com/notebook/photos/tags/colindevroe">only show you the photos</a> or <a href="http://kyleslattery.com/notebook/links/tags/colindevroe">only the links</a>.</p>
<p>But what if you hack the URL and <a href="http://kyleslattery.com/notebook/links/tags/asdf">search for a tag that shows no results</a>? At current Kyle shows an error page. However, there was no error. His Web site should never link you to a page that doesn&#8217;t return any results (<a href="http://kyleslattery.com/notebook/entries/tags/colindevroe">though it does right now</a>). So how did the person end up here? They may have done a search, they may have hacked the URL, or someone else linked them to this page. Which ever way they ended up on that URL &#8211; there is still no reason to show an error.</p>
<p>This brings me to why I call these types of URLs &#8220;These aren&#8217;t the droids you&#8217;re looking for URLs&#8221;. These are URLs where you know what the person is looking for (droids) you just don&#8217;t have any. In the example URL I use above, a tag search for my name filtered by entries, Kyle does a good job of stating that there are no entries tagged with my name. This is much better than showing an error. In the other example, of a tag search that ultimately returns no results, he should do something very similar. This isn&#8217;t an error. There is just no content on his site that is tagged with &#8216;asdf&#8217;.</p>
<p>One of the suggestions I gave to him was to do a search through his own tags and try to see if, perhaps, they&#8217;ve mistyped the tag. I&#8217;m not sure what &#8216;asdf&#8217; could have been, maybe sad? Or, what if someone spells my name with two Ls? This isn&#8217;t easy to program against &#8211; but there is an easier option that he could set up. Offer a search box with the tag that they entered already filled in and show a message of &#8220;Sorry, but I have nothing tagged with &#8216;asdf&#8217;. Maybe you misspelled what you&#8217;re looking for?&#8221;</p>
<p>My site isn&#8217;t a good example of best practices here. It used to be. But I had to hack WordPress to bits to get it to work last time and I&#8217;ve since upgraded WordPress too many times for those old hacks to work. However, if you&#8217;re looking for good examples &#8211; I&#8217;m sure Kyle&#8217;s site will end up being a pretty good example soon enough.</p>
<p>Have you seen any really good examples of this?</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/no-droids-here/feed/</wfw:commentRss>
		<slash:comments>1</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>
	</channel>
</rss>

