<?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>Webfluency &#187; programming</title>
	<atom:link href="http://www.webfluency.com/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webfluency.com</link>
	<description>We Speak Web So You Don't Have To</description>
	<lastBuildDate>Thu, 03 Dec 2009 16:28:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Old Content, Still Valid</title>
		<link>http://www.webfluency.com/2008/02/01/old-content-still-valid/</link>
		<comments>http://www.webfluency.com/2008/02/01/old-content-still-valid/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 17:20:52 +0000</pubDate>
		<dc:creator>gdemetrick</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[DBI]]></category>
		<category><![CDATA[PDF::API2]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[translation]]></category>

		<guid isPermaLink="false">http://webfluency.com/greg/2008/02/01/old-content-still-valid/</guid>
		<description><![CDATA[One thing I try to do from time to time is clean up old content on my sites. Because of this, I find gems of knowledge I forgot I had and should share with the wider programming communities. This is just such a case.
A while back I was tasked with writing a program that took [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.webfluency.com/wp-content/uploads/2008/02/pdf_red-150x150.jpg" alt="PDF Document" align="left" height="64" hspace="8" width="67" />One thing I try to do from time to time is clean up old content on my sites. Because of this, I find gems of knowledge I forgot I had and should share with the wider programming communities. This is just such a case.</p>
<p>A while back I was tasked with writing a program that took content out of a database and reformat it as a PDF document with a specific layout. I found this nice CPAN module for perl called PDF::API2 which allows you to write PDFs on the fly. After some database giggery pokery I had a program in place that created the 500 PDF files in about 2 min.</p>
<p>After I wrote the program I wanted to address the complete lack of documentation for the module. I ended up <a href="http://www.webfluency.com/pdfapidbi.htm">writing an article</a> that never got linked anywhere.  I am correcting that issue now and hopefully this will help someone else with a similar problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webfluency.com/2008/02/01/old-content-still-valid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Knowing When to Sunset</title>
		<link>http://www.webfluency.com/2007/09/27/knowing-when-to-sunset/</link>
		<comments>http://www.webfluency.com/2007/09/27/knowing-when-to-sunset/#comments</comments>
		<pubDate>Thu, 27 Sep 2007 16:17:45 +0000</pubDate>
		<dc:creator>gdemetrick</dc:creator>
				<category><![CDATA[New Media Industry]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[code-development]]></category>
		<category><![CDATA[lifecycle]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sunsetting]]></category>
		<category><![CDATA[web-programming]]></category>

		<guid isPermaLink="false">http://webfluency.com/greg/2007/09/27/knowing-when-to-sunset/</guid>
		<description><![CDATA[Everything in life has a cycle. You are born, you live, then you die. It is the only true truth we know that everything will one day end. So why wouldn&#8217;t the same be true of software? The idea is formed, plans are made to create it, programming begins, testing commences, and finally it is [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.webfluency.com/wp-content/uploads/2007/09/providence_sunset_0262_fix5.jpg" title="Sunset Over Providence, RI" alt="Sunset Over Providence, RI" align="right" />Everything in life has a cycle. You are born, you live, then you die. It is the only true truth we know that everything will one day end. So why wouldn&#8217;t the same be true of software? The idea is formed, plans are made to create it, programming begins, testing commences, and finally it is launched. Then, for most programs, it is left to it&#8217;s own devices. Over the life span of piece of code 90% of the energy involved is used for planning, development and launch. 9% is devoted to ongoing maintenance. 1% or less is spent on sunsetting.</p>
<p>Why is one of the most important parts of code life-cycle given so little attention? Usually this is because most programmers can get excited about starting something new and do not get excited about letting something go. The other reason is many developers associate sunsetting with tedious tasks like documentation. However, planning for the full life cycle of a piece of code can actually make the code function better and more stably over the use of the code.</p>
<p>Sunsetting can actually refer to two things. First, a scheduled checking of components or content in a system for pruning. This type of review should be standard after the launch of any piece of large code. Content placed into a system will eventually get old and be inapplicable. By looking at it now and setting a date to remove it from a system you are doing two things. One, you are creating an area where content is viable and fresh. Two, you are not bogging down your system with extra information people may not access. This pruning is like when you prune a plant. Keeping the important parts will make it more useful and prevent it from slowing down.</p>
<p>This also applies to objects in system. You may program a system to support online banking as an example. But after 4 months you find that no one uses the online banking components and you intend to turn them off. Instead of just masking them in system, consider removing them. This will reduce confusion by developers down the road as to which part of the system and active and which are not. It will also speed the functionality of the overall code set by removing needless tasks.</p>
<p>Second, the retirement of a piece of code for the replacement of a new piece of code is the other way the term &#8217;sunsetting&#8217; is used.   Programs have a life span. Usually this is due to advances in code, hardware, software, or business lessons learned along the way while using this code.  Every year you should make a short evaluation of the code to see if it still lives up to expectations and can deliver properly. If not, start to consider retiring the code and replacing it with something else. Retiring the code is a good thing because you want to bring current quality to your users and not keep them stuck in something that may no longer fit their needs. Your consumers change so your code should match with it. You can usually plan the sunsetting steps soon after launch to make this process easier.</p>
<p>In any case, do not expect your code to live forever. It has a time and a place and will eventually move on. Think of programming as art and life. What you create is an expression of your style to solve a problem. That expression will grow, live, and eventually sunset. Hopefully, it will be reborn anew to start the cycle again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webfluency.com/2007/09/27/knowing-when-to-sunset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
