<?xml version="1.0" encoding="utf-8"?>
<!-- generator="wordpress/2.1.2" -->
<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/"
	>

<channel>
	<title>Professional PHP</title>
	<link>http://www.procata.com/blog</link>
	<description>PHP Programming, Web Development, PHP Advocacy and PHP Best Practices.</description>
	<pubDate>Mon, 12 May 2008 05:04:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.2</generator>
	<language>en</language>
			<item>
		<title>Sarah Snow Stever</title>
		<link>http://www.procata.com/blog/archives/2007/11/23/sarah-snow-stever/</link>
		<comments>http://www.procata.com/blog/archives/2007/11/23/sarah-snow-stever/#comments</comments>
		<pubDate>Sat, 24 Nov 2007 06:36:04 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/archives/2007/11/23/sarah-snow-stever/</guid>
		<description><![CDATA[
I am very sad.  Two weeks ago, my cousin Sarah had a stroke and died.  She was 35, two years younger than me.
As kids, Sarah and I, (along with her sister Rachel) would spend weeks in the summer staying at my grandparents house, playing and doing the things that ten year olds do [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.procata.com/blog/wp-content/uploads/2007/11/sarah-sm.jpg' title='Sarah'><img src='http://www.procata.com/blog/wp-content/uploads/2007/11/sarah-sm.jpg' alt='Sarah' /></a></p>
<p>I am very sad.  Two weeks ago, my cousin Sarah had a stroke and died.  She was 35, two years younger than me.</p>
<p>As kids, Sarah and I, (along with her sister Rachel) would spend weeks in the summer staying at my grandparents house, playing and doing the things that ten year olds do on a farm.  We sat around the campfire at family reunions.  We played cards and games, talked and argued.  I always looked forward to seeing all my cousins at holidays and family gatherings, but Sarah and Rachel were special then because they were closer to my age.</p>
<p>As adults, Sarah and I also did stuff together on occasion.  We still sat around the campfire at the family reunions and visited during the holidays.  But, we also went to bars and restaurants, Sarah always knew the best bars.  We went to Cedar Point and shared an automobile accident.  She would cut my hair and I would fix her computer. But mostly, we just talked.  Sarah was just plain easy to talk to and always interesting.</p>
<p>In recent years Sarah moved to Atlanta to build a life for herself there.  She opened a salon there and infused it with her character and personality.  It was a place where she was at home and happy.  I&#8217;m sure her clients felt happy and at home there as well. (<a href="http://ashleywebb.blogspot.com/2007/11/sarah-snow-stever.html">A client  remarks on Sarah&#8217;s passing</a>)</p>
<p>But, the most important thing about her move to Atlanta was meeting her husband, Kevin there.  I&#8217;ve only met Kevin a few times, but the one thing that I know about him is that he made Sarah happy.</p>
<p>I haven&#8217;t seen Sarah as much in the last few years.  Atlanta is far from Michigan and she disliked flying.  She came to fewer and fewer holiday functions.  Despite her many invitations to visit Atlanta, I didn&#8217;t go.</p>
<p>That is until September, when I went to the php|works conference in Atlanta.  One of the reasons I wanted to go to the conference was to be able to see Sarah.  After the conference, I stayed with her for a couple days.</p>
<p>Sarah showed me her Salon and I could see how much she loved it.  She introduced me to the dogs that she saved.  We went out to eat and visited the local Atlanta attractions.  But mostly, we talked.  We talked about family, dating, kids and careers.  We talked about her writing, the gym she liked, the church she had joined and the things she wanted to do.</p>
<p>Sarah tried very hard to convince me to move to Atlanta.  I think she felt that all I needed to do was to move there and I would meet the love of my life and l could live there happily to the end of my days.  After all, she did.</p>
<p>There is so much that I still want to do with Sarah.  I feel like I&#8217;ve always taken it for granted that that she would be around for us to &#8220;do that later.&#8221;  I guess not.  I&#8217;ll miss Sarah.</p>
<p><a href="http://obits.mlive.com/AnnArbor/DeathNotices.asp?Page=Lifestory&#038;PersonId=97964436">Sarah&#8217;s obituary</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2007/11/23/sarah-snow-stever/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Michigan Taxes Graphic Design Services</title>
		<link>http://www.procata.com/blog/archives/2007/10/01/michigan-taxes-graphic-design-services/</link>
		<comments>http://www.procata.com/blog/archives/2007/10/01/michigan-taxes-graphic-design-services/#comments</comments>
		<pubDate>Mon, 01 Oct 2007 21:23:57 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/archives/2007/10/01/michigan-taxes-graphic-design-services/</guid>
		<description><![CDATA[The state of Michigan, in a bid to become the most confusing state to operate a business in, has passed a sales tax on a bizarrely  random selection of services.  These services include such illustrious professions as astrology services, social escort services, and graphic design services.
The enumerated list of taxable services (sec 3d) [...]]]></description>
			<content:encoded><![CDATA[<p>The state of Michigan, in a bid to become the most confusing state to operate a business in, has passed a sales tax on a bizarrely  random selection of services.  These services include such illustrious professions as astrology services, social escort services, and graphic design services.</p>
<p>The <a href="http://www.legislature.mi.gov/documents/2007-2008/billenrolled/House/pdf/2007-HNB-5198.pdf">enumerated list of taxable services</a> (sec 3d) (PDF) lists &#8220;Specialized design services, as described in NAICS industry group code 5414.&#8221;  The <a href="http://www.census.gov/epcd/naics02/def/NDEF541.HTM#N54143">5414 designation</a> includes &#8220;planning, designing, and managing the production of visual communication in order to convey specific messages or concepts, clarify complex information, or project visual identities. These services can include the design of printed materials, packaging, advertising, signage systems, and corporate identification (logos).&#8221;</p>
<p>Custom programming, web design and hosting services are not taxed (they have NCAIS codes outside of the enumerated ranges).  However, a service such as <a href="http://contests.sitepoint.com/categories/logo-design">logo design</a> would be taxable.</p>
<p>To do the right thing, as I understand it, and I am SO NOT A LAWYER&#8230;</p>
<p>A Michigan business offering a mix of services must collect the tax on the graphic design component of their services.</p>
<p>A graphic designer in Michigan must have a sales tax license and collect the tax as appropriate.</p>
<p>A Michigan based consumer of out of state graphic design services must report their graphic design purchases and pay the tax.</p>
<p>Meanwhile, <a href="http://www.wzzm13.com/news/news_article.aspx?storyid=79823">Michigan has the worst unemployment rate</a> in the nation and <a href="http://www.kauffman.org/kauffmanindex/">is the worst state for creating new businesses</a>.</p>
<p>I&#8217;m glad <a href="http://www.census.gov/epcd/naics02/def/ND541511.HTM">541511: Custom Programming Services</a> was spared from the tax.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2007/10/01/michigan-taxes-graphic-design-services/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ruby versus PHP or There and Back Again</title>
		<link>http://www.procata.com/blog/archives/2007/09/23/ruby-versus-php-or-there-and-back-again/</link>
		<comments>http://www.procata.com/blog/archives/2007/09/23/ruby-versus-php-or-there-and-back-again/#comments</comments>
		<pubDate>Sun, 23 Sep 2007 16:37:03 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/archives/2007/09/23/ruby-versus-php-or-there-and-back-again/</guid>
		<description><![CDATA[Well, I imagine that this opinion piece by Derick Silvers will cause some conversations: 7 reasons I switched back to PHP after 2 years on Rails.  The gist being that a big bang rewrite of an existing code base is always a risk and that Rails is optimized more for the greenfield case.  [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I imagine that this opinion piece by Derick Silvers will cause some conversations: <a href="http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html">7 reasons I switched back to PHP after 2 years on Rails</a>.  The gist being that a big bang rewrite of an existing code base is always a risk and that Rails is optimized more for the greenfield case.  He talks about the beauty and power of coding in native SQL instead of database abstraction layers.  I am sympathetic to that idea.  He mentions hosting in that PHP is small and fast.  To which I would add widely available and well known.  He asks</p>
<blockquote><p>IS THERE ANYTHING RAILS/RUBY CAN DO THAT PHP CAN&#8217;T DO?</p></blockquote>
<p>And answers No with the comment</p>
<blockquote><p>&#8230;when I took a real emotionless non-prejudiced look at it, I realized the language didn&#8217;t matter that much.</p></blockquote>
<p>Now I disagree a bit here.  It just happens that Ruby and PHP are equivalent in many of the ways that are important.  See my post on <a href="http://www.procata.com/blog/archives/2006/02/09/comparing-php-with-other-languages/">comparing languages</a>.  PHP has some advantages with maturity, while ruby has some constructs, such as closures, that can do wonders in the hands of a skilled programmer.  Yet, Ruby also has some disadvantages.  I&#8217;d summarize that by saying it has all of the maintainability of perl with the commercial attitude of smalltalk.</p>
<p>One of the biggest themes of the 7 reasons piece is that he was able to bring much of what he learned from his 2 year failed rewrite in Ruby back to his PHP version.  But, PHP is a different world today than it was two years ago when he made the decision to leave it for Ruby.  PHP 5 is a more viable option.  Additionally, the PHP community has learned from Rails.  Some of the things that made the Rails framework a step ahead, for example routing and url helpers, are now widely available in the PHP world for those who want to use them.</p>
<p>Welcome back, we kept the light on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2007/09/23/ruby-versus-php-or-there-and-back-again/feed/</wfw:commentRss>
		</item>
		<item>
		<title>reCAPTCHA - Combining Distributed Problem Solving with a Web Service</title>
		<link>http://www.procata.com/blog/archives/2007/05/30/recaptcha-combining-distributed-problem-solving-with-a-web-service/</link>
		<comments>http://www.procata.com/blog/archives/2007/05/30/recaptcha-combining-distributed-problem-solving-with-a-web-service/#comments</comments>
		<pubDate>Wed, 30 May 2007 13:12:39 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/archives/2007/05/30/recaptcha-combining-distributed-problem-solving-with-a-web-service/</guid>
		<description><![CDATA[I ran into an interesting project this morning called reCAPTCHA.  In the spirit of distributed computing solutions, such as folding@home, it tackles a difficult problem by splitting it up and farming the pieces out.  What makes this interesting is that instead of having computers solve the problem, people do.
ReCAPTCHA actually tries to solve [...]]]></description>
			<content:encoded><![CDATA[<p>I ran into an interesting project this morning called <a href="http://recaptcha.net/">reCAPTCHA</a>.  In the spirit of distributed computing solutions, such as <a href="http://folding.stanford.edu/">folding@home</a>, it tackles a difficult problem by splitting it up and farming the pieces out.  What makes this interesting is that instead of having computers solve the problem, people do.</p>
<p>ReCAPTCHA actually tries to solve two problems.  The reCAPTCHA project pipelines the unrecognizable words from a book scanning OCR effort into a freely available web service for verifying your humanity, a <a href="http://en.wikipedia.org/wiki/Captcha">CAPTCHA</a>.  Instead of each CAPTCHA puzzle being a necessary but regrettable waste of human effort, reCAPTCHA harnesses this otherwise lost resource.  How brilliant is that! </p>
<p>The web service looks very interesting to me.  I&#8217;m due to revisit a submission form soon that contains a CAPTCHA that I wrote several years ago that I know has been broken.  The system contains a very extensive blacklisting system, so the weakness of the CAPTCHA has never been enough of a problem to warrant its replacement, but I&#8217;m curious to see what difference this service will make.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2007/05/30/recaptcha-combining-distributed-problem-solving-with-a-web-service/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Where do you get your Wi-Fi?</title>
		<link>http://www.procata.com/blog/archives/2007/05/06/where-do-you-get-your-wi-fi/</link>
		<comments>http://www.procata.com/blog/archives/2007/05/06/where-do-you-get-your-wi-fi/#comments</comments>
		<pubDate>Sun, 06 May 2007 22:54:41 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
		
		<category><![CDATA[Misc]]></category>
<category>internet</category><category>php architect</category><category>wifi</category>
		<guid isPermaLink="false">http://www.procata.com/blog/archives/2007/05/06/where-do-you-get-your-wi-fi/</guid>
		<description><![CDATA[Sometimes you just have to get out of the house or out of the office.  And some of those times, you have to use the internet as well.
I&#8217;ve collected a (short) list of places around town that have Wi-Fi.  I usually use the Wi-Fi at a small local coffee shop.  They are [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes you just have to get out of the house or out of the office.  And some of those times, you have to use the internet as well.</p>
<p>I&#8217;ve collected a (short) list of places around town that have Wi-Fi.  I usually use the Wi-Fi at a small local <a href="http://www.westbranchjavajunction.com/">coffee shop</a>.  They are open longer hours than the public library and they don&#8217;t glare at you for your beverage.  For the times when the coffee shop is not open, like late evening, I&#8217;ve been going to McDonalds.</p>
<p>Unfortunately, I went to McDonalds this evening and they seem to have gone pay for their WiFi.  They want $2.95 for a two hour block.  Now, I actually wouldn&#8217;t mind paying that.  I had my credit card out.  But I&#8217;d just shelled out $5 something for greasy meal that I really didn&#8217;t want but that I only bought so I could sit there and use the WiFi.  I don&#8217;t think I&#8217;ve gone to McD of my own volition for years, not at least after 10:00 am when they stop serving breakfast burritos.  That is until I found out they had WiFi.  </p>
<p>After I thought about it, I put my credit card away.  I took my $2.95 and headed over to a local bar/pizza place that has WiFi.  I invested in a beer that I don&#8217;t really want so that I can use their WiFi.  Well, now that I have it, its really not so bad. </p>
<p>Actually, I&#8217;ve done a couple php|arch columns from here before.  And that&#8217;s what I have to do tonight, finish up a Test Pattern column and do some work on my 3 <a href="http://hades.phparch.com/ceres/public/tek/">php|tek</a> talks.  When I&#8217;m done I&#8217;ll leave an extra $3 in the tip.</p>
<p>That&#8217;s where I get my Wi-Fi.  Where do you get yours?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2007/05/06/where-do-you-get-your-wi-fi/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Looking forward to 2007</title>
		<link>http://www.procata.com/blog/archives/2007/01/04/looking-forward-to-2007/</link>
		<comments>http://www.procata.com/blog/archives/2007/01/04/looking-forward-to-2007/#comments</comments>
		<pubDate>Fri, 05 Jan 2007 03:49:50 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Usability]]></category>

		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[Software Design]]></category>
<category>books</category>
		<guid isPermaLink="false">http://www.procata.com/blog/archives/2007/01/04/looking-forward-to-2007/</guid>
		<description><![CDATA[Well, I&#8217;m finally back in town after the holidays.  Let me tell you, I&#8217;m glad to be home.  Between multiple holidays and taking my grandma to her cancer treatments in Ann Arbor, I was gone far too much of last month.
My Grandma is doing well.  They used an experimental new procedure called [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;m finally back in town after the holidays.  Let me tell you, I&#8217;m glad to be home.  Between multiple holidays and taking my grandma to her cancer treatments in Ann Arbor, I was gone far too much of last month.</p>
<p>My Grandma is doing well.  They used an experimental new procedure called radio frequency ablation to remove the meta-static colon cancer tumors from her lungs.  This procedure is amazing compared to the standard treatment.  The doctors at the University of Michigan were impressive.  We&#8217;ll know the results in a couple months when her lungs look a little less like scrambled eggs.  We&#8217;re hopeful.</p>
<p>I&#8217;m not much for retrospectives.  Looking forward into 2007, I have a few major goals.  I joined a gym today.  I&#8217;m going to get a new laptop and refresh my development environment next week after MacWorld.  I want to get at least a beta release of WACT out by May.  I have to prepare for php|tek.  I need to find a new place to live by this fall.  (Ann Arbor?) I want to move by the end of the year.</p>
<p>I loved all my christmas and birthday gifts this year.  (My birthday is December 28th.)  This year I pointed everyone to my Amazon.com wishlist and I ended up with a ton of good books to read.  Jason Gillmore from Apress also sent me some web development books.  My to-read stack for 2007 includes:</p>
<ul>
<li><a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/0440509017&#038;tag=procata&#038;camp=1789&#038;creative=9325">The Promise of Sleep</a> - A survey of the subject of sleep for laymen, written by a top sleep researcher.  I&#8217;m almost done with this one.  This book has a bunch of sleep deprivation horror stories and a good survey of what is known about sleep, which is not much.  Its incredible that we know so little about something we spend so much time doing.  Its also amazing how many people have easily treatable sleep disorders that don&#8217;t even know it.  Do you snore?</li>
<li><a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/0321344758&#038;tag=procata&#038;camp=1789&#038;creative=9325">Don&#8217;t make me Think</a> - Looks like a nice overview book on web usability.</li>
<li><a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/0321125215&#038;tag=procata&#038;camp=1789&#038;creative=9325">Domain Driven Design</a> - Recommended by Jason and Marcus.  How did I get this far without reading this book?</li>
<li><a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/1400079179&#038;tag=procata&#038;camp=1789&#038;creative=9325">Da Vinci Code</a> - Wasn&#8217;t on my wishlist, but I&#8217;ll read it anyway.  I read so little fiction these days.  Where is a beach when you need one?</li>
<li><a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/0142000280&#038;tag=procata&#038;camp=1789&#038;creative=9325">Getting Things Done</a> - I&#8217;m almost through this one.  It is a testimony to the power of the ideas that this book expresses that so many people recommend it, despite its being so incredibly dull.  Useful?  Yes.  Inspiring?  No.  But, then I&#8217;ve read enough of these self help / personal productivity type books for a lifetime.  Anyone want to buy a Franklin Planner?  I used mine until I got a cell phone.</li>
<li><a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/1590597532&#038;tag=procata&#038;camp=1789&#038;creative=9325">Practical Subversion</a> - I&#8217;m really liking subversion.  If you haven&#8217;t tried it, do so.  I&#8217;m hoping to combine this with Greg Beaver&#8217;s book, <a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/1904811191&#038;tag=procata&#038;camp=1789&#038;creative=9325">The PEAR installer manifesto</a> &#8212; the book on my wishlist I most wanted that I didn&#8217;t get, to create a new deployment process.</li>
<li><a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/159059732X&#038;tag=procata&#038;camp=1789&#038;creative=9325">Pro CSS Techniques</a> - A CSS book that tackles maintainability?  I&#8217;m really looking forward to this one.</li>
<li><a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/159059505X&#038;tag=procata&#038;camp=1789&#038;creative=9325">Pro MySQL</a> - The last MySQL book I read was a couple years ago, yet I use it almost every day.  I&#8217;m due for a refresh.  This one looks good.</li>
<li><a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/1590595084&#038;tag=procata&#038;camp=1789&#038;creative=9325">Pro PHP Security</a> - Never hurts to brush up.  This one looks like it has alot on encryption, SSL and SSH; not strong areas for me.</li>
<li><a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/0471606952&#038;tag=procata&#038;camp=1789&#038;creative=9325">Pattern-Oriented Software ARchitecture Volume 2</a> - The first volume, <a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/0471958697&#038;tag=procata&#038;camp=1789&#038;creative=9325">A system of patterns</a>, is one of my &#8220;always within reach when developing&#8221; books.  Nice to add to the set.</li>
</ul>
<p>Thanks for the books, guys.  I&#8217;ll have in-depth reviews of some of these here in the future.</p>
<p>Happy New Year.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2007/01/04/looking-forward-to-2007/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Legality of Republishing RSS Feeds</title>
		<link>http://www.procata.com/blog/archives/2006/07/20/the-legality-of-republishing-rss-feeds/</link>
		<comments>http://www.procata.com/blog/archives/2006/07/20/the-legality-of-republishing-rss-feeds/#comments</comments>
		<pubDate>Thu, 20 Jul 2006 16:44:32 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<category><![CDATA[PHP]]></category>
<category>blogging</category><category>legal</category><category>rss</category><category>syndication</category>
		<guid isPermaLink="false">http://www.procata.com/blog/archives/2006/07/20/the-legality-of-republishing-rss-feeds/</guid>
		<description><![CDATA[Tobias Schlitt &#8220;freaked out&#8221; today about PHP Freak&#8217;s republishing of his blog feed.  He publicly withdraws his implicit permission for PHP Freaks to republish content from his feeds.
This is an interesting area of law.  Eric Goldman has an rundown of the issues.
In my mind, there&#8217;s no question that a blogger grants an implied [...]]]></description>
			<content:encoded><![CDATA[<p>Tobias Schlitt &#8220;<a href="http://schlitt.info/applications/blog/index.php?/archives/481-Remove-the-aggregation-permission-of-phpfreaks.com.html">freaked out</a>&#8221; today about PHP Freak&#8217;s republishing of his blog feed.  He publicly withdraws his implicit permission for PHP Freaks to republish content from his feeds.</p>
<p>This is an interesting area of law.  Eric Goldman has an <a href="http://blog.ericgoldman.org/archives/2005/08/blog_content_ag_1.htm">rundown</a> of the issues.</p>
<blockquote><p>In my mind, there&#8217;s no question that a blogger grants an implied license to the content in an RSS feed. However, because it&#8217;s implied, I&#8217;m just not sure of the license terms. So, in theory, it could be an implied license to permit aggregators to do whatever they want.<br />
&#8230;<br />
It is trivial to destroy an implied license, so bloggers can overcome any aggregator use simply by saying so. I&#8217;m not sure WHERE the blogger would need to say this (by the &#8220;syndicate&#8221; link? in the xml feed itself?). Perhaps any disclosure in any reasonable place would be sufficient to destroy the implied license.</p></blockquote>
<p>So it would seem that Tobias has reasonably withdrawn his implicit license by placing the notice in the feed itself, as a post.  The question of where a reasonable place to put such a notice is important.  Since one can subscribe to an RSS feed without ever visiting the parent site, I think perhaps the only reasonable place for a terms of service for a feed is within the feed itself.  <a href="http://www.eff.org/legal/cases/Snow_v_DirecTV/">Snow vs. DirectTV</a> suggests that a warning isn&#8217;t necessarily enough to overcome an implicit license. Of course, I am not a lawyer so my interpretation may be flawed.</p>
<p>So what did PHP freaks do to incur Tobias&#8217; ire?  They republish content from RSS feeds and added advertising. I think adding advertising to aggregated content is perfectly legal.  (I&#8217;m sure Google and Yahoo see things the same way when they place advertising in their web based mail readers.)  However, phpfreaks uses an contextual advertising that replaces words in the content with advertising links, shades of the microsoft <a href="http://alistapart.com/articles/smarttags/">smart tags</a> debacle.  In PHP freaks&#8217; favor they are very clear about attributing the source of their syndicated content and the fact that it is syndicated.  Many aren&#8217;t.  Additionally, the links are marked with a double underline and cause a hover box to appear which clearly labels them as advertising.  </p>
<p>Still, I suppose one could make the argument that it is unclear who placed the advertising in the content, php freaks, or Tobias.  For that reason, I think this form of advertising on third party content cross a line.</p>
<p>I am not anti-advertising in general.  Advertising directly and indirectly pays many of my bills and I don&#8217;t begrudge someone else the opportunity to make a buck.  I am also a publisher of copy righted content.  And I&#8217;d rather that I made the buck off of my content than someone else.  I think Tobias has the right to control the use of his material.</p>
<p>What do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2006/07/20/the-legality-of-republishing-rss-feeds/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Coding Apprentice</title>
		<link>http://www.procata.com/blog/archives/2006/03/29/the-coding-apprentice/</link>
		<comments>http://www.procata.com/blog/archives/2006/03/29/the-coding-apprentice/#comments</comments>
		<pubDate>Thu, 30 Mar 2006 04:16:53 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<category><![CDATA[Mac]]></category>
<category>programming</category><category>steve jobs</category>
		<guid isPermaLink="false">http://www.procata.com/blog/?p=178</guid>
		<description><![CDATA[Ok, maybe I watch too much reality TV, but I&#8217;d like to see a show called &#8220;The Coding Apprentice.&#8221;
Starting with 18 candidates, each week, they are randomly divided into teams of 2, 3, or 4 (perhaps solo on odd weeks).  Then a charity is selected with a need for an application.  Each team [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, maybe I watch too much reality TV, but I&#8217;d like to see a show called &#8220;The Coding Apprentice.&#8221;</p>
<p>Starting with 18 candidates, each week, they are randomly divided into teams of 2, 3, or 4 (perhaps solo on odd weeks).  Then a charity is selected with a need for an application.  Each team is given a week to create a solution.  The charity reviews the solutions and picks the application they like best.  Then, the teams that weren&#8217;t picked go back to &#8220;the conference room&#8221; and make a presentation to Steve Jobs about the merits of their solution and the problems with the other teams solutions.  Then Steve fires one candidate.  At the end, the winner is given funding to start a software company and can hire some of the candidates that weren&#8217;t chosen.</p>
<p>What reality TV show would you like to see &#8220;Geekified?&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2006/03/29/the-coding-apprentice/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hump Day Blues</title>
		<link>http://www.procata.com/blog/archives/2006/02/01/hump-day-blues/</link>
		<comments>http://www.procata.com/blog/archives/2006/02/01/hump-day-blues/#comments</comments>
		<pubDate>Wed, 01 Feb 2006 23:32:33 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/?p=173</guid>
		<description><![CDATA[I&#8217;m in a foul mood today.  What good is having a blog if you can&#8217;t rant a bit?


To doctor X: We had an appointment at 11am.  You called and asked us to change it to 10am.  We were your first patient of the day, we came at 10 and you didn&#8217;t see [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m in a foul mood today.  What good is having a blog if you can&#8217;t rant a bit?</p>
<p><rant></p>
<ul>
<li>To doctor X: We had an appointment at 11am.  You called and asked us to change it to 10am.  We were your first patient of the day, we came at 10 and you didn&#8217;t see us until well after 11.  There is a special circle of hell reserved for you and they have nothing to read there but three year old copies of NewsWeek.</li>
<li>To the girl next to me at lunch: You sent back your lunch because you weren&#8217;t satisfied with the tomatoes.  You ordered a dish with raw tomatoes on February first!  What kind of tomatoes did you think you were going to get?</li>
<li>To our local librarian: You close at 5pm on weekdays!  Do you think no one both reads and works?</li>
<li><a href="http://digg.com/programming/Study_PHP_with_phpflashcards.com">PHP Flash Cards</a>: Memorizing trivia with flash cards is not &#8220;honing your skills&#8221; its &#8220;cramming for a test.&#8221;  (see <a href="http://www.procata.com/blog/archives/2005/05/10/expert-programmers/">expert and novice programmers</a>) On the other hand, writing a PHP flash card application IS honing your skills.</li>
<li>To the <a href="http://news.yahoo.com/s/nm/davos_economy_dc">World Economic Forum</a>:  <strike>long political rant self censored</strike>.  I did promise no more politics here.</li>
</ul>
<p></rant></p>
<p>I guess thats all the rant i have left in me.  Back to work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2006/02/01/hump-day-blues/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Delicious Outage Link Dump</title>
		<link>http://www.procata.com/blog/archives/2005/12/19/delicious-outage-link-dump/</link>
		<comments>http://www.procata.com/blog/archives/2005/12/19/delicious-outage-link-dump/#comments</comments>
		<pubDate>Mon, 19 Dec 2005 18:21:53 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Usability]]></category>

		<category><![CDATA[Agile Methods]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[WACT]]></category>

		<category><![CDATA[Software Design]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/?p=168</guid>
		<description><![CDATA[Del.icio.us has been down for a while.  I use it for my public bookmarks, which are listed on the side of this blog.  Here is a post with some recent random things that I would bookmark if I could.

The departure of the hyper-enthusiasts - &#8220;The Java hyper-enthusiasts have left the building&#8221;  (along [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.del.icio.us/blog/2005/12/continued_hiccu.html">Del.icio.us has been down</a> for a while.  I use it for my public bookmarks, which are listed on the side of this blog.  Here is a post with some recent random things that I would bookmark if I could.</p>
<ul>
<li><a href="http://www.artima.com/weblogs/viewpost.jsp?thread=141312">The departure of the hyper-enthusiasts</a> - &#8220;The Java hyper-enthusiasts have left the building&#8221;  (along the lines of <a href="http://www.procata.com/blog/archives/2005/09/29/why-isnt-php-the-natural-successor-to-java/">this</a>.)</li>
<li><a href="http://martinfowler.com/articles/newMethodology.html">The New Methodology</a> - Martin Fowler describes Agile methodologies &#8212; recently updated.</li>
<li><a href="http://wiki.caucho.com/PHP_Hello_World">PHP on Caucho</a> - PHP on the JVM.</li>
<li><a href="http://norman.walsh.name/2004/11/10/xml20">XML 2.0</a> - some thoughts on XML 2.0.</li>
<li><a href="http://www.webpatterns.org/">Web Patterns</a> - Under construction &#8212; check back later.</li>
<li><a href="http://www.welie.com/patterns/">Web Design Patterns</a>.</li>
<li><a href="http://www.agilealliance.org/resources/carnivaloftheagilists">Carnival of the Agilists</a>.</li>
</ul>
<p>I&#8217;m currently adding UTF-8 support to and generally improving WACT&#8217;s &#8220;liberal&#8221; xml/html parser.  A few sources of tests cases and information:</p>
<ul>
<li><a href="http://weblog.philringnalda.com/2005/12/18/who-knows-a-title-from-a-hole-in-the-ground">Who knows a title from a hole in the ground?</a></li>
<li><a href="http://decafbad.com/blog/2005/12/19/feedburner-feeds-give-heartburn-to-php-xml-parsers">FeedBurner feeds give heartburn to PHP XML parsers?</a></li>
<li><a href="http://www.is-thought.co.uk/book/home.htm">Web SGML and HTML 4.0 explained</a></li>
<li><a href="http://www.flightlab.com/~joe/sgml/cdata.html">CDATA confusion</a></li>
<li><a href="http://www.flightlab.com/~joe/sgml/comments.html">Comment syntax in SGML and HTML</a></li>
<li><a href="http://www.cs.tut.fi/~jkorpela/html/empty.html">Empty elements in SGML, HTML, XML, and XHTML</a></li>
<li><a href="http://www.w3.org/TR/NOTE-sgml-xml.html">Comparison of SGML and XML</a></li>
<li><a href="http://www.w3.org/XML/Test/">Extensible Markup Language (XML) Conformance Test Suites</a></li>
<li><a href="http://www.hixie.ch/tests/adhoc/html/parsing/">Ian Hixie&#8217;s HTML parsing test cases</a></li>
<li><a href="http://xmlconf.sourceforge.net/">Conformance Testing for XML and Related Technologies</a></li>
<li><a href="http://feedparser.org/">Universal Feed Parser</a> liberal feed parser with many test cases.</li>
<li><a href="http://schneegans.de/sv/test-cases/">XHTML test cases</a></li>
</ul>
<ul>
<li><a href="http://www.cl.cam.ac.uk/~mgk25/unicode.html">UTF-8 and Unicode FAQ for Unix/Linux</a></li>
<li><a href="http://www.w3.org/2001/06/utf-8-wrong/">bad UTF-8 test files</a></li>
<li><a href="http://validator.w3.org/dev/tests/">The W3C Markup Validation Service: Tests</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2005/12/19/delicious-outage-link-dump/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
