<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Technology, Cooking and Random Thoughts</title>
	
	<link>http://techcook.net</link>
	<description>A few of my favorite interests.</description>
	<lastBuildDate>Wed, 17 Jun 2009 01:34:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/indytechcook" /><feedburner:info uri="indytechcook" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>39.62068</geo:lat><geo:long>-86.151267</geo:long><feedburner:emailServiceId>indytechcook</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Excel to Drupal:  Tracking Training Sessions</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/3FVSvsF3zlc/</link>
		<comments>http://techcook.net/2009/06/excel-to-drupal-tracking-training-sessions/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 01:26:37 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[All Things Tech]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[workflow automation]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=209</guid>
		<description><![CDATA[I&#8217;ve been working in corporate America for 10 years.  In this time I have seen business of all shapes and size run off of Excel spreadsheets.  Don&#8217;t be me wrong, I use Excel as much as the next guy, but when your entire workflow process is focused around updating and tracking information an Excel spreadsheet [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I&#8217;ve been working in corporate America for 10 years.  In this time I have seen business of all shapes and size run off of Excel spreadsheets.  Don&#8217;t be me wrong, I use Excel as much as the next guy, but when your entire workflow process is focused around updating and tracking information an Excel spreadsheet then you better take a step back and look at what you are doing.</p>
<p style="text-align: left;">In this post, I&#8217;m going to walk through a small project I took on at work to move a department off of Excel to Drupal.  This particular case was a little different then other workflow process automation project I take on as the department came to me looking for an easier way to track information.</p>
<h4 style="text-align: left;">Original State:</h4>
<p style="text-align: left;">The Lab Point of Care (POC) department was tracking training session on an excel spreadsheet.  POC is a distributed department with 4 different offices.  2 of the offices shared a spreadsheet and the other two and an identically formatted spreadsheet with information with their location.   The spreadsheet was formatted with each person having it&#8217;s own row, and each training session that the person took in a separate column.  All of the spreadsheets are stored on a network share.</p>
<h4 style="text-align: left;">Issues with original state:</h4>
<ul>
<li style="text-align: left;">The same person could take the same class at multiple locations.  They were only required to take the class at one location.  Since the spreadsheets are not synced, one office would have to open another office&#8217;s spreadsheet to verify that the person has taken the class.</li>
<li style="text-align: left;">One of the spreadsheets had over 15 thousand rows.  It was slow to load off of the network share.  Due to the size of the spreadsheet, the users would copy the spreadsheet locally and be working off of old data.</li>
<li style="text-align: left;">Several users would attempt to update the spreadsheet at the same time.  This would cause file corruption issues and loss of data.</li>
</ul>
<h4 style="text-align: left;">Requirements:</h4>
<ul>
<li style="text-align: left;">Easy to search by employee ID or name.</li>
<li style="text-align: left;">Ability to quickly add new training session.
<ul>
<li style="text-align: left;">One session for a day.</li>
<li style="text-align: left;">Multiple sessions for single day.</li>
</ul>
</li>
<li style="text-align: left;">Person Data:
<ul>
<li style="text-align: left;">Employee ID (Unique)</li>
<li style="text-align: left;">Name</li>
<li style="text-align: left;">Location (multiple)</li>
<li style="text-align: left;">Position</li>
</ul>
</li>
<li style="text-align: left;">Training Session Data:
<ul>
<li style="text-align: left;">Training Session Type</li>
<li style="text-align: left;">Certification Length</li>
<li style="text-align: left;">Date</li>
</ul>
</li>
<li style="text-align: left;">Reports for training session by multiple criteria.</li>
<li style="text-align: left;">Ability to export reports to excel/pdf.</li>
<li style="text-align: left;">Upload the current spreadsheets to pre-populate the data.</li>
</ul>
<h4 style="text-align: left;">Plan of Attack:</h4>
<p style="text-align: left;">My main goal was to keep the application was simple as possible.  Most of the application focuses around the Training Sessions screen.  This is the screen where they look up, add/edit training sessions.  Being that this project had very limited time associated to it, I needed to use as many prebuild Drupal modules as possible.  The core of the application is focused around CCK and views.  I used CCK to create the widgets for the forms.  Ajax, Editable and quicktabs were used to help improve UI.  Custom forms (using Form API) combined the views and content type forms on a single page.  The Acquia Marrina Theme from Top Notch Themes (http://www.topnotchthemes.com)</p>
<h4 style="text-align: left;">Content Types:</h4>
<ul>
<li style="text-align: left;">Person:  Each person has a person node.</li>
<li style="text-align: left;">training session:  Each training session is attached to a person.</li>
</ul>
<h4 style="text-align: left;">Main Modules</h4>
<ul>
<li style="text-align: left;">Ajax:  Used for UI imporovments.  Gives the ability to add AJAX (<a href="http://drupal.org/project/ajax" target="_blank">http://drupal.org/project/ajax</a>) to any form very easily.</li>
<li style="text-align: left;">CCK
<ul>
<li style="text-align: left;">Content Taxonomy</li>
<li style="text-align: left;">Mulitselect (<a href="http://drupal.org/project/multiselect" target="_blank">http://drupal.org/project/multiselect</a>):  Improved UI for Content Taxonomy when using multiple terms.</li>
</ul>
</li>
<li style="text-align: left;">Form block (<a href="http://drupal.org/project/formblock" target="_blank">http://drupal.org/project/formblock</a>):  Easily expose a node form to a block.  This was used in combination with Quick Tabs</li>
<li style="text-align: left;">Quick Tabs (<a href="http://drupal.org/project/quicktabs" target="_blank">http://drupal.org/project/quicktabs</a>):  Allow for improvements to the UI.</li>
<li style="text-align: left;">Views</li>
<li style="text-align: left;">Custom Code</li>
</ul>
<h4 style="text-align: left;">Primary Pages</h4>
<ul>
<li>
<p style="text-align: left;"><span style="text-decoration: underline;">Training Tracking Page (Home Page)</span>:  Upon first loading the web app, you are giving a page with simple search box (see screen shot).  The user has the option to either type in a few letters of the name or the Employee ID.  The search box is an auto-complete drop down built as a custom form.     Once a person is selected the user presses &#8220;search&#8221; and it brings up the details for the employee (see screenshot).  At the top of the page the user has the option to either search for another employee or edit the current one.  Under that there is some basic information about the employee.  These fields are pulled from related taxonomy terms.  Quicktabs were used to allow all of the screen to be on the same page.  The first tab is the current sessions and the second tab gives the user the ability to quickly add a new session.  The Ajax module was used to save the info to the database without refreshing the entire page.  This give the user the ability to add training sessions quicker.</p>
</li>
<li style="text-align: left;"><span style="text-decoration: underline;">Add/Edit Person Screen</span>:  This is just the add/edit form for person content type.  CCK was used to give the necessary appearance.</li>
<li style="text-align: left;"><span style="text-decoration: underline;">Reports:</span> Views were made with a good amount exposed filters, giving the user the ability to find any necessary information.</li>
<li style="text-align: left;"><span style="text-decoration: underline;">List Management</span>:  The location, position, training session type and certification length are all vocabularies.  The site administrators manage the lists via the core taxonomy forms.</li>
</ul>
<h4 style="text-align: left;">Importing the Old Data</h4>
<p style="text-align: left;">This was the most challenging part of the project.  It required the most custom coding.  The spreadsheets had to be formatted in a way where they could be easily turned in to a csv file.  Once the spreadsheet was in the correct format, the parsecsv-for-php (<a href="http://code.google.com/p/parsecsv-for-php/" target="_blank">http://code.google.com/p/parsecsv-for-php/</a>) library was used.  This allows me to easily parse the csv file and place the csv fields in the correct content types.  A little error and duplicate checking and I had myself a nice template to use for future data imports.</p>
<h4 style="text-align: left;">Conclusion</h4>
<p style="text-align: left;">The web application has been live for about a month and I&#8217;ve already heard how much it has improved their workflow.  The amount of effort that was needed to evaluate the workflow process and create the application was well worth the benefit.  This was the first Drupal application for this company and we are already working on a few others.</p>
<p style="text-align: left;"><a class="tt-flickr tt-flickr-Thumbnail" title="traing traking page 1" href="http://techcook.net/pictures/photo/3634426842/traing-traking-page-1.html"><img class="alignnone" src="http://farm4.static.flickr.com/3552/3634426842_ec67eaf9d9_t.jpg" alt="traing traking page 1" width="100" height="40" title="Excel to Drupal:  Tracking Training Sessions" /></a> <a class="tt-flickr tt-flickr-Thumbnail" title="Training tracking page 3" href="http://techcook.net/pictures/photo/3633612347/training-tracking-page-3.html"><img class="alignnone" src="http://farm4.static.flickr.com/3405/3633612347_e2684c1b28_t.jpg" alt="Training tracking page 3" width="100" height="35" title="Excel to Drupal:  Tracking Training Sessions" /></a> <a class="tt-flickr tt-flickr-Thumbnail" title="Training tracking page 2" href="http://techcook.net/pictures/photo/3633612335/training-tracking-page-2.html"><img class="alignnone" src="http://farm4.static.flickr.com/3637/3633612335_1af012b289_t.jpg" alt="Training tracking page 2" width="100" height="67" title="Excel to Drupal:  Tracking Training Sessions" /></a></p>
<p style="text-align: left;">
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/indytechcook?a=3FVSvsF3zlc:50D10z_md2c:p2hwulRdYYg"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=3FVSvsF3zlc:50D10z_md2c:p2hwulRdYYg" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=3FVSvsF3zlc:50D10z_md2c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/indytechcook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=3FVSvsF3zlc:50D10z_md2c:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=3FVSvsF3zlc:50D10z_md2c:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=3FVSvsF3zlc:50D10z_md2c:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/indytechcook?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=3FVSvsF3zlc:50D10z_md2c:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=3FVSvsF3zlc:50D10z_md2c:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=3FVSvsF3zlc:50D10z_md2c:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=3FVSvsF3zlc:50D10z_md2c:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=3FVSvsF3zlc:50D10z_md2c:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/indytechcook?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=3FVSvsF3zlc:50D10z_md2c:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=3FVSvsF3zlc:50D10z_md2c:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/3FVSvsF3zlc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/06/excel-to-drupal-tracking-training-sessions/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/06/excel-to-drupal-tracking-training-sessions/</feedburner:origLink></item>
		<item>
		<title>Code Dreamers, Taxonomy Menu, Blog to it and Drupal</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/LNfM_EYuv60/</link>
		<comments>http://techcook.net/2009/04/code-dreamers-taxonomy-menu-blog-to-it-and-drupal/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 21:19:15 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[All Things Tech]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[code dreamers]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[taxonomy menu]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=204</guid>
		<description><![CDATA[It&#8217;s been a while since I&#8217;ve posted and I&#8217;ve been very busy.  I launched a new consulting service I call Code Dreamers.  I&#8217;ve spent tons of time on Taxonomy Menu and started to develop my ideas for Blog to It.  Drupal has began to take over my life and I&#8217;m loving it. Code Dreamers A [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">It&#8217;s been a while since I&#8217;ve posted and I&#8217;ve been very busy.  I launched a new consulting service I call <a href="http://code-dreamers.com" target="_blank">Code Dreamers</a>.  I&#8217;ve spent tons of time on <a href="http://drupal.org/project/taxonomy_menu" target="_blank">Taxonomy Menu</a> and started to develop my ideas for <a href="http://blog.to.it/" target="_blank">Blog to It</a>.  Drupal has began to take over my life and I&#8217;m loving it.</p>
<h2 style="text-align: left;">Code Dreamers</h2>
<p style="text-align: left;">A few months ago I launch the official front end to my freelancer Drupal development.  After much consideration, I named it Code Dreamers (http://code-dreamers.com).  Since I&#8217;m not a full time developer, I&#8217;ve done my best to limit my scope of what services I offer.  With a child on the way, I didn&#8217;t want to get myself anymore over extended then I already am.  I&#8217;ve deiced to specialize in offering custom Drupal functionality.  I&#8217;m not looking to create the entire site, just add or enhance a current site/project.  My clients are other developers and designers (mostly designers).</p>
<p style="text-align: left;">This is a very excited endeavor for me.  Hopefully the start of a new life in development.</p>
<h2 style="text-align: left;">Taxonomy Menu</h2>
<p style="text-align: left;">This module has consumed most of my free time.  I totally rewrote the module to use Drupal&#8217;s menu system correctly.  I&#8217;ve learned a ton about Drupal, php and open source development.  I am very proud of this module.  I have spent countless hours in the issues queue answer questions and developing new functionality.  A few other developers had submitted patches to enhance it&#8217;s functionality.  It&#8217;s great to get more involvement.  One of the featuers I&#8217;m most proudof is the API (http://drupal.org/node/380652).  Now developers can customized the menu to their hearts content.</p>
<p style="text-align: left;">I&#8217;m working on the next version of Taxonomy Menu already.  Some great ideas are coming form the community.  It will be easier to use with more customization.  I&#8217;m very excited about this.  Unfortunately, it&#8217;s slow coming.  I hope to have a first alpha version by the end of the month.</p>
<h2 style="text-align: left;">Blog To It</h2>
<p style="text-align: left;">I had several conversation with the developer of Blog To It (http://blog.to.it), Tim Millwood (http://www.millwoodonline.co.uk/) over Twitter and we ended up teaming up to work on the site together.  He launched Blog To It shortly after I began working on Blogs of Indy.  I&#8217;ve decided to stop development on Blogs of Indy and focus on Blog to It instead.  Tim and I have had tossed around ideas and I&#8217;m ready to get started.</p>
<h2 style="text-align: left;">Drupal</h2>
<p style="text-align: left;">I have began to implement new Drupal sites at my place of employment.  They have been a M$ shop for a long time and the idea of open source is very scary.  Their attitude changed very quickly when I was able to create a server and deploy a custom fully functionality website within 20 hours.  Now I&#8217;m adding more Drupal sites.   I&#8217;m hoping to make my full time job developing Drupal.</p>
<p style="text-align: left;">
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/indytechcook?a=LNfM_EYuv60:NUOi5FaNcag:p2hwulRdYYg"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=LNfM_EYuv60:NUOi5FaNcag:p2hwulRdYYg" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=LNfM_EYuv60:NUOi5FaNcag:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/indytechcook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=LNfM_EYuv60:NUOi5FaNcag:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=LNfM_EYuv60:NUOi5FaNcag:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=LNfM_EYuv60:NUOi5FaNcag:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/indytechcook?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=LNfM_EYuv60:NUOi5FaNcag:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=LNfM_EYuv60:NUOi5FaNcag:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=LNfM_EYuv60:NUOi5FaNcag:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=LNfM_EYuv60:NUOi5FaNcag:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=LNfM_EYuv60:NUOi5FaNcag:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/indytechcook?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=LNfM_EYuv60:NUOi5FaNcag:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=LNfM_EYuv60:NUOi5FaNcag:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/LNfM_EYuv60" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/04/code-dreamers-taxonomy-menu-blog-to-it-and-drupal/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/04/code-dreamers-taxonomy-menu-blog-to-it-and-drupal/</feedburner:origLink></item>
		<item>
		<title>Corruption of Mass Review Websites</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/7ccPONobD4c/</link>
		<comments>http://techcook.net/2009/02/corruption-of-mass-review-websites/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 22:10:12 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[Restaurants]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=198</guid>
		<description><![CDATA[I read a very interesting article from Braingir&#8217;s blog Feed Me Drink Me about a mass review service called Yelp. Yelp is a site where anyone can post a review about a service.  The idea is to get reviews from the average person to help another average person make an educated selection.  I have used [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I read a very interesting article from Braingir&#8217;s blog <a href="http://feedmedrinkme.blogspot.com/" target="_blank">Feed Me Drink Me</a> about a mass review service called <a href="http://www.yelp.com/" target="_blank">Yelp. </a>Yelp is a site where anyone can post a review about a service.  The idea is to get reviews from the average person to help another average person make an educated selection.  I have used several services like this to search for all sorts of information from where I should go eat to what mechanic should I use.  I have always read the views with interest, knowing that one bad experience does not make an establishment poor.  You are more likely to find bad reviews over good ones, so when a good one was found I added more weight to it.</p>
<p style="text-align: left;">My trust in these sites has now gone by the wayside.  From braingir&#8217;s blog:</p>
<blockquote>
<p style="text-align: left;">Problems first surfaced last year, when the San Francisco Chronicle&#8217;s <a href="http://www.sfgate.com/cgi-bin/blogs/sfgate/detail?blogid=26&amp;entry_id=28020">Michael Bauer wrote </a>that a few chefs had encountered diners threatening them with bad reviews if meals and drinks weren&#8217;t comped.</p>
</blockquote>
<p style="text-align: left;">Continued on to this paragraph where all of my faith was lost:</p>
<blockquote>
<p style="text-align: left;">Now, Michael Atkinson, founder of the social networking site <a href="http://www.fohboh.com/profiles/blog/show?id=1411008%3ABlogPost%3A265524">FOH-BOH, reports</a> even worse shenanigans on the part of Yelp! The East Bay Express published <a href="http://www.eastbayexpress.com/gyrobase/yelp_and_the_business_of_extortion_2_0/Content?oid=927491&amp;page=1">an article last week</a> on Yelp&#8217;s newest sales pitch to chefs and how it was gaining traction. Sales reps from the company are now calling restaurants with bad reviews posted and offering &#8212; for a mere $299 a month &#8212; to remove those bad reviews! As part of their service now, the folks at Yelp make money by cleaning up negative comments! Wow. Just Wow. What little shred of usability just went out the window. Talk about a no-negative review policy. How about we make some money on those?!</p>
</blockquote>
<p style="text-align: left;">This cuts deeply into the trust of the &#8220;Average Joe.&#8221;  The reviews now mean nothing.  If Yelp does this then who is to say that the other sites don&#8217;t already do this or are going to follow suit.  Our only hope is to educate the masses to not use sites like this and refer the reviews to the professionals (or educated armatures).</p>
<p style="text-align: left;">Before you start throwing the freedom of speech argument at me, realize that I agree that everyone should have voice, but when that voice promotes corruption then the voice should be silenced.</p>
<p style="text-align: left;"><strong>EDIT:  I wanted defend <a href="http://www.angieslist.com/Angieslist/" target="_blank">Angie&#8217;s List.</a> This is a review service that I have found to be extremely honest will continue to recommend them to everyone.</strong></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/indytechcook?a=7ccPONobD4c:HtyukbT_sIA:p2hwulRdYYg"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=7ccPONobD4c:HtyukbT_sIA:p2hwulRdYYg" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=7ccPONobD4c:HtyukbT_sIA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/indytechcook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=7ccPONobD4c:HtyukbT_sIA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=7ccPONobD4c:HtyukbT_sIA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=7ccPONobD4c:HtyukbT_sIA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/indytechcook?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=7ccPONobD4c:HtyukbT_sIA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=7ccPONobD4c:HtyukbT_sIA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=7ccPONobD4c:HtyukbT_sIA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=7ccPONobD4c:HtyukbT_sIA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=7ccPONobD4c:HtyukbT_sIA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/indytechcook?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/indytechcook?a=7ccPONobD4c:HtyukbT_sIA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/indytechcook?i=7ccPONobD4c:HtyukbT_sIA:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/7ccPONobD4c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/02/corruption-of-mass-review-websites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/02/corruption-of-mass-review-websites/</feedburner:origLink></item>
		<item>
		<title>My Favorite Chicken Dish</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/pPTkD1hpyME/</link>
		<comments>http://techcook.net/2009/02/my-favorite-chicken-dish/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 13:26:08 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[Cooking]]></category>
		<category><![CDATA[Food]]></category>
		<category><![CDATA[Recipie]]></category>
		<category><![CDATA[chicken]]></category>
		<category><![CDATA[recipes]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=195</guid>
		<description><![CDATA[Several years ago, my future wife (at the time) and I discovered this wonderfully complex and simple chicken dish.  It was rich fancy (to us at the time) and took 3 hours to cook.  We haven&#8217;t had this dish in a few years (due to the 3 hours).  We had some friends over last night [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Several years ago, my future wife (at the time) and I discovered this wonderfully complex and simple chicken dish.  It was rich fancy (to us at the time) and took 3 hours to cook.  We haven&#8217;t had this dish in a few years (due to the 3 hours).  We had some friends over last night and decided to give it a go.</p>
<p style="text-align: left;"><span style="text-decoration: underline;">Ingredients:</span></p>
<ul style="text-align: left;">
<li>Chipped Beef</li>
<li>Boneless/Skinless Chicken Breast</li>
<li>Thinly sliced bacon</li>
<li>3/4 cup grated Swiss cheese</li>
<li>1 pint sour cream</li>
<li>1 can mushroom soup</li>
<li>1/6 tsp poultry seasoning</li>
</ul>
<p style="text-align: left;"><span style="text-decoration: underline;">Instructions:</span></p>
<ul style="text-align: left;">
<li>Grease bottom of oblong backing dish adn line with chipped beef</li>
<li>Cut chicken breasts in half.</li>
<li>Wrap chicken in bacon.</li>
<li>Place chicken on top of the chipped beef.</li>
<li>Mix sour cream, mushroom soup and poultry seasoning together; pour over chicken.</li>
<li>Base at 275 for 3 hours.</li>
<li>Last 20 minutes, cover with Swiss cheese.</li>
<li>Makes a gravy that can be served in a separate dish for those who like more (like me).</li>
<li>Server with rice or over toast.</li>
</ul>
<p style="text-align: left;">
<p style="text-align: left;"><a class="tt-flickr tt-flickr-Small" title="chicken_fav1" href="http://techcook.net/pictures/photo/3297508808/chicken_fav1.html"><img class="alignnone" src="http://farm4.static.flickr.com/3308/3297508808_dc9b7a4c02_m.jpg" alt="chicken_fav1" width="180" height="240" title="My Favorite Chicken Dish" /></a> <a class="tt-flickr tt-flickr-Small" title="chicken_fav2" href="http://techcook.net/pictures/photo/3296684619/chicken_fav2.html"><img class="alignnone" src="http://farm4.static.flickr.com/3554/3296684619_94cfa74832_m.jpg" alt="chicken_fav2" width="180" height="240" title="My Favorite Chicken Dish" /></a> <a class="tt-flickr tt-flickr-Small" title="chicken_fav2" href="http://techcook.net/pictures/photo/3296684619/chicken_fav2.html"><img class="alignnone" src="http://farm4.static.flickr.com/3554/3296684619_94cfa74832_m.jpg" alt="chicken_fav2" width="180" height="240" title="My Favorite Chicken Dish" /></a> <a class="tt-flickr tt-flickr-Small" title="chicken_fav3" href="http://techcook.net/pictures/photo/3296684689/chicken_fav3.html"><img class="alignnone" src="http://farm4.static.flickr.com/3548/3296684689_073f256c17_m.jpg" alt="chicken_fav3" width="180" height="240" title="My Favorite Chicken Dish" /></a> <a class="tt-flickr tt-flickr-Small" title="chicken_fav4" href="http://techcook.net/pictures/photo/3296684715/chicken_fav4.html"><img class="alignnone" src="http://farm4.static.flickr.com/3484/3296684715_7f3cbd4276_m.jpg" alt="chicken_fav4" width="180" height="240" title="My Favorite Chicken Dish" /></a> <a class="tt-flickr tt-flickr-Small" title="chicken_fav6" href="http://techcook.net/pictures/photo/3297509090/chicken_fav6.html"><img class="alignnone" src="http://farm4.static.flickr.com/3364/3297509090_3b8a9346c4_m.jpg" alt="chicken_fav6" width="180" height="240" title="My Favorite Chicken Dish" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=9eQb383x"><img src="http://feeds.feedburner.com/~f/indytechcook?i=9eQb383x" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=CyBdRqDq"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=cRiWta9D"><img src="http://feeds.feedburner.com/~f/indytechcook?i=cRiWta9D" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=qSulVEDh"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=ek7tfvZK"><img src="http://feeds.feedburner.com/~f/indytechcook?i=ek7tfvZK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=AunWsxyv"><img src="http://feeds.feedburner.com/~f/indytechcook?i=AunWsxyv" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=aqGtkL9y"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=6G6sXjNk"><img src="http://feeds.feedburner.com/~f/indytechcook?i=6G6sXjNk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/pPTkD1hpyME" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/02/my-favorite-chicken-dish/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/02/my-favorite-chicken-dish/</feedburner:origLink></item>
		<item>
		<title>First Grill out of the Year</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/6pABIt_G3ic/</link>
		<comments>http://techcook.net/2009/02/first-grill-out-of-the-year/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 15:13:16 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[Cooking]]></category>
		<category><![CDATA[Food]]></category>
		<category><![CDATA[grill]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=190</guid>
		<description><![CDATA[That&#8217;s right.  I said it.  I had my first grill out of the year.  While it wasn&#8217;t very appetizing, it was still a grill out.  The earlier I can warm up my grilling skills for the year the better.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">That&#8217;s right.  I said it.  I had my first grill out of the year.  While it wasn&#8217;t very appetizing, it was still a grill out.  The earlier I can warm up my grilling skills for the year the better.</p>
<p style="text-align: left;"><a class="tt-flickr tt-flickr-Small" title="IMG_0263" href="http://techcook.net/pictures/photo/3272211264/img_0263.html"><img class="alignnone" src="http://farm4.static.flickr.com/3298/3272211264_b92dbf835d_m.jpg" alt="IMG_0263" width="180" height="240" title="First Grill out of the Year" /></a></p>
<p style="text-align: left;"><a class="tt-flickr tt-flickr-Small" title="IMG_0264" href="http://techcook.net/pictures/photo/3272211310/img_0264.html"><img class="alignnone" src="http://farm4.static.flickr.com/3321/3272211310_98859e71c7_m.jpg" alt="IMG_0264" width="240" height="180" title="First Grill out of the Year" /></a></p>
<p style="text-align: left;"><a class="tt-flickr tt-flickr-Small" title="IMG_0266" href="http://techcook.net/pictures/photo/3271390119/img_0266.html"><img class="alignnone" src="http://farm4.static.flickr.com/3486/3271390119_59b20ec259_m.jpg" alt="IMG_0266" width="240" height="180" title="First Grill out of the Year" /></a></p>
<p style="text-align: left;"><a class="tt-flickr tt-flickr-Small" title="IMG_0270" href="http://techcook.net/pictures/photo/3271390157/img_0270.html"><img class="alignnone" src="http://farm4.static.flickr.com/3457/3271390157_51c83f5f2e_m.jpg" alt="IMG_0270" width="180" height="240" title="First Grill out of the Year" /></a></p>
<p style="text-align: left;">
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=233MrYyp"><img src="http://feeds.feedburner.com/~f/indytechcook?i=233MrYyp" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=u6UocLTu"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=PMCZjeko"><img src="http://feeds.feedburner.com/~f/indytechcook?i=PMCZjeko" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=Svqk6HTP"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=UVKez0N6"><img src="http://feeds.feedburner.com/~f/indytechcook?i=UVKez0N6" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=2rYUpT8F"><img src="http://feeds.feedburner.com/~f/indytechcook?i=2rYUpT8F" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=neiaMTNR"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=2Jc6H2MS"><img src="http://feeds.feedburner.com/~f/indytechcook?i=2Jc6H2MS" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/6pABIt_G3ic" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/02/first-grill-out-of-the-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/02/first-grill-out-of-the-year/</feedburner:origLink></item>
		<item>
		<title>Upcomming plans for Blogs of Indy</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/pGSKYed_3uA/</link>
		<comments>http://techcook.net/2009/01/upcomming-plans-for-blogs-of-indy/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 17:26:54 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[All Things Tech]]></category>
		<category><![CDATA[Blogs of Indy]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=183</guid>
		<description><![CDATA[I haven&#8217;t posted an update for Blogs of Indy in a while.  I wanted everyone to know that I&#8217;ve been hard at work on coding and haven&#8217;t had a change to blog out it.  Here are some upcoming plans. FeedAPI Taxonomy Compare Updates. This module is a key piece to the functionality.  I spent several [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I haven&#8217;t posted an update for <a href="http://blogsofindy.com" target="_blank">Blogs of Indy</a> in a while.  I wanted everyone to know that I&#8217;ve been hard at work on coding and haven&#8217;t had a change to blog out it.  Here are some upcoming plans.</p>
<p style="text-align: left;"><a href="http://techcook.net/2009/01/new-version-of-feedapi-taxonomy-compare/" target="_blank">FeedAPI Taxonomy Compare Updates.</a> This module is a key piece to the functionality.  I spent several hours fixing bugs and adding functionality.  Being able to match on synonym will help me keep my menus clean.</p>
<h3 style="text-align: left;">Blogs of Indy Custom Module</h3>
<p style="text-align: left;">I added a few tabs to the profile page.  One tab is a list of all the blogs for that user.  It is basically a copy of the FeedAPI admin page just filter for the user.  I filtered it based upon the user argument in the URL. Here is the code for the hook_menu.</p>
<p style="text-align: left;">$items['user/%user/feeds'] = array(<br />
&#8216;type&#8217; =&gt; MENU_LOCAL_TASK,<br />
&#8216;title&#8217; =&gt; &#8216;Blogs&#8217;, //Going to be a variable on the main setting page<br />
&#8216;page callback&#8217; =&gt; &#8216;blogsofindy_feedapi_admin_overview&#8217;,<br />
&#8216;access callback&#8217; =&gt; TRUE,  //security is built into the function since this displays on the user profile page<br />
&#8216;page arguments&#8217; =&gt; array(1), //pass the account<br />
&#8216;file&#8217; =&gt; &#8216;blogsofindy.feed.user.page.inc&#8217;<br />
);<br />
$items['user/%user/feeds/overview'] = array(<br />
&#8216;type&#8217; =&gt; MENU_DEFAULT_LOCAL_TASK,<br />
&#8216;title&#8217; =&gt; &#8216;Overview&#8217;,<br />
&#8216;weight&#8217; =&gt; -10,<br />
);</p>
<p style="text-align: left;"><strong>Here is the page callback code.</strong></p>
<p style="text-align: left;">function blogsofindy_feedapi_admin_overview($account = NULL) {<br />
$header = array(<br />
t(&#8216;Title&#8217;),<br />
t(&#8216;Last refresh&#8217;),<br />
t(&#8216;New items added per update&#8217;),<br />
t(&#8216;Update rate&#8217;),<br />
t(&#8216;Number of items&#8217;),<br />
t(&#8216;Processing time&#8217;),<br />
t(&#8216;Commands&#8217;),<br />
);<br />
$rows = array();<br />
//check to see if account variable was passed.<br />
//if so then only bring back the nid where the nid is the author<br />
<em> if (!isset($account)) {<br />
$result = pager_query(&#8220;SELECT nid from {feedapi} ORDER BY checked DESC&#8221;, 50, 0, &#8220;SELECT count(*) FROM {feedapi}&#8221;);<br />
}<br />
else {<br />
$sql = sprintf(&#8220;SELECT feedapi.nid AS nid FROM {feedapi} INNER JOIN {node} ON {feedapi}.nid = {node}.nid WHERE ({node}.uid = %d) ORDER BY {feedapi}.checked DESC&#8221;, $account-&gt;uid);<br />
$sql_count = sprintf(&#8220;SELECT count(*) FROM {feedapi} INNER JOIN {node} ON {feedapi}.nid = {node}.nid WHERE ({node}.uid = %d)&#8221;, $account-&gt;uid);<br />
$result = pager_query($sql, 50, 0, $sql_count);<br />
}</em><br />
while ($nid = db_fetch_array($result)) {<br />
$nid = $nid['nid'];<br />
$node = node_load($nid);<br />
if (is_object($node)) {<br />
$commands = array(l(t(&#8216;Delete&#8217;), &#8216;node/&#8217;. $node-&gt;nid .&#8217;/delete&#8217;, array(&#8216;query&#8217; =&gt; &#8216;destination=&#8217; . <em>$_REQUEST[q]</em>)),<br />
l(t(&#8216;Remove items&#8217;), &#8216;node/&#8217;. $node-&gt;nid .&#8217;/purge&#8217;, array(&#8216;query&#8217; =&gt; &#8216;destination=&#8217; . <em>$_REQUEST[q]</em>)),<br />
l(t(&#8216;Refresh&#8217;), &#8216;node/&#8217;. $node-&gt;nid .&#8217;/refresh&#8217;, array(&#8216;query&#8217; =&gt; &#8216;destination=&#8217; . <em>$_REQUEST[q]</em>)),<br />
l(t(&#8216;Edit&#8217;), &#8216;node/&#8217;. $node-&gt;nid .&#8217;/edit&#8217;, array(&#8216;query&#8217; =&gt; &#8216;destination=&#8217; . <em>$_REQUEST[q]</em>)),<br />
);<br />
// Fetch statistics for this feed<br />
foreach (array(&#8216;download_num&#8217;, &#8216;new&#8217;,  &#8216;process_time&#8217;, &#8216;update_times&#8217;) as $type) {<br />
$node-&gt;feed-&gt;statistics[$type] = _feedapi_get_stat($node-&gt;nid, $type, TRUE);<br />
}<br />
if (count($node-&gt;feed-&gt;statistics['download_num']) != 0 &amp;&amp; count($node-&gt;feed-&gt;statistics['new']) != 0 &amp;&amp; count($node-&gt;feed-&gt;statistics['process_time']) != 0) {<br />
$update_rate = _feedapi_update_rate($node-&gt;feed-&gt;statistics['update_times']);<br />
$rows[] = array(<br />
l($node-&gt;title, &#8220;node/$node-&gt;nid&#8221;),<br />
$node-&gt;feed-&gt;checked == 0 ? t(&#8216;Never&#8217;) : t(&#8216;%time ago&#8217;, array(&#8216;%time&#8217; =&gt; format_interval(time() &#8211; $node-&gt;feed-&gt;checked))),<br />
round(array_sum($node-&gt;feed-&gt;statistics['new']) / count($node-&gt;feed-&gt;statistics['new']), 2),<br />
is_numeric($update_rate) ? format_interval($update_rate) : $update_rate,<br />
round((array_sum($node-&gt;feed-&gt;statistics['download_num']) / count($node-&gt;feed-&gt;statistics['download_num'])), 2),<br />
round((array_sum($node-&gt;feed-&gt;statistics['process_time']) / count($node-&gt;feed-&gt;statistics['process_time'])), 2) .&#8217; &#8216;. t(&#8216;ms&#8217;),<br />
theme(&#8216;item_list&#8217;, $commands),<br />
);<br />
}<br />
else {<br />
$rows[] = array(<br />
l($node-&gt;title, &#8220;node/$node-&gt;nid&#8221;),<br />
$node-&gt;feed-&gt;checked == 0 ? t(&#8216;Never&#8217;) : t(&#8216;%time ago&#8217;, array(&#8216;%time&#8217; =&gt; format_interval(time() &#8211; $node-&gt;feed-&gt;checked))),<br />
&#8221;, &#8221;, t(&#8216;No enough data for statistics&#8217;), &#8221;,<br />
theme(&#8216;item_list&#8217;, $commands),<br />
);<br />
}<br />
}<br />
}<br />
$output = format_plural(round(FEEDAPI_CRON_STAT_LIFETIME / (24*3600)), &#8220;Average over the last day.&#8221;,<br />
&#8220;Averages over the last @count days.&#8221;<br />
);<br />
$output .= theme(&#8216;table&#8217;, $header, $rows);<br />
$output .= theme(&#8216;pager&#8217;, 0, 50);<br />
return $output;<br />
}</p>
<p style="text-align: left;">Pretty simple really.  It&#8217;s a copy of the admin display from FeedAPI.  <em>What I changed is in Italics.</em> Right after I did this, FeedAPI introduced a view based approach to the page.  I have yet to change my code to use a view, though probably a good idea.</p>
<h3 style="text-align: left;">Blog Tag Management</h3>
<p style="text-align: left;">As some of you remember, I mentioned that there needs to be an easy way for the blog owners to manage the incoming terms that need to be associated to the categories.  I choose to do this by adding a tab to the profile page.</p>
<p style="text-align: left;">$items['user/%user/feeds/terms'] = array(<br />
&#8216;type&#8217; =&gt; MENU_LOCAL_TASK,<br />
&#8216;title&#8217; =&gt; &#8216;Terms&#8217;,<br />
&#8216;page callback&#8217; =&gt; drupal_get_form,<br />
&#8216;access callback&#8217; =&gt; TRUE,<br />
&#8216;page arguments&#8217; =&gt; array(&#8216;blogsofindy_terms_form&#8217;, 1),<br />
&#8216;file&#8217; =&gt; &#8216;blogsofindy.feed.user.page.inc&#8217;<br />
);<br />
$items['admin/settings/blogsofindy'] = array(<br />
&#8216;type&#8217; =&gt; MENU_NORMAL_ITEM,<br />
&#8216;title&#8217; =&gt; &#8216;Blogs of Indy&#8217;,<br />
&#8216;description&#8217; =&gt; &#8216;Change the settings for Blogs of Indy Custom Module&#8217;,<br />
&#8216;page callback&#8217;  =&gt; &#8216;drupal_get_form&#8217;,<br />
&#8216;page arguments&#8217; =&gt; array(&#8216;blogsofindy_admin_settings&#8217;),<br />
&#8216;access callback&#8217; =&gt; TRUE,<br />
&#8216;file&#8217; =&gt; &#8216;blogsofindy_admin.pages.inc&#8217;,<br />
);</p>
<p style="text-align: left;">I have complete the first version of the code for displaying the form but I am not ready to share the validation or submit code.  I had to come up with how I wanted to manage the terms.  This is when I added the synonym functionality to FeedAPI Taxonomy Compare.  The idea is that incoming feed&#8217;s tag will match the synonym and attach itself to the category term.  So this form will give the users a list of the tags that their blogs are associated to so they can either &#8220;link&#8221; them to a category by making them a synonym or add the tag as a category.  Either way, the posts nodes will be related to a category term and unrelated from a tag term.  I&#8217;m struggling with giving the user so much power to add categories (and in turn menu items) so easily.  Though it would give them a sense of ownership which is what I am looking for.</p>
<p style="text-align: left;">Either way, here is the code for the form.</p>
<p style="text-align: left;">function blogsofindy_terms_form($form_state, $account) {<br />
//build SQL statment for tag options<br />
$sql = sprintf(&#8220;SELECT DISTINCT td.tid AS tid, td.name AS term_name<br />
FROM {node} n<br />
inner join {term_node} tn on n.vid = tn.vid<br />
inner join {term_data} td on tn.tid = td.tid<br />
WHERE n.uid =  %d AND n.type =  &#8216;%s&#8217; AND td.vid = %d<br />
ORDER BY td.name&#8221;, $account-&gt;uid, &#8216;feed_item&#8217;, variable_get(&#8216;blogsofindy_tags&#8217;, array(&#8217;0&#8242;)));</p>
<p>$result = db_query(db_rewrite_sql($sql));<br />
$tags = array();</p>
<p>$categories = array();<br />
$tree = taxonomy_get_tree(variable_get(&#8216;blogsofindy_category&#8217;, array(&#8217;0&#8242;)));<br />
foreach ($tree as $key =&gt; $term) {<br />
$categories[$term-&gt;tid] = _blogsofindy_terms_format($term-&gt;name, $term-&gt;depth);<br />
}<br />
if (!empty($result)) {<br />
while ($data = db_fetch_object($result)) {<br />
$tags[$data-&gt;tid] = t($data-&gt;term_name);<br />
}</p>
<p>$form['tags'] = array(<br />
&#8216;#type&#8217; =&gt; &#8216;select&#8217;,<br />
&#8216;#title&#8217; =&gt; t(&#8216;List of Tags&#8217;),<br />
&#8216;#options&#8217; =&gt; $tags,<br />
);</p>
<p>$form['categories'] = array(<br />
&#8216;#type&#8217; =&gt; &#8216;select&#8217;,<br />
&#8216;#title&#8217; =&gt; t(&#8216;Category&#8217;),<br />
&#8216;#options&#8217; =&gt; $categories,<br />
);</p>
<p>$form['merge'] = array(<br />
&#8216;#type&#8217; =&gt; &#8216;select&#8217;,<br />
&#8216;#title&#8217; =&gt; &#8216;Action&#8217;,<br />
&#8216;#options&#8217;  =&gt; array(<br />
&#8217;1&#8242; =&gt; t(&#8216;Move posts and all future posts to new Term&#8217;),<br />
&#8217;2&#8242; =&gt; t(&#8216;Move Term from Tags to selected Category&#8217;)<br />
),<br />
&#8216;#default_valule&#8217; =&gt; &#8217;1&#8242;,<br />
&#8216;#description&#8217; =&gt; t(&#8216;Moving the Term from Tags to the selected Cateogry will change the parent and vocabulary for the selected Term&#8217;),<br />
);</p>
<p>$form['submit'] = array(<br />
&#8216;#type&#8217; =&gt; &#8216;submit&#8217;,<br />
&#8216;#value&#8217; =&gt; t(&#8216;Move&#8217;),<br />
);<br />
}<br />
return $form;<br />
}</p>
<p style="text-align: left;">Using a helper function to display the categories in a hierarchy display</p>
<p style="text-align: left;">/**<br />
* helper function to great the options for the cateogires in a tree format.<br />
* @param string $term<br />
* @param int $depth<br />
* @return string<br />
*/<br />
function _blogsofindy_terms_format($term, $depth) {<br />
$output = $term;<br />
if ($depth &gt; 0) {<br />
for ($i=1; $i &lt;= $depth; $i++) {<br />
$output = &#8216;-&#8217; . $output;<br />
}<br />
}</p>
<p>return $output;<br />
}</p>
<p style="text-align: left;">I also added a admin settings page to select which vocabularies to use in the &#8220;Tags&#8221; and &#8220;Category&#8221; drop downs on the form.</p>
<p style="text-align: left;">function blogsofindy_admin_settings() {<br />
//get list of vocabularies<br />
foreach (taxonomy_get_vocabularies() as $voc) {<br />
$options[$voc-&gt;vid] = $voc-&gt;name;<br />
}</p>
<p>$form['blogsofindy_tags'] = array(<br />
&#8216;#type&#8217; =&gt; &#8216;select&#8217;,<br />
&#8216;#title&#8217; =&gt; t(&#8216;Tags Vocabulary&#8217;),<br />
&#8216;#options&#8217; =&gt; $options,<br />
&#8216;#default_value&#8217; =&gt; variable_get(&#8216;blogsofindy_tags&#8217;, array(&#8217;0&#8242;)),<br />
);</p>
<p>$form['blogsofindy_category'] = array(<br />
&#8216;#type&#8217; =&gt; &#8216;select&#8217;,<br />
&#8216;#title&#8217; =&gt; t(&#8216;Category Vocabulary&#8217;),<br />
&#8216;#options&#8217; =&gt; $options,<br />
&#8216;#default_value&#8217; =&gt; variable_get(&#8216;blogsofindy_category&#8217;, array(&#8217;0&#8242;)),<br />
);</p>
<p>return system_settings_form($form);<br />
}</p>
<h3 style="text-align: left;">Left to do before initial release</h3>
<p style="text-align: left;">After I finish the code for managing the terms I have to put in place my ideas from my post <a href="http://techcook.net/2009/01/more-features-for-the-blogger/" target="_blank">More Features for the Blogger</a>.  I also like <a href="http://blog.to.it/" target="_blank">Blog.to.it</a>&#8216;s idea of integrating twitter.  This would give more attention to the arthur.  Then comes the decision about where to display what.  I want to be sure to reconize the blogger but don&#8217;t want to make the page to busy.  Then comes theming which I haven&#8217;t even begun to learn yet.   There you go, more to come <img src='http://techcook.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' title="Upcomming plans for Blogs of Indy" /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=dAwCHNzK"><img src="http://feeds.feedburner.com/~f/indytechcook?i=dAwCHNzK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=Gu3DHhFB"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=qNJOvnRn"><img src="http://feeds.feedburner.com/~f/indytechcook?i=qNJOvnRn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=uRANVa40"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=YSz8RxAH"><img src="http://feeds.feedburner.com/~f/indytechcook?i=YSz8RxAH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=jHmy6OwP"><img src="http://feeds.feedburner.com/~f/indytechcook?i=jHmy6OwP" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=j4i5lzpq"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=Ee2qN7Pz"><img src="http://feeds.feedburner.com/~f/indytechcook?i=Ee2qN7Pz" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/pGSKYed_3uA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/01/upcomming-plans-for-blogs-of-indy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/01/upcomming-plans-for-blogs-of-indy/</feedburner:origLink></item>
		<item>
		<title>New Version of Feedapi Taxonomy Compare</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/OYz_fH2PvO4/</link>
		<comments>http://techcook.net/2009/01/new-version-of-feedapi-taxonomy-compare/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 15:25:30 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[All Things Tech]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Blogs of Indy]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[FeedAPI Taxonomy Compare]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=178</guid>
		<description><![CDATA[I release a new version of my Drupal  FeedAPI Taxonomy Compare Module.  I found a bug in how the new term was being related to the node.  I was using taxonomy_node_save function from taxonomy.module.  One of the first lines of code in that function is &#8220;taxonomy_node_delete_revision($node);&#8221; which removes all terms from the node.  Well I [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I release a new version of my Drupal  <a href="http://drupal.org/project/feedapi_taxonomy_compare" target="_blank">FeedAPI Taxonomy Compar</a>e Module.  I found a bug in how the new term was being related to the node.  I was using taxonomy_node_save function from taxonomy.module.  One of the first lines of code in that function is &#8220;taxonomy_node_delete_revision($node);&#8221; which removes all terms from the node.  Well I was including the current terms in what I was sending this function.  Only the new term.  So the end result was that all of the terms were removed except for the term that was found.  This didn&#8217;t effect nodes that didn&#8217;t have existing terms.</p>
<p style="text-align: left;">I also added the ability to match on Synonyms.  So if the tag matched a synonym of a category, then the node is attached to the category term.  This is useful because now you can have more control over what categories you have.  You no longer have to find a place for each term you want to match on.  There is a new setting in admin/settings/feedapi_taxonomy_compare to turn on this functionality.</p>
<p style="text-align: left;"><a href="http://drupal.org/project/feedapi_taxonomy_compare" target="_blank">Download</a> the latest version and let me know.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=QfCZeHju"><img src="http://feeds.feedburner.com/~f/indytechcook?i=QfCZeHju" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=9vHxzDZY"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=wEtsiYt2"><img src="http://feeds.feedburner.com/~f/indytechcook?i=wEtsiYt2" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=ypPP4hFm"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=oXUHYyMc"><img src="http://feeds.feedburner.com/~f/indytechcook?i=oXUHYyMc" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=uKAm5cBp"><img src="http://feeds.feedburner.com/~f/indytechcook?i=uKAm5cBp" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=y8AtyNcg"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=DkQWX9u6"><img src="http://feeds.feedburner.com/~f/indytechcook?i=DkQWX9u6" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/OYz_fH2PvO4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/01/new-version-of-feedapi-taxonomy-compare/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/01/new-version-of-feedapi-taxonomy-compare/</feedburner:origLink></item>
		<item>
		<title>Devour Downtown in Indianapolis</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/5gAGrndijX4/</link>
		<comments>http://techcook.net/2009/01/devour-downtown-in-indianapolis/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 15:56:47 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[Restaurants]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=175</guid>
		<description><![CDATA[It&#8217;s that time of the year again.  Devour Downtown is on.  For those of you who don&#8217;t know, this features several restaurants in downtown Indianapolis on a $30 meal.  Several of my friends and family refer it to as &#8220;30 dollar meal week.&#8221;  In fact, the event lasts 2 weeks but I love them anyway. [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">It&#8217;s that time of the year again.  <a href="http://www.indyrestaurantweek.com/winterfest/index.htm" target="_blank">Devour Downtown</a> is on.  For those of you who don&#8217;t know, this features several restaurants in downtown Indianapolis on a $30 meal.  Several of my friends and family refer it to as &#8220;30 dollar meal week.&#8221;  In fact, the event lasts 2 weeks but I love them anyway.</p>
<p style="text-align: left;">One of my most difficult decisions is selecting which restaurant I want to go to.  Since it also falls on my Birthday week, I get to enjoy a fine dinner on my Birthday for a great price.  While I was reading one of my favorite blogs, <a href="http://feedmedrinkme.blogspot.com/" target="_blank">Feed Me Drink Me</a> (If you want to know anything about food in Indianapolis, this is the place to start), I came across 2 posts about this years event. (<a href="http://feedmedrinkme.blogspot.com/2009/01/devour-downtown-starts-today.html" target="_blank">Devour Downtown Starts Today</a> and <a href="http://feedmedrinkme.blogspot.com/2009/01/open-thread-devour-downtown-fatique.html" target="_blank">Open Thread: Devour-Downtown Fatique</a>)  It really made me think more about my decision.  I guess I always assumed the deals were good.  Apparently some of them may not be.  I will be paying attention to the second thread mentioned for suggestions.  I want to make this year great.</p>
<p style="text-align: left;">I really really want to go to Elements.  They don&#8217;t have a predefined menu though.  Which is what I love about them.  The menu changes based upon what they have to cook with.  The problem is that I have family members with food allergies and have to be careful.</p>
<p style="text-align: left;">Where would you good?</p>
<p style="text-align: left;">
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=vCqRmnDC"><img src="http://feeds.feedburner.com/~f/indytechcook?i=vCqRmnDC" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=k7Z4io6o"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=0QIFSjP0"><img src="http://feeds.feedburner.com/~f/indytechcook?i=0QIFSjP0" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=qfKaLQZ1"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=YKeOqL1q"><img src="http://feeds.feedburner.com/~f/indytechcook?i=YKeOqL1q" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=wOI5unus"><img src="http://feeds.feedburner.com/~f/indytechcook?i=wOI5unus" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=MflgpQwQ"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=lmECjqii"><img src="http://feeds.feedburner.com/~f/indytechcook?i=lmECjqii" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/5gAGrndijX4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/01/devour-downtown-in-indianapolis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/01/devour-downtown-in-indianapolis/</feedburner:origLink></item>
		<item>
		<title>Polish Mistakes</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/aAatMnxswoY/</link>
		<comments>http://techcook.net/2009/01/polish-mistakes/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 02:57:53 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[Cooking]]></category>
		<category><![CDATA[Food]]></category>
		<category><![CDATA[Recipie]]></category>
		<category><![CDATA[recipes]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=171</guid>
		<description><![CDATA[No, this isn&#8217;t an entry about anything Polish.  That&#8217;s just the name of the recipe. This is a simple recipe that is very filling and lot in carbs.  And yes, they taste much better then the look. Ingredients: 1 lb Hamburger 1 lb sausage (Jimmy Dean Roll) 1 T. oregano 1/2 T. garlic salt 8 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">No, this isn&#8217;t an entry about anything Polish.  That&#8217;s just the name of the recipe.</p>
<p style="text-align: left;">This is a simple recipe that is very filling and lot in carbs.  And yes, they taste much better then the look.</p>
<p style="text-align: left;">Ingredients:</p>
<ul style="text-align: left;">
<li>1 lb Hamburger</li>
<li>1 lb sausage (Jimmy Dean Roll)</li>
<li>1 T. oregano</li>
<li>1/2 T. garlic salt</li>
<li>8 oz shredded cheddar</li>
<li>English Muffins (or any bread)</li>
</ul>
<ol style="text-align: left;">
<li>Brown hamburger, sausage.  Add spices when almost complete.  Drain.</li>
<li>Mix in cheese until melted</li>
<li>Lie out English Muffins on cooking sheets.</li>
<li>Place meat mixture over English Muffins.</li>
<li>Cook for 15min at 375 degrees.</li>
</ol>
<p style="text-align: left;">Notes:  Only cook what you are going to eat at this sitting.  It is easy to make a large batch of the meat (even double) and place in the freezer.  Within 20 minutes you have a fresh tasting meal.  I suggest pairing this with vegetables.  Otherwise it can get rather heavy.</p>
<p style="text-align: left;">Happy Cooking!</p>
<p style="text-align: left;"><a class="tt-flickr tt-flickr-Thumbnail" title="Pol_mis_1" href="http://techcook.net/pictures/photo/3210949917/pol_mis_1.html"><img class="alignnone" src="http://farm4.static.flickr.com/3364/3210949917_f769ac0c9d_t.jpg" alt="Pol_mis_1" width="100" height="67" title="Polish Mistakes" /></a> <a class="tt-flickr tt-flickr-Thumbnail" title="Pol_mis_2" href="http://techcook.net/pictures/photo/3211795052/pol_mis_2.html"><img class="alignnone" src="http://farm4.static.flickr.com/3382/3211795052_55ef5d2a13_t.jpg" alt="Pol_mis_2" width="100" height="67" title="Polish Mistakes" /></a> <a class="tt-flickr tt-flickr-Thumbnail" title="pol_mis_3" href="http://techcook.net/pictures/photo/3210949279/pol_mis_3.html"><img class="alignnone" src="http://farm4.static.flickr.com/3113/3210949279_7dd3fc5d13_t.jpg" alt="pol_mis_3" width="100" height="67" title="Polish Mistakes" /></a> <a class="tt-flickr tt-flickr-Thumbnail" title="pol_mis_4" href="http://techcook.net/pictures/photo/3210949005/pol_mis_4.html"><img class="alignnone" src="http://farm4.static.flickr.com/3313/3210949005_4f770487aa_t.jpg" alt="pol_mis_4" width="100" height="67" title="Polish Mistakes" /></a> <a class="tt-flickr tt-flickr-Thumbnail" title="pol_mis_5" href="http://techcook.net/pictures/photo/3210948685/pol_mis_5.html"><img class="alignnone" src="http://farm4.static.flickr.com/3349/3210948685_8f011a3b9d_t.jpg" alt="pol_mis_5" width="100" height="67" title="Polish Mistakes" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=ERKAL91C"><img src="http://feeds.feedburner.com/~f/indytechcook?i=ERKAL91C" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=jsoazoEy"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=I5IsAe1Q"><img src="http://feeds.feedburner.com/~f/indytechcook?i=I5IsAe1Q" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=zQSivgpd"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=sUCNSveU"><img src="http://feeds.feedburner.com/~f/indytechcook?i=sUCNSveU" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=JV7PH8iD"><img src="http://feeds.feedburner.com/~f/indytechcook?i=JV7PH8iD" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=2kvihKPv"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=YHQzaGB3"><img src="http://feeds.feedburner.com/~f/indytechcook?i=YHQzaGB3" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/aAatMnxswoY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/01/polish-mistakes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/01/polish-mistakes/</feedburner:origLink></item>
		<item>
		<title>Selecting a PHP IDE</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/Bwa107xustg/</link>
		<comments>http://techcook.net/2009/01/selecting-a-php-ide/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 01:16:24 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[All Things Tech]]></category>
		<category><![CDATA[Computer Tools]]></category>
		<category><![CDATA[php ide]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=164</guid>
		<description><![CDATA[Over the past few years my php development was rare and disconnected.  Notepad++ fit all of my needs.  It has a debugger plugin and some syntax highlighting.  Now that I am becoming a free lance developer I needed a more full feature IDE.  Most of my development will be for custom Drupal modules.  I did [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Over the past few years my php development was rare and disconnected.  <a href="http://notepad-plus.sourceforge.net/uk/site.htm" target="_blank">Notepad++</a> fit all of my needs.  It has a <a href="http://sourceforge.net/project/showfiles.php?group_id=189927&amp;package_id=236520" target="_blank">debugger plugin</a> and some <a href="http://sourceforge.net/project/showfiles.php?group_id=189927&amp;package_id=223668" target="_blank">syntax highlighting</a>.  Now that I am becoming a free lance developer I needed a more full feature IDE.  Most of my development will be for custom <a href="http://drupal.org/" target="_parent">Drupal</a> modules.  I did a little google search and found a few good comparison sites.  One from<a href="http://www.ibm.com/developerworks/opensource/library/os-php-ide/index.html" target="_blank"> IBM</a> and another from <a href="http://www.php-editors.com/" target="_parent">PHP Editors</a> ( a note that this site seems to be sponsored by NuSphere PhpED).</p>
<h3 style="text-align: left;">My needs</h3>
<ul style="text-align: left;">
<li>Syntax color coding</li>
<li>Tab Formatting help</li>
<li>Auto Complete</li>
<li>Ability to add folders as includes for auto complete.</li>
<li>Debugging</li>
<li>CVS/SVN integration</li>
</ul>
<p style="text-align: left;">Here are the IDE&#8217;s that I tested.</p>
<ul style="text-align: left;">
<li><a href="http://www.zend.com/en/products/studio/" target="_blank">Zend Studio</a></li>
<li><a href="http://www.nusphere.com/products/index.htm" target="_blank">NuSphere PhpED</a></li>
<li><a href="http://www.activestate.com/komodo/" target="_blank">Komodo</a></li>
<li><a href="http://www.codelobster.com/" target="_blank">Code Lobster</a></li>
<li><a href="http://www.netbeans.org/" target="_blank">NetBeans</a></li>
</ul>
<h4 style="text-align: left;"><a href="http://www.zend.com/en/products/studio/" target="_blank">Zend Studio</a></h4>
<p style="text-align: left;">Zend Studio is a very well polished product.  It has every tool you would every want in an IDE.  That is it&#8217;s greatest strength and weakness.  The entire interface seemed a little sluggish compared to the other IDE&#8217;s.  The interfaced had a more professional look then the others.  It was very easy to start using.  The controls were very intuitive.  You can get started doing basic PHP sites easily and know that there is plenty to learn.    So what&#8217;s the downside?  The price.  At $399 for 1 year of upgrades and $717 for 3 years it is rather steep.  It&#8217;s a great IDE though.  I enjoyed my 30 days using Zend, and it&#8217;s made by the same people who made PHP.  It&#8217;s a great choice.</p>
<h4 style="text-align: left;"><a href="http://www.nusphere.com/products/index.htm" target="_blank">NuSphere PhpED</a></h4>
<p style="text-align: left;">After all of the hype from the PHP Editors website, I had to give the trial a go.  Like Zend this is a full featured IDE.  It has every tool you would every need.  I didn&#8217;t spend much time with this IDE.  When I tested it I didn&#8217;t have any projects, I was just researching.  It worked well but didn&#8217;t leave any sort of lasting impression on me.  I read that it has excellent debuger and good database integration.  It also is a little expense at $250.</p>
<h4 style="text-align: left;"><a href="http://www.activestate.com/komodo/" target="_blank">Active Stat&#8217;s Komodo</a></h4>
<p style="text-align: left;">This was a great product.  I fell in love with this IDE from the first line of code I wrote.  Not only does it contain all of the features that Zend has, it is FAST.  I didn&#8217;t feel like the application was doing anything in the background like Zend.  The code intelligence was fast and it added include folders with ease.  The debugger worked as well as the other IDE&#8217;s (they all use the XDebug PHP plugin).  The only down side is that the interface didn&#8217;t look like a $300 application.  The developers have definitely spent their time on speed and functionality instead of the presentation.  This was my favorite of the paid IDE&#8217;s.</p>
<h4 style="text-align: left;"><a href="http://www.codelobster.com/" target="_blank">Code Lobster</a></h4>
<p style="text-align: left;">Code Lobster is a new comer to the IDE arena.  The product was good and the price was right, FREE!!  It has code intelligence and debugging just like the big boys.   It was quick and had a nice interface.  I was as comfortable doing the actual coding.  The tab logic and auto &#8220;)&#8221; and &#8220;}&#8221; didn&#8217;t act like I wanted.  I had to go back a few times to edit the &#8220;help&#8221; it provided.  One of the coolest features about Code Lobster is the Drupal plug in.  It had full integration to the Drupal API.  It even knew how to format the array correctly.  If you put &#8220;$form['form_name] = array&#8221; then the auto complete takes control asking you which element you want to use.  You just select them from the drop down and it formats it according to the Drupal standards (even puts the &#8220;#&#8221;).  There is also a Smarty Plug in that I&#8217;m sure is just as cool.  The plug-ins are not free though.  But if you are going to use Code Lobster, the $99 plug-in is worth it.  That being said, I couldn&#8217;t pull myself past the coding &#8220;help.&#8221;</p>
<h4 style="text-align: left;"><a href="http://www.netbeans.org/" target="_blank">NetBeans</a></h4>
<p style="text-align: left;">NetBeans is free IDE based totally in Java.  Alright, don&#8217;t run for the hills quite yet.  This IDE has came a long way during it&#8217;s life.  The newest version is fast and fully featured.  The interface and usability is right up there with Zend and Komodo.  While it wasn&#8217;t love at first site, like Komodo, it has turned into a loving relationship.  After a little tweaking of the settings, it did everything I wanted how I wanted.  It fit my coding habits perfectly.  One of the cool features is the debugger.  It has the standard XDebug functionality but it also has a firefox plugin to debug the front end.  Guess what, It has a <a href="https://nbdrupalsupport.dev.java.net/" target="_blank">Drupal plug-in</a> also.  The plug in is not as feature rich as the Code Lobster one but it Free.  Oh, and did I mention that everything is FREE!</p>
<h4 style="text-align: left;">Conclusion</h4>
<p style="text-align: left;">If Komod was free then I would have used that.  Being that it wasn&#8217;t I went to NetBeans.  I have no regrats.  NetBeans as been very good to me.  My effeicncy is way up.  No longer to I forget the &#8220;;&#8221; or have any syntax errors.  I am now a happy devloper.   I know there are several others that are good that I haven&#8217;t tried.  This is in no way a complete list.  Just my experience.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=EDcRFsUA"><img src="http://feeds.feedburner.com/~f/indytechcook?i=EDcRFsUA" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=ihFbQSm3"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=z4diQMEE"><img src="http://feeds.feedburner.com/~f/indytechcook?i=z4diQMEE" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=ogKCkca2"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=zAIwsNqk"><img src="http://feeds.feedburner.com/~f/indytechcook?i=zAIwsNqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=pgiEGMn5"><img src="http://feeds.feedburner.com/~f/indytechcook?i=pgiEGMn5" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=AvPushQf"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=fMdiHgVl"><img src="http://feeds.feedburner.com/~f/indytechcook?i=fMdiHgVl" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/Bwa107xustg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/01/selecting-a-php-ide/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/01/selecting-a-php-ide/</feedburner:origLink></item>
		<item>
		<title>FeedAPI Taxonomy Compare Module</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/ESHH0erOKDA/</link>
		<comments>http://techcook.net/2009/01/feedapi-taxonomy-compare-module/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 16:45:23 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[All Things Tech]]></category>
		<category><![CDATA[Blogs of Indy]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[FeedAPI Taxonomy Compare]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=158</guid>
		<description><![CDATA[So I&#8217;ve done it.  My first contributed module.  I&#8217;m not say it&#8217;s good or going to change they way you use Drupal but it&#8217;s useful for me.  Since I&#8217;ve been working on my RSS aggregate site www.blogsofindy.com, I have needed more control over how the feeds are being pulled in.  I put together this module [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">So I&#8217;ve done it.  My first contributed module.  I&#8217;m not say it&#8217;s good or going to change they way you use Drupal but it&#8217;s useful for me.  Since I&#8217;ve been working on my RSS aggregate site www.blogsofindy.com, I have needed more control over how the feeds are being pulled in.  I put together this module to give me more control over Taxonomy.  If you use FeedAPI check it out and give me your thoughts.</p>
<p style="text-align: left;"><a href="http://drupal.org/project/feedapi_taxonomy_compare" target="_blank">http://drupal.org/project/feedapi_taxonomy_compare</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=0GWehag8"><img src="http://feeds.feedburner.com/~f/indytechcook?i=0GWehag8" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=8HO25cpZ"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=zo5z3jz4"><img src="http://feeds.feedburner.com/~f/indytechcook?i=zo5z3jz4" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=7nFAPvlZ"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=Nv3VdU44"><img src="http://feeds.feedburner.com/~f/indytechcook?i=Nv3VdU44" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=d3IjSfUS"><img src="http://feeds.feedburner.com/~f/indytechcook?i=d3IjSfUS" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=wrkkUpvG"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=ZOOA5KxD"><img src="http://feeds.feedburner.com/~f/indytechcook?i=ZOOA5KxD" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/ESHH0erOKDA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/01/feedapi-taxonomy-compare-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/01/feedapi-taxonomy-compare-module/</feedburner:origLink></item>
		<item>
		<title>More features for the Blogger</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/4YjgOYYj0wY/</link>
		<comments>http://techcook.net/2009/01/more-features-for-the-blogger/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 15:31:38 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[All Things Tech]]></category>
		<category><![CDATA[Blogs of Indy]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=153</guid>
		<description><![CDATA[Apparently Google indexed the bogsofndy.com site and notified a few of the blog owners that their content was being published.  This was unfortunate because they saw the site before it was ready.  After a few email discussions they were on board with my idea.  I was also able to pull some good suggestions.  I now [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Apparently Google indexed the bogsofndy.com site and notified a few of the blog owners that their content was being published.  This was unfortunate because they saw the site before it was ready.  After a few email discussions they were on board with my idea.  I was also able to pull some good suggestions.  I now understand how passionate many bloggers are about their content.  This has lead me to add some features that will benefit the bloggers.</p>
<ul style="text-align: left;">
<li>Control over how the content will be displayed:  Using Drupal&#8217;s input formats, I can specify what HTML tags are allowed.  So if they do not want their pictures to appear then they won&#8217;t.</li>
<li>Display Teaser Only:  This will only display a teaser of the post on Blogs of Indy.  This option is only available if they are using a plain text input format.</li>
<li>More Blocks.
<ul>
<li>&#8220;Most posts from this Author&#8221;</li>
<li>&#8220;About this Author&#8221;</li>
<li>&#8220;Post from this category&#8221;</li>
</ul>
</li>
</ul>
<p style="text-align: left;">Hopefully most of the blog owners will allow the full post to be displayed if I have a strong presence showing who the content is from.</p>
<p style="text-align: left;">I&#8217;ve also changed my philosophy on how the categories and tags will be managed.  Instead of having the categories managed by an administrator, the users will be able to categorize the content if they do not agree.  The will not be able to remove a post from a category, but rather add it to a category.</p>
<p style="text-align: left;">Blogs of Indy is going to be focused around dipalying the most relevant information for the reader.  I have ideas of adding a &#8220;Other posts you would like&#8221; sort of block in the future.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=B165m1Ag"><img src="http://feeds.feedburner.com/~f/indytechcook?i=B165m1Ag" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=1Glyo4Iz"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=yMe8Tc4B"><img src="http://feeds.feedburner.com/~f/indytechcook?i=yMe8Tc4B" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=r2hHF6xH"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=yrteMW6Z"><img src="http://feeds.feedburner.com/~f/indytechcook?i=yrteMW6Z" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=XWrkGQwS"><img src="http://feeds.feedburner.com/~f/indytechcook?i=XWrkGQwS" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=7GkUhp9I"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=G0tzJ6tB"><img src="http://feeds.feedburner.com/~f/indytechcook?i=G0tzJ6tB" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/4YjgOYYj0wY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/01/more-features-for-the-blogger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/01/more-features-for-the-blogger/</feedburner:origLink></item>
		<item>
		<title>Blogs of Indy Update</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/P4i-QrqRzPw/</link>
		<comments>http://techcook.net/2009/01/blogs-of-indy-update/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 01:22:48 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[All Things Tech]]></category>
		<category><![CDATA[Blogs of Indy]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[websites]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=145</guid>
		<description><![CDATA[I have made alot of progress since my last posting about Blogs of Indy.  I have completed another module.  This time I am going to release it to the general public.  I&#8217;m currently waiting on my drupal cvs account approval. New Module: FeedAPI Taxonomy Compare. You can get a detailed info from the readme file [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I have made alot of progress since my last posting about Blogs of Indy.  I have completed another module.  This time I am going to release it to the general public.  I&#8217;m currently waiting on my drupal cvs account approval.</p>
<h3 style="text-align: left;">New Module:</h3>
<p style="text-align: left;"><a href="http://techcook.s3.amazonaws.com/feedapi_taxonomy_compare.zip"><span style="text-decoration: underline;">FeedAPI Taxonomy Compare</span>.</a> You can get a detailed info from the readme file and the project page (when it comes up) but here is the basic idea.</p>
<p style="text-align: left;">This module is meant to work with FeedAPI, FeedAPI Node and Feed Element Mapper to give more control over what happens with incoming taxonomy terms.</p>
<p style="text-align: left;">Example Use.<br />
Vocabulary of &#8216;Categories&#8217; feeds the a piece of the primary links using taxonomy_menu.  When a feed-item comes in the options-&gt;tags element is mapped to the &#8216;Tags&#8217; vocabularies using Feed Element Mapper.  If the term is found then I remove it from the association from the &#8216;Tags&#8217; vocabulary and add the association to the &#8216;Categories&#8217; vocabulary.  Now the new items are automatically in the correct place for views.</p>
<p style="text-align: left;">The feed owner (or other person) would then come match the new tags to an existing category.  If they wish to add a new category then they fill out a request form and the site administrator can create the term and move the nodes accordingly.</p>
<p style="text-align: left;">Suggested Workflow<br />
1. Feed is refreshed<br />
2. New node is created using the taxonomy setting from Feed Element Mapper.  If using FeedAPI Node Inherit, this is applied here also.<br />
3. All mapped and inherited terms are run through this module.<br />
4. Matched terms are added to more defined categories.<br />
5. Unmachted terms are placed in a general vocabulary where the feed administrator can add them to specific categories later.</p>
<h3 style="text-align: left;">Other accomplishment</h3>
<ul style="text-align: left;">
<li>Messaging and Notifications now send out emails.</li>
<li>Fixed cron timeout.  Issue was incompatibility with the Notifications plugin for FeedAPI.</li>
<li>Put together Incoming feed workflow.</li>
</ul>
<h3 style="text-align: left;">Still To Do</h3>
<ul style="text-align: left;">
<li>Rewrite Subscription Block module.</li>
<li>Customize Notification UI</li>
<li>Create an UI for feed owners to administer the term-node relationship and move terms between vocabularies.  This will be a modification of Taxonomy Manager.</li>
<li>Notification Workflow.</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=GCG2Xk44"><img src="http://feeds.feedburner.com/~f/indytechcook?i=GCG2Xk44" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=XVBvOJmr"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=CYQoylwO"><img src="http://feeds.feedburner.com/~f/indytechcook?i=CYQoylwO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=wEzyqMHm"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=Oq61KRIa"><img src="http://feeds.feedburner.com/~f/indytechcook?i=Oq61KRIa" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=jkN41LGO"><img src="http://feeds.feedburner.com/~f/indytechcook?i=jkN41LGO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=iCDrANKF"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=sOSjn177"><img src="http://feeds.feedburner.com/~f/indytechcook?i=sOSjn177" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/P4i-QrqRzPw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/01/blogs-of-indy-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/01/blogs-of-indy-update/</feedburner:origLink></item>
		<item>
		<title>TweetDeck</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/uRTfhZGDbxk/</link>
		<comments>http://techcook.net/2009/01/tweetdeck/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 00:38:00 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[All Things Tech]]></category>
		<category><![CDATA[Computer Tools]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=142</guid>
		<description><![CDATA[I found a new application today called TweetDeck. If you user twitter and you have windows, this program is a must.  It makes it very easy to keep up to date on the tweets from your computer rather then logging onto the website.  The installation was a breeze and you receive real time updates when [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I found a new application today called <a href="http://www.tweetdeck.com/beta/" target="_blank">TweetDeck.</a> If you user twitter and you have windows, this program is a must.  It makes it very easy to keep up to date on the tweets from your computer rather then logging onto the website.  The installation was a breeze and you receive real time updates when a tweet comes in.  If you receive several hundred a day, then you can filter what you see based upon who it&#8217;s from, if it is a direct message or if it is a reply.</p>
<p style="text-align: left;">Check it out!</p>
<p style="text-align: left;"><a href="http://www.tweetdeck.com/beta/" target="_blank">http://www.tweetdeck.com/beta/</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=p8iZHYSs"><img src="http://feeds.feedburner.com/~f/indytechcook?i=p8iZHYSs" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=8cn9kDHU"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=A69nWZFV"><img src="http://feeds.feedburner.com/~f/indytechcook?i=A69nWZFV" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=pGnCtHMy"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=jpOLvUyf"><img src="http://feeds.feedburner.com/~f/indytechcook?i=jpOLvUyf" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=FxBs9hVr"><img src="http://feeds.feedburner.com/~f/indytechcook?i=FxBs9hVr" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=zEnBAccr"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=z9MYVGPY"><img src="http://feeds.feedburner.com/~f/indytechcook?i=z9MYVGPY" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/uRTfhZGDbxk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2009/01/tweetdeck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://techcook.net/2009/01/tweetdeck/</feedburner:origLink></item>
		<item>
		<title>Blogs of Indy Version 0.0000001</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/45z0qVDDGFk/</link>
		<comments>http://techcook.net/2008/12/blogs-of-indy-version-00000001/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 05:26:25 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[All Things Tech]]></category>
		<category><![CDATA[Blogs of Indy]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=138</guid>
		<description><![CDATA[I have completed the first version of Blogs of Indy.  http://blogsofindy.com.  This is a very early version and I still have a lot to work to do (see pervious posts).  You can get the general idea though.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I have completed the first version of Blogs of Indy.  <a href="http://blogsofindy.com" target="_blank">http://blogsofindy.com</a>.  This is a very early version and I still have a lot to work to do (see pervious posts).  You can get the general idea though.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=zY8OJl7J"><img src="http://feeds.feedburner.com/~f/indytechcook?i=zY8OJl7J" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=3NsMXvlb"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=2sjaIFP5"><img src="http://feeds.feedburner.com/~f/indytechcook?i=2sjaIFP5" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=DPIUcfMZ"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=0P6n77UN"><img src="http://feeds.feedburner.com/~f/indytechcook?i=0P6n77UN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=gJgUAkJe"><img src="http://feeds.feedburner.com/~f/indytechcook?i=gJgUAkJe" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=0lUoWANF"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=jnvHkYLU"><img src="http://feeds.feedburner.com/~f/indytechcook?i=jnvHkYLU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/45z0qVDDGFk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2008/12/blogs-of-indy-version-00000001/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://techcook.net/2008/12/blogs-of-indy-version-00000001/</feedburner:origLink></item>
		<item>
		<title>Christmas Breakfast (Revisited)</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/luAEvXu1-RU/</link>
		<comments>http://techcook.net/2008/12/christmas-breakfast-revisited/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 13:16:04 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[Cooking]]></category>
		<category><![CDATA[Food]]></category>
		<category><![CDATA[Recipie]]></category>
		<category><![CDATA[christmas]]></category>
		<category><![CDATA[recipes]]></category>
		<category><![CDATA[waffles]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=131</guid>
		<description><![CDATA[I posted this earlier about how I was responsible for Christmas breakfast at my house for 12 people (13 if you count the 3 month old).  The house was a zoo.  I doubled the recipe and it was the perfect amount.  My wife also put together a fresh fruit said (bananas, grapes, canned pineapples, honey [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I posted <a href="http://techcook.net/2008/12/christmas-breakfast/" target="_blank">this</a> earlier about how I was responsible for Christmas breakfast at my house for 12 people (13 if you count the 3 month old).  The house was a zoo.  I doubled the recipe and it was the perfect amount.  My wife also put together a fresh fruit said (bananas, grapes, canned pineapples, honey crisp apples, orange, and blueberries).  It was a good compliment.</p>
<p style="text-align: left;">I did my best to get a picture of people enjoying the food, but each batch of waffles that came out of the iron were gone within minutes.</p>
<p style="text-align: left;">I must say these were the best waffles that I had ever had.  So light and fluffy that you could eat 10 of them.  Of course it helps that I only have a small waffle maker that makes the little 4&#215;4 inch waffles.  It did take me about an hour to prep these.  I ended up missing some of the present opening.  So here are some tips to help you avoid that.</p>
<ul style="text-align: left;">
<li>PREP, PREP, PREP!</li>
<li>Have all of the dry ingredients premixed.</li>
<li>Create the egg yoke mixture (egg yokes and sugar).</li>
<li>Pre-Beat the egg whites.  I&#8217;m not sure how early you can do this one.  A side note that it took atleast 8 minutes of beating with a handheld electric mixture to get the correct consistency and we don&#8217;t think we beat them enough.</li>
<li>Don&#8217;t over spray your iron.  Depending on your iron, there is such a thing as to much cooking spray.  I found reapplying every 3rd attempt kept my iron good and clean while not transferring to much of the oil to the waffles and hindering the backing process.</li>
<li>Server quickly.  They get cold fast.</li>
</ul>
<p style="text-align: left;">Following the prep steps will go a long way on  cooking day.  Especially if you are cooking for 12!</p>
<p style="text-align: left;"><strong>Merry Christmas and Happy Cooking!!</strong></p>
<p style="text-align: left;"><div class="flickr-photos"><a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3138265252/christmas-breakfast-dry-ingrediants.html" rel="album-72157611673417146" id="photo-3138265252" title="Dry Ingrediants"><img src="http://farm4.static.flickr.com/3134/3138265252_41d588841d_t.jpg" width="75" height="100" alt="Dry Ingrediants" title="Christmas Breakfast (Revisited)" /></a> <a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3138265278/christmas-breakfast-egg-yokes.html" rel="album-72157611673417146" id="photo-3138265278" title="Egg Yokes"><img src="http://farm4.static.flickr.com/3258/3138265278_c4a9831f6f_t.jpg" width="75" height="100" alt="Egg Yokes" title="Christmas Breakfast (Revisited)" /></a> <a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3137438315/christmas-breakfast-egg-whites-pre-blended.html" rel="album-72157611673417146" id="photo-3137438315" title="Egg Whites Pre Blended"><img src="http://farm4.static.flickr.com/3099/3137438315_0b9d14f3b3_t.jpg" width="75" height="100" alt="Egg Whites Pre Blended" title="Christmas Breakfast (Revisited)" /></a> <a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3138265428/christmas-breakfast-beating-eggs.html" rel="album-72157611673417146" id="photo-3138265428" title="beating eggs"><img src="http://farm4.static.flickr.com/3222/3138265428_feb74a54f7_t.jpg" width="75" height="100" alt="beating eggs" title="Christmas Breakfast (Revisited)" /></a> <a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3137438385/christmas-breakfast-folding-in-egg-whites.html" rel="album-72157611673417146" id="photo-3137438385" title="Folding in Egg Whites"><img src="http://farm4.static.flickr.com/3215/3137438385_3cff71f792_t.jpg" width="75" height="100" alt="Folding in Egg Whites" title="Christmas Breakfast (Revisited)" /></a> <a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3137438409/christmas-breakfast-before-egg-whites.html" rel="album-72157611673417146" id="photo-3137438409" title="Before Egg Whites"><img src="http://farm4.static.flickr.com/3286/3137438409_f21819ac32_t.jpg" width="75" height="100" alt="Before Egg Whites" title="Christmas Breakfast (Revisited)" /></a> <a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3138265528/christmas-breakfast-the-frst-2.html" rel="album-72157611673417146" id="photo-3138265528" title="The Frst 2"><img src="http://farm4.static.flickr.com/3108/3138265528_a441bef604_t.jpg" width="75" height="100" alt="The Frst 2" title="Christmas Breakfast (Revisited)" /></a> <a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3138265576/christmas-breakfast-baking.html" rel="album-72157611673417146" id="photo-3138265576" title="Baking"><img src="http://farm4.static.flickr.com/3292/3138265576_8ca8891e55_t.jpg" width="75" height="100" alt="Baking" title="Christmas Breakfast (Revisited)" /></a> </div></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=yAM0KbwD"><img src="http://feeds.feedburner.com/~f/indytechcook?i=yAM0KbwD" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=YRAuq3TA"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=rUxG5Lve"><img src="http://feeds.feedburner.com/~f/indytechcook?i=rUxG5Lve" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=venRIF41"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=cuAaRyiQ"><img src="http://feeds.feedburner.com/~f/indytechcook?i=cuAaRyiQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=OdKyJ7cJ"><img src="http://feeds.feedburner.com/~f/indytechcook?i=OdKyJ7cJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=V8xevUql"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=I90YPjKK"><img src="http://feeds.feedburner.com/~f/indytechcook?i=I90YPjKK" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/luAEvXu1-RU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2008/12/christmas-breakfast-revisited/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://techcook.net/2008/12/christmas-breakfast-revisited/</feedburner:origLink></item>
		<item>
		<title>Carmel Puffs</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/tUov6CsyJTs/</link>
		<comments>http://techcook.net/2008/12/carmel-puffs/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 16:33:29 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[Recipie]]></category>
		<category><![CDATA[christmas]]></category>
		<category><![CDATA[Cooking]]></category>
		<category><![CDATA[recipes]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=125</guid>
		<description><![CDATA[My wife and I made one of my favorite treats today.  Carmel Puffs.  This has also become a family favorite.  The recipe is very simple.   It is also lesson on how to make home made caramel. Ingredients 2 Sticks of butter (mmmmmm&#8230;  butttterrrrr) 2 cups brown sugar 1/2 cup Karo (light) 1/2 tsp vanilla [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">My wife and I made one of my favorite treats today.  Carmel Puffs.  This has also become a family favorite.  The recipe is very simple.   It is also lesson on how to make home made caramel.</p>
<h3 style="text-align: left;">Ingredients</h3>
<ul style="text-align: left;">
<li>2 Sticks of butter (mmmmmm&#8230;  butttterrrrr)</li>
<li>2 cups brown sugar</li>
<li>1/2 cup Karo (light)</li>
<li>1/2 tsp vanilla</li>
<li>1/2 tsp baking soda</li>
<li>2 pkgs corn puffs (8 oz each)</li>
</ul>
<p style="text-align: left;">Add butter, brown sugar and Karo in pot and boil for 5 minutes.  Stir in Vanilla and baking soda.  Pour over corn puffs and stir until well coated.  Add nuts if you wish.  Bake at 250 degrees for an hour, stirring every 15 minutes.</p>
<p style="text-align: left;"><div class="flickr-photos"><a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3132786895/carmel-puffs-img_0085.html" rel="album-72157611528606411" id="photo-3132786895" title="IMG_0085"><img src="http://farm4.static.flickr.com/3289/3132786895_ebebd9a790_t.jpg" width="100" height="75" alt="IMG_0085" title="Carmel Puffs" /></a> <a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3133609204/carmel-puffs-img_0087.html" rel="album-72157611528606411" id="photo-3133609204" title="IMG_0087"><img src="http://farm4.static.flickr.com/3294/3133609204_5f2a4a97f7_t.jpg" width="100" height="75" alt="IMG_0087" title="Carmel Puffs" /></a> <a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3132787011/carmel-puffs-img_0090.html" rel="album-72157611528606411" id="photo-3132787011" title="IMG_0090"><img src="http://farm4.static.flickr.com/3085/3132787011_10291d49df_t.jpg" width="75" height="100" alt="IMG_0090" title="Carmel Puffs" /></a> <a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3132787051/carmel-puffs-img_0092.html" rel="album-72157611528606411" id="photo-3132787051" title="IMG_0092"><img src="http://farm4.static.flickr.com/3215/3132787051_9cb4224f63_t.jpg" width="75" height="100" alt="IMG_0092" title="Carmel Puffs" /></a> <a class="tt-flickr tt-flickr-Thumbnail" href="http://techcook.net/pictures/photo/3133609364/carmel-puffs-img_0095.html" rel="album-72157611528606411" id="photo-3133609364" title="IMG_0095"><img src="http://farm4.static.flickr.com/3113/3133609364_e5d851f4e0_t.jpg" width="75" height="100" alt="IMG_0095" title="Carmel Puffs" /></a> </div></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=7Z7JJraf"><img src="http://feeds.feedburner.com/~f/indytechcook?i=7Z7JJraf" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=p60Gdvpg"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=78RTGawS"><img src="http://feeds.feedburner.com/~f/indytechcook?i=78RTGawS" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=3zmpTPeB"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=qJBQSlYF"><img src="http://feeds.feedburner.com/~f/indytechcook?i=qJBQSlYF" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=tXBm2xg5"><img src="http://feeds.feedburner.com/~f/indytechcook?i=tXBm2xg5" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=v0OQVmCo"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=s1tc6Fe9"><img src="http://feeds.feedburner.com/~f/indytechcook?i=s1tc6Fe9" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/tUov6CsyJTs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2008/12/carmel-puffs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://techcook.net/2008/12/carmel-puffs/</feedburner:origLink></item>
		<item>
		<title>My first Drupal Module</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/V_QSK4aIhhY/</link>
		<comments>http://techcook.net/2008/12/my-first-drupal-module/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 13:11:50 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[All Things Tech]]></category>
		<category><![CDATA[Blogs of Indy]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[websites]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=121</guid>
		<description><![CDATA[I did it.  A huge milestone in my Drupal development life.  I completed my first custom module.  While at this point it would only work on my site (I hard coded the name of content types and some other variables from the notification module) but it works. I have attached it but know that you [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I did it.  A huge milestone in my Drupal development life.  I completed my first custom module.  While at this point it would only work on my site (I hard coded the name of content types and some other variables from the notification module) but it works. I have attached it but know that you can&#8217;t just add it to your site.  At minimum you might have to change the name of the feed-item content type on line 85.</p>
<p style="text-align: left;"><a class="s3-link" href="http://techcook.s3.amazonaws.com/notification_block.zip">notification_block.zip</a></p>
<p style="text-align: left;"><span style="text-decoration: underline;">What it does</span>:  Add a block with a drop down.  The drop down contains the name of the Feed and all taxonomy terms for that node.  If the node type is the feed item (Post) then it pulls the parent feed and puts it in the list.</p>
<p style="text-align: left;">I&#8217;m using this basic setup as an interface for the users to add subscriptions.   Please comment on the idea.</p>
<p style="text-align: left;">Now I basically have to rewrite the entire thing and pull the feedapi and notification options and type from the modules functions before I can release this. I&#8217;ll probably end up adding in some jscript effects to make it pop.</p>
<p style="text-align: left;">I had dream last night (yes, I dream in Drupal) about how to create more meaningful categories for people to subscribe to.  The idea of synonyms came to mind.  So instead of (or maybe along with) assigning the categories to the feeds, the tags from the blogs will be attached to a category.  The problem is that this will require intervention from the user, either myself or the blog owner, and are they going to want to spend the time?  I&#8217;m doing my best to make this &#8220;not another site I have to do to&#8221;.  Thoughts?</p>
<p style="text-align: left;">Still To DO:</p>
<ul style="text-align: left;">
<li>Rewrite Subscription Block module</li>
<li>Decide on Control level for users</li>
<li>Continue working on theme</li>
<li>Customize Notification UI</li>
<li>How to catorigize posts meaninfully</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=PkYQFN9W"><img src="http://feeds.feedburner.com/~f/indytechcook?i=PkYQFN9W" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=kB7oWdt8"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=HeoNxMf3"><img src="http://feeds.feedburner.com/~f/indytechcook?i=HeoNxMf3" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=ePtqrmgG"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=u9GfTOls"><img src="http://feeds.feedburner.com/~f/indytechcook?i=u9GfTOls" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=kZo8JM7s"><img src="http://feeds.feedburner.com/~f/indytechcook?i=kZo8JM7s" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=BjsKrcaW"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=L5PaLeZG"><img src="http://feeds.feedburner.com/~f/indytechcook?i=L5PaLeZG" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/V_QSK4aIhhY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2008/12/my-first-drupal-module/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://techcook.net/2008/12/my-first-drupal-module/</feedburner:origLink></item>
		<item>
		<title>Trans-Siberian Orchestra</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/acwCyPnUqRI/</link>
		<comments>http://techcook.net/2008/12/trans-siberian-orchestra/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 14:38:01 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=118</guid>
		<description><![CDATA[This post is going to be a little off topic.  Last night my wife and I went to the Trans-Siberian Orchestra.  Having never been there before I wasn&#8217;t sure what to expect.  The name &#8220;Orchestra&#8221; is very misleading.  It&#8217;s more like a Christmas rock concert. I was very impressed.  The effects were very cool.  Check [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">This post is going to be a little off topic.  Last night my wife and I went to the Trans-Siberian Orchestra.  Having never been there before I wasn&#8217;t sure what to expect.  The name &#8220;Orchestra&#8221; is very misleading.  It&#8217;s more like a Christmas rock concert. I was very impressed.  The effects were very cool.  Check out the pictures below.</p>
<p style="text-align: left;"><div class="flickr-photos"><a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3130217197/tso-tso19.html" rel="album-72157611557497142" id="photo-3130217197" title="TSO19"><img src="http://farm4.static.flickr.com/3110/3130217197_ecf1a85062.jpg" width="375" height="500" alt="TSO19" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3130217295/tso-tso8.html" rel="album-72157611557497142" id="photo-3130217295" title="TSO8"><img src="http://farm4.static.flickr.com/3129/3130217295_20506ee811.jpg" width="375" height="500" alt="TSO8" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3130217359/tso-tso14.html" rel="album-72157611557497142" id="photo-3130217359" title="TSO14"><img src="http://farm4.static.flickr.com/3256/3130217359_2e7dbd7285.jpg" width="500" height="375" alt="TSO14" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3130217421/tso-tso11.html" rel="album-72157611557497142" id="photo-3130217421" title="TSO11"><img src="http://farm4.static.flickr.com/3225/3130217421_53171a4721.jpg" width="500" height="375" alt="TSO11" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3131048644/tso-tso18.html" rel="album-72157611557497142" id="photo-3131048644" title="TSO18"><img src="http://farm4.static.flickr.com/3016/3131048644_24cd5cb1b5.jpg" width="500" height="375" alt="TSO18" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3131048692/tso-tso16.html" rel="album-72157611557497142" id="photo-3131048692" title="TSO16"><img src="http://farm4.static.flickr.com/3232/3131048692_1f0e6a5690.jpg" width="500" height="375" alt="TSO16" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3130217543/tso-tso2.html" rel="album-72157611557497142" id="photo-3130217543" title="TSO2"><img src="http://farm4.static.flickr.com/3205/3130217543_1f8f5e2744.jpg" width="500" height="375" alt="TSO2" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3130217621/tso-tso10.html" rel="album-72157611557497142" id="photo-3130217621" title="TSO10"><img src="http://farm4.static.flickr.com/3103/3130217621_feb98e19e4.jpg" width="500" height="375" alt="TSO10" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3131048926/tso-tso3.html" rel="album-72157611557497142" id="photo-3131048926" title="TSO3"><img src="http://farm4.static.flickr.com/3116/3131048926_319d846b87.jpg" width="500" height="375" alt="TSO3" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3131048850/tso-tso7.html" rel="album-72157611557497142" id="photo-3131048850" title="TSO7"><img src="http://farm4.static.flickr.com/3209/3131048850_57a49b2fe7.jpg" width="500" height="375" alt="TSO7" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3131048996/tso-tso5.html" rel="album-72157611557497142" id="photo-3131048996" title="TSO5"><img src="http://farm4.static.flickr.com/3076/3131048996_903c8bcd51.jpg" width="500" height="375" alt="TSO5" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3130217877/tso-tso13.html" rel="album-72157611557497142" id="photo-3130217877" title="TSO13"><img src="http://farm4.static.flickr.com/3122/3130217877_8db1a499bf.jpg" width="500" height="375" alt="TSO13" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3131049104/tso-tso6.html" rel="album-72157611557497142" id="photo-3131049104" title="TSO6"><img src="http://farm4.static.flickr.com/3217/3131049104_24c030402d.jpg" width="500" height="375" alt="TSO6" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3130217987/tso-tso15.html" rel="album-72157611557497142" id="photo-3130217987" title="TSO15"><img src="http://farm4.static.flickr.com/3097/3130217987_5eeef21196.jpg" width="500" height="375" alt="TSO15" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3130218031/tso-tso9.html" rel="album-72157611557497142" id="photo-3130218031" title="TSO9"><img src="http://farm4.static.flickr.com/3215/3130218031_a898460df0.jpg" width="500" height="375" alt="TSO9" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3131049238/tso-tso12.html" rel="album-72157611557497142" id="photo-3131049238" title="TSO12"><img src="http://farm4.static.flickr.com/3261/3131049238_da87ee8ded.jpg" width="375" height="500" alt="TSO12" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3131049282/tso-tso4.html" rel="album-72157611557497142" id="photo-3131049282" title="TSO4"><img src="http://farm4.static.flickr.com/3247/3131049282_babbbbb58b.jpg" width="375" height="500" alt="TSO4" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3131049332/tso-tso1.html" rel="album-72157611557497142" id="photo-3131049332" title="TSO1"><img src="http://farm4.static.flickr.com/3131/3131049332_ab51d718fa.jpg" width="500" height="375" alt="TSO1" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3131049394/tso-tso17.html" rel="album-72157611557497142" id="photo-3131049394" title="TSO17"><img src="http://farm4.static.flickr.com/3209/3131049394_dc483c7160.jpg" width="500" height="375" alt="TSO17" title="Trans Siberian Orchestra" /></a> <a class="tt-flickr tt-flickr-Medium" href="http://techcook.net/pictures/photo/3131053810/tso-tso12.html" rel="album-72157611557497142" id="photo-3131053810" title="TSO12"><img src="http://farm4.static.flickr.com/3290/3131053810_a2be94c66f.jpg" width="375" height="500" alt="TSO12" title="Trans Siberian Orchestra" /></a> </div></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=4RBK8WLN"><img src="http://feeds.feedburner.com/~f/indytechcook?i=4RBK8WLN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=aeQottua"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=kQinWtI6"><img src="http://feeds.feedburner.com/~f/indytechcook?i=kQinWtI6" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=aEiakiQo"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=HYERzJ97"><img src="http://feeds.feedburner.com/~f/indytechcook?i=HYERzJ97" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=5SlMcLx4"><img src="http://feeds.feedburner.com/~f/indytechcook?i=5SlMcLx4" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=JBp53TVB"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=0ZfIatmB"><img src="http://feeds.feedburner.com/~f/indytechcook?i=0ZfIatmB" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/acwCyPnUqRI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2008/12/trans-siberian-orchestra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://techcook.net/2008/12/trans-siberian-orchestra/</feedburner:origLink></item>
		<item>
		<title>PSD to Drupal Theme</title>
		<link>http://feedproxy.google.com/~r/indytechcook/~3/CB7z7Dj3fUc/</link>
		<comments>http://techcook.net/2008/12/psd-to-drupal-theme/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 02:12:34 +0000</pubDate>
		<dc:creator>Neil</dc:creator>
				<category><![CDATA[All Things Tech]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[themes]]></category>

		<guid isPermaLink="false">http://techcook.net/?p=94</guid>
		<description><![CDATA[I found a very interesting resource that coverts a psd file to a Drupal theme.  psdtocss (http://psd2cssonline.com/) online claims to accomplish this from their website. Example site: http://newfind.net/DrupalTheme/ Here are a few screencasts from the created. http://psd2cssonline.com/node/183 http://psd2cssonline.com/node/186 http://psd2cssonline.com/node/193 It creates the regions based upon the of the layer.  So if you want to add [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I found a very interesting resource that coverts a psd file to a Drupal theme.  psdtocss (http://psd2cssonline.com/) online claims to accomplish this from their website.</p>
<p>Example site:</p>
<p>http://newfind.net/DrupalTheme/</p>
<p>Here are a few screencasts from the created.</p>
<p>http://psd2cssonline.com/node/183</p>
<p>http://psd2cssonline.com/node/186</p>
<p>http://psd2cssonline.com/node/193</p>
<p>It creates the regions based upon the of the layer.  So if you want to add a search region, you just create a layer called mysearch_drupal.  You set the size and location of the layer to the size you want for the region and this site will create the .info, .tpl and .css files for the psd.  This is a great way to start the your theme.  It&#8217;s not perfect, it seems to use fixed width and height but that can be changed via css.</p>
<p>I haven&#8217;t tried this out yet but I will be soon.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/indytechcook?a=P6RuICgR"><img src="http://feeds.feedburner.com/~f/indytechcook?i=P6RuICgR" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=9tUVyJ4g"><img src="http://feeds.feedburner.com/~f/indytechcook?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=mWpNVwZH"><img src="http://feeds.feedburner.com/~f/indytechcook?i=mWpNVwZH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=5ZPgSlKB"><img src="http://feeds.feedburner.com/~f/indytechcook?d=52" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=PnhElJxF"><img src="http://feeds.feedburner.com/~f/indytechcook?i=PnhElJxF" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=3ZKvwk0j"><img src="http://feeds.feedburner.com/~f/indytechcook?i=3ZKvwk0j" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=BHL2m0sM"><img src="http://feeds.feedburner.com/~f/indytechcook?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/indytechcook?a=tyOibDPX"><img src="http://feeds.feedburner.com/~f/indytechcook?i=tyOibDPX" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/indytechcook/~4/CB7z7Dj3fUc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://techcook.net/2008/12/psd-to-drupal-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://techcook.net/2008/12/psd-to-drupal-theme/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 3.117 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-07-26 04:18:32 -->

