<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>gingerandjohn.com &#187; Development</title>
	<atom:link href="http://www.gingerandjohn.com/archives/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gingerandjohn.com</link>
	<description>Removing all doubt.</description>
	<lastBuildDate>Tue, 27 Jul 2010 22:01:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Feeds for TypePad sites with no feed configuration</title>
		<link>http://www.gingerandjohn.com/archives/2009/11/22/feeds-for-typepad-sites-with-no-feed-configuration/</link>
		<comments>http://www.gingerandjohn.com/archives/2009/11/22/feeds-for-typepad-sites-with-no-feed-configuration/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 16:44:44 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.gingerandjohn.com/?p=190</guid>
		<description><![CDATA[Most of Chance's teachers have blogs they update either daily or weekly with class assignments, activities, and upcoming work. I keep track of those through Google Reader. All but one of his teachers have "sub-blogs" off the school's "main" TypePad blog site, and all those teachers have "feed link is here" buttons so it's easy [...]]]></description>
			<content:encoded><![CDATA[<p>Most of Chance's teachers have blogs they update either daily or weekly with class assignments, activities, and upcoming work. I keep track of those through Google Reader. All but one of his teachers have "sub-blogs" off the school's "main" TypePad blog site, and all those teachers have "feed link is here" buttons so it's easy to add those to Reader. His other teacher, though, has a top-level TypePad blog with no feed link. </p>

<p>I hate that.</p>

<p>But then comes <a href="http://kottke.org/09/11/free-errol">this</a> - hacking WP <span class="caps">URL</span>s to get a feed. Perhaps TypePad does something similar? And sure enough, <a href="http://help.sixapart.com/tp/us/blog_settings_feeds.html">it does</a>. The trick was getting the blog folder from looking at the permalinks, and referencing the feed's atom.xml file.</p>]]></content:encoded>
			<wfw:commentRss>http://www.gingerandjohn.com/archives/2009/11/22/feeds-for-typepad-sites-with-no-feed-configuration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test post for full feeds</title>
		<link>http://www.gingerandjohn.com/archives/2007/12/28/test-post-for-full-feeds/</link>
		<comments>http://www.gingerandjohn.com/archives/2007/12/28/test-post-for-full-feeds/#comments</comments>
		<pubDate>Fri, 28 Dec 2007 19:26:48 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.gingerandjohn.com/archives/2007/12/28/test-post-for-full-feeds/</guid>
		<description><![CDATA[Testing out the new Full Text Feed plug-in. If this works, the two of you who read this with an aggregator won't have to actually visit the site. 

Update: unclear, at least in Google Reader. I'm going to have to get clever with wget to take a look at the raw XML. 

Update 2: It [...]]]></description>
			<content:encoded><![CDATA[<p>Testing out the new <a href="http://cavemonkey50.com/code/full-feed/">Full Text Feed</a> plug-in. If this works, the two of you who read this with an aggregator won't have to actually visit the site. </p>

<p>Update: unclear, at least in Google Reader. I'm going to have to get clever with wget to take a look at the raw <span class="caps">XML. </span></p>

<p>Update 2: It helps to actually tell Wordpress to <strong>publish</strong> the full text of the article. If you're following along at home, go to Options | Reading and make sure the Syndication option isn't set to Summary.</p>

<p>Update 3: Wordpress has now been upgraded to v2.3.1; several plug-ins got updated as well. It doesn't seem to help the feeds in GReader though - they're still butt-ugly, with no apparent <code>&lt;p&gt;&lt;/p&gt;</code> or <code>&lt;br /&gt;</code> tags, or any of the textile formatting. </p>]]></content:encoded>
			<wfw:commentRss>http://www.gingerandjohn.com/archives/2007/12/28/test-post-for-full-feeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stopping the spin</title>
		<link>http://www.gingerandjohn.com/archives/2005/02/27/stopping-the-spin/</link>
		<comments>http://www.gingerandjohn.com/archives/2005/02/27/stopping-the-spin/#comments</comments>
		<pubDate>Mon, 28 Feb 2005 03:00:15 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://www.gingerandjohn.com/archives/2005/02/27/stopping-the-spin/</guid>
		<description><![CDATA[Life overwhelming... spinning out of control... must... organize...]]></description>
			<content:encoded><![CDATA[<p>Too much to do!!! Find the thought progression in these links, which are all currently open in Firefox tabs:<br />
* <a href="http://www.comcast.com/Benefits/CHSIBenefits.asp?LinkID=21">Comcast internet</a><br />
* <a href="https://www.fastaccess.com/content/business/product_comparison.jsp">Bellsouth internet comparison</a><br />
* <a href="http://mamamusings.net/archives/cat_productivity.php">Liz Lawley's productivity category</a><br />
* <a href="http://merlin.blogs.com/43folders/2004/09/how_does_a_nerd.html">Using a computer for <span class="caps">GTD</span></a><br />
* <a href="http://www-106.ibm.com/developerworks/xml/library/wi-syncml2/">SyncML</a><br />
* <a href="http://www.writingonyourpalm.net/column040202.htm">Using a Palm for <span class="caps">GTD</span></a><br />
* <a href="http://www.bol.ucla.edu/~smerino/gtd/gtd-resources.html">Sylvia's <span class="caps">GTD</span> Resource List</a><br />
* <a href="http://mozillanews.org/?article_date=2004-12-07+16-19-25%23migrate-outlook">Migrating Outlook to Thunderbird</a><br />
* <a href="http://jpeters.no-ip.com/extensions/?page=tb_cs">Contacts sidebar for Thunderbird</a><br />
* <a href="http://uscfsales.com/item.asp?cID=7&amp;PID=1005">Chess Rules of Thumb</a><br />
* <a href="http://blogs.msdn.com/David_Gristwood/archive/2004/06/24/164849.aspx">21 Rules of Thumb - how <span class="caps">MSFT </span>develops its software</a><br />
* <a href="http://www.tldp.org/LDP/LG/current/smith.html">The holy trinity of Unix</a><br />
* <a href="http://www.benmeadows.com/store/product_group.asp?dept_id=1068&amp;cat_prefix=5WB">Engineer's field books</a><br />
* <a href="http://interfacelift.com/"><span class="caps">GUI </span>enhancements for Windows, OS X, and Linux</a><br />
* <a href="http://www.splashdata.com/splashshopper/">Splashshopper</a><br />
* <a href="http://university.barnesandnoble.com/">Barnes and Noble University</a><br />
* <a href="http://www.hal-pc.org/journal/may02/Column/nibbles/nibbles.html"><span class="caps">GTD </span>to-do list on your Palm</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.gingerandjohn.com/archives/2005/02/27/stopping-the-spin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment approval may be delayed</title>
		<link>http://www.gingerandjohn.com/archives/2004/12/26/comment-approval-may-be-delayed/</link>
		<comments>http://www.gingerandjohn.com/archives/2004/12/26/comment-approval-may-be-delayed/#comments</comments>
		<pubDate>Sun, 26 Dec 2004 16:36:24 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.gingerandjohn.com/archives/2004/12/26/comment-approval-may-be-delayed/</guid>
		<description><![CDATA[I've turned off getting emails requesting comment approvals.]]></description>
			<content:encoded><![CDATA[<p>Due to comment spam, I've turned off email notification when a comment gets posted here. So for all the zero regular posters, there may be a delay in getting your comment to show up. Depending on how things go, I may turn off the moderation mechanism altogether and trust the blacklist(s) to pick it up. I don't mind pruning one or two a week; it's the daily 15 that are getting me.</p>]]></content:encoded>
			<wfw:commentRss>http://www.gingerandjohn.com/archives/2004/12/26/comment-approval-may-be-delayed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spreading Firefox begins at home</title>
		<link>http://www.gingerandjohn.com/archives/2004/11/05/spreading-firefox-begins-at-home/</link>
		<comments>http://www.gingerandjohn.com/archives/2004/11/05/spreading-firefox-begins-at-home/#comments</comments>
		<pubDate>Fri, 05 Nov 2004 15:26:37 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Family]]></category>

		<guid isPermaLink="false">http://www.gingerandjohn.com/archives/2004/11/05/spreading-firefox-begins-at-home/</guid>
		<description><![CDATA[Viral marketing at its finest: Dan and his colleagues make the switch to Firefox.]]></description>
			<content:encoded><![CDATA[<p>About three weeks ago, I told my sister-in-law's husband Dan<sup class="footnote"><a href="#fn1">1</a></sup> about <a href="http://www.mozilla.org/products/firefox/">Firefox</a>, and told him all the surfing goodness that it has:<br />
* tabbed browsing,<br />
* pop-up blocking,<br />
* find as you type,<br />
* opening folder bookmarks in tabs,<br />
* and a little security stuff, since he can handle it.</p>

<p>Well, he told all <strong>his</strong> friends, and lo and behold, crunchy Firefox delights are spreading!</p>

<p class="footnote" id="fn1"><sup>1</sup> Does that make Dan my brother-in-law? Maybe a brother-in-law once removed? Or maybe he's a second brother-in-law, and <strong>my</strong> sister's husband is a brother-in-law once removed. Or maybe I'm just waaaay to caught up in this. </p>]]></content:encoded>
			<wfw:commentRss>http://www.gingerandjohn.com/archives/2004/11/05/spreading-firefox-begins-at-home/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOWTO install Textpattern Plugins</title>
		<link>http://www.gingerandjohn.com/archives/2004/10/24/howto-install-textpattern-plugins/</link>
		<comments>http://www.gingerandjohn.com/archives/2004/10/24/howto-install-textpattern-plugins/#comments</comments>
		<pubDate>Sun, 24 Oct 2004 15:35:22 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.gingerandjohn.com/archives/2004/10/24/howto-install-textpattern-plugins/</guid>
		<description><![CDATA[I can't believe this isn't part of the TXP help, and it's not a sticky post on the TXP forums either.]]></description>
			<content:encoded><![CDATA[<p>So I'm using <a href="http://www.textpattern.org/">Textpattern</a> to develop a <acronym title="content management system">CMS</acronym> for <a href="http://www.crm-a.org/" title="the Customer Relationship Management Association"><span class="caps">CRMA</span></a>. One of the critical features I need is a front-page expiration - if a meeting announcement is stale, I don't want it to show up on the front page, but I do want it to show up in the Announcements archive.</p>

<p>There's a <a href="http://forum.textpattern.com/viewtopic.php?id=1019">feature request</a> for article expiration in the works, which helps me not at all. However, some looking around brought me to the wonderful <a href="http://cokesque.com/code/42/chharticlecustom-plugin">chh_article_custom</a> plugin, which does exactly what I need it to. However, it took me <strong>much</strong> too long to figure out how to get the beast installed. </p>

<p>The plugin looks like<sup class="footnote"><a href="#fn1">1</a></sup> </p>


<pre>
&lt; ?php $plugin='YTo4OntzOjQ6Im5hbWUiO3M' ? &gt;
&lt;/&gt;</pre>



<p>where the string of gibberish is a uuencoded (or some encoding) of <span class="caps">PHP </span>code. On the plugin admin page, you get two boxes: "Install Plugin", with a textbox, and "Old-style (text file) plugin installer", with a file chooser. Both boxes have a help button associated with them, that returns... absolutely nothing. I remembered (from having installed one plugin successfully) that I needed to paste the plugin into the textbox. However, doing that gives a "Badly formed or empty plugin code" error. Well then, perhaps using the old-style installer... nope, same error. </p>

<p>It took me about 30 minutes of searching the forums and googling before I figured out that what gets pasted in the textbox is what's between the two single quotes. So, for the example above, I'd paste <strong>just</strong> YTo4OntzOjQ6Im5hbWUiO3M.</p>

<p>Arggg! Why isn't this more clear? And why isn't it at least in the help? </p>

<p>But now, at least, Google has some prayer of retrieving something about this, in case some other poor soul needs it. And mondo mad props to <a href="http://cokesque.com/code/42/chharticlecustom-plugin">Coke Harrington</a> for making my life easier.</p>

<p class="footnote" id="fn1"><sup>1</sup> Why does <acronym title="WordPress">WP</acronym> muck up the <span class="caps">PHP </span>string? Does it have something to do with the backslash issue, where my hindbrain is telling me that there's a known issue about WP swallowing backslashes, and you have to escape them?</p>]]></content:encoded>
			<wfw:commentRss>http://www.gingerandjohn.com/archives/2004/10/24/howto-install-textpattern-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Same car, new engine</title>
		<link>http://www.gingerandjohn.com/archives/2004/08/15/same-car-new-engine/</link>
		<comments>http://www.gingerandjohn.com/archives/2004/08/15/same-car-new-engine/#comments</comments>
		<pubDate>Mon, 16 Aug 2004 03:41:07 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.gingerandjohn.com/archives/2004/08/15/same-car-new-engine/</guid>
		<description><![CDATA[In which John discusses the move to WordPress.]]></description>
			<content:encoded><![CDATA[<p>This site now runs on <a href="http://www.wordpress.org">WordPress</a>. As I've discussed <a href="http://www.gingerandjohn.com/archives/2004/05/16/mt-goes-30-sixapart-goes-oops/">here</a> and <a href="http://www.gingerandjohn.com/archives/2004/05/16/mt-30-cost-price-and-goodwill/">here</a>, I am uncomfortable with <span class="caps">MT'</span>s new licenses. I want to reiterate that I wish the staff and community of MovableType the best; I hope the staff gets filthy rich <strong>and</strong> whatever else they'd like (generous, aren't I). </p>

<p>Now for the nitty gritty. The 5-minute install pretty much nails it, and makes <span class="caps">MT'</span>s install process seem painfully technical. The only problem I had was getting the blog <span class="caps">URI </span>to show up correctly (I never did, and resorted to installing WP in the docroot of the webserver).  Importing MT entries was a breeze that I made too complicated. It turns out I didn't have to worry about creating users ahead of time, as I found out the second time I did the import (over the first time; no worries about duplicates). I had to import the second time because I needed to turn on Textile formatting for the import; it Just Worked. I will say the wiki-style table <a href="http://www.gingerandjohn.com/archives/2003/12/01/hugo-winners-best-novel-1946-2003/">here</a> didn't come over too well, but it wasn't great in the first place. I'll have to go back and update it from Textile 1 to Textile 2, and perhaps it'll be better.</p>

<p>I still need to update the styles, but that's it. Then comes the fun of poking around and seeing how things work, getting comfortable. It's like getting a new car, and getting used to the dashboard layout, the seat controls, and the climate control. And the stereo. And the V6 <img src='http://www.gingerandjohn.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  </p>]]></content:encoded>
			<wfw:commentRss>http://www.gingerandjohn.com/archives/2004/08/15/same-car-new-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Packing up&#8230;</title>
		<link>http://www.gingerandjohn.com/archives/2004/08/13/packing-up/</link>
		<comments>http://www.gingerandjohn.com/archives/2004/08/13/packing-up/#comments</comments>
		<pubDate>Fri, 13 Aug 2004 14:57:47 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.gingerandjohn.com/archives/2004/08/13/packing-up/</guid>
		<description><![CDATA[In which John discusses shifting gingerandjohn.com to a "new" hosting service.]]></description>
			<content:encoded><![CDATA[<p>Hopefully, I will be moving my hosting provider next week. Well, kind of. I manage three different sites now, which means I get 6 billing-related emails a month from <a href="http://www.8-95.com">8.95.com</a>. So, I opened a reseller account there, and am going to consolidate all the sites under the reseller umbrella. Of course, I'll basically be selling to myself, but it'll save money in the long run.</p>

<p>The upshot is the deluge of comments from all my adoring fans may not get propagated, should any be made this weekend.</p>]]></content:encoded>
			<wfw:commentRss>http://www.gingerandjohn.com/archives/2004/08/13/packing-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thunderbird 0.7 released</title>
		<link>http://www.gingerandjohn.com/archives/2004/06/18/thunderbird-07-released/</link>
		<comments>http://www.gingerandjohn.com/archives/2004/06/18/thunderbird-07-released/#comments</comments>
		<pubDate>Fri, 18 Jun 2004 19:32:41 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.gingerandjohn.com/archives/2004/06/18/thunderbird-07-released/</guid>
		<description><![CDATA[ I heart this button, but I have to say that "Reclaim your inbox" doesn't have nearly the power-to-the-people sound of "Take back the web". I wish the Firefox button was this size. Jon Hicks did a fabulous job on these icons.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mozilla.org/products/thunderbird/" title="Get Thunderbird - Reclaim Your Inbox"><img src="http://www.mozilla.org/products/thunderbird/buttons/reclaimyourinbox_large.png"" alt="Get Thunderbird" width="185" height="105" border="0" style="float: left" /></a> I heart this button, but I have to say that "Reclaim your inbox" doesn't have nearly the power-to-the-people sound of "Take back the web". I wish the Firefox button was this size. Jon Hicks did a fabulous job on these icons.</p>]]></content:encoded>
			<wfw:commentRss>http://www.gingerandjohn.com/archives/2004/06/18/thunderbird-07-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interpreting PHP checkboxes</title>
		<link>http://www.gingerandjohn.com/archives/2004/06/17/interpreting-php-checkboxes/</link>
		<comments>http://www.gingerandjohn.com/archives/2004/06/17/interpreting-php-checkboxes/#comments</comments>
		<pubDate>Thu, 17 Jun 2004 20:53:20 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.gingerandjohn.com/archives/2004/06/17/interpreting-php-checkboxes/</guid>
		<description><![CDATA[I've been doing some form development for the CRMA sites, and using PEAR's HTML_QuickForm for it. One of the things I have to do is interpret which checkboxes the user selects. Giving each checkbox its own name is pretty nasty, since this particular form has about 40. That also prevents me from programmatically associating related [...]]]></description>
			<content:encoded><![CDATA[<p>I've been doing some form development for the <span class="caps">CRMA </span>sites, and using <span class="caps">PEAR'</span>s <span class="caps">HTML</span>_QuickForm for it. One of the things I have to do is interpret which checkboxes the user selects. Giving each checkbox its own name is pretty nasty, since this particular form has about 40. That also prevents me from programmatically associating related checkbox elements together.</p>

<p>Here's a short example: The user has to select which <span class="caps">CRMA </span>solution types their company provides in their products and solutions. The choices are:<br />
* Sales<br />
* Marketing<br />
* Service/Help Desk</p>

<p>I started out writing this as:<br />
<code>$form-&gt;addElement('advcheckbox', 'solutionType[]', 'Type of solution (check all that apply):', 'Sales', null);
$form-&gt;addElement('advcheckbox', 'solutionType[]', null, 'Marketing', null);
$form-&gt;addElement('advcheckbox', 'solutionType[]', null, 'Service/Help Desk', 'null');</code></p>

<p>Checking the first option gives me the following $_POST variables:<br />
<code>[__solutionType] =&gt; Array ( [0] =&gt; 1 ) 
[solutionType] =&gt; Array ( [0] =&gt; [1] =&gt; [2] =&gt; )</code></p>

<p>I could work with this, but what I'd like to know isn't that the first element of the array is checked, but that 'Sales' is checked. Then I experimented with adding the checked value attribute to addElement as the last parameter: <br />
<code>$form-&gt;addElement('advcheckbox', 'solutionType[]', 'Type of solution (check all that apply):', 'Sales', null, 'Sales);</code></p>

<p>The other lines were treated similarly, but the output didn't change at all. After tracking down the only relevant entry Google could find on "quickform checkbox variable", I was able to deduce that I needed to define each element of solutionType[] specifically (again, only showing the first element as an example):<br />
<code>$form-&gt;addElement('advcheckbox', 'solutionType['Sales]', 'Type of solution (check all that apply):', 'Sales', null, Sales);</code></p>

<p>Now the output is:<br />
<code>[__solutionType] =&gt; Array ( [Sales] =&gt; 1 ) 
[solutionType] =&gt; Array ( [Sales] =&gt; Sales [Marketing] =&gt; [Service/Help Desk] =&gt; )</code></p>

<p>Defining it like this, I can use the __solutionType array's keys to tell me the exact text of the elements that the user selected. Note that if this code is used in conjunction with defaults (for instance, if and when I allow the submitter to edit the values, I'd want to load it up with what they originally submitted), I'd probably want to use the solutionType array instead, or pay attention to the values of the __solutionType array to handle the case when the user unchecks an option.</p>]]></content:encoded>
			<wfw:commentRss>http://www.gingerandjohn.com/archives/2004/06/17/interpreting-php-checkboxes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
