<?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>Jonathan L Brown</title>
	<atom:link href="http://www.jonathanlbrown.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonathanlbrown.com</link>
	<description>Developer, Entrepreneur</description>
	<lastBuildDate>Thu, 08 Dec 2011 00:33:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Code in CPAN</title>
		<link>http://www.jonathanlbrown.com/2011/12/07/code-in-cpan/</link>
		<comments>http://www.jonathanlbrown.com/2011/12/07/code-in-cpan/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 00:33:34 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Programming Notes]]></category>

		<guid isPermaLink="false">http://www.jonathanlbrown.com/?p=64</guid>
		<description><![CDATA[Well, there you have it: My Perl integration library is indexed into CPAN: http://search.cpan.org/~jonatayah/Captcha-AreYouAHuman-0.00003/lib/Captcha/AreYouAHuman.pm Search &#8220;CAPTCHA&#8221;.]]></description>
			<content:encoded><![CDATA[<p>Well, there you have it: My Perl integration library is indexed into CPAN:</p>
<p><a href="http://search.cpan.org/~jonatayah/Captcha-AreYouAHuman-0.00003/lib/Captcha/AreYouAHuman.pm">http://search.cpan.org/~jonatayah/Captcha-AreYouAHuman-0.00003/lib/Captcha/AreYouAHuman.pm</a></p>
<p>Search &#8220;CAPTCHA&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanlbrown.com/2011/12/07/code-in-cpan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MSDS and Technical Data Sheet Management Component</title>
		<link>http://www.jonathanlbrown.com/2011/09/18/msds-and-technical-data-sheet-management-component/</link>
		<comments>http://www.jonathanlbrown.com/2011/09/18/msds-and-technical-data-sheet-management-component/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 11:44:42 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[Orbro]]></category>

		<guid isPermaLink="false">http://www.jonathanlbrown.com/?p=61</guid>
		<description><![CDATA[Another component reaches the public: http://www.asahikaseiplastics.com/data-sheets.html http://www.asahikaseiplastics.com/data-sheets/msds-forms.html We developed a component for the AK Plastics division to manage datasheets and MSDS forms, giving them internal control and more flexibility.  It also tracks potential customers for follow up.]]></description>
			<content:encoded><![CDATA[<p>Another component reaches the public:</p>
<p><a href="http://www.asahikaseiplastics.com/data-sheets.html">http://www.asahikaseiplastics.com/data-sheets.html</a></p>
<p><a href="http://www.asahikaseiplastics.com/data-sheets/msds-forms.html">http://www.asahikaseiplastics.com/data-sheets/msds-forms.html</a></p>
<p>We developed a component for the AK Plastics division to manage datasheets and MSDS forms, giving them internal control and more flexibility.  It also tracks potential customers for follow up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanlbrown.com/2011/09/18/msds-and-technical-data-sheet-management-component/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MAEOE Study in Joomla</title>
		<link>http://www.jonathanlbrown.com/2011/09/18/maeoe-study-in-joomla/</link>
		<comments>http://www.jonathanlbrown.com/2011/09/18/maeoe-study-in-joomla/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 11:42:41 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[Orbro]]></category>

		<guid isPermaLink="false">http://www.jonathanlbrown.com/?p=57</guid>
		<description><![CDATA[Launching our Joomla redesign of Michigan Alliance for Environmental and Outdoor Education: www.michiganenvironmentaled.org One of the key things to see: Conference registration. We have a component that handles their elaborate registration form, delivers it into a convenient admin interface for browsing or download, and can be configured all sorts of ways. For a laundry list: [...]]]></description>
			<content:encoded><![CDATA[<p>Launching our Joomla redesign of Michigan Alliance for Environmental and Outdoor Education:</p>
<p><a href="http://www.michiganenvironmentaled.org">www.michiganenvironmentaled.org</a></p>
<p>One of the key things to see: Conference registration. We have a component that handles their elaborate registration form, delivers it into a convenient admin interface for browsing or download, and can be configured all sorts of ways. For a laundry list: membership types; membership registration; workshops in different tracks; collision detection preventing simultaneous conflicting registrations; closed workshops; seat counts; tickets; add-ons; late-fees; PayPal integration now, but others could be added.</p>
<p>It also includes our &#8220;PayPal IPN&#8221; component, which allows you to register (subscriber pattern) your other Joomla components and use one PayPal Website Payment Standard without having to integrate through a shopping cart.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanlbrown.com/2011/09/18/maeoe-study-in-joomla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TCPDF: Paging those MultiCells</title>
		<link>http://www.jonathanlbrown.com/2011/07/17/tcpdf-paging-those-multicells/</link>
		<comments>http://www.jonathanlbrown.com/2011/07/17/tcpdf-paging-those-multicells/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 17:26:53 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Programming Notes]]></category>

		<guid isPermaLink="false">http://www.jonathanlbrown.com/?p=51</guid>
		<description><![CDATA[Here&#8217;s something that I ran into: Let&#8217;s say you need to write out some tables to a PDF that you are dynamically building.  You grab the multicell command, everything looks good, and then you get an automatic page break.  Suddenly, your PDF looks like puke on a plate: the cells overwrite each other, rows are [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s something that I ran into:</p>
<p>Let&#8217;s say you need to write out some tables to a PDF that you are dynamically building.  You grab the multicell command, everything looks good, and then you get an automatic page break.  Suddenly, your PDF looks like puke on a plate: the cells overwrite each other, rows are on top of rows, rows stretch awkwardly across the page break.</p>
<p>Here&#8217;s a way to make MultiCell page breaks look good.  I tried this in TCPDF 5 &#8212; the use of the current page function was not working for me.  (You&#8217;re not writing in iTextSharp anymore!)</p>
<pre>
protected function writeMulticells($cell_array) {
    $this-&gt;pdf-&gt;setAutoPageBreak(false);
    $this-&gt;pdf-&gt;startTransaction();
    foreach ($cell_array as $row) {
        $this-&gt;pdf-&gt;MultiCell($row[0], $row[1],
                                    $row[2], $row[3],
                                    $row[4], $row[5],
                                    $row[6]);
    }
    $this-&gt;pdf-&gt;ln(); </code>

    if ($this-&gt;pdf-&gt;getY() &gt; $this-&gt;pdf-&gt;getPageHeight() - 30) {
        $this-&gt;pdf-&gt;rollbackTransaction(true);
        $this-&gt;pdf-&gt;AddPage();
        foreach ($cell_array as $row) {
            $this-&gt;pdf-&gt;MultiCell($row[0], $row[1], $row[2],
               $row[3], $row[4], $row[5], $row[6]);
        }
        $this-&gt;pdf-&gt;ln();
    }
    $this-&gt;pdf-&gt;commitTransaction();
    $this-&gt;pdf-&gt;setAutoPageBreak(true, 30);
}
</pre>
<p>(I just happened to have this inside a CodeIgniter model, hence the protected function.)</p>
<p>What we do is the following:</p>
<ol>
<li> Disable auto page breaks. </li>
<li> Start a transaction. </li>
<li> Write the row. </li>
<li> If you would have crossed into the footer, roll back, make a new page, and write the row again. </li>
<li> Commit the transaction. </li>
<li> Re-enable auto page breaks. </li>
</ol>
<p>All of the examples I could find suggested using the getPage function, but that didn&#8217;t work all of the time in my particular application.  Your mileage may vary, of course, but here&#8217;s an alternative option.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanlbrown.com/2011/07/17/tcpdf-paging-those-multicells/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Online Elections Served Piping Hot</title>
		<link>http://www.jonathanlbrown.com/2011/07/17/online-elections-served-piping-hot/</link>
		<comments>http://www.jonathanlbrown.com/2011/07/17/online-elections-served-piping-hot/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 17:18:21 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Association Voting]]></category>

		<guid isPermaLink="false">http://www.jonathanlbrown.com/?p=48</guid>
		<description><![CDATA[Just an update &#8211; Over at AssociationVoting.com, we&#8217;re getting some great activity this voting season, and we hope that you also stop by if you are looking for a solution for your online elections needs. To quote one of our most recent customers: This is so easy &#8212; it&#8217;s how online voting should be! Simple, [...]]]></description>
			<content:encoded><![CDATA[<p>Just an update &#8211; Over at AssociationVoting.com, we&#8217;re getting some great activity this voting season, and we hope that you also stop by if you are looking for a solution for your <a href="http://www.associationvoting.com">online elections</a> needs.</p>
<p>To quote one of our most recent customers: This is so easy &#8212; it&#8217;s how online voting should be!</p>
<p>Simple, easy, straightforward, secure, professional &#8211; have it all with your online election through <a href="http://www.associationvoting.com">AssocationVoting.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanlbrown.com/2011/07/17/online-elections-served-piping-hot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitor and manage your wireless expenses: GWS launches ExactChargeBack.com</title>
		<link>http://www.jonathanlbrown.com/2011/01/03/monitor-and-manage-your-wireless-expenses-gws-launches-exactchargeback-com/</link>
		<comments>http://www.jonathanlbrown.com/2011/01/03/monitor-and-manage-your-wireless-expenses-gws-launches-exactchargeback-com/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 17:43:29 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Global Wireless Solutions]]></category>
		<category><![CDATA[ecb]]></category>
		<category><![CDATA[exact charge back]]></category>
		<category><![CDATA[global wireless solutions]]></category>
		<category><![CDATA[gws]]></category>
		<category><![CDATA[mobile expenses]]></category>
		<category><![CDATA[mobile phone costs]]></category>
		<category><![CDATA[new website]]></category>
		<category><![CDATA[wireless costs]]></category>
		<category><![CDATA[wireless expenses]]></category>
		<category><![CDATA[wireless savings]]></category>

		<guid isPermaLink="false">http://www.jonathanlbrown.com/?p=44</guid>
		<description><![CDATA[It is a season for new websites: Global Wireless Solutions has launched ExactChargeBack.com, highlighting its novel approach to wireless expense management for medium and large companies. Achieve wireless accountability and cost savings across your enterprise with the ECB solution! And the video walk-through isn&#8217;t half bad, either.]]></description>
			<content:encoded><![CDATA[<p>It is a season for new websites:</p>
<p>Global Wireless Solutions has launched <a href="http://www.exactchargeback.com">ExactChargeBack.com</a>, highlighting its novel approach to wireless expense management for medium and large companies.</p>
<p>Achieve <a href="http://www.exactchargeback.com/about/">wireless accountability and cost savings</a> across your enterprise with the ECB solution!</p>
<p>And the <a href="http://www.exactchargeback.com/how-it-works/">video walk-through</a> isn&#8217;t half bad, either.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanlbrown.com/2011/01/03/monitor-and-manage-your-wireless-expenses-gws-launches-exactchargeback-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New AssociationVoting.com</title>
		<link>http://www.jonathanlbrown.com/2010/12/30/new-associationvoting-com/</link>
		<comments>http://www.jonathanlbrown.com/2010/12/30/new-associationvoting-com/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 12:49:30 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Association Voting]]></category>
		<category><![CDATA[association election]]></category>
		<category><![CDATA[association management]]></category>
		<category><![CDATA[association voting]]></category>
		<category><![CDATA[associationvoting.com]]></category>
		<category><![CDATA[av]]></category>
		<category><![CDATA[board election]]></category>
		<category><![CDATA[member election]]></category>
		<category><![CDATA[member survey]]></category>
		<category><![CDATA[member training]]></category>
		<category><![CDATA[non-dues revenue]]></category>
		<category><![CDATA[online election]]></category>
		<category><![CDATA[online voting]]></category>
		<category><![CDATA[voting]]></category>

		<guid isPermaLink="false">http://www.jonathanlbrown.com/?p=41</guid>
		<description><![CDATA[Check out the new site: www.associationvoting.com Greg, Kim, Nicole, and the whole gang have been hard at work on the updates. While you are there, don&#8217;t miss the menu of new services on tap for 2011, designed to make association management life easier: https://www.associationvoting.com/associationnewservices.html If you are looking for online elections, proxy elections, weighted voting [...]]]></description>
			<content:encoded><![CDATA[<p>Check out the new site: <a href="http://www.associationvoting.com">www.associationvoting.com</a></p>
<p>Greg, Kim, Nicole, and the whole gang have been hard at work on the updates.</p>
<p>While you are there, don&#8217;t miss the menu of new services on tap for 2011, designed to make association management life easier: <a href="https://www.associationvoting.com/associationnewservices.html">https://www.associationvoting.com/associationnewservices.html</a></p>
<p>If you are looking for online elections, proxy elections, weighted voting &#8212; or whatever &#8212; give AV a try.  You can view a live demo on the site or sign up for a free no-obligation trial.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanlbrown.com/2010/12/30/new-associationvoting-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Too Many Authentication Failures: Too Many Pageant Keys</title>
		<link>http://www.jonathanlbrown.com/2010/05/09/too-many-authentication-failures-too-many-pageant-keys/</link>
		<comments>http://www.jonathanlbrown.com/2010/05/09/too-many-authentication-failures-too-many-pageant-keys/#comments</comments>
		<pubDate>Sun, 09 May 2010 17:18:28 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Linux Experience]]></category>

		<guid isPermaLink="false">http://www.jonathanlbrown.com/?p=36</guid>
		<description><![CDATA[Here was a frustrating situation: After setting up a key for my dev box, I couldn&#8217;t connect.  Putty and TortoiseSVN would die on an error of too many authentication failures.  There was no additional information on the server other than this error, and, if I connected from another system, things worked fine. The secret here: [...]]]></description>
			<content:encoded><![CDATA[<p>Here was a frustrating situation: After setting up a key for my dev box, I couldn&#8217;t connect.  Putty and TortoiseSVN would die on an error of too many authentication failures.  There was no additional information on the server other than this error, and, if I connected from another system, things worked fine.</p>
<p>The secret here: I had six active keys in pageant.  I removed all but the key for my dev box, and now it works like a top.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanlbrown.com/2010/05/09/too-many-authentication-failures-too-many-pageant-keys/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OneClick Analytics Debuts at ERE!</title>
		<link>http://www.jonathanlbrown.com/2010/03/17/oneclick-analytics-debuts-at-ere/</link>
		<comments>http://www.jonathanlbrown.com/2010/03/17/oneclick-analytics-debuts-at-ere/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 15:10:02 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Career Liaison]]></category>

		<guid isPermaLink="false">http://www.jonathanlbrown.com/?p=34</guid>
		<description><![CDATA[It certainly is gratifying to see the announcement from ERE expo: get your analytics! http://www.ere.net/2010/03/16/announcements-from-ere-expo/]]></description>
			<content:encoded><![CDATA[<p>It certainly is gratifying to see the announcement from ERE expo: get your analytics!</p>
<p><a href="http://www.ere.net/2010/03/16/announcements-from-ere-expo/">http://www.ere.net/2010/03/16/announcements-from-ere-expo/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanlbrown.com/2010/03/17/oneclick-analytics-debuts-at-ere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sysadmin Tales: SEO by Stealth</title>
		<link>http://www.jonathanlbrown.com/2010/02/03/sysadmin-tales-seo-by-stealth/</link>
		<comments>http://www.jonathanlbrown.com/2010/02/03/sysadmin-tales-seo-by-stealth/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 20:29:33 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Sysadmin Tales]]></category>

		<guid isPermaLink="false">http://www.jonathanlbrown.com/?p=29</guid>
		<description><![CDATA[Although the names have been removed to protect the guilty and innocent, I received this: Hi, My name is Amy and I&#8217;ve been using your page: &#8230; to do research for a presentation I&#8217;m putting together. As a prelaw major, it was very helpful to me. Sorry to take any more of your time, but [...]]]></description>
			<content:encoded><![CDATA[<p>Although the names have been removed to protect the guilty and innocent, I received this:</p>
<blockquote><p>Hi,</p>
<p>My name is Amy and I&#8217;ve been using your page: &#8230; to do research for a presentation I&#8217;m putting together. As a prelaw major, it was very helpful to me.</p>
<p>Sorry to take any more of your time, but I wanted to let you know of a link (&#8230;) on the page above that doesn&#8217;t work. And as a thank you, I thought I&#8217;d suggest a replacement/additional resource for it.  I&#8217;ve been using this other page: &#8230;  and it has a lot of information on the brain (i.e. functions, disorders, injuries, etc) that might be useful to you.</p>
<p>Thanks Again,</p></blockquote>
<p>So, just a polite email telling me I have a broken link, until I saw this:</p>
<blockquote><p>Hi Lisa,</p>
<p>My name is Beverly and I wanted to provide feedback on your page: &#8230; I was using it to do research for a lesson plan on earthquakes and as an Earth Science teacher, I&#8217;ve found it to be a tremendous help, thank you.</p>
<p>I figured I&#8217;d take a minute to return the favor. I noticed you have a broken link here: (<a href="http://earthquake.usgs.gov/4teachers/">&#8230;</a>), so I thought I&#8217;d recommend another page for you. I&#8217;ve been using this page: &#8230; and it&#8217;s a great source for plate tectonics offering good information and extensive academic links which I really appreciated and wanted to pass along.</p>
<p>Thanks again,</p></blockquote>
<p>It is at least a clever scam: Identify websites with high page rank (the site I got this on is very authoritative as it&#8217;s had a very long life, with the webmaster being especially sharp at keeping continuity on the site organization over multiple iterations to ensure good search engine ranking on relevant terms), find broken external links, and get them to change your bad link to their good link and give them link authority.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanlbrown.com/2010/02/03/sysadmin-tales-seo-by-stealth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

