<?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; development</title>
	<atom:link href="http://cdevroe.com/tag/development/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>Adobe Shadow</title>
		<link>http://cdevroe.com/links/adobe-shadow/</link>
		<comments>http://cdevroe.com/links/adobe-shadow/#comments</comments>
		<pubDate>Thu, 17 May 2012 19:13:13 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[devices]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[shadow]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5945</guid>
		<description><![CDATA[Interesting project by Adobe &#8211; Shadow is a way to share your current browser&#8217;s location with a bunch of different devices. In the demo embedded here it shows how easily it would make testing a site layout or web app on all of your devices at once. Pretty slick. &#160;]]></description>
			<content:encoded><![CDATA[<p>Interesting project by Adobe &#8211; <a href="http://labs.adobe.com/technologies/shadow/">Shadow</a> is a way to share your current browser&#8217;s location with a bunch of different devices. <a href="http://blogs.adobe.com/cantrell/archives/2012/05/a-complete-tour-of-adobe-shadow-in-10-minutes-including-integration-with-livereload.html">In the demo embedded here</a> it shows how easily it would make testing a site layout or web app on all of your devices at once. Pretty slick.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/adobe-shadow/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>Loren Brichter on The Geek Talk</title>
		<link>http://cdevroe.com/links/brichter-geek-talk/</link>
		<comments>http://cdevroe.com/links/brichter-geek-talk/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 20:29:40 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[atebits]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[loren brichter]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[the geek talk]]></category>
		<category><![CDATA[tweetie]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5768</guid>
		<description><![CDATA[Loren Brichter interviewed for The Geek Talk. I did some pretty nutso stuff with that little turtle. I wonder what he&#8217;s been up to.]]></description>
			<content:encoded><![CDATA[<p><a href="http://thegeektalk.com/interviews/loren-brichter/">Loren Brichter interviewed for The Geek Talk</a>.</p>
<blockquote><p>I did some pretty nutso stuff with that little turtle.</p></blockquote>
<p>I wonder what he&#8217;s been up to.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/brichter-geek-talk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why I&#8217;m building Nilai</title>
		<link>http://cdevroe.com/notes/why-nilai/</link>
		<comments>http://cdevroe.com/notes/why-nilai/#comments</comments>
		<pubDate>Sun, 18 Mar 2012 23:02:44 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[bookmarking]]></category>
		<category><![CDATA[delicious]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[iop]]></category>
		<category><![CDATA[nilai]]></category>
		<category><![CDATA[pinboard]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5737</guid>
		<description><![CDATA[&#160; I&#8217;ve got a new nights and weekends project and its name is Nilai. Nilai is a simple bookmarking service and over the last few weeks I&#8217;ve been having a lot of fun working on it in my spare time. In fact, I have found it so valuable to me that it is now my [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-5738" title="Nilai logo" src="http://cdevroe.com/wp-content/mobile/photos/2012/03/nilai-logo.jpeg" alt="" width="400" height="400" /></p>
<p>&nbsp;</p>
<p>I&#8217;ve got a new nights and weekends project and its name is <a href="http://nilai.co">Nilai</a>. Nilai is a simple bookmarking service and over the last few weeks I&#8217;ve been having a lot of fun working on it in my spare time. In fact, I have found it so valuable to me that it is now my homepage on my Mac, my iPad, and my iPhone.</p>
<p>My father was born in Bandung, Java, Indonesia so I thought it&#8217;d be cool to name the service an Indonesian word. Nilai is pronounced (as best as I can tell) Nee&#8217;-lie. It is an Indonesian word meaning mark. I think the literal translation is something more akin to &#8220;logo&#8221; but I&#8217;m taking liberty with the word a bit.</p>
<p>I&#8217;m building Nilai for the same reason many developers begin working on something new; to scratch my own itch. I was a Delicious user back when the URL still had a few more dots in it. I was a Magnolia user back when OpenID was still a buzzword. I have always needed a place to keep some bookmarks and easily access them later. And, while those needs are slightly different today than they were then, those services would still be useful to me today. If only they were around.</p>
<p>But those services, or at least the services I knew and liked at the time, are gone now. And so are many, many others. Gowalla. Brightkite. Magnolia. Friendfeed. The list of services that I once used that are now gone seems endless. And the pile keeps getting bigger.</p>
<p>The tipping point for me, I suppose, was watching Bret Victor&#8217;s excellent presentation <a href="https://vimeo.com/36579366">Inventing on Principal</a>. If you are someone that builds things I wholeheartedly recommend that you watch his presentation. In it he suggests finding a principal to build by. Well, I&#8217;ve found mine.</p>
<p>I&#8217;m going to build valuable, reliable, sustainable web services that will last forever.</p>
<p>Nilai is the first service I&#8217;ll be building but it won&#8217;t be the last. I have several services that I would love to use on a daily basis that I&#8217;ve all but stopped using because I&#8217;m afraid they&#8217;ll be bought out, run into the ground, or shutdown. For now I&#8217;ll keep that list under my hat and &#8211; for at least the rest of this calendar year &#8211; I&#8217;ll be working on Nilai when I can find the time.</p>
<p>Yes, I&#8217;m charging for Nilai right from the start. I want Nilai to still be up, running, and useful in 2022 and beyond. I hope that others will too and be willing to support that effort. It won&#8217;t be a feature-bloated service with apps on every single platform or a few hundred employees &#8211; but I think that is actually a good thing. The features that I put into Nilai will have to be valuable enough for me to want to support them for the life of the service. I&#8217;ll get more into the features I plan Nilai having in an upcoming post.</p>
<p>One question that will inevitably arise is that of competition. Yes, there are going to be competitors to every single service I build. And some of them will be very good. However, my thoughts on competition are much different than many. For the last 5+ years I&#8217;ve been very happily employed by Viddler. Viddler is an online video platform with competition from YouTube, Brightcove and other services both free and paid yet we continue to hire people, make money, and grow. The Internet is not a single street in which competition is so fierce that two competing services can only compete on price. Software is so nuanced that any differentiator, no matter how small, is enough to carve out a niche that makes building the service worthwhile.</p>
<p>If you&#8217;re looking for a large community with a huge network effect, maybe you could use the new Delicious. If you&#8217;re looking for a much more full-featured bookmarking service from the start, perhaps you could try Pinboard. I&#8217;ve never used either of these services but both seem to come recommended by their respective communities.</p>
<p>But I&#8217;m not trying to build Delicious or Pinboard. I&#8217;m building a bookmarking service that I would use and that I plan to use forever. I&#8217;m hoping that a few people will want to use it too and make suggestions on how it can improve along the way. If you want to help out by supporting the project and by making suggestions; <a href="http://nilai.co">sign up to Nilai</a> and tell someone else about it too.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/why-nilai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Colourmod &#8211; A color picker Dashboard widget for Mac OS X</title>
		<link>http://cdevroe.com/notes/colourmod/</link>
		<comments>http://cdevroe.com/notes/colourmod/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 03:15:45 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[color picker]]></category>
		<category><![CDATA[colourmod]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[hexadecimal]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[mac-os-x]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5657</guid>
		<description><![CDATA[This Dashboard widget post (see the others) is more for developers and designers than the average person. Colourmod is a Dashboard widget for Mac OS X that you&#8217;ll end up using much more than you think you would. I&#8217;m not a designer but as someone who fiddles around on the web I find myself in [...]]]></description>
			<content:encoded><![CDATA[<p>This Dashboard widget post (<a href="http://cdevroe.com/tag/dashboard/">see the others</a>) is more for developers and designers than the average person.</p>
<p><img class="alignright  wp-image-5658" title="Colourmod Screenshot" src="http://cdevroe.com/wp-content/mobile/photos/2012/01/37281-shot.jpeg" alt="" width="220" /></p>
<p><a href="http://colourmod.com/dashboard/">Colourmod</a> is a Dashboard widget for Mac OS X that you&#8217;ll end up using much more than you think you would. I&#8217;m not a designer but as someone who fiddles around on the web I find myself in need of a hexadecimal color code from time-to-time. And when I do, I use Colourmod.</p>
<p>There are a few ways that I find myself using Colourmod to find the color I&#8217;m looking for. The first, and perhaps most obvious way, is to drag the &#8220;blue dot&#8221; color picker around the main color well and find the color I want making subtle adjustments by using the slider. The second, is to manually enter in the hexadecimal color code that I&#8217;m currently tweaking and make small changes until I get exactly what I want.</p>
<p>One nice feature is the blue arrow that will quickly copy the current color code and place that value into your clipboard. This makes finding, selecting and copying a color code into your text editor very, very quick.</p>
<p>Feature suggestions? Sure. One thing I&#8217;d like to see is a single text area that gives the proper RGB color values for a color. Although Colourmod supplies these values they aren&#8217;t easily selected. I&#8217;d also like to see a much easier and more accurate way to use the color picker. It is very tough to make small changes especially to light gray colors.</p>
<p>Oh, and I&#8217;d ditch the &#8216;U&#8217; in Colourmod. But that&#8217;s just me.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/colourmod/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>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>This site makes, at most, 39 connections</title>
		<link>http://cdevroe.com/links/39-connections/</link>
		<comments>http://cdevroe.com/links/39-connections/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 17:34:32 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[connections]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[page load]]></category>
		<category><![CDATA[page speed]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=5424</guid>
		<description><![CDATA[In a recent tirade against what some are calling Shit-ass Websites (pardon my french I try to keep it clean &#8217;round here) there has been a bit of a backlash towards websites that make an overwhelming number of connections. Also, the size of the entire page load. This site makes, at most, 39 connections and [...]]]></description>
			<content:encoded><![CDATA[<p>In a recent tirade against what <a href="http://www.loopinsight.com/2011/11/30/shit-ass-websites/">some are calling Shit-ass Websites</a> (pardon my french I try to keep it clean &#8217;round here) there has been a bit of a backlash towards websites that make an overwhelming number of connections. Also, the size of the entire page load.</p>
<p>This site makes, at most, 39 connections and is, at most, 12Kb or so larger than<a href="http://cdevroe.com/category/photos/"> the largest photo I post</a>. Most of those 39 connections come from the WordPress plugin that I use to show the location in which I published the post. I&#8217;m thinking of disabling this plugin and if I did my site would go down to well under 12 connections.</p>
<p>This recent tirade is a good excuse to revisit the site(s) that you administer to see if you can cut some cruft.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/39-connections/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>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>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>There&#8217;s a new API in town at Viddler</title>
		<link>http://cdevroe.com/links/viddler-api-v2/</link>
		<comments>http://cdevroe.com/links/viddler-api-v2/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 17:55:03 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[bethlehem]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[kyle slattery]]></category>
		<category><![CDATA[pennsylvania]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4348</guid>
		<description><![CDATA[Or, the video in which my head explodes. For more information, see the Viddler developers page. Note: If you are using Google Reader you may not be able to see this video. The Reader team is dragging their feet on supporting Viddler&#8217;s latest embed code. Come on over to my site to see it.]]></description>
			<content:encoded><![CDATA[<p>Or, the video in which my head explodes.</p>
<p><!--[if IE]><object width="640" height="402" id="viddlerOuter-64e54b38" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="movie" value="http://www.viddler.com/player/64e54b38/"><param name="allowScriptAccess" value="always"><param name="allowNetworking" value="all"><param name="allowFullScreen" value="true"><param name="flashVars" value="f=1&#038;autoplay=f&#038;disablebranding=f"><object id="viddlerInner-64e54b38"><video id="viddlerVideo-64e54b38" src="http://www.viddler.com/file/64e54b38/html5mobile/" type="video/mp4" width="640" height="360" poster="http://www.viddler.com/thumbnail/64e54b38/" controls="controls"></video></object></object><![endif]--> <!--[if !IE]> <!--> <object width="640" height="402" id="viddlerOuter-64e54b38" type="application/x-shockwave-flash" data="http://www.viddler.com/player/64e54b38/"><param name="movie" value="http://www.viddler.com/player/64e54b38/"><param name="allowScriptAccess" value="always"><param name="allowNetworking" value="all"><param name="allowFullScreen" value="true"><param name="flashVars" value="f=1&#038;autoplay=f&#038;disablebranding=f"><object id="viddlerInner-64e54b38"> <video id="viddlerVideo-64e54b38" src="http://www.viddler.com/file/64e54b38/html5mobile/" type="video/mp4" width="640" height="360" poster="http://www.viddler.com/thumbnail/64e54b38/" controls="controls"></video> </object></object> <!--<![endif]--></p>
<p>For more information, see <a  href="http://developers.viddler.com/">the Viddler developers page</a>.</p>
<p>Note: If you are using Google Reader you may not be able to see this video. The Reader team is dragging their feet on supporting Viddler&#8217;s latest embed code. Come on over to my site to see it.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/viddler-api-v2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From the NFL to WordPress themes</title>
		<link>http://cdevroe.com/links/strojny-story/</link>
		<comments>http://cdevroe.com/links/strojny-story/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 13:57:25 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[drew strojny]]></category>
		<category><![CDATA[football]]></category>
		<category><![CDATA[nfl]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[the theme foundry]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=4154</guid>
		<description><![CDATA[Drew Strojny, former NFL player for the Eagles, Giants and Rams, had been moonlighting as a designer and open-source WordPress theme developer for years. The theme business, which is supported via support-membership-subscriptions (great business plan) is really taking off. Â So much so that he and his wife are doing that full time via The Theme [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.nfl.com/players/drewstrojny/profile?id=STR571124">Drew Strojny</a>, former NFL player for the Eagles, Giants and Rams, had been moonlighting as a designer and open-source <a href="http://wordpress.org/">WordPress</a> theme developer for years. The theme business, which is supported via support-membership-subscriptions (great business plan) is really taking off. Â So much so that he and his wife are doing that full time via <a href="http://thethemefoundry.com/">The Theme Foundry</a>.</p>
<p>Recently Drew <a href="http://thethemefoundry.com/blog/last-3-years/">wrote up the backstory</a> to how this all happened and it is a fantastic read.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/strojny-story/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>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>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>How to: Use the Viddler API with CodeIgniter</title>
		<link>http://cdevroe.com/links/how-to-use-the-viddler-api-with-codeigniter/</link>
		<comments>http://cdevroe.com/links/how-to-use-the-viddler-api-with-codeigniter/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 01:39:33 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpviddler]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[viddler api]]></category>

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

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

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

		<guid isPermaLink="false">http://cdevroe.com/?p=2378</guid>
		<description><![CDATA[We get this question a lot at Viddler: How can I add a progress bar to my uploads using the Viddler API? We&#8217;re always asked if this is something included in our API wrappers. Until now, it hasn&#8217;t been. That&#8217;s where phpViddlerUploadify comes in. This extension to phpViddler, our PHP wrapper for our API, makes [...]]]></description>
			<content:encoded><![CDATA[<p>We get this question a lot at <a href="http://viddler.com/">Viddler</a>: How can I add a progress bar to my uploads using the Viddler API? We&#8217;re always asked if this is something included in <a href="http://developers.viddler.com/projects/api-wrappers/">our API wrappers</a>. Until now, it hasn&#8217;t been. That&#8217;s where <a href="http://developers.viddler.com/projects/api-wrappers/phpviddler/uploadify/">phpViddlerUploadify</a> comes in. This extension to <a href="http://developers.viddler.com/projects/api-wrappers/phpviddler/">phpViddler</a>, our PHP wrapper for <a href="http://developers.viddler.com/documentation/api/">our API</a>, makes it pretty easy to use the open source JavaScript library <a href="http://jquery.com/">jQuery</a> and the extension <a href="http://uploadify.com/">Uploadify</a> to add progress indicators to your Viddler uploads.</p>
<p>Go forth, and hack!  Oh, and <a href="http://code.google.com/p/phpviddleruploadify/">its completely open source too</a>. (More on this later.)</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/phpviddleruploadify/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coda + Versions + Beanstalk = Drool</title>
		<link>http://cdevroe.com/links/code-versions-beanstalk/</link>
		<comments>http://cdevroe.com/links/code-versions-beanstalk/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 04:59:59 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[beanstalk]]></category>
		<category><![CDATA[coda]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[macintosh]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[robert palmer]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[tuaw]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[versions]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=1299</guid>
		<description><![CDATA[Quite possibly the easiest way to use version control on the Macintosh.]]></description>
			<content:encoded><![CDATA[<p>Robert Palmer, writing for <a href="http://tuaw.com/">TUAW</a>, writes &#8220;<a href="http://www.panic.com/coda/">Coda</a>Â is $99,Â <a href="http://versionsapp.com/">Versions</a>Â is free (while it&#8217;s in beta), andÂ <a href="http://beanstalkapp.com/">Beanstalk</a>Â starts at $15 per month (which is the plan I have). Put together, though, it&#8217;s a million-dollar solution.&#8221;</p>
<p>I couldn&#8217;t agree more. I&#8217;ve been using this solution for some time now &#8211; in fact, many of the <a href="http://viddler.com/">Viddler</a> team members have. It strikes an excellent balance between simplicity, ease of use, and efficiency to help us get our work done.</p>
<p>Source:Â <a href="http://www.tuaw.com/2008/10/24/friday-favorite-coda-versions-beanstalk/">Friday Favorite: Coda + Versions + Beanstalk</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/code-versions-beanstalk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Figuring out the proper dimensions to embed the Viddler player using JavaScript or PHP</title>
		<link>http://cdevroe.com/notes/viddler-embed/</link>
		<comments>http://cdevroe.com/notes/viddler-embed/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 04:33:43 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[oembed]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[video]]></category>

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

		<guid isPermaLink="false">http://cdevroe.com/?p=1089</guid>
		<description><![CDATA[John Nunemaker, of Ordered List, decided that Cabel Sasser's smooth zooming Javascript could use some improvement.]]></description>
			<content:encoded><![CDATA[<p>Earlier this year <a href="http://www.cabel.name/">Cabel Sasser</a>, co-founder and designer at the incredible software house <a href="http://panic.com/">Panic</a>, <a href="http://www.cabel.name/2008/02/fancyzoom-10.html">released</a> a &#8220;Smooth Javascript for Image Zooming For Your Web Pages&#8221;. The implementation was simple enough, worked really well, and had the desired outcome &#8211; which was the ability to &#8220;zoom&#8221; into images in a smooth, very Mac-like way.</p>
<p><a href="http://railstips.org/">John Nunemaker</a>, of <a href="http://orderedlist.com/">Ordered List</a>, decided that Cabel&#8217;s implementation of this effect could use some improvement. Â Not only was Cabel&#8217;s &#8220;built from scratch&#8221;, which means to say that he didn&#8217;t take advantage of any of the Javascript libraries that so many web application developers already have included in their projects, but it also relied on AJAX to load the frame&#8217;s contents.</p>
<p>What that means exactly, is that Cabel&#8217;s implementation retrieved the data for the &#8220;pop up&#8221; window the moment you clicked, whereas John&#8217;s actually loads all of the &#8220;pop up&#8221; window&#8217;s data that he needs on the initial page load. Â Obviously both of these methodologies have their place, their pros, and their cons, but it is all about choice, isn&#8217;t it?</p>
<p>The one thing I do like about John&#8217;s implementation over Cabel&#8217;s is that it allows for just about anything to be loaded in the &#8220;pop up&#8221; window rather than only images. Â But this is only a small distinction in that Cabel&#8217;s code could be easily modified to allow the very same thing.</p>
<p>Now, if someone would take the time to simply port this to jQuery so that I don&#8217;t have to&#8230;</p>
<p>Source: <a href="http://orderedlist.com/articles/fancyzoom-meet-prototype">FancyZoom meet Prototype</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/fancyzoom-prototype/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The new Kyle Slattery.com</title>
		<link>http://cdevroe.com/links/kyleslatterycom/</link>
		<comments>http://cdevroe.com/links/kyleslatterycom/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 00:26:13 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[kyle slattery]]></category>
		<category><![CDATA[personal site]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[suggestions]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=961</guid>
		<description><![CDATA[My friend Kyle has a new site. It's purrdy.]]></description>
			<content:encoded><![CDATA[<p>My friend and <a href="http://viddler.com/">Viddler</a> team member <a href="http://kyleslattery.com/">Kyle Slattery</a> recently relaunched his Web site. Â He explains his thoughts on the design and development <a href="http://kyleslattery.com/notebook/entries/a-fresh-start">in this post</a>, which got me to thinking. Â Having your own Web site is a truly awesome thing.</p>
<p>Especially on today&#8217;s Internet. I&#8217;ve had &#8220;my own site&#8221; for as long as I&#8217;ve ever been online.  It all started on some Geocities and Tripod powered sites in the mid-90s.  Then, when I switched from using AOL Â (read: When I finally realized AOL was not the Internet.), I used some shared space on Prodigy.net, my ISP at the time.  It wasn&#8217;t long before I discovered the world of Web development and purchased a domain (then called colinspage.com) for around $70 per year.</p>
<p>Fast forward about a year and a few of my friends put together a Star Wars related news site called thehutt.net. I didn&#8217;t help out too much with the design and development but I did write some for the site. Â It wasn&#8217;t long after that when I wanted to scratch my own itch and had my own blog. Â Which ended up turning towards <a href="http://theubergeeks.net/">theubergeeks.net</a>, and now I have <a href="http://cdevroe.com/">cdevroe.com</a>.</p>
<p>I think having your own Web site is a valuable thing, especially for those of us that work on the Web. Â It helps you stay in touch with what people are going through when they want to publish content online, edit some code, or even customize an open source project. Â There are countless lessons to be learned by having your own site to fiddle with.</p>
<p>Great work Kyle. I&#8217;ll check in on you and your site(s) in 14 years.</p>
<p>Source: <a href="http://kyleslattery.com/">Kyle Slattery.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/links/kyleslatterycom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brightkite&#8217;s smart &#8220;profile not found&#8221; pages</title>
		<link>http://cdevroe.com/notes/brightkite-404/</link>
		<comments>http://cdevroe.com/notes/brightkite-404/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 15:21:33 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[404]]></category>
		<category><![CDATA[best-practices]]></category>
		<category><![CDATA[brightkite]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[kyle slattery]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=933</guid>
		<description><![CDATA[Brightkite has a smart "profile not found" page.]]></description>
			<content:encoded><![CDATA[<p>For the unaware, a 404 page is a page you typically see when the page you&#8217;re trying to reach simply does not exist. Â In geek speak, 404 literally means &#8220;Page Not Found&#8221;. Â Here is <a href="http://cdevroe.com/not-a-page/">an example 404 page on my site</a>.</p>
<p>My 404 page consists of a simple message asking you to contact me to let me know that something went wrong. Â There are a lot of services that do much more than simply display a typical &#8220;Page Not Found&#8221; message, and today we&#8217;re going to look at <a href="http://brightkite.com/">Brightkite</a>&#8216;s &#8220;smart&#8221; &#8220;profile not found&#8221; pages.</p>
<p>Brightkite knows how their user&#8217;s are using the system. Â An example of this was brought to my attention by my coworker <a href="http://kyleslattery.com/">Kyle Slattery</a>. Â He told me about Brightkite&#8217;s ability to detect when a user does not exist on Brightkite, but may exist on <a href="http://twitter.com/">Twitter</a>.</p>
<p>Brightkite and Twitter share the same prefix for username detection, the @ symbol ((Other services, like <a href="http://pownce.com/">Pownce</a>, use the ! exclamation point.)). Â Since Brightkite knows that some people use their system as a geo-enabled Twitter client, like <a href="http://cdevroe.com/notes/fitting-brightkite/">I explained the other day</a>, sometimes you&#8217;ll find people &#8220;talking&#8221; to or about people that do not yet have a Brightkite account. Kyle gave me the example of the username <a href="http://brightkite.com/people/mikemangino">@mikemangino</a>. Â That username does not exist on Brightkite but <a href="http://twitter.com/mikemangino">it does on Twitter</a>.</p>
<p>Here is what the profile page looks like on Brightkite for this user.</p>
<p><img title="Brightkite - Not Found" src="http://cdevroe.com/wp-content/mobile/photos/2008/07/person-not-found.jpg" alt="" width="540" /></p>
<p>Rather than show <a href="http://brightkite.com/not-a-page">their typical 404 error page</a>, Brightkite asks if you are looking for the same username on Twitter, and even gives you the option to invite that person over to Brightkite. Â Kyle thought this was &#8220;brilliant&#8221;, and I do too. Â Kyle was wrong about one thing though; Brightkite&#8217;s &#8220;profile not found&#8221; page isn&#8217;t as smart as he might have thought. Â Here is <a href="http://brightkite.com/objects/30895ee97e2aad51f2ce01bd59bdaa4972b8e12c">what Kyle said</a>:</p>
<blockquote><p>&#8220;Brilliant, if you go to a user on BrightKite that exists on Twitter, but not on BK, there&#8217;s a link to invite them, not a 404.&#8221;</p></blockquote>
<p>I don&#8217;t think Kyle actually meant to say that Brightkite <em>detects</em> the user on Twitter, because <a href="http://brightkite.com/people/notaperson">they definitely do not</a>. Â But I just wanted to be sure it was clearly stated.</p>
<p>Brightkite&#8217;s &#8220;profile not found&#8221; page is smart enough to know that people are probably on that page because they clicked an @username to a Twitter account and not a Brightkite account. And that is indeed brilliant. Â It is a great example of howÂ Brightkite is continuously showing themselves to be &#8220;in touch&#8221; with how people use their system which makes Brightkite a joy to use.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/brightkite-404/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>About a million little things</title>
		<link>http://cdevroe.com/notes/cdevroe-1mlittle/</link>
		<comments>http://cdevroe.com/notes/cdevroe-1mlittle/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 19:13:06 +0000</pubDate>
		<dc:creator>Colin Devroe</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[cdevroe.com]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[updates]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://cdevroe.com/?p=904</guid>
		<description><![CDATA[More than a few updates to this site's theme.]]></description>
			<content:encoded><![CDATA[<p>I have been slowly making small adjustments to this site&#8217;s theme locally on my computer for weeks. Â Every now and then, as I&#8217;d find a bug or something that bugged me on the live site, I&#8217;d open <a href="http://panic.com/coda/">Coda</a>, make some adjustments, check them locally and save them for publishing later ((I&#8217;m a publish once and fix a ton of things kinda guy.)).</p>
<p>These changes are really, really small. Â Unless you come to this site on a daily basis (you do, don&#8217;t you?) you may not notice any of them. Â A pixel here, a color adjustment there, an array sorting issue here, a speed improvement there. But these changes were mounting up. Â Even browsing my site myself, looking for old entries, I became annoyed with some of the existing bugs because I knew I had already fixed them on my local install.</p>
<p>So today, while I&#8217;m running out to spend the weekend in The Finger Lakes region of New York for a wine festival, I published these &#8220;little things&#8221; to the live site. Â I wish there was a way I could calculate the changes (perhaps I should be using Subversion or something), but my guess would be somewhere in the hundreds. Â I still have some things that I&#8217;d love to get around to adjusting, but they&#8217;ll have to wait for the next update.</p>
<p>So, if you&#8217;re feeling adventurous, go ahead and <a href="http://cdevroe.com/">poke around</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cdevroe.com/notes/cdevroe-1mlittle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

