<?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>unsaturated.com &#187; project</title>
	<atom:link href="http://www.unsaturated.com/tag/project/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.unsaturated.com</link>
	<description>The personal and professional website of Matthew Crumley</description>
	<lastBuildDate>Mon, 19 Apr 2010 03:51:34 +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>Backyard Cell Tower</title>
		<link>http://www.unsaturated.com/projects/backyard-cell-tower/</link>
		<comments>http://www.unsaturated.com/projects/backyard-cell-tower/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 05:08:37 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[cellular]]></category>
		<category><![CDATA[debate]]></category>
		<category><![CDATA[HOA]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[tower]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/?p=804</guid>
		<description><![CDATA[A rezoning proposal meant the construction of a cellular tower near my neighborhood was imminent.  As the homeowner association president, I was asked to oppose the idea.  I did so with gusto but not without reservations. ]]></description>
			<content:encoded><![CDATA[<p>In early January 2010 I was informed by a neighbor that a cell tower was proposed in property adjacent to my community.  It didn&#8217;t sound like bad news until I realized the proposed area was on school property, Cannella Elementary.  A number of reasons for and against the tower went through my head.  However, as President of my homeowners association, I was asked to take a stance against the rezoning.</p>
<h2>The Notice</h2>
<p>When a rezoning is proposed, only homes within a few hundred feet are informed.  My community, <a title="Wildewood Village" href="http://www.wildewoodtampa.com/">Wildewood</a>, was very fortunate that one of those homes was occupied by the homeowner association&#8217;s Secretary/Treasurer.  This notice was delivered during the busiest time of year: December.  People are on vacation, on holiday, etc., yet the County&#8217;s land use committee was scheduled to meet the first half of January.  Admittedly, I didn&#8217;t make it to that meeting and I was a bit distant from the whole debate.  Wildewood was again very fortunate because the meeting was rescheduled to the middle of February.  Great, I thought, that&#8217;s extra time to organize and inform residents about the issue.</p>
<h2>Background</h2>
<p>It&#8217;s always nice to know what you don&#8217;t know: <em>known unknowns</em>, if you will.  It&#8217;s the <em>unknown unknowns</em> that get you.  What I didn&#8217;t realize (and didn&#8217;t know) about this issue is the scope of its reach.  Digging on the web brought me to a few interesting articles.  The bottom line is that a company called Collier Enterprises II entered an agreement with <a title="Hillsborough County, Florida" href="http://www.hillsboroughcounty.org/">Hillsborough County</a> to build towers on school properties.  In exchange, Hillsborough County receives rent generated by the towers.  How much they receive isn&#8217;t clear.  This is similar to Coca-Cola sharing revenue with schools, provided the company gets exclusive rights to sell drinks to students.</p>
<p>The Collier Enterprises II website was taken down, which is suspicious, but <a title="Google's cache of Collier Enterprises II" href="http://www.google.com/#hl=en&amp;source=hp&amp;q=site%3Acollierii.com+collier+enterprises+II&amp;btnG=Google+Search&amp;aq=f&amp;aql=&amp;aqi=&amp;oq=site%3Acollierii.com+collier+enterprises+II&amp;fp=ba0a4630ce98f7da">Google still has the pages cached</a>.  The <a href="http://blogs.creativeloafing.com/dailyloaf/">Daily Loaf</a><em> </em> did a fine job of <a title="Daily Loaf, link 1" href="http://blogs.creativeloafing.com/dailyloaf/2009/12/15/hillsborough-citizens-protest-cell-phone-tower-site-at-buchanan-middle-school-opposed/">documenting</a> this <a title="Daily Loaf, link 2" href="http://tampa.creativeloafing.com/gyrobase/the_power_of_cell_phone_towers_in_florida_politics/Content?oid=899743">ongoing battle</a>.  What wasn&#8217;t immediately clear to me is why the opposition to technology gained so much traction.  Property values?  Ugly towers?  I would find out more very shortly.</p>
<h2>The Interloper</h2>
<p>Persistent opposition to the tower seemed coordinated.  On one Saturday afternoon a flyer was circulated to the neighborhood.  It wasn&#8217;t the official newsletter of the community; I know because I write it.  I read the headline and felt compelled to act &#8211; not over tower concerns but because this flyer, which flaunted the words <em>cancer </em>and <em>leukemia</em>, was blatant scaremongering.  You can <a href="http://www.unsaturated.com/wordpress/wp-content/data/cell-flyer.pdf">view the flyer</a> for yourself.  It&#8217;s the text equivalent of screaming &#8220;fire&#8221; in a crowded room just to get attention.  I was <em>not</em> amused.</p>
<h2>Facts, Not Fear</h2>
<p>You can&#8217;t expect every Joe Sixpack to stay up with the local news, work one or more full time jobs, and be informed enough to do a cost-benefit analysis of a cell tower.  It was my hope that a well written, balanced newsletter would ease the tension a bit.  You can read the official <a href="http://www.unsaturated.com/wordpress/wp-content/data/newsletter-2010-2.pdf">Wildewood newsletter</a> but I&#8217;ve highlighted the main points below:</p>
<h3><strong>Arguments with no contradictory evidence</strong></h3>
<ul>
<li><strong>Cellular coverage is already adequate.</strong> Building yet another tower can only mean the cellular companies want more <em>capacity</em>.  More cellular users mean each tower must carry a greater load.  Thus, more towers can ease the strain of growth. This would seem to support the rezoning, but it’s just a setup for the next argument.
<ul>
<li>Can the argument be contradicted?  No.  This is a fact made clear by visiting the website of any major wireless provider.  Coverage maps show our area is blanketed with wireless signals from AT&amp;T, Verizon, T-Mobile, and Sprint.</li>
</ul>
</li>
<li><strong>School coverage is adequate but it has unique issues with capacity.</strong> As Tampa becomes more populous the need for school capacity will increase.  This argument places the needs of children over that of wireless usage.  Cannella recently underwent an expansion.  Why?  Additional capacity was needed so kids can learn in a bricks-and-mortar classroom.  I never liked to learn in portable double-wide trailers.  Future school children won’t either.  Let&#8217;s give the kids room to expand first.
<ul>
<li>Can the argument be contradicted?  No.  All indications show that Tampa will continue to grow, which means more children, more teachers, more parking, and the need for more classrooms.</li>
</ul>
</li>
</ul>
<h3><strong>Matters of opinion</strong></h3>
<ul>
<li><strong>Property values will decrease.</strong> Residents on the adjacent property to Cannella on Cedar Dune have a valid concern.  People <em>might</em> find the tower to be an eyesore and some <em>might</em> not. This is a matter of opinion because not all buyers make decisions based on the same reasoning.  The same concern could be voiced about the planes flying overhead to and from Tampa International Airport, or road noise from Linebaugh Avenue.</li>
<li><strong>Cell phone towers are ugly.</strong> While this can be true in general, newer towers can be disguised.  Some towers use a flagpole design; the tower on Gunn Highway between Nixon and Anderson is one example.  The only imposing factor is its height and possibly the ground structures. One&#8217;s opinion is also influenced by the tower’s location. Maybe the same tower design in one location is appealing but simply placing it closer to your home is enough to consider it unattractive.</li>
</ul>
<h3><strong>Arguments with contradictory evidence</strong></h3>
<ul>
<li><strong>Radio frequency (RF) creates health risks.</strong> This argument is simply thrown out by the committee because the studies are contradictory.  One study will say limited exposure is fine, one will say there have been no conclusive long term effects, and another will say…whatever the funding for that research wanted to indicate.  Flyers distributed in Wildewood played on emotions of this argument and even called out the ominous threat of cancer.</li>
<li><strong>People who use cell phones.</strong> This may seem obvious but many of the same people who would protest the tower are cell phone users themselves.  If you own and use a cell phone, and object to the rezoning for a cell tower then the &#8220;not in my backyard&#8221; argument becomes clear.  Cell phone towers, electricity plants, and prisons all provide a necessary service to the community.  However, when faced with the prospect of becoming a neighbor to these facilities, people behave in contradictory ways.</li>
</ul>
<h2>Organizing</h2>
<p>An informal meeting was held to better gauge resident concerns.  Only 12 people attended but it showed that people throughout the community, not just those living adjacent to the proposed tower, had concerns.  Money was a frequent point of debate, i.e., why are the schools in such dire need of money?  After a few more side discussions it was decided five volunteers would canvas the neighborhood and solicit opinions.  A petition would be available if anyone felt opposed to the rezoning.  After a few days of intermittent door knocking the result was 51 signatures in opposition.</p>
<h2>The Hearing</h2>
<p>Finally, all of the thought, debate, and petitioning would be put to use.  I left work early, ate dinner, and headed to the main Hillsborough County government building.  The meeting was scheduled to start at 6PM.  When I arrived at 5:40PM, there were already protesters outside waving signs.  I was introduced to The Interloper and, though very amicable, I knew we wouldn&#8217;t agree on the greater issues at hand.  I&#8217;m not making my community part of any questionable agendas.  It was time to head indoors.</p>
<p>Two issues preceded the debate on rezoning.  A local squabble over easements, outdoor stoves, and trailers provided a bit of amusement.  Following that was a VFW station that wanted a liquor license.  Go to your local government building &#8211; see a slice of life.</p>
<p>The applicant for the cell tower rezoning then addressed the zoning master.  It was a well-researched, nicely organized presentation.  Apparently, the <em>redesigned </em>plan for the area calls for a cell tower that&#8217;s a flagpole design.  This wasn&#8217;t clear to me a month earlier but it seems the voices of dissent provoked this change.  And, yes, it will fly the <em>American </em>flag.  File this under &#8220;<em>Why didn&#8217;t you say so earlier?</em>&#8221; because I believe the majority of the population, myself included, think of the legacy towers.  I imagine flagpole designs are more costly to build, but without dissenting opinions what motivation does a wireless provider have to spend more money?  None.</p>
<p>A very clear point of the applicant was that wireless coverage in my neighborhood is inadequate.  Really?  I&#8217;ve got full signal strength with T-Mobile.  Neighbors on different providers have no complaints.  The point was without merit.  I can understand the need for competition if the area was monopolized, but several major wireless providers already have this area covered.</p>
<p>Finally, after several long-winded talks by experts and lawyers who only embarrassed themselves and their clients, there was time left over for me to speak.  I only had three minutes so I presented an ad hoc version of my speech with just the bullet points.  Here&#8217;s my speech in its entirety:</p>
<blockquote>
<h3><strong>Introduction</strong></h3>
<p>Good evening, my name is Matthew Crumley.  I&#8217;m here to present the position of the Wildewood Homeowners Association, which has 144 homes just south of the proposed rezoning area.  I&#8217;m also a resident of Wildewood and its Board President.  I&#8217;m going to outline why this rezoning is unnecessary.  There are three main points and then I&#8217;ll briefly conclude.<strong> </strong></p>
<h3><strong>Coverage Is Great.</strong></h3>
<p>Imagine any Florida intersection with all four corners occupied by a gas station.  Would rezoning for a fifth, within a few hundred feet, be necessary?  I believe this committee faces a similar dilemma.  I use the gas station comparison because we&#8217;re really talking about capacity and coverage.  With four stations, few people would argue the area isn&#8217;t adequately serviced. However, advocates <em>for </em>the station would say<em> capacity </em>is critical.  More cars! More gas!</p>
<p>But it&#8217;s a similar argument for cell towers.</p>
<p>I invite this committee to go to <em>any </em>major wireless provider&#8217;s web site (AT&amp;T, Verizon, etc) and select the coverage map for the 33624 ZIP code.  The results indicate <em>no </em>poorly covered areas.</p>
<p>So, why the new tower?  Capacity to route more calls would be one reason.  But satisfying this demand does so at the expense of another: increasing demand for school classrooms.  That brings me to my next point.</p>
<h3><strong>We can build better towers, but we can&#8217;t build more land.</strong></h3>
<p>Hillsborough County&#8217;s population has increased from 816,000 in July 1988 to over 1.1 million in July 2008. This is according to <a id="p9kx" title="U.S. Census Bureau estimates" href="http://www.google.com/publicdata?ds=uspopulation&amp;met=population&amp;idim=county:12057&amp;tstart=331257600000&amp;tunit=M&amp;tlen=336">U.S. Census Bureau estimates</a>. That&#8217;s over a quarter-million people in twenty years time.</p>
<p>In the past five years I&#8217;ve lived in Hillsborough County, Cannella has gone through one major expansion.  The proposed area would not likely be used for classrooms, but committees <em>must </em>plan long term.  More classrooms mean more parking, more cafeteria space, and those all require more <em>support</em> and <em>maintenance</em> facilities.</p>
<p>The cell phones you and I use every day to make calls are smaller because of better software and hardware compression. To date there is no way to squeeze more kids together and maintain a high quality learning environment.  Wireless providers can upgrade existing hardware or software.  Schools don&#8217;t have that luxury.  As a student, I had class in portable buildings all the way through to college:  from Naples Park Elementary up to undergraduate classes at UCF.</p>
<p>At issue here is capacity, so let&#8217;s give it to kids today and tomorrow, and not our wireless providers.  We need to fix the long term problems, which brings me to my final point.</p>
<h3><strong>Fix the problem and not the symptom.</strong></h3>
<p>While collecting signatures for a petition against the rezoning, I spoke to a number of people who had a broad range of concerns from property values to child safety, but a recurring concern was that of <em>money</em>.</p>
<p>People for the towers say, &#8220;<em>Great, the kids and teachers need support!&#8221; </em>Indeed.  No one disagrees.  But that begs the question: why are the schools so strained for cash?</p>
<p>Somehow I <em>doubt </em>the reason is poor land usage.</p>
<p>A flashy presentation by Coca-Cola has won over many schools but has a single private entity helped to keep our schools solvent?  No.  It&#8217;s the responsibility, not the burden, of taxpayers to do this.  Again, think long term.</p>
<p>I have in my hand the signatures of 51 people who feel it&#8217;s not right to rezone.  The reasons varied as did the location of residents, but clearly they felt the benefit of additional income to the County <em>did not </em>outweigh the costs.</p>
<p>When budgets are written, these public-private deals tend to be a Band-Aid for larger problems.</p>
<h3><strong>Conclusion</strong></h3>
<p>I urge this committee to consider these three points: coverage, growth of our schools, and fixing problems, not symptoms.  Finally, I&#8217;d like to remind this committee of a business principle called <em>going concern</em>.  The concept is that a business will operate and not otherwise shut down for the foreseeable future.  Schools and places like Wildewood will be here long after businesses have come and gone.  Decisions like the one you face affect not only land usage but also <em>budgets</em>.  But be careful when applying too many Band-Aids to the budget; they tend to stick&#8230;and really hurt when they&#8217;re removed.</p>
<p>Thank you for your time.</p></blockquote>
<h2>Postscript</h2>
<p>During the past two months I persistently thought of reasons and arguments to <em>proceed</em> with building the tower.  I&#8217;m a cell phone user and it&#8217;s not hard to imagine a wireless-only internet in 20 years time.  Society will need the capacity to move its data.  People will buy homes and base their decisions, in part, on the quality of that wireless connection. And really, who objects to flying the Stars and Stripes?</p>
<p>I also thought of the numerous classes I attended in temporary public school buildings.  I was in the &#8220;portable&#8221; at all levels of my Florida education <em>except </em>graduate school.  Schools are perpetually searching for funds, yet no source of income seems to be enough.  The larger issue here is school budgets; vending machines and cellular towers are just the footnotes.</p>
<p>I&#8217;ll update this space when the zoning master gives his decision.</p>
<p><strong>Update 3/11/2010</strong>:  The cell tower received approved from the county.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/backyard-cell-tower/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daily Briefing</title>
		<link>http://www.unsaturated.com/projects/daily-briefing/</link>
		<comments>http://www.unsaturated.com/projects/daily-briefing/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 04:27:37 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/?p=373</guid>
		<description><![CDATA[My public Netvibes page is ready for consumption.  Stay up-to-date with the articles I'm reading on a daily basis.]]></description>
			<content:encoded><![CDATA[<p>The &#8220;Daily Briefing&#8221; is just a fancy title for my Netvibes home page.  Because it uses a widget interface, I can make my page from almost anything on the web.  It&#8217;s the ultimate online news source because you can make it your own.  Here&#8217;s mine: <a href="http://www.netvibes.com/unsaturated">www.netvibes.com/unsaturated</a>.</p>
<p>Newspapers are dying for many reasons but to name only a few:</p>
<ul>
<li>Advertising is intrusive and irrelevant</li>
<li>It&#8217;s yesterday&#8217;s news</li>
<li>Photos are faded or smudged</li>
<li>Black residue gets on my fingers</li>
<li>It wastes paper and fills up recycling bins</li>
</ul>
<p>Ah, but to make a virtual newspaper of my own design that&#8217;s timely, ad-free, and <i>includes the news I care about</i>.  Sharing anything is simple and unobtrusive.  Most of the data is based upon RSS feeds but their widgets have expanded to include other sources of data.  Keep an eye on your e-mail, tasks, and stock portfolio.  Create as many tabs as you want; categorize, sort, stack, and create a flow of information that has meaning to you.</p>
<p><img style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" title="Daily Briefing" src="http://www.unsaturated.com/wordpress/wp-content/data/dailybriefing-thumb.png" border="0" width="504" height="402" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/daily-briefing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Last Spam</title>
		<link>http://www.unsaturated.com/projects/the-last-spam/</link>
		<comments>http://www.unsaturated.com/projects/the-last-spam/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 04:23:43 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[SpamAssassin]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/?p=362</guid>
		<description><![CDATA[The decision to move my e-mail to Google was rather sudden.  I reached the inflection point where SpamAssassin and Dreamhost could no longer co-exist peacefully and cooperatively.  When it takes four applications to handle e-mail, its time to reevaluate the situation.]]></description>
			<content:encoded><![CDATA[<p>For the past six years I&#8217;ve used SpamAssassin as my primary e-mail filter.  It worked beautifully and was a great learning experience from an IT standpoint.  I was a vocal advocate for the software and felt my contribution to the open source community was in my clear, <a href="http://www.unsaturated.com/projects/spamassassin-for-dreamhost/">step-by-step tutorial</a> on its installation.  As a bonus, I received many thankful comments from Dreamhosters in response to those tutorials.  The benefits were nice but time and convenience always triumph.  That&#8217;s why I moved my mail to Google. </p>
<p>I kept my mail on Dreamhost for several reasons, the most paramount being security, privacy, and access.  I truly felt it was <em>my</em> mail.  I can do with it whatever I please.  I&#8217;m sure my thinking is not unique in this regard.  Not to offend anyone at Dreamhost or to question their integrity, but their administrators are no more trustworthy than those at Google.  Like any data not residing on <em>your own</em> PC, it&#8217;s subject to inspection by absolutely anyone with sufficient privileges.  I overcame that hesitation or fear, if you will.  </p>
<p>I next asked myself what value I could derive from using SquirrelMail.  Besides reading an e-mail and responding in plain text, there was nothing more.  It was fine software but its development stalled in the 20th century.  Using my custom SpamAssassin installation I was pushed into using an SSH client whenever I needed to tweak my approved sender list.  That&#8217;s three applications (SA, SquirrelMail, and PuTTY) just to keep my inbox clean.  Then the straw dropped.</p>
<p>The camel&#8217;s back was broken when Dreamhost upgraded their servers and split e-mail and hosting.  Granted, my hosted apps are performing much better but I had to <a href="http://www.unsaturated.com/projects/spamassassin-changes-for-dreamhost/">revamp</a> my SpamAssassin installation.  This is when I reached the inflection point of managing my own spam software:  value began to trend downwards.  </p>
<p>During a short weekend project, I updated the Dreamhost MX records, moved my e-mail, and updated my existing forwarding addresses.  Google&#8217;s &#8220;Report spam&#8221; button has made life easier for now but I also wonder when in the future I&#8217;ll use SpamAssassin and where will that be?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/the-last-spam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SpamAssassin Changes for Dreamhost</title>
		<link>http://www.unsaturated.com/projects/spamassassin-changes-for-dreamhost/</link>
		<comments>http://www.unsaturated.com/projects/spamassassin-changes-for-dreamhost/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 16:19:47 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[SpamAssassin]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/?p=303</guid>
		<description><![CDATA[When hosting companies make changes to their network architecture, something is going to break. Dreamhost is no exception.  If your SpamAssassin installation broke as a result of their recent mail and web server split, then this tutorial is for you.]]></description>
			<content:encoded><![CDATA[<p>When hosting companies accommodate increased traffic they&#8217;re likely to make changes to the network architecture and <a href="http://www.dreamhost.com/rewards.cgi">Dreamhost</a> is no exception.  Most recently, they separated the mail and hosting servers for better performance.  On the upside my e-mail is much faster.  On the downside my SpamAssassin (SA) installation is not working.</p>
<p>One solution for this problem is to use Dreamhost&#8217;s installation of SA.  However, there&#8217;s no support for Bayesian rules.  Those rules require a per-user database.  Save whitelists, blacklists, and rule sensitivity, there&#8217;s no customization allowed.  Another annoyance is logging into webmail to do anything meaningful with false positives; it&#8217;s <a href="http://wiki.dreamhost.com/KB_/_Email_/_Spam_/_NEW!_Junk_Mail_Filter">explained further on the DH wiki</a>.</p>
<p>Another option, and the best in my opinion, is using an IMAP client of my choice.  This requires some modifications to my <a href="http://www.unsaturated.com/projects/spamassassin-for-dreamhost/">previous tutorial</a> which takes you through the entire process of installing SA.  Assuming that first tutorial is complete, you can now begin this tutorial.  Yes, you will <i>undo</i> some of the work in the original tutorial.  That&#8217;s the way it goes.</p>
<p>Because mail is being forwarded, moved, and synchronized <i>all over the place</i>, I thought a basic flowchart could simplify the end objective of this tutorial.  As you can see, everything is setup to move e-mail to and from the mail server and hosting server.<br />
<img src="http://www.unsaturated.com/wordpress/wp-content/data/sa-steps-overview.png" alt="Tutorial Overview" title="Tutorial Overview" width="454" height="363" id="centered"/></p>
<p>A few assumptions before we get started&#8230;</p>
<ul>
<li>You have a basic understanding of Linux.</li>
<li>You have an active DH account.</li>
<li>You have access to the DH Panel.</li>
<li>The <code>%&gt;</code> notation indicates what you should type at the command prompt.</li>
<li>The <code>&lt;Valid URL for: FileXYZ&gt;</code> notation indicates you need to insert a URL that points to the file in question.</li>
</ul>
<ol>
<li><b>Create a new fully hosted e-mail account.</b>  <u>All</u> of your e-mail aliases should be re-routed to this account&#8217;s address; this is now the gateway account through which everything must pass.  You&#8217;ll have to create a similar account for each user with a SpamAssassin installation.  The address doesn&#8217;t have to be user friendly, but choose something you can remember.  In this example, I&#8217;ve created a new fully hosted address called spam_checker@unsaturated.com.<br />
<br/>If you have an alias called my.cool.address@unsaturated.com which forwards to your main user account, it will have to forward to spam_checker@unsaturated.com.  <b>Do not update all your aliases now because we want the transition to be seamless.</b> Let&#8217;s keep e-mail flowing until all steps are complete.<br />
<img src="http://www.unsaturated.com/wordpress/wp-content/data/sa-step1-fullyhosted.png" alt="Fully hosted e-mail" title="Fully hosted e-mail" width="326" height="120" id="centered"/>
</li>
<li><b>Create a new forward-only e-mail address.</b>  After your mail is checked by SpamAssassin it will be forwarded to this new address, which then passes the e-mail along to your main user account, usually <i>your_user_name@yourdomain.com</i>.  This step allows your e-mail to find its way back to the mail servers from the hosting servers. In this example, I&#8217;ve created a new forward-only address called spam_checker_passed@unsaturated.com.<br />
<img src="http://www.unsaturated.com/wordpress/wp-content/data/sa-step2-forwardonly.png" alt="Forward-only" title="Forward only e-mail" width="367" height="95"  id="centered"/>
</li>
<li><b>Move the spam.rc file to your home folder.</b>  The spam.rc file was originally in a folder called procmail but it was the only file in there.  This is a matter of preference but it&#8217;s important to keep this in mind for the rest of the tutorial. If nothing else is stored in your procmail folder, then delete it. Type the following at the command prompt:
<pre>
<code>%&gt; cd ~
%&gt; mv ~/procmail/spam.rc ~
%&gt; rm -Rf procmail/</code>
</pre>
</li>
<li><b>Update the .procmailrc file in your home directory.</b>  You&#8217;ll notice several changes to this file, most notably all e-mail is forwarded to the address made in step 2 or then deleted.  Remember, the spam has already been filtered to the .Spam folder according to the spam.rc file.  <b>Don&#8217;t forget to update the forwarding address!</b>  Type the following at the command prompt and insert the text shown:
<pre>
<code>%&gt; pico .procmailrc

#=======================================
# ~/.procmailrc
#
# Uses Maildir format mail directory.

# Uncomment the following three lines to debug
#LOGFILE=$HOME/procmail.log
#VERBOSE=yes
#LOGABSTRACT=all

## Directory for storing procmail-related files 
PMDIR=$HOME 

# Message directory (Courier IMAP and mutt)
MAILDIR=$HOME/MaildirSync 

# Spam filtering rules should run last
INCLUDERC=$HOME/spam.rc 

# Forward non-spam mail to validated address
# REMEMBER TO UPDATE THIS ADDRESS!!!
:0c
! spam_checker_passed@unsaturated.com

# Everything should be filtered to the local .Spam folder 
# or forwarded to the new mail server, so go ahead and 
# delete whatever remains 
:0
/dev/null
#=======================================</code>
</pre>
</li>
<li><b>Rename the Maildir directory.</b>  Again, you might be wondering why this is necessary.  In my opinion, the typical name for Maildir is okay if you&#8217;re actually using it for reading mail.  However, this directory is now used exclusively for synchronizing mail accounts.  Type the following at the command prompt:
<pre>
<code>%&gt; mv Maildir MaildirSync
%&gt; chmod -R 700 MaildirSync</code>
</pre>
</li>
<li><b>Download and extract offlineimap.</b>  The features and speed of <a href="http://software.complete.org/software/projects/show/offlineimap">offlineimap</a> looked compelling, so I tried it and decided to keep it. You can configure the script for many different scenarios but we&#8217;re keeping the steps basic.  This step deletes the default configuration files but don&#8217;t worry because I&#8217;ll provided one later.  Type the following at the command prompt:
<pre>
<code>%&gt; cd ~
%&gt; wget &lt;Valid URL for: offlineimap_6.0.3.tar.gz&gt;
%&gt; tar xvfz offlineimap_6.0.3.tar.gz
%&gt; cd offlineimap
%&gt; rm offlineimap.conf
%&gt; rm offlineimap.conf.minimal</code>
</pre>
</li>
<li><b>Create an .offlineimaprc configuration file.</b>  Offlineimap needs to know some basic information like where to find your remote and local mail, folders to ignore, and more.  To complete this you&#8217;ll need to know your mail server&#8217;s name, which can be accessed in the panel.  You might wonder why this program is necessary.  Consider a false positive e-mail, which is incorrectly marked spam.  You could move that message to the correct folder but that change needs to be reflected on the <i>hosting</i> server where SpamAssassin can learn from the change.  <b>Remember to update all the values marked <code>YOUR_</code>.</b> Type the following at the command prompt and insert the text shown:
<pre>
<code>%&gt; cd ~
%&gt; pico .offlineimaprc

#=======================================
# ~/.offlineimaprc

[general]
accounts = MainAccount
metadata = ~/.offlineimap
ignore-readonly = no
ui = Noninteractive.Quiet

[Account MainAccount]
localrepository = Local
remoterepository = Remote

[Repository Local]
type = Maildir
localfolders = ~/MaildirSync

[Repository Remote]
type = IMAP
remotehost = YOUR_MAIL_SERVER_NAME.mail.dreamhost.com
ssl = true
remoteuser = main_account@YOUR_DOMAIN.com
remotepass = YOUR_PASSWORD
nametrans = lambda foldername: re.sub('^INBOX.*', '.', foldername)
folderfilter = lambda foldername: foldername in ['INBOX.Spam']
maxconnections = 1
holdconnectionopen = no
#=======================================</code>
</pre>
</li>
<p></p>
<li><b>Update the salearn.bat script.</b>  The old Bayes update script is obsolete because we have to ensure spam is synchronized between your hosting account and your mail account.  This script synchronizes your .Spam folders, copies all messages (read and unread) to a single directory, tells SpamAssassin to update the Bayesian database, purges all the spam, then does a final synchronization.  Type the following at the command prompt and insert the text shown:
<pre>
<code>echo '========================================================'
TESTED=false
if [ "$1" ]
then
  if [ $1 = "spam" ]
  then
    TESTED=true
    echo '--------------------------------------------------------'
    echo Synchronizing Spam folder...

    ~/offlineimap/offlineimap.py
    mv ~/MaildirSync/.Spam/new/* ~/MaildirSync/.Spam/cur/

    echo Messages synchronized and ready for processing.
    ~/sausr/bin/sa-learn -V
    echo Learning what is spam...
    ~/sausr/bin/sa-learn --spam ~/MaildirSync/.Spam/cur
    rm -f ~/MaildirSync/.Spam/cur/*
    echo Learning complete.  All spam messages were deleted.
    echo '--------------------------------------------------------'
    echo Resynchronizing your spam folder...
    ~/offlineimap/offlineimap.py
    echo All folders are synchronized. 
  elif [ $1 = "ham" ]
  then
    TESTED=true
    ~/sausr/bin/sa-learn -V
    echo '--------------------------------------------------------'
    echo Learning what is ham...
    ~/sausr/bin/sa-learn --ham ~/MaildirSync/cur  
  fi
  
  if [ $TESTED = true ]
  then
    echo '--------------------------------------------------------'
    echo Summary statistics of Bayes database...
    ~/sausr/bin/sa-learn --dump magic
    echo '--------------------------------------------------------'
  fi
else
  echo Enter one argument:  [ham | spam]
fi
echo '========================================================'</code>
</pre>
</li>
<p></p>
<li><b>Update your cron jobs.</b>  Because some e-mail are marked as spam incorrectly (false positives), we need to ensure all mail is synchronized.  This gives you a chance to correct those false positives and move valid e-mail back into your inbox.  The first cron task runs frequently to ensure your folders are up-to-date.  Some spam systems would do this once daily but I prefer to know sooner if an important e-mail got trashed.  The second task runs the Bayes update script.  Type the following at the command prompt, acknowledge prompts for e-mail according to your preferences, and enter the text shown:
<pre>
<code>%&gt; crontab -e

30 * * * * ~/offlineimap/offlineimap.py
10 0 * * 7 ~/salearn.bat spam</code>
</pre>
</li>
<li><b>Create an e-mail filter through the panel.</b>  Remember that e-mail account you created back in step 1 (spam_checker@unsaturated.com)?  It&#8217;s time to give it a trivial filter using the panel.<br />
<img src="http://www.unsaturated.com/wordpress/wp-content/data/sa-step10a-filter.png" alt="E-mail Filter" title="E-mail Filter" width="163" height="241"  id="centered"/></a><br />
This will create a <code>.procmailrc</code> on the mail server, which you can&#8217;t see or edit via the shell.  By trivial, I mean an obvious pass.  Your rule would go something like this.<br />
<img src="http://www.unsaturated.com/wordpress/wp-content/data/sa-step10b-trivial.png" alt="Trivial filter" title="Trivial filter" width="520" height="29"  id="centered"/></p>
<p>Now once the trivial filter is establish you want to select the &#8220;<b>Forward to shell account</b>&#8221; option.  Be sure to select the matching user account from the drop-down menu.<br />
<img src="http://www.unsaturated.com/wordpress/wp-content/data/sa-step10c-forward.png" alt="Forward to shell" title="Forward to shell" width="213" height="24"  id="centered"/>
</li>
<li><b>Update all e-mail aliases.</b>  Remember that e-mail account you created back in step 1 (spam_checker@unsaturated.com)?  It&#8217;s time to update all your <i>other</i> aliases to point to that address.  With each updated alias, the system goes &#8220;live&#8221; so you might try it on an infrequently used address, then send a test message.<br />
<img src="http://www.unsaturated.com/wordpress/wp-content/data/sa-step11-aliases.png" alt="Update aliases" title="Update aliases" width="520" height="31"  id="centered"/>
</li>
<li><b>Send a test message.</b>  If everything is working properly, you can run the salearn.bat script and you should be error-free.  Send a test message and look for SA headers (X-Spam-Level, etc).  Lastly, if you find an error in my tutorial please post a comment.
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/spamassassin-changes-for-dreamhost/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Proxy Vote</title>
		<link>http://www.unsaturated.com/projects/proxyvote/</link>
		<comments>http://www.unsaturated.com/projects/proxyvote/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 03:00:34 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[HOA]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[Wildewood]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/?p=238</guid>
		<description><![CDATA[Trying to reach a quorum and the traditional methods aren't working?  It's time to use the Proxy Vote plug-in for Wordpress.  If your website is running on Wordpress, you're already closer to a solution than you realize. ]]></description>
			<content:encoded><![CDATA[<h2>History</h2>
<p>I developed this plug-in out of necessity while managing my neighborhood homeowner association (HOA). In past meetings of our HOA, achieving quorums were a wait-and-see ordeal.  Will enough people show to the meeting?  Will they bother to mail us their proxy vote?  I had enough so I started to code a solution.</p>
<p>The result is a system that provides immediate feedback, a decent measure of security, and simple integration with Wordpress blogs.  The first version I fielded worked great with our HOA website.  Everyone in the community was given a customized paper explaining the process.  That paper also provided a customized key, much like a business provides to its shareholders.  The process is very simple: the voter goes to the website, enters his key, his name, the proxy&#8217;s name, then submits the information.  That&#8217;s all there is to it!</p>
<p>The first version I tried had limited capabilities.  I think the concept was solid but the feature list needed improving.  After a few months of development I made the feature list grow, worked out the bugs, and polished the user interface.  The result is a compelling product worthy of commercial distribution.</p>
<h2>Features and Anti-Features</h2>
<p>You usually buy a product based upon its feature list.  Naturally, I&#8217;ve listed those but I&#8217;ve also listed anti-features.  An anti-feature is a capability a product should probably have <i>but doesn&#8217;t</i>.  You might think that works against the &#8220;sell more&#8221; ethos of business but I disagree.  When I buy something I want to know what I&#8217;m getting but also what I&#8217;m <i>not</i> getting.  An anti-feature might deter some potential buyers but I feel it removes ambiguity and instills confidence in the committed buyers.</p>
<h3>Features</h3>
<ul>
<li>Proxy Vote can manage multiple, simultaneous events.</li>
<li>Proxy Vote 1.1 is verified to work with Wordpress versions 2.5/2.6. Version 1.0 is verified to work with Wordpress version 2.3.  The administrative interface is unique to each version but features and capabilities are the same.</li>
<li>Each proxy event description can contain HTML, images, URL links, and more.</li>
<li>Event descriptions are formatted to print on individual pages.</li>
<li>Results of the event are optimized for printing.</li>
<li>Cleanly remove the plug-in once you&#8217;re done. You have the option to completely remove all traces of Proxy Vote, including its tables.</li>
<li>Customize the form text then insert it with an entry like <code>[proxy123]</code>.</li>
<li>It works on posts and pages.</li>
<li>Information and error messages can be localized to another language very easily.</li>
<li>All submitted proxies record the IP address of the sender.</li>
<li>Events can be exported to an XML file. Use Microsoft Excel or any XML-friendly application for viewing the raw data.  Format it however you please.  It&#8217;s <i>your</i> data.</li>
</ul>
<h3>Anti-Features</h3>
<ul>
<li>Events cannot be re-imported to the database from the XML file. Arguably, what&#8217;s the point when the event has expired?</li>
<li>The number of voters cannot be changed once an event is created.  However, expiration, title, and description <i>can</i> be changed at any time.</li>
<li>There is no event start time, only an expiration time.  In other words, do not post your event until you are ready to use it. If this anti-feature is added, it would make the second anti-feature much easier to implement.</li>
<li>Formatting and compatibility is unknown on earlier 6.x versions of Internet Explorer.  If this applies to you, I highly recommend you upgrade IE.</li>
</ul>
<h2>Adding an Event</h2>
<p>Adding an event is very easy.  Provide the title, description, expiration time, and the number of voters.  Proxy Vote manages multiple, simultaneous events. <br/><br />
<img src="http://www.unsaturated.com/wordpress/wp-content/data/manage-add-event.png" alt="" title="Add Event" class="aligncenter size-full wp-image-252" /></p>
<h2>Managing Your Event</h2>
<p>Once you&#8217;ve created your event, you can monitor its progress, print data, modify its properties, or export the data to XML. Submitted proxies are displayed as they are received.  Back on the main management page, you&#8217;ll have a real-time look at how many proxies are submitted for each event.<br/><br />
<img src="http://www.unsaturated.com/wordpress/wp-content/data/manage-first-proxy.png" alt="" title="First Proxy" class="aligncenter size-full wp-image-253" /></p>
<h2>Spreading the Word</h2>
<p>Your proxy is only useful if people are given a brief, informative paper with instructions to submit the proxy.  In my opinion, keeping the message brief and informative is the best means to getting proxies and achieving a quorum. In this example, I included multiple HTML elements to illustrate the flexibility of the proxy messages.  This event had 250 voters, therefore, 250 unique keys and pages were generated &#8211; just print and distribute!<br/><br />
<img src="http://www.unsaturated.com/wordpress/wp-content/data/proxy-message-page.png" alt="" title="Message Page" class="aligncenter size-full wp-image-254" /></p>
<h2>Go &#8216;Live&#8217; with Your Event</h2>
<p>Ready to post your proxy event form?  It&#8217;s easy.  You can add any text before or after the form itself.  Give your voters a simple reminder of what&#8217;s required.  Publish your post or page and you&#8217;re one step closer to a quorum.<br/><br />
<img src="http://www.unsaturated.com/wordpress/wp-content/data/proxy-post.png" alt="" title="Proxy Post" class="aligncenter size-full wp-image-255" /></p>
<h2>It&#8217;s Your Data</h2>
<p>Once your proxy event is complete, you might want to organize the data differently. Proxy Vote wasn&#8217;t designed to analyze, process, or format data in fancy ways.  Export your event to an XML file and open the results in Microsoft Excel or some other program.  You can format, sort, and arrange the data however you prefer. <br/><br />
<img src="http://www.unsaturated.com/wordpress/wp-content/data/proxy-xml.png" alt="" title="Proxy XML" class="aligncenter size-full wp-image-256" /></p>
<h2>Activate</h2>
<ol>
<li>Open the downloaded zip file</li>
<li>If you&#8217;re using Wordpress 2.3, extract the contents of the <tt>Version1.0</tt> folder to your Wordpress <tt>plugins</tt> folder; if you&#8217;re using Wordpress 2.5 or 2.6, extract the contents of the <tt>Version1.1</tt> folder</li>
<li>Activate the Proxy Vote plugin</li>
<li>Go to the <b>Settings</b> page (<b>Options</b> in WP 2.3); select the <b>Create Tables</b> button.</li>
<li>Activation is complete, so create a proxy event.</li>
</ol>
<h2>The Events Management View</h2>
<p>The Events Management View shows a list of all proxy events and the form for <a href="#createevent">creating a new event</a>.  Events with the nearest expiration time are shown on the top.  The number of proxies generated and submitted are displayed.</p>
<p>Each event has two selections: <b>Edit</b> and <b>Delete</b>.  Selecting <b>Delete</b> will open a dialog box which allows you to proceed or cancel the action.  Selecting <b>Edit</b> brings you to the next screen which displays proxy details.</p>
<h2><a name="proxydetailsview"></a>The Proxy Details View</h2>
<p>This view shows actions relevant to the current event.  All actions are display in the top section called &#8220;Activities&#8221;.  Let&#8217;s briefly review each one.</p>
<ul>
<li>The first bullet shows the activation string necessary to insert the proxy form into a post or page.  You can type or copy the text displayed.  It will always follow the pattern <tt>[proxy<i>ID</i>]</tt> where <i>ID</i> is the id number of the proxy event.  If you insert this text with an invalid id number, the plugin will ignore the text.</li>
<li>The second bullet provides a link to the <a href="#proxymessageview">Proxy Message View</a>.</li>
<li>The third bullet links to the <a href="#proxyresultsview">Proxy Results View</a>.</li>
<li>The fourth bullet links to the bottom of the page where you can update properties of the event, such as title, description, and expiration time.</li>
<li>Finally, the last bullet links to the <a href="#proxyxmlview">Proxy XML View</a>.</li>
</ul>
<h2><a name="proxymessageview"></a>The Proxy Message View</h2>
<p>The proxy message is the keystone of the Proxy Vote plugin.  You can use the proxy message for a variety of purposes, but its main intent is to provide a custom message to each voter with a unique proxy key.  In the Proxy Message View, you can preview what these messages will look like.  At the top of the screen you will see a message box which provides some tips on printing the proxy message.  If you have 300 voters, you should have 300 proxy messages. For almost all web browsers, you will proceed to <b>File</b> -> <b>Print Preview</b> menu item.  Verify your <a href="#createeventdescription">description</a> has been formatted the way you intended.</p>
<h2><a name="proxyresultsview"></a>The Proxy Results View</h2>
<p>Proxy results include all the submitted proxies for the event.  Much like the Proxy Message, the print preview feature of your web browser will format the page.  In most circumstances, the landscape page format is superior for tabular data.  This view is display only.</p>
<p>In the table you will find these columns:</p>
<ul>
<li><b>Key</b> is the 10-character random code distributed to this voter.</li>
<li><b>Voter</b> is the person submitting the proxy.</li>
<li><b>Proxy</b> is the person who will vote on behalf of the voter.</li>
<li><b>IP</b> is the internet protocol address of the computer which submitted the proxy.</li>
<li><b>Submit Time</b> is when the proxy information was submitted to your site.</li>
</ul>
<h2><a name="proxyxmlview"></a>The Proxy XML View</h2>
<p>This view displays all event data in XML format. The proxy event can be exported to a file using the <b>Export to XML File</b> button.  The auto-generated name will be <tt>export<i>ID</i>.xml</tt> where <i>ID</i> is the id number of the proxy event. Although the data is displayed in a text editable field, you <i>cannot</i> change the data here.</p>
<h2><a name="createevent"></a>Create an Event</h2>
<ol>
<li>Go to the <b>Manage</b> tab, then select <b>Proxy Votes</b>.</li>
<li>Enter your event information under the section &#8220;Add Proxy Event&#8221;</li>
<ul>
<li><b>Title</b> can be anything meaningful to identify this event.  You can update the Title at any time.</li>
<li><a name="createeventdescription"></a><b>Description</b> can contain actual HTML code; line breaks, headings, images, tables, or anything you need to summarize the event.  However, it should always contain the <tt>[key]</tt> and <tt>[expires]</tt> tag.  The Description section forms the text of your proxy message, which is a custom set of instructions to your voter.  It should also provide the URL of the proxy form.  It&#8217;s a good idea to create a draft of the post so you can finalize your proxy message. You can update the Description at any time. </li>
<li><b>Expiration</b> is the local end time for the proxy event.  The plugin will not accept proxies submitted after the expiration.  The expiration time uses the properties setup in your blog, such as the UTC offset.  You can update the Expiration at any time.</li>
<li><b>Number of Voters</b> is the maximum number of people who can submit a voter proxy.  This value <i>cannot</i> be changed once the event is created.</li>
</ul>
<li>Select <b>Add Event</b> and you will see a message which confirms the event was created and the random keys generated.</li>
</ol>
<h2>Sample Proxy Message</h2>
<p>The following snippet of HTML code is a good starting point for your proxy message.  It doesn&#8217;t contain any image links.  However, it makes use of embedded styles, unordered lists, and those two important tags: <tt>[key]</tt> and <tt>[expires]</tt>.</p>
<blockquote><p>
<code>&lt;h1&gt;The Proxy Event&lt;/h1&gt;
&lt;p&gt;This is the proxy event you've waited for all year.  To achieve a quorum at our annual meeting, we only ask for a few moments of your time.  This year we've made the process of submitting a proxy easier than ever.  Please follow these directions carefully.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to our website: www.unsaturated.com/proxyvote&lt;/li&gt;
&lt;li&gt;Look for entry titled "Proxy Event of the Year"&lt;/li&gt;
&lt;li&gt;In the first space you will notice the expiration date, which is currently [expires].  You must submit your proxy before that time.&lt;/li&gt;
&lt;li&gt;In the next space enter your unique code: &lt;b&gt;[key]&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Enter your name (last name, first name)&lt;/li&gt;
&lt;li&gt;Enter your proxy's name (last name, first name)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Again, we thank you for your support.  This will help our meeting proceed smoothly and ensure business continues without any further delays.&lt;/p&gt;
&lt;p&gt;Sincerely,&lt;br/&gt;
Matthew Crumley&lt;br/&gt;
Board President&lt;/p&gt;</code>
</p></blockquote>
<h2>Purchasing</h2>
<p>Proxy Vote version 1.1 is the newest version and is compatible with Wordpress version 2.6 and 2.5.  Styles are updated for consistency with the new administrative interface introduced with Wordpress 2.5.  The plugin features are exactly the same as Proxy Vote version 1.0.<br />
<strong><a href="https://files.dreamhost.com/66194/proxyvote-1.1.zip">Click here to buy version 1.1 for $1 USD</a></strong>.</p>
<p>The Proxy Vote Bundle includes version 1.1 and 1.0.  This provides compatibility with Wordpress 2.3.  If you&#8217;re updating your Wordpress in the near future, this is the best option.<br />
<strong><a href="https://files.dreamhost.com/66193/proxyvote-1.0-1.1.zip">Click here to buy the 1.1/1.0 bundle for $2 USD</a></strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/proxyvote/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Barron Collier Graduation, 1997</title>
		<link>http://www.unsaturated.com/projects/barron-collier-graduation-1997/</link>
		<comments>http://www.unsaturated.com/projects/barron-collier-graduation-1997/#comments</comments>
		<pubDate>Tue, 13 May 2008 00:59:00 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[graduation]]></category>
		<category><![CDATA[high school]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/projects/barron-collier-graduation-1997/</guid>
		<description><![CDATA[My high school graduation was in 1997. It's also the year VHS started to look obsolete when compared to DVD.  Ten years later, before the video tape completely degraded, I converted the recording to a format that's future-ready. ]]></description>
			<content:encoded><![CDATA[<p>The worst case of format-gone-obsolete has to be my <a href="http://www.unsaturated.com/projects/fisher-price-pxl2000/">Fisher-Price PXL-2000</a>.  I was fortunate the camera still worked otherwise my movies were doomed.  What&#8217;s worse: video that you allowed to degrade, or video stuck in a proprietary format?  My VHS tapes were quickly falling into both categories.  If you&#8217;ve got tapes at home then buy a cheap VHS-to-DVD recorder ($50) and start converting.  You&#8217;ll be glad you did. </p>
<p>One of those VHS tapes was my high school graduation ceremony from 1997.  The conversion to DVD wasn&#8217;t a disaster but it had problems: wobbly sound, washed out colors, and bands of video distortion. Rather than leave the DVD sitting around, I instead copied it to my PC.  I then cropped out the distorted areas and compressed the file down to 282MB (320&#215;224 pixels).  The result is pretty good considering the source.  The video won&#8217;t degrade over time and it&#8217;s much easier to share.</p>
<p><center><br />
<script type='text/javascript' src='http://www.unsaturated.com/wordpress/wp-content/plugins/hana-flv-player/flowplayer3/example/flowplayer-3.1.1.min.js'></script>
<div >
<div id='hana_flv_flow3_1' style='display:block;width:320px;height:224px;'></div>
</div>

			<script  type='text/javascript'>
		flowplayer('hana_flv_flow3_1', { src: 'http://www.unsaturated.com/wordpress/wp-content/plugins/hana-flv-player/flowplayer3/flowplayer-3.1.1.swf', wmode: 'transparent' }, { 
    		clip:  { 
    			url: 'http://www.unsaturated.com/video/BCHS-graduation-1997_320x224.flv',
        		scaling: 'scale', autoPlay: false, autoBuffering: true 
				  , onFinish : function () { this.seek(0); } 
	        }
		}); 
			</script></p>
<p></center></p>
<p><a href="http://www.unsaturated.com/video/BCHS-graduation-1997.avi">Download the graduation video</a> and relive <strong>110</strong> minutes of absolute monotony punctuated by three seconds of mortarboard tossing fun. You&#8217;ll need the Xvid video codec to watch.  It&#8217;s open source and free to download at <a href="http://www.xvid.org/">xvid.org</a>.  Or you can watch the Flash version above &#8211; go crazy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/barron-collier-graduation-1997/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.unsaturated.com/video/BCHS-graduation-1997.avi" length="282870132" type="video/x-msvideo" />
		</item>
		<item>
		<title>Tale of Two Themes</title>
		<link>http://www.unsaturated.com/projects/tale-of-two-themes/</link>
		<comments>http://www.unsaturated.com/projects/tale-of-two-themes/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 05:26:38 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/projects/tale-of-two-themes/</guid>
		<description><![CDATA[This is my struggle to make a unifying theme for two open source applications:  Gallery and WordPress.  I quickly discovered plug-ins can work for you <i>and</i> against you.]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>Gallery organizes my vast collection of personal photos but its theme system is not easy to modify.  Although my site was redesigned three months ago, a large percentage of it remained untouched.  To complete the site and bring closure to my redesign, a consistent look and feel was absolutely necessary.  I just wanted the same colors, fonts, and formatting.  Instead, I got the Tale of Two Themes.  It&#8217;s a quick look at the complexity, usability, and costs of two open source applications and their themes.</p>
<h2>First Impressions</h2>
<p><a href="http://en.wikipedia.org/wiki/Wordpress">WordPress</a> and <a href="http://en.wikipedia.org/wiki/Gallery_Project">Gallery</a> have two distinct methods of implementing a theme system.  Both applications use CSS, HTML, and various template files but there the similarities stop.  While Gallery uses Smarty, WordPress contends with PHP at every turn.  That last difference is a big one.  These open source projects take drastically different approaches to theme development.  </p>
<p>Gallery imposes a strict regime of access to template methods.  Its selection is almost Soviet.  Meanwhile, WordPress throws caution to the wind and lets PHP rule with impunity.  It&#8217;s a broad generalization but Gallery imposes a police state form of security while WordPress trusts its developers and users to bring anything on the plane.  These two applications show software design is clearly about tradeoffs.  </p>
<p><img src='http://www.unsaturated.com/wordpress/wp-content/data/galleryredesign.png' alt='Gallery theme' /></p>
<h2>A Brief Comparison</h2>
<p>There&#8217;s no limit to lines to code.  Code can be written to impose a detailed design scheme, or permit an absurd level of extensibility.  The real question is: What&#8217;s the role of this software?  When the developers of Gallery and WordPress addressed this question they directly affected how theme developers would do their jobs. </p>
<h3>Gallery</h3>
<p>Gallery uses <a href="http://en.wikipedia.org/wiki/Smarty">Smarty</a>.  If you&#8217;re unfamiliar with this tool, then you&#8217;re not alone.  This is the first obstacle I faced when writing a Gallery theme for my site.  It takes all the PHP code out of the theme and generates it for you.  It sounds great.  Unfortunately, it imposes a lot of <i>up front</i> time investment to learn a new tool.  Productivity doesn&#8217;t climb until you can reasonably manipulate its tags.  Look forward to the following:</p>
<pre>
<code>{if isset($theme.photoFrame)}
  {g-&gt;container type="imageframe.ImageFrame"
                      frame=$theme.photoFrame
                      width=$image.width height=$image.height}
  {g-&gt;image id="%ID%" item=$theme.item image=$image
                      fallback=$smarty.capture.fallback class="%CLASS%"}
  {/g-&gt;container}
{else}
  {g-&gt;image item=$theme.item image=$image fallback=$smarty.capture.fallback}
{/if}</code>
</pre>
<p>Gallery uses plug-ins.  This is the trend for most applications these days.  It&#8217;s great for open source because it allows other developers the chance to add capabilities not originally supported.  Unfortunately, adding features means a purpose-built application can quickly devolve into a slow, bloated monster.  A Gallery plug-in integrates just enough theme customization to be useful&#8230;for <b>one</b> theme only.  </p>
<p>Each plug-in has a set of templates expressly built for theme usage.  Within each plug-in&#8217;s template directory you can create a &#8220;local&#8221; sub-directory which overrides the default template.  It sounds good, but when you apply a customization, say, to add some header text, <i>it affects every theme</i>.  Themes cannot specify <i>which</i> local template to utilize.  Thus, the designer is not truly free to make modifications.</p>
<h3>WordPress</h3>
<p>Unlike Gallery, the role of plug-ins in WordPress is diminished because the core capabilities are all I require.  Storing text, comments, and providing RSS feeds is the extent of a blog.  I only use three plug-ins in WordPress compared to over 20 in Gallery.  The plug-ins I&#8217;m using for WordPress leave the theme mostly untouched.  </p>
<p>Themes and templates in WordPress are a set of files containing CSS, HTML, and <a href="http://en.wikipedia.org/wiki/PHP">PHP</a>.  There&#8217;s nothing more to it.  The following is a sample of what you&#8217;ll see in WordPress themes:</p>
<p><code>&lt;h3 id="comments"&gt;&lt;?php comments_number('No Comments', 'One Comment', '% Comments' );?&gt; on &amp;#8220;&lt;?php the_title(); ?&gt;&amp;#8221;&lt;/h3&gt;</code></p>
<p>Template functions make repetitive tasks easier and, yes, they&#8217;re functions written in PHP. The example above uses <code>comments_number</code> and <code>the_title</code> to get the number of comments for a post and the post&#8217;s title.  Accomplishing anything via WordPress involves PHP and there are downfalls to embedded code:</p>
<ol>
<li><b>Design and code are not separated.</b>  It&#8217;s not easy to separate data, interface, and design.  WordPress attempts it but only marginally succeeds.  This is important in large software teams when the share of work <i>must</i> be divided.</li>
<li><b>Breaks from the WordPress loop are not constrained.</b>  What amount of PHP code is necessary to escape the security measures put in place?  If you allow <b>any</b> code, then you&#8217;ve already opened the possibility.</li>
<li><b>Version compatibility with PHP.</b>  This problem should <i>not</i> be caused by files on the theme-level of the site.  Your theme designer wants access to something in PHP 5 and the coder refuses to support anything beyond PHP 4.</li>
</ol>
<h2>The Path of Least Resistance</h2>
<p>My strategy was simple:  create the theme for WordPress then design the Gallery template to finalize the remainder of my site.  This is exactly how it happened but unequal weight was given to Gallery in the final effort.  It took a couple weeks here and there after work to finish the WordPress theme.  By comparison, the theme and template development for Gallery was dragging on for a month.  My Gallery theme was completely based upon my initial WordPress theme.  This sounds fine but the format was not right for displaying photos.  I was reworking multiple plug-in templates, fudging the CSS, and finally cut my sunk costs.  I looked at the long term maintenance of the modifications and could no longer rationalize my initial design.  The present Gallery theme is a derivative of the Matrix theme.  </p>
<p>When the site was finished I realized too many plug-ins complicated my experience with Gallery.  Smarty is an excellent tool and a great idea for separating work share.  However, it greatly slows development for the individual.  WordPress keeps things simple (almost simplistic) at the cost of security and stability.  Remember, developers, PHP can work <i>against you</i> as easily as <i>for you</i>.  </p>
<p>I enjoy working with code, but when too much stands in the way of my goal, it becomes frustrating and tiresome.  Do yourself and the open source community a favor and ask yourself:  Do I <i>really</i> need that extra plug-in?  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/tale-of-two-themes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlixLogix</title>
		<link>http://www.unsaturated.com/projects/flixlogix/</link>
		<comments>http://www.unsaturated.com/projects/flixlogix/#comments</comments>
		<pubDate>Sun, 21 Oct 2007 02:06:43 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[competition]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[Netflix]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/projects/flixlogix/</guid>
		<description><![CDATA[This is my attempt at the Netflix Prize.  I wrote everything in .NET, designed a GUI, and saw some SQL for the first time since college. ]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>In late 2006 the <a href="http://www.netflixprize.com">Netflix Prize</a> was inaugurated and as of this post, is still going.  The premise is simple: write software that predicts how a Netflix subscriber will rate a movie.  To win, the predictions have to be 10% better than Netflix. At stake: $1,000,000. </p>
<h2>Coding, Not Competing</h2>
<p>I have programming talent but this challenge is different; it demands specialized skills.  Database optimization and machine learning are a few areas that come to mind.  My expertise is not in either area.  Why bother to compete if my chances of winning are so small?  To put it simply, I wanted to see how far I could get.</p>
<ul>
<li>I could barely remember how to write an SQL query.  The last time I touched a database was in college when I helped design a <a href="http://www.unsaturated.com/projects/web-enabled-automated-horse-feeder/">web-enabled, automated horse feeder</a>.  I used MySQL and PHP.  This was the perfect excuse to re-learn those skills.</li>
<li>I was still using .NET 1.1 at work.  The .NET frameworks kept evolving, so it was time to try 2.0.  I could have written the software in any language but C# was most relevant to my everyday work.</li>
<li>Writing interfaces is something that takes practice.  Let me rephrase that:  writing <i>good</i> interfaces is something that takes practice.</li>
<li>Why not make this an exercise in GUI design?  I love drawing buttons.</li>
</ul>
<h2>Database</h2>
<p>The challenge supplies you with a large amount of sample data: 2GB.  Unless you&#8217;re a seasoned database administrator, this can be intimidating.  Where do you start?  Is a database even the right direction for such a project?  The problems mounted and addressing the actual challenge seemed far away. </p>
<p>I stayed up until 1AM several nights a week trying different ideas.  I waited for hours, even a <b>day</b>, as my <code>INSERT</code> statement went through the sample data line-by-line and placed it into the database tables.  Finally, a breakthrough:  I formatted the sample data into flat files that MySQL could import via <code>LOAD INFILE</code>.  Importing was reduced to minutes. </p>
<h2>GUI</h2>
<p>The problem is to know what tasks are frequently repeated.  In the beginning, formatting and importing data took the most time.  Thus, three of the four tabs are for that purpose.  I also created some basic logging features and began to think multi-threaded.  When importing data or making a prediction, such tasks would require lots of time for processing.  The worker threads provide feedback on how long they&#8217;ve taken to execute.  </p>
<p><img src='http://www.unsaturated.com/wordpress/wp-content/data/flixlogix.png' alt='FlixLogix Screen Capture' /></p>
<h2>Cooking Metaphor</h2>
<p>I estimate 10% of my time was spent on the core problem, which is generating rating predictions.  I spent so much time on the database, caching, and GUI, when I was ready to implement the algorithm to address the challenge, burnout was imminent.  Since the previous 90% of my effort addressed 100% of my goals stated above, I felt a warm sense of accomplishment.</p>
<p>Like cooking, most of my time went into preparation, not the actual cooking.  If you observe the <a href="http://www.netflixprize.com/leaderboard">leader board</a> for several weeks, you&#8217;ll see the cooking metaphor in action.  You&#8217;ll see the same teams making incremental improvements&#8230;adding a dash of salt, oregano, etc.  It&#8217;s trial and error to make the original recipe better.  The same goes for prediction algorithms and getting the RMSE just <i>slightly</i> lower. </p>
<h2>Conclusion</h2>
<p>My FlixLogix source is <a href='http://www.unsaturated.com/wordpress/wp-content/data/flixlogix.zip' title='FlixLogix Source'>available for download</a> (63KB).  I created the project and solution using Microsoft Visual C# 2005 Express Edition.  If you don&#8217;t have an ADO.NET driver for MySQL, you need to reference one in order to build.  Using this project as-is will yield an RMSE of 1.269.  Make my recipe your own.  Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/flixlogix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Event Calendar for WordPress 2.3</title>
		<link>http://www.unsaturated.com/projects/eventcalendar-for-wordpress/</link>
		<comments>http://www.unsaturated.com/projects/eventcalendar-for-wordpress/#comments</comments>
		<pubDate>Sat, 29 Sep 2007 21:19:47 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/projects/eventcalendar-for-wordpress/</guid>
		<description><![CDATA[A compatibility fix for Event Calendar 3.1.0 and WordPress 2.3. ]]></description>
			<content:encoded><![CDATA[<p>I recently upgraded my homeowners association blog to WordPress 2.3.  The core upgrade from 2.2 to 2.3 was easy.  However, compatibility problems with plug-ins and themes are inevitable.  I&#8217;m currently using Event Calendar 3.1.0 and immediately noticed problems after upgrading.  </p>
<p>The new SQL structure introduced in 2.3 removed the <code>post2cat</code> table.  As a result you&#8217;re seeing a lot of broken SQL queries.  To fix the problem I changed all queries that referred to <code>$wpdb-&gt;post2cat</code> with <code>$wpdb-&gt;terms</code> and changed the conditions from <code>post_id</code> to <code>term_id</code>.  </p>
<p>Extract the ZIP file to your Event Calendar plug-in directory and things should work smoothly again.  I&#8217;m not a heavy user of all the Event Calendar features, so I can&#8217;t vouch for <i>full</i> WP 2.3 compatibility.   If you find any additional problems, first inform the <a href="http://wpcal.firetree.net">developer</a>.  It&#8217;s a great plug-in and worth maintaining.  </p>
<p>Download the update: <a href='http://www.unsaturated.com/wordpress/wp-content/data/eventcalendar310-wp23.zip' title='EventCalendar3.1.0-WP2.3'>EventCalendar3.1.0-WP2.3.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/eventcalendar-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SpamAssassin for Dreamhost</title>
		<link>http://www.unsaturated.com/projects/spamassassin-for-dreamhost/</link>
		<comments>http://www.unsaturated.com/projects/spamassassin-for-dreamhost/#comments</comments>
		<pubDate>Sun, 19 Aug 2007 12:22:02 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[dreamhost]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[SpamAssassin]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/projects/spamassassin-for-dreamhost/</guid>
		<description><![CDATA[You're using Dreamhost and tired of SPAM. I feel your pain. Here's an installation guide I wrote for version 3.1.0, which uses MySQL to store Bayes data.]]></description>
			<content:encoded><![CDATA[<p>This SpamAssassin guide is for <a href="http://www.dreamhost.com/rewards.cgi">Dreamhost</a> clients who want to run a personal copy of SpamAssassin separate from the one already provided.  This will take you step-by-step through the process of downloading, installing, and configuring SpamAssassin (SA) version 3.1.0. </p>
<p>Although DH currently supports SA, it is applied to your entire domain. To further complicate matters, DH upgraded to Debian Linux &#8220;Sarge&#8221; and it caused compatibility issues with the Bayesian database files; these are read/write files created using a Perl library. The next best alternative is to store those Bayes tokens in a MySQL database. By using SA&#8217;s Bayesian filtering you stand a <i>much</i> greater chance of eliminating your junk mail, and MySQL seems to circumvent the problem mentioned earlier.</p>
<p><b>Update: changes to Dreamhost&#8217;s network architecture require amendments to this procedure.  Please reference my <a href="http://www.unsaturated.com/projects/spamassassin-changes-for-dreamhost/">updated tutorial</a> for more information.</b></p>
<p>A few assumptions before we get started&#8230;</p>
<ul>
<li>You have a basic understanding of Linux.</li>
<li>You have an active DH account.</li>
<li>You have access to the DH Panel.</li>
<li>The <code>%&gt;</code> notation indicates what you should type at the command prompt.</li>
<li>The <code>&lt;Valid URL for: FileXYZ&gt;</code> notation indicates you need to insert a URL that points to the file in question.</li>
</ul>
<ol>
<li><b>Disable <u>all</u> keyword and junk mail filtering via the Dreamhost Panel.</b>  The Panel modifies your <code>.procmailrc</code> file and later we will be making changes to it and other files in your root directory.</li>
<p><img src='http://www.unsaturated.com/wordpress/wp-content/data/samail.png' alt='Mail Tab' id='centered'/><br />
</p>
<li><b>Log in to the account that will be using SpamAssassin.</b>  You will be doing most of the work from the shell.  Having a browser window open to the DH Panel would also be a good idea.</li>
<p></p>
<li><b>Download SpamAssassin 3.1.0.</b>  The 3.1.0 distribution can be obtained from the SA home page. Be sure to get the tar.gz format. Using this command will download it to your home directory.  Type the following:
<pre>
<code>%&gt; cd ~
%&gt; wget &lt;Valid URL for: Mail-SpamAssassin-3.1.0.tar.gz&gt;</code>
</pre>
</li>
<li><b>Extract the SpamAssassin archive.</b>  You must now extract the files to prepare for installation.  Be sure the tar.gz file is in your root directory.  Type the following:
<pre>
<code>%&gt; tar xvfz Mail-SpamAssassin-3.1.0.tar.gz
%&gt; cd Mail-SpamAssassin-3.1.0</code>
</pre>
</li>
<li><b>Make the SpamAssassin files.</b>  This step is found in the <code>INSTALL</code> file under the heading &#8220;Installing SpamAssassin for Personal Use (Not System-Wide).&#8221;  Each step takes some processing time, so please be patient. It will place your configuration files in <code>~/saetc</code> and binaries in <code>~/sausr</code>. Type the following at the command prompt:
<pre>
<code>%&gt; perl Makefile.PL PREFIX=~/sausr SYSCONFDIR=~/saetc
%&gt; make
%&gt; make install</code>
</pre>
</li>
<li><b>Create a directory for spam rules.</b>  This directory provides a location for all of your procmail-related rules. Type the following at the command prompt:
<pre>
<code>%&gt; cd ~
%&gt; mkdir procmail
%&gt; cd procmail</code>
</pre>
</li>
<li><b>Create the spam.rc file in your procmail folder.</b>  The <code>spam.rc</code> file will tell SA where to place junk mail and where to find associated rules for filtering. I have set up a rule to sort all spam into SquirrelMail&#8217;s Spam folder.  Thus, it is not downloaded by my POP3 client. Type the following at the command prompt and insert the text shown:
<pre>
<code>%&gt; pico spam.rc

#=================================================
# spam.rc should be located in ~/procmail

# Send e-mail to SpamAssassin if less than 500kB in size
:0fw
* &lt; 500000
| $HOME/sausr/bin/spamassassin

# Delete all spam with a score of 8 or higher
:0
* ^X-Spam-Level: ********
/dev/null

# Move suspected spam into a separate folder
:0:
* ^X-Spam-Status: Yes
.Spam/
#=================================================</code>
</pre>
</li>
<li><b>Create the .forward.postfix file in your root directory.</b>  Type the following at the command prompt and insert the text shown:
<pre>
<code>%&gt; cd ~
%&gt; pico .forward.postfix


#==========================================
#.forward.postfix should be located in ~
"| /usr/bin/procmail -t"
#==========================================</code>
</pre>
</li>
<li><b>Modify the .procmailrc file in your root directory.</b>  This step edits the file that specifies which rules are applied to your e-mail.  You want to reference the <code>spam.rc</code> file you already created.  Type the following at the command prompt and modify the file as shown:
<pre>
<code>%&gt; mv .procmailrc .procmailrc.bak
%&gt; pico .procmailrc


#=======================================
# .procmailrc should be located in ~

# Directory for procmail-related files
PMDIR=$HOME/procmail

# This is the message directory
MAILDIR=$HOME/Maildir

# procmail will use spam.rc for rules
INCLUDERC=$PMDIR/spam.rc

# Send everything else to Maildir
:0
$HOME/Maildir/
#=======================================</code>
</pre>
</li>
<li><b>Install modules necessary to enable DNS tests.</b>  Although DNS-based tests are not necessary for SA to work, it&#8217;s another great feature that helps to reduce spam.  You&#8217;ll need the Net::IP dependency before installing Net::DNS.  DH currently has this installed but the version is insufficient for SA to run correctly. Type the following at the command prompt:
<pre>
<code>%&gt; cd ~
%&gt; wget &lt;Valid URL for: Net-IP-1.24.tar.gz&gt;
%&gt; wget &lt;Valid URL for: Net-DNS-0.53.tar.gz&gt;
%&gt; tar xvfz Net-IP-1.24.tar.gz
%&gt; tar xvfz Net-DNS-0.53.tar.gz
%&gt; export PERL5LIB=/home/your_username/sausr/share/perl/5.8.4
%&gt; cd Net-IP-1.24
%&gt; perl Makefile.PL PREFIX=~/sausr
%&gt; make
%&gt; make install
%&gt; cd ~/Net-DNS-0.53
%&gt; perl Makefile.PL PREFIX=~/sausr
%&gt; make
%&gt; make install
%&gt; ln -s ~/sausr/lib/perl/5.8.4/Net/* ~/sausr/share/perl/5.8.4/Net</code>
</pre>
</li>
<li><b>Send yourself an e-mail to check the installation.</b>  Your installation should be working properly.  Be sure to check the e-mail headers for &#8220;X-Spam-Checker-Version: SpamAssassin 3.1.0&#8243;  This means your local copy of SA is working.</li>
<p></p>
<li><b>Create a MySQL database for SA.</b>  Go to the Goodies, MySQL link on the DH Panel. The username/password are examples. For security reasons, do <i>not</i> use the following. I used these only to complete the guide.  Remember these settings because you&#8217;ll be using them later.  After DH has set-up your database you will see it added to your list. Proceed to the next step. <img src='http://www.unsaturated.com/wordpress/wp-content/data/sacreatenew.png' alt='New MySQL Database' id='centered'/></li>
<p></p>
<li><b>Create the database tables necessary for SA.</b>  Doing this step will create all the necessary tables used by SA for user preferences and the Bayes tokens. I&#8217;m not currently using the database for my preferences but doing this step now would make it easier later.  Type the following at the command prompt and enter your database password as prompted:
<pre>
<code>%&gt; cd ~/Mail-SpamAssassin-3.1.0/sql
%&gt; mysql -h spam.sa.com -u spam_user -p MySpamDB &lt; userpref_mysql.sql
%&gt; mysql -h spam.sa.com -u spam_user -p MySpamDB &lt; bayes_mysql.sql
%&gt; mysql -h spam.sa.com -u spam_user -p MySpamDB &lt; awl_mysql.sql</code>
</pre>
</li>
<li><b>Modify the local.cf file.</b>  Everything is set-up to use Bayesian filtering but it&#8217;s not enabled by default. Type the following at the command prompt and add the lines indicated:
<pre>
<code>%&gt; cd ~/saetc/mail/spamassassin
%&gt; pico local.cf


#===================================================
# These lines must be in your local.cf file

# Tell SA to use Bayesian filtering
use_bayes 1

# Tell SA to use a MySQL database for tokens
bayes_store_module  Mail::SpamAssassin::BayesStore::MySQL
bayes_sql_dsn       DBI:mysql:MySpamDB:spam.sa.com
bayes_sql_username  spam_user
bayes_sql_password  itsasecret

user_scores_dsn           DBI:mysql:MySpamDB:spam.sa.com
user_scores_sql_username  spam_user
user_scores_sql_password  itsasecret

#===================================================</code>
</pre>
</li>
<li><b>Modify the user_prefs file.</b>  The user_prefs file is where you should add any white or black listed e-mail addresses. The MySQL database can store this information but I haven&#8217;t integrated it with SquirrelMail&#8230;yet. These preferences are optional but I believe they lead to greater reliability when SA assigns a score to an e-mail.  Type the following at the command prompt and add the lines indicated:
<pre>
<code>%&gt; pico ~/.spamassassin/user_prefs


#===================================================
# These lines should be in your user_prefs file

# Do not autolearn from Bayes
bayes_auto_learn 0

# Do not autowhitelist e-mail addresses
use_auto_whitelist 0

# Bayes will ignore these headers
bayes_ignore_header X-Virus-Scanned
bayes_ignore_header X-Spam-Status
bayes_ignore_header X-Spam-Level
bayes_ignore_header X-Spam-Flag

#===================================================</code>
</pre>
</li>
<li><b>Create a script for training SA.</b>  This will vastly simply your life so training SA becomes <i>almost</i> automatic.  The script is capable of training for spam or ham, depending upon the command line argument.  If training on spam, it will delete all the messages when it&#8217;s done.  Type the following at the command prompt and insert the text shown:
<pre>
<code>%&gt; echo &gt; ~/salearn.bat
%&gt; chmod 744 ~/salearn.bat&lt;br&gt;
%&gt; pico ~/salearn.bat


echo '========================================='
TESTED=false
if [ "$1" ]
then
  if [ $1 = "spam" ]
  then
    TESTED=true
    ~/sausr/bin/sa-learn -V
    echo '-----------------------------------------'
    echo Learning what is SPAM...
    ~/sausr/bin/sa-learn --spam ~/Maildir/.Spam/cur
    rm -f ~/Maildir/.Spam/cur/*
    echo All messages from your Spam folder were deleted.
  elif [ $1 = "ham" ]
  then
    TESTED=true
    ~/sausr/bin/sa-learn -V
    echo '-----------------------------------------'
    echo Learning what is HAM...
    ~/sausr/bin/sa-learn --ham ~/Maildir/cur
  fi

  if [ $TESTED = true ]
  then
    echo '-----------------------------------------'
    echo Summary statistics of Bayes database...
    ~/sausr/bin/sa-learn --dump magic
    echo '-----------------------------------------'
  fi
else
  echo Enter one argument:  [ham | spam]
fi
echo '========================================='</code>
</pre>
</li>
<li><b>Allow spam to accumulate in your Spam folder and train SA.</b>  SpamAssassin gets even better after training it with several thousand spam messages.  It assigns a statistical probability to certain words and characteristics of mail you have designated as junk.  When your Spam folder is getting full type the following at the command prompt:
<pre>
<code>%&gt; ~/salearn.bat spam
%&gt; ~/salearn.bat ham</code>
</pre>
</li>
<li><b>Create a crontab job to run your script.</b>  You have a script but you need to execute it with regularity. That&#8217;s what crontab is used to do.  You could have it doing lots of other chores like emptying the Trash folder, but I will leave the extras to you.  After the script executes you are sent an e-mail with a summary of what happened.  The script will execute 10 minutes after midnight every Sunday. Type the following at the command prompt and add the text listed:
<pre>
<code>%&gt; crontab -e

10 0 * * 7 $HOME/salearn.bat spam</code>
</pre>
</li>
<li><b>Delete the temporary SpamAssassin folder.</b>  To free up a little disk space, go back and delete the temporary folder created when we decompressed the archive. Type the following at the command prompt:
<pre>
<code>%&gt; cd ~
%&gt; rm -R -f Mail-SpamAssassin-3.1.0</code>
</pre>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/spamassassin-for-dreamhost/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Fisher-Price PXL2000</title>
		<link>http://www.unsaturated.com/projects/fisher-price-pxl2000/</link>
		<comments>http://www.unsaturated.com/projects/fisher-price-pxl2000/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 13:56:29 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[PXL2000]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/projects/fisher-price-pxl2000/</guid>
		<description><![CDATA[Some great toys came out of the 1980s. One of the forgotten toys is the Fisher-Price PXL2000. After capturing video and minimal editing, I completed my first Pixelvision movie. ]]></description>
			<content:encoded><![CDATA[<p>The Fisher-Price PXL2000 was a camcorder made for kids. I got the PXL2000 as a present way back in 1988. Using its proprietary Pixelvision technology, it really seemed ahead of its time. It records about 15 minutes of black and white video to a CrO<sub>2</sub> audio tape.</p>
<p>Unfortunately, its $100 price tag contributed to its demise; it survived two years in the market. Its departure was also hastened due to its ability to devour six AA batteries in only 30 minutes. </p>
<p>I didn&#8217;t finalize any of my video footage until 2004. The footage was recorded just after Christmas in 1988. I was really anxious to try out my new camcorder and new model rocket.  All the footage was shot at Naples Park Elementary School along with my family and a few bystanders.</p>
<p>Before Naples started to sprawl and commercialize, there was a lot more room for such activities&#8212;launching model rockets, flying model planes, etc. The huge field behind the school was perfect for rocket launches.</p>
<p>With the wind moving in a calm westerly direction, we pointed the rocket slightly east. It probably reached 1000ft before deploying the parachute. It was a long way drifting towards the west. The animated image shows a few key frames of the event.</p>
<p>One thing you might notice in the video is the loud whirring noise. The reason is because the camcorder&#8217;s motor would spin the tape so fast that it&#8217;s picked up by the microphone.</p>
<p><center><br />
<script type='text/javascript' src='http://www.unsaturated.com/wordpress/wp-content/plugins/hana-flv-player/flowplayer/html/flashembed.min.js'></script>
<div >
<div id='hana_flv_flow_1'></div>
</div>

<script type='text/javascript'>
    flashembed('hana_flv_flow_1',
      { src:'http://www.unsaturated.com/wordpress/wp-content/plugins/hana-flv-player/flowplayer/FlowPlayerDark.swf', wmode: 'transparent', width: 320,  height: 240 },
      { config: { videoFile: 'http://www.unsaturated.com/video/rocket_320x240.flv', autoPlay: false ,loop: false, autoRewind: true, autoBuffering: true,
			splashImageFile: 'http://www.unsaturated.com/video/rocket_320x240.jpg', initialScale: 'scale' 

	    }}
    );
</script><br />
</center></p>
<p>Post Mortem for the PXL2000: After reading various web pages, it seems they are rare in quantity and functioning units are even harder to find. Fortunately, mine fits into the latter category. To read about the history of the PXL2000, the technology behind Pixelvision, and various stories of its usage with independent filming, I suggest <a href="http://en.wikipedia.org/wiki/PXL-2000">Wikipedia</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/fisher-price-pxl2000/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eggbomb</title>
		<link>http://www.unsaturated.com/projects/eggbomb/</link>
		<comments>http://www.unsaturated.com/projects/eggbomb/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 13:40:28 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/projects/eggbomb/</guid>
		<description><![CDATA[The Panasonic Eggcam provided the right inspiration for my Eggbomb. I loved the irony of this project. It's a shame there's no USB version of this campy device. ]]></description>
			<content:encoded><![CDATA[<h2>Background</h2>
<p>My former roommate described an event, what he called &#8220;A god damn egg blew up in my face!&#8221;, referred to as detonation. He microwaved a normal hard-boiled egg, dashed on some salt, and took a bite.  BOOM!  Egg was everywhere.  I was curious how this happened so we tried to reproduce the effect.  I&#8217;ve never used the expression to have &#8220;egg on one&#8217;s face&#8221; but now I know it means a blunder.</p>
<h2>The Experiment</h2>
<p>The egg must first be hard-boiled. Boiling an egg in its shell for approximately seven minutes is sufficient for the albumen and yolk to solidify. Then place the eggs in the refrigerator until they cool.</p>
<p>After selecting a cool egg, carefully remove the shell. It is important that you <b>do not</b> tear the albumen while removing the shell. This will ensure proper heat retention and distribution when microwaving the egg. Now microwave the egg for 30 seconds.</p>
<p>When the egg is done microwaving, place it on a flat surface and pierce the egg yolk with a sharp object. A quick jab works best for producing the most violent reaction. The video on file doesn&#8217;t illustrate the most dramatic results we obtained but you get the point.  We chose not to use salt because we thought it was incidental, not critical to the experiment.  Your results may vary depending upon the size and/or density of the egg.</p>
<p><center><br />

<div >
<div id='hana_flv_flow_2'></div>
</div>

<script type='text/javascript'>
    flashembed('hana_flv_flow_2',
      { src:'http://www.unsaturated.com/wordpress/wp-content/plugins/hana-flv-player/flowplayer/FlowPlayerDark.swf', wmode: 'transparent', width: 320,  height: 240 },
      { config: { videoFile: 'http://www.unsaturated.com/video/eggbomb_240x180.flv', autoPlay: false ,loop: false, autoRewind: true, autoBuffering: true,
			splashImageFile: 'http://www.unsaturated.com/video/eggbomb_240x180.jpg', initialScale: 'scale' 

	    }}
    );
</script><br />
</center></p>
<h2>Conclusion</h2>
<p>If you tried the experiment yourself you may be wondering why this happens. We determined the yolk of the egg is the energy source for the explosion. A microwave warms food from the inside outward. When the egg yolk is quickly pierced, the heat is released in all directions. What&#8217;s left are scattered remains of an egg&#8230;great for salad topping!</p>
<p>There&#8217;s a twist of irony in this experiment.  The video camera we used is actually the <a href='http://www.unsaturated.com/wordpress/wp-content/data/eggcam.gif' title='Panasonic Eggcam'>Panasonic Eggcam</a>.  I&#8217;m not sure why Panasonic associated greater sales potential with egg-shaped products.  This was before USB webcams gained dominance in the market. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/eggbomb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web-Enabled, Automated Horse Feeder</title>
		<link>http://www.unsaturated.com/projects/web-enabled-automated-horse-feeder/</link>
		<comments>http://www.unsaturated.com/projects/web-enabled-automated-horse-feeder/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 12:53:23 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/projects/web-enabled-automated-horse-feeder/</guid>
		<description><![CDATA[Designing this web-enabled, automated horse feeder turned into a serious engineering project. Our Senior Design group consisted of six people.  Dividing the work load was not easy because the hardware could only stay with one person. ]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>This project earned my group an &#8220;A&#8221; in undergraduate Senior Design. The premise of Senior Design class is that a group of students must design and build an original product. We arrived at this unusual idea because one group member was a former horse owner and our professor&#8217;s contribution was &#8220;make it web-enabled.&#8221;  Thus, we had an idea that was truly original and we set out to build it. A little background information on horse feeders will help to clarify the project.</p>
<h2>Current Feeders</h2>
<p>Current automated horse feeders use mechanical and/or electrical timing devices to dispense feed at regular intervals. Power is usually supplied through a 12-volt battery, a 110-volt outlet, or even solar power. Generally, there are two mechanisms: one is a timer and the other a measurer. When the timing mechanism reaches the preset times, a motorized auger turns allowing grain to be dispensed. Timing mechanisms are somewhat simplistic and provide limited programming capability.</p>
<p>All feeders have override buttons to dispense grain manually. Few, if any, provide the ability to remotely control the parameters of a particular feeder. The user is limited to programming the device from the feeder itself. Every feeder that uses the current programming system must be individually programmed.</p>
<p>Current systems range in price with a low-end model selling for $285 and a high-end model for $865. No web-enabled models were found.</p>
<h2>Our Feeder</h2>
<p>The problems with current feeders centered on usability, scalability, and accessibility. After recognizing the problems/limitations of current feeders, our task was to find and implement a solution set. Our project addressed each of these concerns: </p>
<ul>
<li><b>Usability</b> &#8212; we improved the range of usability and programability with a <a href="http://www.rabbitsemiconductor.com">Z-World</a> microcontroller.  Using a multi-line LCD display, keypad, and the microcontroller, we expanded upon the usability constraints of other feeders. Users could log into the feeder using a password, program feed times, frequency, and feed quantities. Thus, the feeder could function independently from an internet connection. The microcontroller was coded in Dynamic C.</li>
<li><b>Scalabilty</b> &#8212; the server acts as the heart of the system. Users can register and control every feeder from one online location. In theory, the system can support an unlimited number of horse feeders. The only limitations are server speed and storage capacity. We also added a camera to the system. Thus, the user could see the horse (if it was near the feeder), set feed times and amounts, and view a log file of all feeder events. The server was running Red Hat Linux and a MySQL database. The microcontroller interface was coded in C and C++. The web interface was coded entirely in PHP.</li>
<li><b>Accessibility</b> &#8212; as mentioned earlier, the system allows the user to program the feeder locally (at the feeder itself) or remotely (from the web site). Although feed times will vary infrequently, the concept proves that such a system increases the horse owner&#8217;s ability to monitor what is happening.</li>
</ul>
<p>The following diagram illustrates the basic operation of our system:<br />
<img src='http://www.unsaturated.com/wordpress/wp-content/data/renodiagram.gif' alt='Feeder Operation' id="centered"/></p>
<h2>Marketing</h2>
<p>From a marketing standpoint the web-enabled, automated feeder could be sold as a service. Consider a potential customer looking for a way to fill his horse stalls. He buys several feeders and subscribes to the online service. He then distributes feeders to paying clients who want to care for their own horses. This fee provides the clients with a horse feeder and all the remote accessibility features.</p>
<h2>Conclusion</h2>
<p>This project was both fun and educational. It also proves that such a system is viable and practical for a segment of the horse-owning population. Having an excellent team also helped to make this an enjoyable experience. Our test subject, Reno, also thought highly of our project.</p>
<h2>Appendix</h2>
<p>Many of these images were created for documentation purposes. The help section of Reno Server provided these screen captures with a thorough explanation of each. The feeder itself was also well documented.</p>
<ul>
<li><a href='http://www.unsaturated.com/wordpress/wp-content/data/renofeeder.gif' title='Feeder Hardware'>Feeder Hardware</a>: The feeder hardware was donated to our group from a local horse owner and engineer located in Sanford, FL. We were very grateful because this gave us the necessary mechanical components and allowed us to focus on the computer engineering aspects of the project.</li>
<li><a href='http://www.unsaturated.com/wordpress/wp-content/data/reno.jpg' title='Reno'>Reno</a>: Our sponsor allowed us to visit his horse, which immediately became our group mascot.  It&#8217;s always good to meet the end user.</li>
<li><a href='http://www.unsaturated.com/wordpress/wp-content/data/renologin.gif' title='Login'>Login</a>: This page welcomes every user to the Reno Server.</li>
<li><a href='http://www.unsaturated.com/wordpress/wp-content/data/renoregistration.gif' title='Registration'>Registration</a>: This step is required to use the service.</li>
<li><a href='http://www.unsaturated.com/wordpress/wp-content/data/renouserpage.gif' title='User Page'>User Page</a>: Once the user has added a feeder to the system this page will display summary information.  The system allows <i>n</i> number of feeders per user, which is great for a stable. </li>
<li><a href='http://www.unsaturated.com/wordpress/wp-content/data/renofeedtimes.gif' title='Feed Times'>Feed Times</a>: Times are displayed and can be updated, deleted, or added to each feeder.  Quantity can be varied for each feeding time.</li>
<li><a href='http://www.unsaturated.com/wordpress/wp-content/data/renohistory.gif' title='Feed History'>Feed History</a>: All events are logged in the database.</li>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/web-enabled-automated-horse-feeder/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Red Line Design Business Plan</title>
		<link>http://www.unsaturated.com/projects/red-line-design/</link>
		<comments>http://www.unsaturated.com/projects/red-line-design/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 01:34:32 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[graphic design]]></category>
		<category><![CDATA[logo]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/projects/red-line-design/</guid>
		<description><![CDATA[What happens if I create a company based on my fascination with logo design?  Writing this business plan during my MBA forced me to examine that idea from all angles.  Sometimes a hobby should stay a hobby, especially if it doesn't translate into a highly profitable business.]]></description>
			<content:encoded><![CDATA[<h2>I.	Executive Summary</h2>
<p><img src='http://www.unsaturated.com/wordpress/wp-content/data/redlinelogo.gif' alt='Redline Design logo' class="alignright" /></p>
<p>Red Line Design provides a professional, corporate image to individuals and businesses through creative tailored graphics, specifically, logo design.  The mission is to increase the prosperity of individuals and businesses with a corporate image that defines their identity and aspirations.  Red Line Design will support this service by starting as a part-time, home-based business.  It will operate as a sole proprietorship.</p>
<p>The graphic arts industry is full of business opportunities.  Roughly 90% are sole proprietorships or other businesses forms with less than ten people.  Orlando has 117 graphic design firms as of the 1997 Economic Census.  Florida is ranked fourth among all states with 848 firms.  Businesses of this kind are operating within a monopolistically competitive market.</p>
<p>Red Line Design will offer three services.  Basic Logo provides those services associated with logo design.  This level of service forms the core competency of Red Line Design.  Total Package provides customers all the basic logo design services and includes copyright procedures.  Total Package Plus provides all the previously mentioned features plus value-added marketing information relevant to the customer&#8217;s business and logo.  The services will be priced at $347, $415, and $519, respectively.</p>
<p>For its cost-effectiveness, the use of secondary marketing research has been the primary means of gathering information.  The objective of this research was not to obtain exact information to set-up a marketing plan.  Instead, the process is meant to avoid information that is completely wrong. The three marketing opportunities identified are (1) small businesses and individuals, (2) special interest groups, and (3) government contracts.  Through personal networking, these opportunities have had the most appeal and will be pursued by Red Line Design.</p>
<p>Trends in consumer preferences point toward simpler, minimalist logos.  This is good for an inexperienced startup, but the competition competes on a far greater range of products and services.  The promotion for Red Line Design is divided into three phases.  The first phase is a four-month pro bono period.  The second phase is focused on web site promotion and the use of Yellow Pages.  The third phase will be designed and implemented when the business has had sufficient time to mature.</p>
<p>Red Line Design will require an estimated $769 in startup expenses and capitalization.  Two sales forecasts have been created.  The best case forecast indicates revenues of $10,325 in the first year.  The worst case forecast indicates revenues of $5,341 in the first year.  This business has no plan to sell services on a credit basis.</p>
<p>Using the worst case sales forecast and calculating a twelve month profit and loss projection indicates net profit of $3,659 in the first year of operation.</p>
<h2>II.	General Company Description</h2>
<p>Red Line Design provides a professional, corporate image to individuals and businesses through creative tailored graphics.  The primary activity is logo design in a personal, yet professional manner.  The goal is to build a relationship with the customer.  By forming this relationship and &#8220;holding the customer&#8217;s hand&#8221; through the graphic design process, trust is established.  The part-time nature of Red Line Design supports these highly service-oriented activities.</p>
<p>The Red Line Design mission is to increase the prosperity of individuals and businesses with a corporate image that defines their identity and aspirations.</p>
<p>There are two goals that drive this business.  The primary goal is to build solid relationships with individuals and businesses.  This is measured by customers that are completely satisfied with their logo and the service they receive.  In the first year of business, the goal is to build these quality relationships through pro bono work and word-of-mouth.</p>
<p>The secondary goal is to expand the scope of this business.  Logos are the centerpiece of a corporate image.  Logos are on stationary, vehicles, advertisements, products, basically everywhere.  The part-time nature of this business lends itself to service-orientation where the focus is quality, not volume.  Thus, the secondary goal will be achieved by leveraging logo design into more general graphic services.</p>
<p>Marketing logo design is a process of finding relationships that will enable this business to prosper.  The key marketing strategy is to focus on long-term relationships without sacrificing short-term profits.  The target markets are small businesses and special interest groups, preferably those with good growth potential.</p>
<p>The graphic arts industry is full of business opportunities.  Roughly 90% are sole proprietorships or businesses with less than ten people.  For a complete industry analysis, refer to <a href="#APPENDIXA">Appendix A</a>. Orlando has 117 graphic design firms as of the 1997 Economic Census.  Florida is ranked fourth among all states with 848 firms.  Businesses of this kind are operating within a monopolistically competitive market.  The key is to differentiate with service, as experience is not Red Line Design&#8217;s strong suit, yet.</p>
<p>The core competency of Red Line Design will be customer service.  A key component of this will be a customer database.  It will contain a record of their transactions and archival material important to maintaining their relationship with Red Line Design, including graphics and any other design materials.  If requested, a CD-R of their delivered product can be reproduced and shipped at a moments notice.  Technology only supports the core competency.</p>
<p>Red Line Design will be established as a sole proprietorship.  This will allow the greatest flexibility in its evolution to a graphics design provider that integrates its product.</p>
<h2>III.	Products and Services</h2>
<p>Red Line Design is focused on logo design in a three-tier approach.  The first tier provides the fundamental services associated with designing a logo to fit the customer&#8217;s needs.  The second tier is focused on business needs, such as copyrighting and support materials.  The third-tier provides a bit of marketing analysis relevant to each customer&#8217;s business.  Some customers may want the minimum transactions required to obtain a unique piece of artwork.  Other customers want a &#8220;total package&#8221; of artwork and the minimum legal paperwork that supports it.  These three tiers of ervice are outlined below.</p>
<p><a href='http://www.unsaturated.com/wordpress/wp-content/data/redlinetarget.gif' title='Red Line Target'>This illustration shows the business model</a> that Red Line Design will use when starting and expanding into the graphic arts industry.  The three product tiers listed after the illustration all fit within the core of the business model.  Supporting Materials such as letterhead, business cards, web site design, and ad design round out the middle segment.  The final layer of the business model, Corporate Image, suggests that Red Line Design will have all the components necessary to provide a business a complete corporate image.  This includes all the aforementioned products and services, plus in-house printing.</p>
<p><b><u>Basic Logo</u></b><br />
This provides the customer with only those services associated with logo design.  This level of service forms the core competency of Red Line Design.  The degree of service also depends upon the expertise of the customer.  An informed customer has probably solicited artistic services before and is somewhat familiar with the design process.  An uninformed customer has minimal knowledge about what he wants and, essentially, does not know what to ask for.  However, the following process outlines the logo design process that every customer will receive.  Every logo will be created to customer&#8217;s wants and needs, but be flexible for various mediums (online, low-quality faxes, letterhead, and other print media).</p>
<ol>
<li><i>Evaluation of business identity.</i>  The customer is asked to complete a brief survey of their business which will convey critical information to the logo designer.  The most important aspect of logo design is that the image fits the unique characteristics of the customer&#8217;s business.  Successful evaluation in the first phase of design can eliminate unnecessary redesigns in later steps.  This step is part of the service focus that will differentiate Red Line Design.  Through a friendly, open dialogue and discussion, the customer becomes an active part of the process.</p>
<p>Some customers may not want this &#8220;hand holding&#8221; if they are more informed about the design process.  The focus of this process is to determine the customer&#8217;s exact needs.  It&#8217;s possible that the customer does not fully understand the scope of their business and cannot express the abstract ideas needed to form a logo.  Red Line Design will not only focus on what gets delivered to the customer, but why it&#8217;s important to their company&#8217;s image. This is time well invested because knowing the customer&#8217;s business intimately could lead to future graphic design jobs.
</li>
<li><i>Generating first-run alternatives.</i>  The designer uses the completed evaluation provided by the customer, combined with other communications (such as phone calls, e-mails, etc.) to generate a set of four alternative designs.  These designs are then sent to the customer for review and each logo is fully discussed.  Once again, the focus is on the customer needs and wants and not mere transactions (accept/reject logo).  Accompanying each logo will be a brief description of &#8220;what works.&#8221;  An example is in <a href="#APPENDIXF">Appendix F</a>.  This will convey to the customer what aspect(s) of their company is (are) being represented by the logos.
<p>The customer will select which logos he likes the best and why.  Gleaning more information similar to that in the first step will help make future revisions more in-tuned with the customer&#8217;s desires.  The dialogue now becomes more graphical oriented and shifts away from what their business does, and now focuses on what looks good.  Colors, shapes, sizes, typefaces, and layout are redesigned for the next revision.
</li>
<li><i>Generating second-run alternatives.</i>  The designer has gained important insights that will help render future designs.  The next step is to generate another set of four logos that satisfy the stated needs of the customer.  Iterations are kept to a minimum and the customer sees only a complete set of quality logos, not a vast array of low-quality sketches.
</li>
<li><i>Additional renderings and final deliverable.</i>  This step completes the process of logo design.  Colors are finalized, tweaking is completed, and the logo is prepared for delivery. A CD-R will be given to the customer containing all renderings and the final logo in various electronic formats.  Another service provided to Red Line Design customers is a secure online account with all of the transactions and deliverables mentioned above.
</li>
</ol>
<p><b><u>Total Package</b></u><br />
In addition to Basic Logo, the customer can opt for the Total Package that includes the basic logo design and copyright procedures for the designed logo.  Businesses that wish to go the next step in logo design can have their final logo registered with the United States government.  Red Line Design will act as a proxy and complete the necessary paperwork.  Ownership of the logo will be registered in the customer&#8217;s name.</p>
<p><b><u>Total Package Plus</b></u><br />
Customers seeking a more robust solution for their business will find this package attractive.  It can satisfy the needs of a startup that doesn&#8217;t have time to learn the specifics of copyright laws or procedures.  A simple, plain English paper will summarize for the customers the legal rights that they are now entitled (with their copyright) and what implications that has for their business.</p>
<p>The Total Package Plus does not provide a logo and a paper that says the customer owns the logo. The product differentiation is that each customer will receive a quality logo with copyright information specific to that customer and his business.  For example, if the customer owns an interior design business, he would receive a summary report that relates this copyright information to his specific industry and business.</p>
<p><b><u>Pricing</b></u><br />
The actual cost of goods sold cannot be determined until market testing is complete and an appropriate cost structure determined. This analysis is described in the pricing section of the marketing plan and in greater quantitative detail in <a href="#APPENDIXD">Appendix D</a>.</p>
<h2>IV.	Marketing Plan</h2>
<p>This section details the marketing research, planning, and strategies used to better understand the environment that Red Line Design will be operating.  For its cost-effectiveness, the use of secondary marketing research is the primary means of gathering information.  The objective of this research was not to obtain exact information to set-up a marketing plan.  Instead, the process is meant to avoid information that is completely wrong.</p>
<p>The objective of Red Line Design is to focus marketing on segments that will maximize profit while simultaneously upholding the marketing concept.  That is, Red Line Design will provide a service that focuses on the needs/wants of the target markets and deliver better value than the competitors.  This marketing concept leads to sustainable profits.</p>
<p><b><u>Market Opportunities</b></u></p>
<ol>
<li><i>Small businesses and individuals.</i>  This market includes small businesses that also include smaller divisions of companies that require outsourced graphics needs.  This market also includes individuals that are seeking a graphic designer for purposes unrelated to business. An example of an individual seeking this service would be a boat owner that requires a custom logotype for his boat.
</li>
<li><i>Special interest groups (SIGs).</i>  This market primarily consists of small organizations or clubs that require an image to enhance their visibility.  The density of interest groups is also higher around populated areas such as universities and colleges.  Because most interest groups have a diverse constituency, this also opens great possibilities for networking.  Political parties are another form of an interest group.  Although, the political market is highly cyclical-peaking prior to election periods.
</li>
<li><i>Government contracts.</i>  The county and city government offers another market for profit. The Orange County government makes available all requests for proposals (RFP&#8217;s) via its web site.  Winning bidders to the government make documents available that describe the scope of their work.  If this includes graphic design relevant to logos, then that work could be subcontracted.  The local government also has buying centers that may seek work without the red tape associated with formal RFP&#8217;s.
</li>
</ol>
<p><b><u>Economics</b></u><br />
The graphic arts industry is supported mainly by sole proprietors and is, thus, highly privatized. Market research was conducted on this industry to determine the broad economic factors that can influence startup business like Red Line Design.  <a href="#APPENDIXA">Appendix A</a> contains details related to conduct of firms, the structure of the industry, and performance.  Also detailed are the barriers to entry, share of market by the largest firms, and geographic distribution (domestically and locally). Another discussion which is included is the nature of competition in the graphics arts industry, investment behavior, and research and development.</p>
<p><b><u>Current Demand and Growth in Target Markets</b></u><br />
Within each market is a unique opportunity for growth and stable demand.  A large influence is the current state of the economy.  Each market has undergone changes in recent years both in demand and the opportunity for growth.</p>
<ol>
<li><i>Small businesses and individuals.</i>  This market seems to be growing faster as the turnover rate of jobs has increased.  As more people become alienated by conglomerate employers, small businesses have become more attractive.  Small businesses provide part of the demand for logos.  If smaller companies wish to compete with their larger counterparts, then a professional corporate image is necessary.  As larger businesses layoff more people, the same trend can be expected.  Individuals that seek customized logos fluctuate in demand with the market for luxury goods like boats.  Right now, the economy is floundering and demand is shrinking as a result.
</li>
<li><i>Special interest groups.</i>  This market has changed over the years.  An example is Tau Beta Pi (TBP), the National Engineering Honor Society.  TBP has recently hired a person at their national office devoted exclusively to &#8220;image.&#8221;  That is, high-profile organizations, societies, and clubs are realizing that perception (image) is a big part of their success. Procuring logos are means to achieve that end.  In fact, TBP underwent a logo redesign as the heart of their new image campaign.  Good growth is expected for this market.
</li>
<li><i>Government contracts.</i>  The government activity that demands logo design is usually associated with convention areas.  An example is the Orange County convention that recently submitted a RFP for a complete graphics design package.  The total one year contract was worth approximately $105,000. Growth is largely determined by the economy and political party, where spending on image is concerned.  There is limited growth but low, stable demand in this market.
</li>
</ol>
<p><b><u>Strengths, Weaknesses, Opportunities, and Threats</b></u><br />
The following analysis lists the unique situations relevant to Red Line Design.  Strengths and weaknesses are internal to the business, opportunities and threats are external to the business.</p>
<p><i>Strengths</i></p>
<ul>
<li>Proprietor has a bachelor&#8217;s degree in computer engineering and will soon earn an MBA</li>
<li>Total control over business operations</li>
<li>Extensive web development experience (five years)</li>
<li>Low (near zero) overhead for conducting business at home</li>
<li>Good network of persons in target markets</li>
<li>Risk of default is non-existent because no debt financing is used for startup expenses</li>
<li>Shutdown expenses are minimal because invested capital is negligible</li>
<li>Business is derived from a hobby-the goal is to first extend that hobby to test market (only cost is the time value of money), then shift focus to profit-making if test marketing is successful</li>
<li>Zero commute time to work</li>
<li>Total commitment to business; no conflicts of interest</li>
</ul>
<p><i>Weaknesses</i></p>
<ul>
<li>Negligible portfolio of logo design experience</li>
<li>No public awareness of business</li>
<li>Marketing, such as promotion and placement, may be difficult</li>
<li>Part-time businesses have a slight disadvantage over full-time businesses; operating hours may conflict with customer&#8217;s</li>
<li>No real-world experience with business startups</li>
<li>True cost of service cannot be determined until a complete logo is designed, delivered, and evaluated</li>
<li>Cost structure may not support some customers that demand higher relationship-based interaction</li>
<li>Pricing of service cannot be determined until cost of service and demand are determined</li>
<li>Final location and hours of operation are still undetermined</li>
<li>No supporting staff; a one man operation</li>
</ul>
<p><i>Opportunities</i></p>
<ul>
<li>SIGs are a growing market segment that require logo design</li>
<li>Logos are becoming more simplistic and minimal-easier to design for inexperienced startup businesses</li>
<li>Competitors will have difficulty seeing Red Line Design strategy or even its inception</li>
<li>Web site will provide a front-end comparable to much larger firms</li>
<li>Perceptions of the business can be formed as none currently exist</li>
<li>Proprietor is a current student of UCF able to capitalize on easy access and communication with other students and SIGs</li>
<li>Newspapers provide quick access to new business names and contacts</li>
</ul>
<p><i>Threats</i></p>
<ul>
<li>Demand may outstrip time allowances</li>
<li>Graphic design firms that provide a more complete solution (printing on various media)</li>
<li>Freelance artists that have extensive portfolios of logo design</li>
<li>In a tough economy customers demand unrealistic pricing, thus deemphasizing a business focused on customer relationships</li>
<li>War with Iraq could complicate an already weak economy</li>
<li>Balance of family and business activities</li>
<li>Larger design firms and professional freelance artists</li>
</ul>
<p><b><u>Trends in Consumer Preferences</b></u><br />
The evolution of logo design points to simpler, minimalist logos.  This trend translates to less &#8220;artistic&#8221; logos and to more abstraction.  One possible explanation is the diverse mediums that logos must traverse while still maintaining their identities:  facsimile, internet, print, and TV.  One possible result is homogenization of product offerings, making the industry monopolistically competitive.  This is discussed in more detail in <a href="#APPENDIXA">Appendix A</a>.  The goal is to buck the trend and provide products and services that are matched feature-for-feature but that provide a higher level of benefits.</p>
<p><b><u>Product</b></u><br />
The Products/Services section described products and services from the perspective of Red Line Design.  However, the usefulness is determining how the customer might view those services. The following section provides a <a href='http://www.unsaturated.com/wordpress/wp-content/data/redlinebenefits.gif' title='Red Line Benefits'>detailed breakdown of each product and service feature</a> and how the customer can derive greater utility (benefits) from Red Line Design than the competition.</p>
<p>Now that the features and benefits have been discussed, it is helpful to understand the post-purchase services available.  Once the sale has been completed, the customer can securely obtain his/her logo from the Red Line Design web site for up to six months from time of sale.  Anytime after the services are rendered, the customer can request another CD-R containing the original documents; this is available for $8.00, including shipping (with delivery confirmation) and handling charges.</p>
<p>Going above and beyond (offering an augmented service) is a part of Red Line Design.  If a customer is dissatisfied with the service or logo, a basic referral program will be in place to offer a suitable alternative to Red Line Design.  However, if a customer is satisfied and desires a greater level of service than Red Line Design can provide, then the referral program will strive to service these customers, too.  These different types of customers will be explained in the next section. The referral program is intended to boost associations with local graphic design/printing businesses and form networking opportunities.</p>
<p><b><u>Customers</b></u><br />
There are three customer types that Red Line Design will serve.  The characteristics they all share are based upon the minimum service structure and business model established for Red Line Design.  The basic service provided is logo design.  Depending upon the customer&#8217;s desired level of service, they are classified according to three possible outcomes, thus, three customer types. <a href='http://www.unsaturated.com/wordpress/wp-content/data/redlineflowchart.gif' title='Red Line Flowchart'>They are illustrated by this diagram</a>.  All customer segments augment the Red Line Design portfolio, the most important step for a startup design business.</p>
<ol>
<li><i>Low Networking, Portfolio Builders.</i>  These customers desire the lowest level of service, the Basic Logo.  They will be small business owners, individuals, or special interest groups that have a vested interest in simplicity.  The name of this customer type has implications for Red Line Design-offering a low level of potential networking for additional logo design jobs, while simultaneously building Red Line Design&#8217;s portfolio of work.  Special interest groups and individuals have limited interest in copyrights.  The design aspects are paramount-image is the main value.  They will most likely see the copyright as an unnecessary added expense.
</li>
<li><i>High Networking, Portfolio Builder.</i>  These customers include small businesses and government contracts.  They may consider the copyright optional but express a delayed interest.  Thus, because the customer does not have an immediate interest, the potential for networking is higher than those customers who would terminate the relationship after obtaining the logo.
</li>
<li><i>High Networking, Portfolio Builder, Additional Services.</i>  Customers that desire the full range of services are likely to request additional services such as printing.  This is commensurate with a larger graphic design firm, but not beyond the scope of Red Line Design&#8217;s service offering.  As mentioned earlier, part of the post-purchase service is a referral program that refers customers to other firms that can provide printing, and other advanced graphic design services.  The intent is to build a network of businesses that can lead to more of this type of customer.  A small business interested in building its corporate image and developing a strong presence is likely to be the most profitable type of customer.
</li>
</ol>
<p><b><u>Competition</b></u><br />
The design firms most visible to the community, with the most extensive portfolio, and with a well established business network will be the main source of competition.  As stated in Appendix A, there are approximately 117 firms within the Orlando area.  This information is six years old but is not likely to have changed drastically.</p>
<p>Red Line Design is competing with a set of businesses that provide (mainly) a diverse offering of services:  printing, web design, logo design, brochures, business cards, posters, illustration, annual reports, direct mail, photography, and various graphic-oriented documents.  A complete listing of local Orlando graphic design business is in <a href="#APPENDIXB">Appendix B</a>.</p>
<p>Most of those companies listed will compete on a far greater range of products/services.  Many of the competencies listed in the previous paragraph highlight these aspects.  However, Red Line Design will only focus on logos and, to excel at that, must focus intently on beating these jack-of-all-trade businesses.  None of the companies with larger advertisements have listed copyright registration as a unique feature.</p>
<p><b><u>Niche</b></u><br />
Red Line Design&#8217;s niche will be to serve business startups that have specific needs for a logo and want little more except a well-designed, copyrighted, original piece of artwork that identifies their business.</p>
<p><b><u>Promotion</b></u><br />
Spreading the word about Red Line Design involves a three phase plan:</p>
<ol>
<li><i>Portfolio Building with Pro Bono Design.</i>  Lawyers do it and so can designers.  The premise for Phase I is simple.  The easiest way to build a reputation among numerous people with fewer negative consequences is by volunteering time and effort.  The pro bono effort will first focus on local area special interest groups, volunteer organizations, and small businesses.  These are the main market opportunities identified earlier (government organizations may have little interest in pro bono designers with little experience).  The key is to leverage the massive network of these customer types from within UCF.  There is the small business incubator and a mass of clubs and organizations.  Building the portfolio is the key to obtaining customers willing to pay.  Advertising is simply a matter of contacting individuals directly (cold calling/e-mails) and stating my proposition quickly and succinctly.  &#8220;Free&#8221; always gets attention.  Another tactic is a one-time advertisement in the local newspaper that says Red Line Design will provide 20 free logos to help build its portfolio.  The tactic is designed to build awareness.  If a list of 20 customers is not queued, then another advertisement must be placed.  During this phase, Red Line Design is not yet declared a true business, simply a free design service.
</li>
<li><i>Yellow Pages and RedLineDesign.com.</i>  Phase II will utilize the fresh portfolio created from Phase I and build upon it.  The web site will provide a 24-hour online showcase for these original logos.  Further, the web site will emphasize the pro bono work-highlighting the entrepreneurial attitude of Red Line Design and providing a profile of each logo.  This promotional phase marks the official opening of Red Line Design.  To accompany the opening, Red Line Design will submit its small ad to the local yellow pages (including web site address and phone number).  Refer to <a href="#APPENDIXB">Appendix B</a> for a list of the current yellow page entries under &#8220;graphic designers.&#8221;  Again, costs remain a key concern for this small, part-time business.  New businesses are announced in the Sunday newspaper.  These are prime candidates for new business during Phase II of Red Line Design&#8217;s promotion strategy.  The strategy is proactive and seeks new businesses that could potentially need a professional logo combined with copyright services.  A business (and personal) network developed from Phase I will help to augment these efforts.
</li>
<li><i>Referrals and Full-time Business Opportunities.</i>  The final phase, Phase III, can only be attained if the demand for logos is exceeding the part-time hours of Red Line Design.  This promotional phase can only be accurately assessed after Phase II has begun.  There are several certainties, however, that cannot be overlooked.  The costs for promotion should increase due to increased business activity, and the referral program must actively complement any inadequacies of Red Line Design&#8217;s service.  This referral program could become part of Phase III promotions, at which time Red Line Design should investigate a diversified product/service offering comparable to other graphic design firms.
</li>
</ol>
<p><b><u>Promotional Budget</b></u></p>
<ol>
<li><i>Portfolio Building with Pro Bono Design.</i>  The costs associated with this step are only those incurred by the promotional ad in the newspaper.  Total budget should be $200 per year.
</li>
<li><i>Yellow Pages and RedLineDesign.com.</i>  Costs have increased significantly from Phase I due to the yellow pages and the costs associated with maintaining the web site.  The costs for the web site are a constant $95 per year.  Since RedLineDesign.com will be used almost exclusively for promotion and portfolio demonstration, all costs associated with web site maintenance will be allocated to the promotional budget.  Total budget should be $400 per year including web site and yellow pages.
</li>
<li><i>Referrals and Full-time Business Opportunities.</i>  This budget cannot be anticipated until Phase II is well under way.
</li>
</ol>
<p><b><u>Pricing</b></u><br />
The services offered by Red Line Design will follow a <a href='http://www.unsaturated.com/wordpress/wp-content/data/redlinepricing.gif' title='Red Line Pricing'>three-tier approach</a>.  Each level of service is incremental to the previous.  A derivation of pricing is shown in <a href="#APPENDIXD">Appendix D</a>.  The opportunity cost of running the business was weighed against several factors to determine the costs (and, therefore, prices) of doing business part-time.</p>
<p>Pricing is not critical at this stage of business development.  The key to success is to determine the true costs of these activities while developing the portfolio on a pro bono basis.  Before Phase II of promotion is launched, prices will be adjusted according to the true costs of providing service.</p>
<p><b><u>Proposed Location</b></u><br />
Location is not critical to the operations of Red Line Design.  It will start as a part-time business and consume negligible space in an apartment.</p>
<p>If the business progresses to a full-time operation then more space will be allocated from the apartment.  In the early stages of development, location will have little or no impact on customers, as most transactions will occur online, on the phone, or over fax.  This fits the image of a small, fast-moving startup.</p>
<p><b><u>Distribution Channels</b></u><br />
Services will be distributed directly to the consumer with no middle-man.  This will be accomplished through direct mail (delivering the CD-R and proof sheets), e-mail (to speed the logo review process), and fax (so the customer may communicate at any time during the day).</p>
<p><b><u>Sales Forecast</b></u><br />
<a href='http://www.unsaturated.com/wordpress/wp-content/data/redlinesales.gif' title='Red Line Sales'>These tables show the 12-month sales projections</a> for Red Line Design.  The top table shows the best case scenario.  The bottom table shows the worst case scenario.  In both situations, it is assumed that 20 logos will be produced during the Phase I promotional period.</p>
<h2>V.	Operational Plan</h2>
<p>This section explains the operations expected during a week of business.  These aspects are anticipated and may change once the business becomes fully functional (during Phase II of promotions).</p>
<p><b><u>Service</b></u><br />
Because Red Line Design is a home-based business, it will be subject to a domestic schedule.  Time will permit on the weekends and some during the evenings.  The project-oriented nature of this business lends itself to irregular hours.  Customers can expect timely delivery of logos to their fax and/or e-mail.  Reaching Red Line Design for a phone conference during daytime hours is possible.</p>
<p>A short survey will follow each successful sale, enabling a feedback loop to Red Line Design.  A continual process of improvement will be used to eliminate unnecessary aspects of conducting business and areas needing enhancement.</p>
<p><b><u>Location</b></u><br />
Only a phone, fax, computer, and internet connection are necessary.  These items consume minimal space.  Expensing the square footage used exclusively for business use would yield only a negligible tax deduction.  Part-time operations are conducive to this small scale business endeavor.</p>
<p><b><u>Legal Environment</b></u><br />
Licensing requirements are necessary when starting a business.  An occupational license can be obtained from the Orange County government for a minimal fee.  Fees for registering a fictitious business name are also required.  The name Red Line Design must be registered and announced in the Sunday newspaper as a formal business opening.</p>
<p>A copyright for Red Line Design&#8217;s logo will be obtained via the U.S. government.  Obtaining a copyright only costs $30.  This will ensure the security and longevity of Red Line Design&#8217;s original logo artwork.</p>
<p><b><u>Credit Policies</b></u><br />
Red Line Design has no plan to sell services on a credit basis.  Perhaps, if future level of operation permits, this will become a more relevant issue.</p>
<h2>VI.	Startup Expenses and Capitalization</h2>
<p><a href='http://www.unsaturated.com/wordpress/wp-content/data/redlinestartup.gif' title='Red Line Startup'>These startup expenses</a> have been estimated using current market averages for products found at online vendors.  The acquisition costs are negligible and will be paid as one-time expenses with funds provided by the sole proprietor.  The contingencies are non-specific costs that cannot be anticipated.  They are calculated by taking 20% of the total of all other startup expenses.</p>
<h2>VII.	Financial Plan</h2>
<p><b><u>Twelve Month Profit and Loss Projection</b></u><br />
This brief analysis is the twelve <a href='http://www.unsaturated.com/wordpress/wp-content/data/redlinepl.gif' title='Red Line Profit and Loss'>month profit and loss projection</a> for Red Line Design.  The first four months of revenue are blocked off because this is Phase I of promotion; everything for the first four months is pro bono.  Most expenses have been estimated.  Telephone, utilities, and web server expenses are based upon expected usage.  The sales revenue for each month is calculated from the sales forecast in the Marketing Plan section; the values are from the worst case scenario.</p>
<h2><a name="APPENDIXA"></a>VIII.	Appendix A &#8211; Industry Analysis</h2>
<p><b><u>Structure of the Graphic Arts Industry</b></u></p>
<p><i>Industry Overview</i><br />
Using the North American Industry Classification System (NAICS), the graphic design services industry is located in the 541430 subsection.  The industry name &#8220;graphic arts&#8221; is also commonly cited and will be used in this report interchangeably with the term &#8220;graphic design.&#8221;  A complete listing of indexed names is in <a href='http://www.unsaturated.com/wordpress/wp-content/data/redlinetable1.gif' title='Red Line Table 1'>Table 1</a>.  This business will focus on the &#8220;corporate identification design service.&#8221;  In short, this business will design logos for other businesses.  To quote the U.S. Census Bureau:</p>
<blockquote><p>This industry comprises establishments primarily engaged in 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).  This industry also includes commercial artist engaged exclusively in generating drawings and illustration requiring technical accuracy or interpretative skills.<sup>1</sup></p></blockquote>
<p><i>Number of Firms (Domestic)</i><br />
The graphic arts industry has businesses spread across the entire United States.  However, the greatest concentration is in California, with over 2000 firms.  The figures in <a href='http://www.unsaturated.com/wordpress/wp-content/data/redlinetable2.gif' title='Red Line Table 2'>Table 2</a> are from the U.S. Census Bureau&#8217;s 1997 Economic Census.  The number of firms has, no doubt, increased since the census was taken.  The growth of this industry will be discussed in a later section.  The total number of U.S. firms is 14,631.  On a local note, Orlando had 117 establishments at the time of the census.<sup>2</sup></p>
<p><i>Geographic Extent</i><br />
The graphic design industry is represented in all 50 states.  Of the top-ten states with established firms, five are east coast states.  The least number of firms is in Alaska.  California, with the most design firms, has more than the bottom 29 states combined.</p>
<p><i>Nature of Competition</i><br />
This industry operates within a monopolistically competitive market.  The nature of graphic design is to convey a message.  Anyone can offer that service but firms focus on differentiating. The competitive advantage is whose firm has the most effective, creative designers to translate that message.  The ease with which businesses enter the market is also a characteristic of this form of competition.<sup>3</sup></p>
<p>There are a large number of relatively small firms.  This is another trait of monopolistic competition.  Indeed, over half of the workers in this industry are self-employed, which is seven times the proportion in other related professional occupations.<sup>4</sup></p>
<p><i>Share of Market by the Largest Firms</i><br />
The largest firms in this industry capture market in terms of quantity and the diversity of their service.  They claim market share with the range of substitutes they can provide.  If a business wants a total package (i.e. a completely new corporate image), they want everything provided by one firm.  This firm often has greater physical resources, a larger staff, and is capable of providing everything necessary.  Private businesses hark back to the old days of tradesmen and specialized skills.  They may have greater talent, but can&#8217;t provide the low-rate &#8220;chop shop&#8221; capabilities of a larger firm, which can provide high quantities of graphics at low prices, undercutting the competition.</p>
<p>Demand curves and Lerner indices are not available for this industry.  Although, specialized marketing businesses such as TrendWatch Graphic Arts provide such detailed information&#8211;at a price.  Their current report sells for a mere $20,000.<sup>5</sup>  Freelance designers and small sole proprietor businesses simply can&#8217;t obtain this information.  The small number of public graphic design firms complicates this fact.</p>
<p><i>Past or Existing Barriers to Entry</i><br />
Entering the graphic design market is relatively easy.  Most freelance designers, sole proprietors, and other small-sized businesses can set-up without the fixed costs associated with other business (such as restaurants).  The greatest barrier is the loyalty of previous customers.  In logo design, as with other graphic arts, the future clientele is based upon previous clientele.  Designers must build a portfolio.  Naturally, designers with greater skill often have larger portfolios.  They can generate business easier than an amateur.  To summarize this barrier is to say it&#8217;s all about reputation.</p>
<p><i>Extent of International Competition</i><br />
There are graphic design services across the globe.  However, the nature of graphic design lends itself to individual work.  Firms that are very large (> 1,000 employees) but do not have an in-house graphics department may seek design services internationally.</p>
<p><b><u>Conduct of Firms</u></b></p>
<p><i>Pricing Behavior</i><br />
Pricing for graphic design is largely a measure of the artist&#8217;s portfolio.  Charging by hourly rates or by project is the discretion of the designer.  Project-based pricing is more common on the Internet among design firms.  Hourly rates apply to employed workers of larger firms.  For September 2002, the average hourly rate for graphic design was $59.49/hour.  Historical rates for graphic design are found in <a href='http://www.unsaturated.com/wordpress/wp-content/data/redlinetable3.gif' title='Red Line Table 3'>Table 3</a>.  Currently, desk top publishing (DTP) is at $53.62/hour, while web site design reached $58.21/hour.<sup>6</sup></p>
<p>Mark Fertig, a professor of graphic design at James Madison University says, &#8220;The money&#8217;s not as good for me online.  I&#8217;ve had to cut my prices.&#8221;<sup>7</sup>  Finding work on freelance web sites is another method common to graphic designers.  Much like bidding on eBay, the winning contract for a logo design or other graphic design, goes to the lowest bidder.</p>
<p><i>Research and Development Activities</i><br />
The newest research in graphic design is credited mostly to the software programmers. Although, graphic designers utilize the newest graphic software, they are usually the ones to submit bug reports and other suggestions to programmers.  This feedback loop is common to most areas of design.</p>
<p>Graphics software is usually bundled with other DTP titles.  The genre of web graphics, DTP, and photo editing software titles are lending themselves to a broader population of PC/Mac users.  The progress made by software designers towards more usable software combined with lower prices, has opened the graphic design industry to more lay people.  This is opening the market to a slew of people without formal graphic design education.</p>
<p><i>Investment Behavior</i><br />
As most graphic design firms are private, investments are usually by the owners.  Since more than half of graphic designers are self-employed, startup costs are minimal, and entry barriers are minimal, the nature of the field lends itself to working at-home.  However, the word &#8220;printing&#8221; is usually found with the word &#8220;graphic design&#8221; when searching the Internet.  The two search phrases are synonymous because printing often requires skills common to graphic design.</p>
<p>The investment in printing sometimes can affect graphic design.  Robert H. Rosen of RH Rosen Associates, Inc., a graphic design consultancy, says, &#8220;Financial services providers, which only two years ago were showering the printing industry with funding options, have turned down the lending spigot.&#8221;  He adds, &#8220;While a lot of companies like lending money to printers, they&#8217;re considerably more cautious today because of the drop in resale value of equipment, the primary source of lending collateral.&#8221;<sup>8</sup></p>
<p>Lenders are more cautious of graphic design firms that require heavy machinery for printing. For other graphic arts firms with little more than creativity, the collateral is almost non-existent.</p>
<p><i>Non-Price Competition</i><br />
This form of competition is most visible in advertising.  Logo design firms and graphic arts companies commonly advertise on the Internet.  Very few graphic design firms seem to advertise in the phone book.  Thumbing through the yellow pages under the word &#8220;graphic,&#8221; yields only a few businesses.</p>
<p>In a 2000 report by the Internal Revenue Service, they classify sole proprietorship tax returns by the NAICS industries.  Those industries are then categorized with line items, including advertising.  However, the 541430 industry is only broadly referenced as &#8220;other miscellaneous services&#8221; under the broader 54 NAICS code for &#8220;professional, scientific, and technical services.&#8221; Very generally, advertising accounted for 5.2% (124,414/2,396,565) of cost of sales.<sup>9</sup></p>
<p><b><u>Performance</u></b></p>
<p><i>Profitability of Industry/Firms</i><br />
Aggregate information on profitability is not readily available.  The sheer number of private firms to public firms is enormous.  However, a national survey by howdesign.com may shed some light on the industry.  The average national salary for graphic designers in April 2002 was $45,375.  For the southern region of the U.S., including Florida, the average dropped to $40,453.<sup>10</sup>  Discerning the profitability on an industry-wide basis is not possible without more information.  However, the compensation of workers provides a tolerable insight to how well the industry is doing. The Bureau of Labor Statistics writes in its Occupational Outlook Handbook that, &#8220;artists employed by…design firms generally work a standard 40-hour week.&#8221;<sup>4</sup>
<p><i>Innovation</i><br />
Much like research and development, the innovation of an industry is dictated by the success (or failure) of new technology.  For graphic design, PC equipment that was prohibitive in price is now at reasonable levels.  Not only hardware but software has decreased in price.  Very little separates what PC technology is available to the small-business owner and a large business owner.  However, heavy metal equipment associated with printing is depreciating very rapidly; the side effect is a glut of old technology.</p>
<p><i>Growth</i><br />
According to a November 2001 article in <i>Monthly Labor Review</i>, there will be &#8220;strong employment and output growth.&#8221;  Jobs are expected to increase from 2000 to 2010 from 2.3 million to 3.3 million.<sup>11</sup>  The Bureau of Labor Statistics claims that, &#8220;Employment of artists and related workers is expected to grow as fast as the average for all occupations through the year 2010.&#8221;4 A December 2001 report by <i>Graphic Arts Monthly</i> cited that &#8220;economic conditions&#8221; was the top business challenge, adding that, &#8220;creative firms don&#8217;t seem abundantly optimistic about the future.&#8221;<sup>8</sup></p>
<h2><a name="APPENDIXB"></a>IX.	Appendix B &#8211; Omitted from Online Version</h2>
<h2><a name="APPENDIXC"></a>X.	Appendix C &#8211; Gantt Chart</h2>
<p>The <a href='http://www.unsaturated.com/wordpress/wp-content/data/redlinegantt.gif' title='Red Line Gantt Chart'>Gantt chart</a> indicates a few of the key activities of the first seven months of operation. The four-month period from July through October is Phase I of promotion, a pro bono design period used to test the market.  During that period, the business plan will be revised slightly, the web site developed, and various supporting documents will be finalized.  In fact, many aspects of the business plan will be revised over the life of the business.</p>
<p>Networking is an ongoing activity.  It&#8217;s not a scheduled event, per se, but requires sustained effort throughout the initial phases of the business.  Equally important is the final location of Red Line Design.  Being a part-time business, planning must account for daytime activities such as a full-time job.  Also, relocating from the Orlando area will require additional planning.  The post-graduation plans for the proprietor must be finalized.</p>
<h2><a name="APPENDIXD"></a>XI.	Appendix D &#8211; Pricing Structure</h2>
<p>The <a href='http://www.unsaturated.com/wordpress/wp-content/data/redlinepricing2.gif' title='Red Line Pricing 2'>total cost for each product</a> includes the wages associated with labor and the cost of materials. However, since this is used to pay the owner of the firm (the sole proprietor), it is not included as a cost when calculating the 12-month profit and loss statement; only the cost of materials is used when calculating the 12-month profit and loss (among other expenses). The 12-month profit and loss is shown in the Financial Plan section.  Demand will be predicted after the pro bono promotional period, costs better assessed, and the pricing will be adjusted accordingly.</p>
<h2><a name="APPENDIXE"></a>XII.	Appendix E &#8211; Omitted from Online Version</h2>
<h2><a name="APPENDIXF"></a>XIII.	Appendix F &#8211; Logo Portfolio Samples</h2>
<p><a href='http://www.unsaturated.com/wordpress/wp-content/data/redlineportfolio.gif' title='Red Line Portfolio'>These images</a> were selected from the <a href=http://www.unsaturated.com/category/graphics">graphics</a> page and &#8220;what works&#8221; commentary was added to discuss the effect each image achieves.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/red-line-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enigma Cubed</title>
		<link>http://www.unsaturated.com/projects/enigma-cubed/</link>
		<comments>http://www.unsaturated.com/projects/enigma-cubed/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 00:44:45 +0000</pubDate>
		<dc:creator>Matthew Crumley</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[high school]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://www.unsaturated.com/projects/enigma-cubed/</guid>
		<description><![CDATA[In 1995 I created my very first puzzle. I'll never forget the story behind this project or the importance of the assembly guide.]]></description>
			<content:encoded><![CDATA[<p>The Enigma<sup>3</sup> project began as an assignment in high school.  The class was World History and we were studying the Renaissance.  The assignment was to create something that conveyed the spirit of that era and to explain the project to the class.</p>
<p> I first designed the cube in March of 1995 and never figured it would be resurrected eight years later.  I recall the hardest part of the project was cutting equal sized cubes.  The next step was assembling the cube.  Making sure I could reassemble the cube meant there would be instructions or an assembly guide of some kind.</p>
<p>The first iteration of my assembly guide was drawn by hand.  The best part of this project was what my teacher, Mrs. Morris, said to me.  She was watching a student for detention and, apparently, earlier in the day someone bumped the cube and it fell apart.  What better way to spend detention than putting together a puzzle?  After class the next day, Mrs. Morris told me that the student successfully reconstructed the cube using my assembly guide.</p>
<p>In my idle time I recently took apart the cube.  After reinstalling Merlin VR 1.0, the 3D-modeling equivalent to Microsoft Paint, I started to render my instructions in 3D.  After many saves and screen shots, the result was good but not great.  Actually, the cube itself is not <i>perfectly</i> symmetrical so I guess an imperfect 3D rendering is fitting.</p>
<p>Some images of the real and virtual pieces:</p>
<ul>
<li><a href='http://www.unsaturated.com/wordpress/wp-content/data/enigma_pic010.jpg' title='Sample of pieces'>Sample of pieces</a></li>
<li><a href='http://www.unsaturated.com/wordpress/wp-content/data/enigma_pic001.jpg' title='All the pieces of the puzzle'>All the pieces of the puzzle</a></li>
<li><a href='http://www.unsaturated.com/wordpress/wp-content/data/enigma_partg-5.jpg' title='Step seven of my virtual assembly instructions'>Step seven of my virtual assembly instructions</a></li>
<li><a href='http://www.unsaturated.com/wordpress/wp-content/data/enigma_parti-5.jpg' title='The assembled cube (virtual)'>The assembled cube (virtual)</a></li>
<li><a href='http://www.unsaturated.com/wordpress/wp-content/data/enigma_pic013.jpg' title='The assembled cube (real)'>The assembled cube (real)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.unsaturated.com/projects/enigma-cubed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
