<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="https://www.sohodojo.biz"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Jim Salmons&#039;s blog</title>
 <link>https://www.sohodojo.biz/blogs/jims-tech-blog</link>
 <description></description>
 <language>en</language>
<item>
 <title>Neo4jCP - Exploratory Learning/Development Utility for Neo4j</title>
 <link>https://www.sohodojo.biz/node/27</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;div class=&quot;story-image-right&quot;&gt;&lt;img src=&quot;/sites/default/files/Neo4jCP_mainWindow.png&quot; width=&quot;328&quot; height=&quot;187&quot; alt=&quot;Neo4jCP Main Window&quot; /&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Neo4jCP&lt;/strong&gt; is a compact and convenient Control Panel for &lt;em&gt;managing Neo4j databases&lt;/em&gt; and &lt;em&gt;controlling a Neo4j Server Service&lt;/em&gt;. It runs as a &lt;strong&gt;tray icon utility&lt;/strong&gt; under &lt;strong&gt;Windows OS&lt;/strong&gt;. An executable is provided for those who just want to use it. Source for the &lt;strong&gt;Autohotkey script&lt;/strong&gt; is provided.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;: You may start, stop, and restart the Neo4j Server Service from Neo4jCP as well as create, clone/copy, back-up, delete, and quickly switch between any databases available in your Neo4j &#039;data&#039; storage folder/path.&lt;/p&gt;
&lt;div class=&quot;story-image-left&quot;&gt;
&lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/AjOpOgTdInU&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Intended Use&lt;/strong&gt;: Neo4j Control Panel is a lightweight, convenient utility primarily for PERSONAL use by individuals running Neo4j locally on a Windows machine for learning and development purposes. It is especially designed for &#039;learning by doing&#039; using the many available sample databases referenced in Neo4j learning materials such as: &lt;a href=&quot;http://www.neo4j.org/develop/example_data&quot;&gt;http://www.neo4j.org/develop/example_data&lt;/a&gt;. (This is NOT a Control Panel intended for use by professional DBAs or sysadmins needing an admin tool for deployed Neo4j systems.)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Current State&lt;/strong&gt;: &quot;I&#039;ve scratched my itch.&quot; This utility was developed initially to help me during personal learning of Neo4j. Its emphasis is on quickly and easily switching among, adding, cloning/copying, and backing up multiple databases. This utility has not been tested on anything other than my personal development box which is Windows 7 x64. YMMV.&lt;/p&gt;
&lt;p&gt;Learn more and access the repository for downloads and more at &lt;a href=&quot;http://jim-salmons.github.io/neo4jcp/&quot;&gt;http://jim-salmons.github.io/neo4jcp/&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Section:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/taxonomy/term/2&quot;&gt;Tech Talk&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Thu, 29 Aug 2013 22:43:40 +0000</pubDate>
 <dc:creator>Jim Salmons</dc:creator>
 <guid isPermaLink="false">27 at https://www.sohodojo.biz</guid>
 <comments>https://www.sohodojo.biz/node/27#comments</comments>
</item>
<item>
 <title>Thoughts on TRON and Mirror Worlds</title>
 <link>https://www.sohodojo.biz/blogs/jims-tech-blog/thoughts-tron-and-mirror-worlds</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;em&gt;The Code Project Insider&lt;/em&gt; (the must-read daily developer news &amp;amp; humor newsletter) had a pointer to this post at On-lineCollege.org: &lt;a href=&quot;http://www.onlinecollege.org/2011/04/06/the-top-10-movies-for-computer-science-students&quot;&gt;The Top 10 Movies for Computer Science Students&lt;/a&gt;. Yes, all the obligatory &quot;usual suspects&quot; where there, including &lt;strong&gt;The Matrix&lt;/strong&gt;, &lt;strong&gt;Hackers&lt;/strong&gt;, and &lt;strong&gt;Wargames&lt;/strong&gt;, etc. And, no surprise, &lt;strong&gt;TRON&lt;/strong&gt; made the list.&lt;/p&gt;
&lt;div class=&quot;story-image-right&quot;&gt;&lt;img src=&quot;/sites/default/files/TRON.jpg&quot; width=&quot;230&quot; height=&quot;354&quot; alt=&quot;TRON movie poster&quot; /&gt;&lt;/div&gt;
&lt;p&gt;I was glad that the article author used the TRON movie poster as the visual &#039;hook&#039; for the article. However, I would put TRON at the top of the list rather than in the middle. Not that an actual relative rating is suggested by the author&#039;s list, rather, I believe TRON is in a class by itself when it comes to thoughtful movie-going for us computer-types. This is especially true for this film&#039;s use in Computer Science teaching (which is the point of the article and its posting at &lt;a href=&quot;http://www.onlinecollege.org/&quot;&gt;On-LineCollege.org&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;In virtually (no pun intended) all of these other films, the computer technology is playing its own &#039;role&#039;, that is, just being computers. In TRON, however, we have a remarkable allegory that – while being somewhat loosely translated for mainstream cinema consumption – is all about &#039;&lt;strong&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.660&quot; title=&quot;Here you will find links to free PDF versions of Nwana &amp;amp; Heath&#039;s excellent &#039;Software Agents: An Overview&#039; 1996 article&quot;&gt;software agency&lt;/a&gt;&lt;/strong&gt;&#039; and the relationship of the &lt;em&gt;user&lt;/em&gt; to his/her &lt;em&gt;programs&lt;/em&gt;. In particular, TRON captures better than any other source I know, the spirit of what David Gelernter wrote so remarkably about in his classic, &lt;em&gt;&lt;a href=&quot;http://www.sohodojo.com/ribs/mirror.html&quot;&gt;Mirror Worlds&lt;/a&gt;&lt;/em&gt; (subtitled, &lt;em&gt;Or the Day Software Puts the Universe in a Shoebox: How It Will Happen and What It Will Mean&lt;/em&gt;). &lt;/p&gt;
&lt;div class=&quot;story-image-left&quot;&gt;&lt;img src=&quot;http://sohodojo.com/ribs/images/mirror.gif&quot; alt=&quot;Mirror Worlds bookcover&quot; /&gt;&lt;/div&gt;
&lt;p&gt;An important Big Idea of &lt;em&gt;Mirror Worlds&lt;/em&gt; is the &quot;&lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Homunculus&quot;&gt;Homunculus&lt;/a&gt; Effect&lt;/strong&gt;&quot; – that is, what happens when a computer simulation&#039;s input/output feeds are connected to the Real World it simulates? As Gelernter asserts, the simulation stops being a simulation and becomes, in effect, a god-like heads-up-display out-of-body view onto that Real World context.&lt;/p&gt;
&lt;p&gt;If I was teaching a Computer Science class, I surely would use &lt;em&gt;TRON&lt;/em&gt; and &lt;em&gt;Mirror Worlds&lt;/em&gt; together. I would have students watch TRON first, then we&#039;d engage in a group discussion about what it means and how they relate its story to their own experience and views on technology. Then we&#039;d all read &lt;em&gt;Mirror Worlds&lt;/em&gt;, watch TRON again, and have a second discussion to see how our insights evolve.&lt;/p&gt;
&lt;p&gt;I encourage Comp Sci teachers to consider a &lt;em&gt;TRON/Mirror Worlds&lt;/em&gt; &#039;unit&#039; for your class. Or if you are simply a Triple-L&#039;er – Life-Long Learner – you might enjoy streaming the TRON video and grabbing a copy of &lt;em&gt;Mirror Worlds&lt;/em&gt; for a first or re-read if its been a while.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;--Sohodojo Jim--&lt;/em&gt;&lt;br /&gt;
Cedar Rapids, Iowa USA&lt;/p&gt;
&lt;p&gt;P.S. Historical/non-trivial-trivia post-script... It was the ideas so well captured in &lt;em&gt;Mirror Worlds&lt;/em&gt; that made David Gelernter a target of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Theodore_Kaczynski&quot;&gt;Unabomber&lt;/a&gt;. Thankfully his attack was unsuccessful in terms of death, but the letter-bomb was crippling for Dr. Gelernter. So for extra credit, I&#039;d add that – while David Kaczynski is/was completely wrong in what he did – a read of his manifesto (actually entitled &lt;em&gt;&lt;a href=&quot;http://en.wikisource.org/wiki/Industrial_Society_and_Its_Future&quot;&gt;Industrial Society and Its Future&lt;/a&gt;&lt;/em&gt;) is worthwhile as discussion point/counterpoint.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Section:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/taxonomy/term/2&quot;&gt;Tech Talk&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Mon, 11 Apr 2011 17:20:56 +0000</pubDate>
 <dc:creator>Jim Salmons</dc:creator>
 <guid isPermaLink="false">25 at https://www.sohodojo.biz</guid>
 <comments>https://www.sohodojo.biz/blogs/jims-tech-blog/thoughts-tron-and-mirror-worlds#comments</comments>
</item>
<item>
 <title>How SQLyog Shaped My Daily Workflow</title>
 <link>https://www.sohodojo.biz/sqlyog</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;div class=&quot;story-image-right&quot;&gt;&lt;img src=&quot;/sites/default/files/images/sqlyog_cute_logo_tn.png&quot; width=&quot;102&quot; height=&quot;129&quot; alt=&quot;SQLyog&#039;s cute logo&quot; /&gt;&lt;/div&gt;
&lt;p&gt;Over the years since leaving the Corporate Road Warrior life, I have used and come to depend on the brilliant MySQL admin app, &lt;strong&gt;SQLyog&lt;/strong&gt; by the good folks at &lt;a href=&quot;http://webyog.com/en/index.php&quot; title=&quot;Visit the Webyog website...&quot;&gt;Webyog&lt;/a&gt;. SQLyog is one of those rare apps that didn&#039;t so much as fill a tool spec in my web development toolkit, it found its way in and has grown into a &lt;em&gt;must-have and can&#039;t-imagine-working-without&lt;/em&gt; tool. &lt;strong&gt;SQLyog has quite literally played a significant role in shaping how I work&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;So when the good folks at Webyog announced a contest to solicit customer testimonials, I had new incentive to take some time to do the screencast testimonial I have always intended to do.&lt;/p&gt;
&lt;p&gt;Please take a moment and view my (first YouTube) video... it&#039;s 720p/HD, so go full screen if you can :-) &lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;iframe title=&quot;YouTube video player&quot; width=&quot;640&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/TTwMfVz9Dto&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;[More to come...]&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Section:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/taxonomy/term/2&quot;&gt;Tech Talk&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Wed, 16 Mar 2011 16:55:43 +0000</pubDate>
 <dc:creator>Jim Salmons</dc:creator>
 <guid isPermaLink="false">24 at https://www.sohodojo.biz</guid>
 <comments>https://www.sohodojo.biz/sqlyog#comments</comments>
</item>
<item>
 <title>GoogleMapAPIv3 Module for Drupal</title>
 <link>https://www.sohodojo.biz/blogs/jims-tech-blog/googlemapapiv3-module-drupal</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;Although it may never see the light of day as a published contributed module at &lt;a href=&quot;http://www.Drupal.org&quot;&gt;www.Drupal.org&lt;/a&gt;, I welcome anyone interested to download, use, improve, and spread around my GoogleMapAPIv3 module. For those who just want to grab and run; you&#039;ll need these two files:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;/fyeo/googlemapapiv3.zip&quot;&gt;GoogleMapAPIv3.zip&lt;/a&gt;
  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/fyeo/GoogleMapAPI_class_tweaked.zip&quot;&gt;GoogleMapAPI_class_tweaked.zip&lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The README in the module subdirectory will tell you all you need to know to get going. &lt;/p&gt;
&lt;p&gt;For those who want to know more, keep reading.&lt;/p&gt;
&lt;h2&gt;A Bit of &lt;a href=&quot;http://www.DropaBalm.com&quot;&gt;www.DropaBalm.com&lt;/a&gt; Background&lt;/h2&gt;
&lt;div class=&quot;story-image-right&quot;&gt;&lt;img src=&quot;/sites/default/files/images/GoogleMapping_at_DropaBalm.png&quot; width=&quot;393&quot; height=&quot;378&quot; alt=&quot;GoogleMapping_at_DropaBalm.png&quot; /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href=&quot;http://demo.dropabalm.com/storynets/2&quot;&gt;Click to open this page at the DropaBalm.com demo site.&lt;/a&gt;&lt;/center&gt;&lt;/div&gt;
&lt;p&gt;Timlynn and I are working on a very interesting new &#039;Portfolio Life&#039; business venture at &lt;a href=&quot;http://www.DropaBalm.com&quot;&gt;www.DropaBalm.com&lt;/a&gt;. In a nutshell, we will tap the power of story and social networking dynamics to encourage the gifting of lip balms among friends, family, and others. The idea is to have fun while helping some great non-profit organizations and their worthy causes.&lt;/p&gt;
&lt;p&gt;Our base platform is the venerable and potent Drupal content management system and its equally potent and flexible Ubercart ecommerce contributed super-module. (Ubercart itself consists of a pile of individual modules and noone would likely do an Ubercart-powered site without adding even more great Ubercart core-extending modules.)&lt;/p&gt;
&lt;p&gt;Of course the challenge is to balance ease of building with deployed performance. It may be easy to &#039;get where you want to be&#039; by cobbling together a mammoth collection of contributed modules. But you may also wind up with a platform that has poor performance because you also have a large collection of features that you never need or use. Some modules are well-designed to load &#039;just enough&#039; functionality as you use them. Many, especially older ones, are not.&lt;/p&gt;
&lt;p&gt;This is the dilemma I faced when deciding how to add Google Maps to the &#039;Story-Net&#039; (story-driven social network gaming) features at &lt;a href=&quot;http://www.DropaBalm.com&quot;&gt;www.DropaBalm.com&lt;/a&gt;. There is a large collection of contributed models at &lt;a href=&quot;http://www.Drupal.org&quot;&gt;www.Drupal.org&lt;/a&gt; that provide all manner of Google Map features. Many leverage the power of CCK (Content Construction Kit) and Views to provide flexible, no-programming mapping features to your Drupal site.&lt;/p&gt;
&lt;p&gt;But our requirements are different. As I&#039;ll relate in a later post, we&#039;re using a MySQL-friendly (we&#039;re actually using &lt;strong&gt;MariaDB&lt;/strong&gt;) database plug-in/engine, &lt;strong&gt;OQGraph&lt;/strong&gt;, to provide SQL-friendly graph algorithms to work in concert with our location-based mapping of social networks. This is sufficiently atypical of a basic Drupal CMS site that it is unrealistic to expect to cobble this capability together with CCK, Views and other contributed modules.&lt;/p&gt;
&lt;p&gt;In addition, Version 2 of the Google Maps Javascript API is now deprecated in favor of the more flexible and easier-to-use Version 3. Unfortunately, most of the Drupal GoogleMap contributed modules are built on the Version 2 API and have not been updated to Version 3. There is, however, a widely-used and freely available PHP class – Brad Wedell&#039;s excellent &lt;a href=&quot;http://code.google.com/p/php-google-map-api/&quot;&gt;php-google-map-api&lt;/a&gt; – that provides PHP developers a means to use the Version 3 Google Map API. So, to get lean and focused Google Maps using the version 3 API, I created this very limited-purpose module.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;To be fully transparent, I doubt that I will continue using this module further into evolution of &lt;a href=&quot;http://www.DropaBalm.com&quot;&gt;www.DropaBalm.com&lt;/a&gt;. I expect to migrate to the Jefferson Institute&#039;s remarkable collection of data visualization modules/framework, &lt;strong&gt;VIDI&lt;/strong&gt;. But this will be the subject of another (and later) post.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2&gt;A No-frills Drupal Module for Google Maps using Javascript v.3 API&lt;/h2&gt;
&lt;p&gt;As mentioned and linked above, GoogleMapAPIv3 is available here as a free, use at your own risk and reward module. There is already at least one Drupal contributed module project that purports to be in the process of providing Version 3 Javascript API features. So I am not sure if this module will live long enough and have a niche to be published. In the meantime, for those developers needed to scratch this itch as I did, here&#039;s what I have to offer... (The rest of this post is essentially a lightly formatted version of the module&#039;s README file.)&lt;/p&gt;
&lt;h2&gt;GoogleMapAPIv3 Module README&lt;/h2&gt;
&lt;p&gt;This module provides a Drupal-friendly wrapper on Brad Wedell&#039;s PHP GoogleMapAPI class with Javascript V.3 support.&lt;/p&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ol&gt;&lt;li&gt;A minimal wrapper on the GoogleMapAPI class. No admin UI, just an API for using this class in your themes and/or custom code.&lt;/li&gt;
&lt;li&gt;Allows Drupal&#039;s database functions to handle database connection.&lt;/li&gt;
&lt;li&gt;Provides a Drupal-based geocode cache.&lt;/li&gt;
&lt;li&gt;Provides a means to work-around or fix the issue with &quot;double ?&quot; (more than one question mark character) in a Javascript include reference in theme templates and/or custom code. (See Installation Instructions below for instructions on getting this to work.)&lt;/li&gt;
&lt;/ol&gt;&lt;h3&gt;Installation Instructions&lt;/h3&gt;
&lt;ol&gt;&lt;li&gt;Download the &lt;a href=&quot;./fyeo/googlemapapiv3.zip&quot;&gt;GoogleMapAPIv3 module&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Unzip it into sites/all/modules and enable it in Drupal.&lt;/li&gt;
&lt;li&gt;Get the GoogleMap.php file (and optionally the JSMin.php companion file) from Brad Wedell or use my tweaked version (see below) from either:
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.php-google-map-api.googlecode.com/svn/trunk/releases/3.0/src/&quot;&gt;www.php-google-map-api.googlecode.com/svn/trunk/releases/3.0/src/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sohodojo.biz/fyeo/GoogleMapAPI_class_tweaked.zip&quot;&gt;www.Sohodojo.biz/fyeo/GoogleMapAPI_class_tweaked.zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Once downloaded, place these files in the empty /googlemapapiv3/GoogleMap subdirectory of this module.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;BEFORE referencing this module&#039;s API in your theme templates or custom code, you need to tweak any theme template through which you will include a GoogleMapAPIv3 map. At a minimum, this means a slight tweak to your page.tpl.php file. See the Fix Double-? Issue below.&lt;/li&gt;
&lt;li&gt;Once you have the module enabled and one of the &#039;double-?&#039; work-arounds in place, you can simply use Brad Wedell&#039;s API documentation to include PHP-based Javascript generating code that uses the Version 3 GoogleMap API in your themes or custom modules.&lt;/li&gt;
&lt;/ol&gt;&lt;h3&gt;Fix Double-? Issue&lt;/h3&gt;
&lt;p&gt;One nice thing about the V.3 GoogleMap API is that API keys are no longer required. However, for licensing reasons with its third-party partners providing geocoding information, every call into the GoogleAPI needs to have – whether needed or not – the GPS-related &#039;sensor&#039; parameter, e.g. &quot;&lt;a href=&quot;http://maps.google.com/maps/api/js?sensor=false&quot;&gt;http://maps.google.com/maps/api/js?sensor=false&lt;/a&gt;&quot;.&lt;/p&gt;
&lt;p&gt;A problem you will have as a consequence of this is related to Drupal&#039;s (at least in Drupal 6.x) cache-triggering mechanism. The &#039;?x&#039; suffix appended by Drupal&#039;s core system to any call that includes a Javascript or CSS file ensures that the most current version of the file is accessed rather than a cached version. Obviously, this throws a monkey-wrench into situations where the reference being (again) suffixed already includes a &#039;?&#039;-parameter portion in the CSS or Javascript include being processed. The second &#039;?&#039; should, in this context, be an &#039;&amp;amp;&#039; rather than a &#039;?&#039;. (This long-standing issue has, apparently, been fixed in Drupal 7.)&lt;/p&gt;
&lt;p&gt;In addition, using &lt;strong&gt;drupal_add_js&lt;/strong&gt;, such as:&lt;/p&gt;
&lt;p&gt;  &lt;code&gt;drupal_add_js(&#039;http://maps.google.com/maps/api/js?sensor=false&#039;, &#039;module&#039;,&lt;br /&gt;
      &#039;header&#039;, FALSE, TRUE, FALSE);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;can be problematic. Not only would this be hit with the &#039;double ?&#039; issue, the &#039;http://&#039; protocol reference to an external script can result in the string being prefixed with a &#039;/&#039; character as &lt;strong&gt;drupal_add_js&lt;/strong&gt; assumes you are using a relatvie reference to a file on your server.&lt;/p&gt;
&lt;p&gt;So you have two options:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Option A&lt;/strong&gt;. Simply include the needed script including reference in your template file by adding the needed line in the header. For example, in page.tpl.php just after the CSS and Javascript script includes of the theme-provided variable contents add this:
&lt;p&gt;    &lt;code&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://maps.google.com/maps/api/js?sensor=false&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;
  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Option B&lt;/strong&gt;. Replace the &#039;scripts&#039; variable substitution line in your template. Again for example, in page.tpl.php, change this line:
&lt;p&gt;    &lt;code&gt;&amp;lt;?php print $scripts; ?&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;      to this:&lt;/p&gt;
&lt;p&gt;    &lt;code&gt;&amp;lt;?php print preg_replace(&#039;%(^.*&amp;lt;.*?)/(http.*?\?.*)\?(.*?&amp;gt;.*)%im&#039;, &lt;br /&gt;
        &#039;$1$2&amp;amp;$3&#039;, $scripts); ?&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;      which uses a regular expression to fix both the external file and double-? issues.
  &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;About the included files&lt;/h3&gt;
&lt;p&gt;When you download the currently available GoogleMapAPI source via &lt;a href=&quot;http://www.code.google.com/p/php-google-map-api/&quot;&gt;www.code.google.com/p/php-google-map-api/&lt;/a&gt; there may be updates included so see the Project&#039;s documentation. Note, however, that the version of GoogleMapAPI.php and JSMin.php downloadable from Sohodojo.biz are slightly modified to include these four differences:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;The file-ending &#039;?&amp;gt;&#039; PHP closing tag is removed as per the Drupal (and PHP.net) best practice.&lt;/li&gt;
&lt;li&gt;The polyline-handling methods have been tweaked to recognize and appropriately implement the &#039;geodesic&#039; option in V3&#039;s PolyLineOptions API.&lt;/li&gt;
&lt;li&gt;A minor bug is fixed to enable shadow files for custom markers to display.&lt;/li&gt;
&lt;li&gt;I&#039;ve included mobcom&#039;s tweak to autoclose infowindows as described in this &lt;a href=&quot;http://code.google.com/p/php-google-map-api/issues/detail?id=22&quot;&gt;Google Code project post&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;All other needed (and important but not actually contributing to core functionality) tweaks to the GoogleMapAPI class are made in the module as overrides in the GoogleMapAPIv3 subclass which is implemented in the module.&lt;/p&gt;
&lt;p&gt;Essentially, these overrides are needed to massage the Javascript and page-rendering generated code to be Drupal-friendly. That is, since the output of the &#039;stock&#039; GoogleMapAPI class must pass through Drupal&#039;s various hook-based &#039;gauntlet&#039;, some non-essential bits needed to be commented out to keep them from being visible on a Drupal page that includes a map generated by the original GoogleMapAPI class.&lt;/p&gt;
&lt;h3&gt;How to Use&lt;/h3&gt;
&lt;p&gt;The basic process of adding a GoogleMapAPIv3 map to your content is:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Create the Map object, do a bit of stock prep to ensure the rendered page will display the map.&lt;/li&gt;
&lt;li&gt;Pull whatever Drupal data together than you need to build your map.&lt;/li&gt;
&lt;li&gt;Use the PHP-based object methods to push your Drupal data through the PHP object into what will become the Javascript generated by the PHP object that will be run client-side on your output page.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Here&#039;s a skeletal cookbook of what the essentials of this look like:&lt;/p&gt;
&lt;pre&gt;
  &lt;strong&gt;$my_map = new GoogleMapAPIv3();&lt;/strong&gt;

  // Note: You can do whatever you need to do to pull your map together right
  // here. But let&#039;s push it down into a function call (see below).
  &lt;strong&gt;$themed_content = pull_my_map_together($my_map);&lt;/strong&gt;

  // Add relevant Javascript to the header needed to render a client-side map.
  // Note: This is not needed if you hard-code add this script reference in your
  // page.tpl.php template file. If, however, you are using the regex fix so that
  // this is only added on-demand as needed, then include...
  &lt;strong&gt;drupal_add_js(&#039;http://maps.google.com/maps/api/js?sensor=false&#039;, &#039;module&#039;, &#039;header&#039;, FALSE, TRUE, FALSE);&lt;/strong&gt;

  // Regardless of whether you use Option A or B to get the Google JS V3 API 
  // active, you will need this: 
  &lt;strong&gt;drupal_add_js($sn_map-&amp;gt;getMapJS(), &#039;inline&#039;, &#039;header&#039;, FALSE, TRUE, FALSE);&lt;/strong&gt;

  // Now the onload function which will take care of drawing the map.
  &lt;strong&gt;drupal_add_js(&#039;Drupal.behaviors.printMapOnLoad = function(context) 
    {this.onLoad&#039; . $my_map-&amp;gt;map_id . &#039;();}&#039; , &#039;inline&#039;);&lt;/strong&gt;

  // Add the empty div where the map will be rendered client-side:
  &lt;strong&gt;$themed_content .= &#039;&amp;lt;div id=&quot;map&quot; style=&quot;width: 500px; height: 500px; position:relative;&quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;/strong&gt;

  &lt;strong&gt;return $themed_content;&lt;/strong&gt;

&lt;/pre&gt;&lt;p&gt;And here is a sample function called to add bits to the Map object:&lt;/p&gt;
&lt;pre&gt;
  &lt;strong&gt;function pull_my_map_together(&amp;amp;$my_map) {&lt;/strong&gt;
    // GoogleMap-related vars, etc.
    &lt;strong&gt;$color = &#039;red&#039;;
    $line_weight = 4;
    $line_opacity = &#039;&#039;;
    $geodesic = true;&lt;/strong&gt;
  
    // Prep the custom marker icon (adjust to your need)...
    &lt;strong&gt;$marker_icon = base_path() . path_to_theme() . &#039;/images/marker_icons/marker.png&#039;;
    $icon_shadow = base_path() . path_to_theme() . &#039;/images/marker_icons/shadow-marker.png&#039;;&lt;/strong&gt;
    // Icon and Infowindow anchor parameters depend on your needs...
    &lt;strong&gt;$icon_key = $my_map-&amp;gt;setMarkerIconKey($marker_icon, $icon_shadow, 20, 56, 20, 56);&lt;/strong&gt;
  
    // You will likely have to do way more than this to pull together the 
    // location data you want to show...
    &lt;strong&gt;$result = db_query(&quot;SELECT from_address, to_address FROM {some_drupal_table}&quot;);&lt;/strong&gt;
  
    &lt;strong&gt;while ($locationdata = db_fetch_object($result)) {&lt;/strong&gt;
      // Cache the address if it&#039;s not already known...
      &lt;strong&gt;if (!$my_map-&amp;gt;getCache($locationdata-&amp;gt;from_address)) {
        $lonlat = $my_map-&amp;gt;geoGetCoords($locationdata-&amp;gt;from_address);
        $my_map-&amp;gt;putCache($locationdata-&amp;gt;from_address, $lonlat[&#039;lon&#039;], $lonlat[&#039;lat&#039;]);
      };&lt;/strong&gt;
      // Pull together the infobox marker verbiage...
      &lt;strong&gt;$infowin_text = &quot;This is infowin content...&quot;;&lt;/strong&gt;
      // Add the first map marker...
      &lt;strong&gt;$my_map-&amp;gt;addMarkerByAddress($locationdata-&amp;gt;from_address, 
        &#039;From address title&#039;, $infowin_text, &#039;&#039;, $marker_icon, $icon_shadow);&lt;/strong&gt;
  
      &lt;strong&gt;if (!$my_map-&amp;gt;getCache($locationdata-&amp;gt;to_address)) {
        $lonlat = $my_map-&amp;gt;geoGetCoords($locationdata-&amp;gt;to_address);
        $my_map-&amp;gt;putCache($locationdata-&amp;gt;to_address, $lonlat[&#039;lon&#039;], $lonlat[&#039;lat&#039;]);
      };&lt;/strong&gt;
  
      // Add the second map marker...
      &lt;strong&gt;$my_map-&amp;gt;addMarkerByAddress($locationdata-&amp;gt;to_address, 
        &#039;To address title&#039;, $infowin_text, $marker_icon, $icon_shadow);&lt;/strong&gt;
      // Now add a polyline to the map connecting the two locations...
      &lt;strong&gt;$my_map-&amp;gt;addPolyLineByAddress($locationdata-&amp;gt;from_address, 
        $locationdata-&amp;gt;to_address, false, $color, $line_weight, 
        $line_opacity, $geodesic);&lt;/strong&gt;
    }
  };

&lt;/pre&gt;&lt;p&gt;This should be enough to get you going...&lt;/p&gt;
&lt;p&gt;Happy Mapping,&lt;br /&gt;&lt;em&gt;--Sohodojo Jim--&lt;/em&gt;&lt;br /&gt;&lt;em&gt;AKA DropaBalm Jambo&lt;/em&gt; :-)&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Section:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/taxonomy/term/2&quot;&gt;Tech Talk&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 17 Dec 2010 01:35:23 +0000</pubDate>
 <dc:creator>Jim Salmons</dc:creator>
 <guid isPermaLink="false">22 at https://www.sohodojo.biz</guid>
 <comments>https://www.sohodojo.biz/blogs/jims-tech-blog/googlemapapiv3-module-drupal#comments</comments>
</item>
<item>
 <title>My Chrome extension in the App Store!</title>
 <link>https://www.sohodojo.biz/node/21</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;My work on our new &lt;a href=&quot;http://www.DropaBalm.com&quot;&gt;www.DropaBalm.com&lt;/a&gt; venture has had a fun side-effect... I wrote and released my first extension for the Chrome browser! &lt;a href=&quot;https://chrome.google.com/webstore/detail/hfmakegkfgkoaeoligncjmnklkdmdjin/&quot;&gt;DBG helper&lt;/a&gt; is a minimalist, special-purpose extension that will make life a bit easier and more productive for PHP developers using the &lt;a href=&quot;http://www.php-debugger.com/dbg/&quot;&gt;DBG debugger&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;story-image-right&quot;&gt;&lt;img src=&quot;/sites/default/files/images/dbg_helper_main.png&quot; width=&quot;400&quot; height=&quot;275&quot; alt=&quot;dbg_helper_main.png&quot; /&gt;&lt;/div&gt;
&lt;p&gt;The most likely user is anyone using &lt;a href=&quot;http://www.nusphere.com/products/phped.htm&quot;&gt;Nusphere&#039;s PhpED&lt;/a&gt;. This commercial PHP IDE includes a robust, up-to-date, and full-featured DBG debugger. There is also a &lt;a href=&quot;http://www.php-debugger.com/dbg/&quot;&gt;free DBG version available&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Installation, configuration, and use of my extension is quick and simple. While you can configure the clienthost, port, and session ID entries of the Options dialog, this is not required. The defaults will work fine. You do, however, need to enter specific or regex (wildcard) entries in the Domains section. These entries determine the URL addresses where the DBG helper extension will be active.&lt;/p&gt;
&lt;p&gt;Once you have your Domains specified, visiting one of these entries will result in the DBG helper dimmed (grey) icon being displayed in the right-hand side of the addressbar (see screenshot). When you want to initiate a debugging or profiling session with your next page refresh, link click, or form post, simply click the DBG helper icon. A red (ladybug) icon indicates a debugging session is to be started. The Alarm Clock icon indicates a profiling session request.&lt;/p&gt;
&lt;div class=&quot;story-image-left&quot;&gt;&lt;img src=&quot;/sites/default/files/images/dbg_helper_options.png&quot; width=&quot;400&quot; height=&quot;275&quot; alt=&quot;dbg_helper_options.png&quot; /&gt;&lt;/div&gt;
&lt;p&gt;Assuming you have an appropriately configured PHP IDE and DBG Listener running, your next page refresh, link click, or form post will trigger the requested session. Note that this current release supports a &#039;one-round-trip&#039; session. When your debugging or profiling session is finished, your IDE will signal the end of the session and wipe the extension&#039;s cookie in preparation for your next request. This finished session will be indicated in your browser by the DBG helper icon returning to the greyed-inactive icon.&lt;/p&gt;
&lt;p&gt;When you leave your development site for another web destination, the DBG helper icon will discretely disappear from your addressbar until needed the next time you need it.&lt;/p&gt;
&lt;p&gt;This Chrome extension was greatly inspired by the good folks at WREP IT who provide the Xdebug helper extension. In addition, this Chrome extension was influenced by the excellent (and the most full-featured DBG browser plugin) DBGbar available for Firefox.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Section:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/taxonomy/term/2&quot;&gt;Tech Talk&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Thu, 09 Dec 2010 03:20:25 +0000</pubDate>
 <dc:creator>Jim Salmons</dc:creator>
 <guid isPermaLink="false">21 at https://www.sohodojo.biz</guid>
 <comments>https://www.sohodojo.biz/node/21#comments</comments>
</item>
<item>
 <title>Woody-esque Humor and a Tip</title>
 <link>https://www.sohodojo.biz/blogs/jims-tech-blog/woody-esque-humor-and-tip</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;I&#039;ve subscribed to &lt;a href=&quot;http://www.codeproject.com&quot;&gt;The Code Project&lt;/a&gt; &lt;em&gt;Daily Developer News&lt;/em&gt; email newsletter for a few years. Sure, it&#039;s a convenient way to get insightful pointers to important and helpful tech news and opinion. But the real reason I am addicted is that the editorial staff who slug the quick-link references could easily be on the writer staffs of Letterman, Leno, or O’Brien… that is, if really funny-but-insightful short jokes about esoteric developer news stories were funny to mainstream audiences. But for those who like to think and laugh in cubicle or out, TCP’s Daily Developer News is highly recommended.&lt;/p&gt;
&lt;p&gt;I usually start each day with a cup of coffee and read through the day&#039;s Daily Developer News for a few laughs and always find myself being pulled over to a good read that helps me keep learning and enjoying the work I do. Today&#039;s collection included one that reminded me of Woody and our great &quot;fishing expeditions&quot; (See this post about &lt;a href=&quot;/blogs/jims-tech-blog/remembering-triangle-area-smalltalk-veterans&quot;&gt;Smalltalk, RTP, and Woody&lt;/a&gt;.) The form of an entry in the News is: Line 1. Headline (linked to referenced story), Line 2. Humorously insightful editorial slug (subhead), Line 3. Source citation. Here’s the one that gave me a Woody laugh this morning:&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://tinyurl.com/2a78o95&quot;&gt;The Truth About Value Types&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Lies, damn lies, and type systems.&lt;/strong&gt;&lt;br /&gt;
Source: &lt;em&gt;Fabulous Adventures In Coding&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Long live Woody Ideas and the folks who worked together on it! :-)&lt;br /&gt;
--Jim--&lt;/p&gt;
&lt;p&gt;P.S. For context, here&#039;s a &lt;a href=&quot;http://www.codeproject.com/script/Mailouts/View.aspx?mlid=8342&quot;&gt;link to the full Daily Developer News with this entry&lt;/a&gt;. (There is also a link in the upper left sidebar to subscribe if you&#039;d like a daily dose of chuckles to go along with your deep thinking.)&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Section:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/taxonomy/term/2&quot;&gt;Tech Talk&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Tue, 05 Oct 2010 13:41:21 +0000</pubDate>
 <dc:creator>Jim Salmons</dc:creator>
 <guid isPermaLink="false">18 at https://www.sohodojo.biz</guid>
 <comments>https://www.sohodojo.biz/blogs/jims-tech-blog/woody-esque-humor-and-tip#comments</comments>
</item>
<item>
 <title>Remembering Triangle Area Smalltalk Veterans</title>
 <link>https://www.sohodojo.biz/blogs/jims-tech-blog/remembering-triangle-area-smalltalk-veterans</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;I took a few minutes today to join the &lt;a href=&quot;http://www.linkedin.com/groups?mostPopular=&amp;amp;gid=3441675&quot;&gt;Triangle Area Smalltalk Veterans&lt;/a&gt; affinity group on LinkedIn. At present this is a fledgling group with a handful of &#039;early bird&#039; members. In the annals of the history of early &lt;strong&gt;object-oriented technology&lt;/strong&gt;, however, the &#039;Triangle&#039; lays claim to a large, astonishingly productive, and remarkably influential collection of &lt;strong&gt;Smalltalk &lt;em&gt;designer-developers&lt;/em&gt;&lt;/strong&gt;. The Triangle, for non-veterans not familiar with the shorthand reference, is the &lt;strong&gt;Research Triangle Park&lt;/strong&gt; region of North Carolina. The Triangle was the hotbed of object technology and, more specifically, Smalltalk that burned brightly in the late 1980s through mid 1990s (speaking &#039;veteran era&#039; here, not to say that there are not avid OOPers, including Smalltalkers, still at large in the area). The Triangle during what is now being referenced as the &#039;veteran era&#039; was an inspiring and, yes, very fun time and place full of great creativity and camaraderie.&lt;/p&gt;
&lt;p&gt;We won&#039;t go into detail here about who did what when, etc. Those reflections will likely begin to bubble up in the conversations that emerge on the new LinkedIn group&#039;s page. Timlynn and I were, however, moved by the group&#039;s formation to root around in a few boxes in the back of the office to dig out this bit of photographic memorabilia (click image to enlarge):&lt;/p&gt;
&lt;div class=&quot;story-image-center&quot;&gt;&lt;a href=&quot;/sites/default/files/images/KSC-Woody-Team-1993_web_large.jpg&quot;&gt;&lt;img src=&quot;/sites/default/files/images/KSC-Woody-Team-1993_web_med.jpg&quot; width=&quot;604&quot; height=&quot;491&quot; alt=&quot;KSC-Woody-Team-1993_web_med.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;CHALLENGE VETERANS&lt;/strong&gt;: If you truly are a Triangle Area Smalltalk Veteran, you should be able to name at least half the folks found in this picture. (1 point per person) &lt;em&gt;Extra credit&lt;/em&gt;: You can cogently and accurately describe what Woody was. (3 points) &lt;em&gt;Bonus points:&lt;/em&gt; You know what &#039;fishing&#039; was. (1 point) You fished. (10 points)  &lt;em&gt;Winner take all&lt;/em&gt;: You have a computer that is running a copy of Woody and can prove it! (100 points) :-) &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Scoring&lt;/strong&gt;: &lt;em&gt;25 points&lt;/em&gt; - You are likely in the picture. &lt;em&gt;20-24 points&lt;/em&gt;: You are likely an ex-KSCer. &lt;em&gt;5-19 points&lt;/em&gt;: You&#039;ve attended a handful of Golden Era OOPSLAs. &lt;em&gt;1-4 points&lt;/em&gt;: You&#039;ve worked with someone in this picture and had to endure war stories of, &quot;You think this is creative and challenging!? Let me tell you about creative challenge... Have I ever told you about my days on the Woody Team?&quot; &lt;em&gt;Over 100 points&lt;/em&gt;: Your first name is likely Sam, Steve, or Jay (but we may be surprised on this one).&lt;/p&gt;
&lt;p&gt;Cheers and Great Memories,&lt;br /&gt;&lt;em&gt;--Jim and Timlynn--&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Section:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/taxonomy/term/2&quot;&gt;Tech Talk&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 24 Sep 2010 05:08:11 +0000</pubDate>
 <dc:creator>Jim Salmons</dc:creator>
 <guid isPermaLink="false">17 at https://www.sohodojo.biz</guid>
 <comments>https://www.sohodojo.biz/blogs/jims-tech-blog/remembering-triangle-area-smalltalk-veterans#comments</comments>
</item>
<item>
 <title>Local Food Supply Chain Networks: The Case for Business Development and Job Creation</title>
 <link>https://www.sohodojo.biz/blogs/jims-tech-blog/local-food-supply-chain-networks-case-business-development-and-job-creation</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;Unemployment and its part played in our current economic stagnation is a huge Gordian knot for those who have to work on policy and programs to address this crisis. Certainly the Local Food Movement is no all-encompassing Silver Bullet to be fired at the heart of a sagging economy. However, we do believe that a creatively imagined and energetically supported local food supply chain agenda can stimulate new business and job creation.&lt;/p&gt;
&lt;h2&gt;The USDA Researchers&#039; Call to Arms: Opportunities Identified&lt;/h2&gt;
&lt;div class=&quot;story-image-right&quot;&gt;&lt;a href=&quot;http://www.ers.usda.gov/publications/err99/&quot; title=&quot;Get the &#039;Comparing the Structure, Size, and Performance of Local and Mainstream Food Supply Chains&#039; PDF documents...&quot;&gt;&lt;img src=&quot;/sites/default/files/images/USDA_FoodSupplyChains_cover.png&quot; width=&quot;205&quot; height=&quot;264&quot; alt=&quot;USDA Food Supply Chains report cover&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Timlynn recently gave a &lt;strong&gt;&#039;must read&#039; recommendation&lt;/strong&gt; for research report ERR-99, &lt;a href=&quot;http://www.ers.usda.gov/publications/err99/&quot;&gt;&lt;em&gt;Comparing the Structure, Size, and Performance of Local and Mainstream Food Supply Chains&lt;/em&gt;&lt;/a&gt;, recently published by the USDA Economic Research Service. This multi-case study is a detailed comparison of so-called &quot;mainstream&quot; food supply chains (AKA globalized, industrial scale) and local food supply chains. It is must reading for all of us in the local food movement.&lt;/p&gt;
&lt;p&gt;Of particular interest – and a clarion call for innovators within the local food movement – is the final section of the report, &quot;Priorities for Future Research.&quot; This section identifies three issues requiring immediate attention: &lt;/p&gt;
&lt;ol&gt;&lt;li&gt;The need to understand the impact on local food market expansion relative to product availability and pricing sensitivity. &lt;/li&gt;
&lt;li&gt;The need to introduce transparency and accountability into the &quot;food miles&quot; and &quot;carbon footprint&quot; aspects of food systems to assess the true total cost of mainstream versus local food.&lt;/li&gt;
&lt;p&gt; But perhaps most subtly provocative and most pregnant with opportunity is the researchers&#039; third area requiring research:&lt;/p&gt;
&lt;li&gt;&quot;...relative to mainstream chains, the local supply chains studied in this report appear to retain a greater share of wages, income, and farm revenues within local areas… &lt;strong&gt;Of particular interest is the role of supply chain &lt;u&gt;structure&lt;/u&gt; in determining the &lt;u&gt;number&lt;/u&gt; and &lt;u&gt;types&lt;/u&gt; of jobs that local supply chains may create relative to mainstream chains.&lt;/strong&gt;&quot;&lt;/li&gt;
&lt;/ol&gt;&lt;p class=&quot;right&quot;&gt;Pages 69-70, &lt;em&gt;Comparing the Structure, Size, and Performance of Local and Mainstream Food Supply Chains&lt;/em&gt;, &lt;br /&gt; ERR-99, Economic Research Service, USDA, 2010 – Our &lt;strong&gt;&lt;u&gt;emphasis&lt;/u&gt; added&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This third priority is an area that Sohodojo Business Services is working on today.  We explicitly recognize and support new business development and job/income creation in the local food supply chains we are developing. We describe this in more detail in the sections below. &lt;/p&gt;
&lt;h2&gt;Creating Opportunities for More than Just the Usual Suspects&lt;/h2&gt;
&lt;p&gt;It is no surprise to hear how increased consumer demand for local food can lead to more farmers and on-farm work opportunities, and to more opportunities for processor/packagers, etc.  But, with a prevailing assumption that the supply chain is mostly limited to sales through farmers markets, institutions, and traditional retail or buyer co-ops, we miss the opportunity to envision and support new roles and associated business/income opportunities in the entire supply chain involved in the local food system. Even if we envision such opportunities, there is little we can do to tap this expanded potential if the supply chain business information systems used are inflexible and cannot accommodate an expanded, network-based business vision. &lt;/p&gt;
&lt;p&gt;Small business information systems tend to be largely business entity-centric; a cloistered environment with limited connections to external systems. Information systems for small business supply chains tend to be based on strict buyer-seller exchange and interaction; they do not envision nor support active network-based chains. &lt;/p&gt;
&lt;p&gt;Such myopic one-to-another exchange systems will work to create, in effect, &quot;chain reactions&quot; of hand-off relations. But such insular systems do not have the capacity to be &quot;self-aware,&quot; in the sense of either a managed or self-organizing system at the whole system level. This limits growth and diversity and a potential network supply chain of various types of participants.&lt;/p&gt;
&lt;p&gt;Further, small business systems tend to be tuned to business-to-business levels of granularity. Within a business, processes may accommodate workflows at the person-based role level. However, we rarely see networked-based systems that are fine-grained and flexible enough to handle hybrid systems composed of businesses &lt;u&gt;and&lt;/u&gt; individuals (free agents, proactive customers, etc.).&lt;/p&gt;
&lt;p&gt;The Sohodojo Business Systems local food supply chain platform is intentionally envisioned to overcome the limitations of small business systems. It is network-centric, fine-grained, and flexible enough to support self-organizing and self-managing business models. &lt;/p&gt;
&lt;p&gt;Our &lt;del&gt;current&lt;/del&gt; best example is the Local Food Club network we developed for Kalona Organics. (&lt;a href=&quot;http://www.KalonaLocal.com&quot;&gt;www.KalonaLocal.com&lt;/a&gt; - &lt;em&gt;Note: The site is currently on-line but dormant due to a redirection of effort and resources by Kalona Organics to its rebranding and mainstream food supply chain agenda. The Metro Food Club is no longer in operation. The information presented here reflects our experience report of this prior project.&lt;/em&gt;)&lt;/p&gt;
&lt;h2&gt;Basic Building Blocks of a Local Food Supply Chain&lt;/h2&gt;
&lt;p&gt;Kalona Organics and its affiliated Farmer&#039;s All Natural Creamery are located in the Kalona area in southeast Iowa. This region has a special resource in its cultural heritage of Amish and Mennonite farmers who settled this rich agricultural area. Kalona Organics and its creamery play a vital role in processing the dairy products from dozens of these area family-based farms. Kalona Organics also works with Farmers&#039; Hen House, a successful Amish-based egg aggregator and producer. Kalona Organics, Farmers&#039; Hen House, Farmer&#039;s All Natural Creamery and the individuals who lead them are, in system/role terms, known as &lt;em&gt;network enablers&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;Kalona Organics has been experimenting with expanding its business through development of local food clubs. The first of these has been based at Metro High School in Cedar Rapids for a little over a year. There is a desire to expand its local food clubs throughout Cedar Rapids and Iowa City, but to do so Kalona Organics needs the support of a business information system that is easy to use, accurate and most importantly, one that captures the business elements and processes throughout their supply chain network. Several buyer-seller exchange-based business system candidates were tested and ultimately rejected. Kalona Organics contacted Sohodojo Business Services for help with their business expansion vision. &lt;/p&gt;
&lt;p&gt;Sohodojo Business Services brings to the table a fundamental underlying design perspective known as an &quot;executable business model.&quot; In brief, this means that all the elements/processes in the business information system we develop are as close as possible to the elements and processes that business folks describe when they talk and think about their business and how their business works. We do not impose an external model on the active system of a business; instead we capture exactly how the business works and develop a business information system that supports, enhances, and expands it. &lt;/p&gt;
&lt;p&gt;Details of this perspective are beyond the scope of this paper. If you are interested in going deeper, please click here: &lt;a href=&quot;https://www.sohodojo.biz/fyeo/SohodojoBizSvcs_KalonaLocal_models_draft.pdf&quot;&gt;this PDF includes a diagram of our meta-model for the Kalona Organic local food network&lt;/a&gt;. (Note: the &#039;meta-model&#039; is the system &quot;roadmap&quot; which helps us to build the various underlying models that together make up the &quot;big picture&quot; of our local food network system.)&lt;/p&gt;
&lt;p&gt;We started modeling the Kalona system and determined the basic building blocks of the Kalona Local Food Club network. The most obvious and relatively coarse-grained elements of this model are the groups or organizations that interact with each other within this supply chain.&lt;/p&gt;
&lt;div class=&quot;story-image-center&quot;&gt;&lt;img src=&quot;/sites/default/files/images/LocalFoodSupplyChain_orgs_basic.png&quot; width=&quot;761&quot; height=&quot;475&quot; alt=&quot;Local Food Supply Chain Organizations and Basic Interactions&quot; /&gt;&lt;/div&gt;
&lt;p&gt;This simple model shows the various exchanges and interactions that get local food from the Farm field to the Food Club member&#039;s table. Some products, such as fresh produce, require no additional processing or packaging, so we see a direct link from Farm to Food Club. In the case of dairy products, like those processed by Kalona Organics&#039; Farmers All Natural Creamery, processing and packaging are required before the finished product makes its way to the Club member&#039;s table.&lt;/p&gt;
&lt;p&gt;Note the important role that Kalona Organics plays as the Network Enabler. That dotted line around the domain of the Local Food Club Network represents the vital role that Kalona Organics plays in bringing the network supply chain into being. That domain boundary line represents a whole range of requirements, roles, and processes that are the subject of other models within our system. Here we focus only the local food club model within this much larger, more complex system. &lt;/p&gt;
&lt;h2&gt;Beyond the Basics - Hubs and Informal Groups within the Supply Chain&lt;/h2&gt;
&lt;p&gt;The simple diagram above generally captures the various exchanges and interactions that occur in the Kalona Organic local food club business supply chain. If we stopped here and developed a business information system to support the above modeled buyer-seller exchanges alone, we would have missed how this network business supports &lt;em&gt;growth&lt;/em&gt; and &lt;em&gt;diversification opportunities&lt;/em&gt;. More importantly, we would have missed a key element in how to grow and expand local food clubs across the region.  &lt;/p&gt;
&lt;p&gt;By careful observation of this business network as it operates, we identified the potential roles and contributions of &lt;strong&gt;network hubs&lt;/strong&gt; and &lt;strong&gt;informal groups&lt;/strong&gt; and their impact for job/income creation, and for local food club replication and expansion. &lt;/p&gt;
&lt;div class=&quot;story-image-center&quot;&gt;&lt;img src=&quot;/sites/default/files/images/LocalFoodSupplyChain_orgs_elaborated.png&quot; width=&quot;801&quot; height=&quot;562&quot; alt=&quot;Local Food Supply Chain Organizations with Hubs and Pick-up Groups&quot; /&gt;&lt;/div&gt;
&lt;p&gt;As members of the Local Food Club based at Metro High School, we have a vested interest in seeing that Kalona Organics local food club program is a success. As we modeled the local food club system, we interviewed fellow club members to find out more about their participation in and motivation to be part of the Metro High School food club. &lt;/p&gt;
&lt;p&gt;Two club members described their roles in relation to informal sub-groups within the club. One was an &lt;em&gt;Order Aggregator&lt;/em&gt;; developing/submitting a bulk order, paying for, and then picking up and delivering food club items for five families in her neighborhood. The other was a &lt;em&gt;Pick-up Agent&lt;/em&gt;; coming to the drop point, picking up all the items ordered by her fellow workmates, and bringing them back to her local small business office. &lt;/p&gt;
&lt;p&gt;We also heard very positive feedback for our interest in developing networks of food clubs targeted to particular groups. For example, a &lt;strong&gt;Club Hub&lt;/strong&gt; could develop a handful of individual food clubs that exclusively service senior citizen enclaves in Cedar Rapids or Iowa City.&lt;/p&gt;
&lt;p&gt;We added two new elements to our food club model – &lt;strong&gt;Club Hub&lt;/strong&gt; and &lt;strong&gt;Pick-up Group&lt;/strong&gt; – based on our direct participation and study of the first Food Club within the network. Both identified potential sources for business expansion.&lt;/p&gt;
&lt;h2&gt;The Seeds of Business Development and Job/Income Creation&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Club Hubs&lt;/strong&gt; and &lt;strong&gt;Pick-up Groups&lt;/strong&gt; identified a potential primary source for growth and diversification of the supply chain network, i.e., new business development and job/income creation.&lt;/p&gt;
&lt;p&gt;An enterprising entrepreneur could develop a &lt;strong&gt;Club Hub&lt;/strong&gt; business by targeting and marketing to a niche network of food clubs. With a solid information management system that supports a network business model and business processes, the Club Hub business information system could be replicated across different niche networks as they are developed. The potential here is unlimited.&lt;/p&gt;
&lt;p&gt;It is easy to imagine how a motivated &lt;em&gt;Order Aggregator&lt;/em&gt;, charging a modest fee for services, could soon develop a new small business and larger income stream.  By working directly with a Club Hub or Kalona Organics itself and expanding the number of families she/he services, the &lt;em&gt;Order Aggregator&lt;/em&gt; can move from &lt;strong&gt;Pick-up Group&lt;/strong&gt; service to become an off-shoot, standalone &lt;strong&gt;Food Club&lt;/strong&gt;.  &lt;/p&gt;
&lt;p&gt;It is equally easy to imagine how an entrepreneurial &lt;em&gt;Pick-up Agent&lt;/em&gt; could morph into an &lt;em&gt;Order Aggregator&lt;/em&gt; and then spawn an off-shoot, standalone Food Club.&lt;/p&gt;
&lt;p&gt;And, a successful Food Club could grow quite large and subdivide into a several smaller food clubs under the support and general management of the parent food club. While still a Food Club itself, it could in effect become a &lt;strong&gt;Club Hub&lt;/strong&gt; as well. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Food Clubs&lt;/strong&gt; and &lt;strong&gt;Club Hubs&lt;/strong&gt;, together with the &lt;strong&gt;Farms&lt;/strong&gt; and &lt;strong&gt;Suppliers&lt;/strong&gt; (Producer/Packager), are the obvious sources of new business development in our local food supply chain network. The Clubs and Hubs &quot;own&quot; specific business processes that collectively make the network function. &lt;/p&gt;
&lt;p&gt;Farms and Suppliers success in participating in a local food supply chain will result in their becoming a recognized small business (5-500 employees). Clubs, Hubs, and even some Pick-up Groups are more reasonably expected to range in size from the microenterprise (1-5 owner-operator/employees) to very small business (6-25 employees) organizations. Clubs, Hubs and Pick-up Groups are the source of small business creation. &lt;/p&gt;
&lt;p&gt;But Organizations don&#039;t directly do anything. People as Actors of Roles within the Business Processes are how real work gets done. These Roles are the source of job and income creation. &lt;/p&gt;
&lt;p&gt;While a detailed Actors and Roles model is beyond the scope of this article, you can easily envision that the Organizations here have individuals filling such roles as Club Leader, Club Hub Coordinator, Pick-up Group Agent, etc., along with more traditional Roles of Distribution Manager, Delivery Person, Bookkeeper, Shipping Clerk, etc. (For more see the &lt;em&gt;Persons and Roles&lt;/em&gt; model in the &lt;a href=&quot;https://www.sohodojo.biz/fyeo/SohodojoBizSvcs_KalonaLocal_models_draft.pdf&quot;&gt;PDF document&lt;/a&gt; cited earlier.)&lt;/p&gt;
&lt;h2&gt;Sustainability in 21&lt;sup&gt;st&lt;/sup&gt; Century Rural and Distressed Urban Communities&lt;/h2&gt;
&lt;p&gt;The skeptical among us might easily wonder if a Pick-up Group&#039;s &lt;em&gt;Order Aggregator&lt;/em&gt; is truly a sustainable &quot;job&quot; in the traditional sense of even part-time let alone full-time employment. The Optimist (some might say the Pollyanna) within us says, &quot;Maybe&quot; as we don&#039;t yet know how vigorous and sustainable a local food supply chain can be when buttressed by such an intentionally-designed small business network information system. The Realist within us says, &quot;Not likely&quot;… but that is why we routinely qualify our discussion about job creation with slash-qualification of &#039;job/income&#039; creation.&lt;/p&gt;
&lt;p&gt;There is an underlying shared belief (perhaps, just hope) that when the current deep economic slump ends, the rebound will be characterized by new and growing businesses creating millions of much-needed &quot;real jobs.&quot; We, like you, hope so. But realistically there are systemic problems in our national economy that will not be addressed by a simple bounce in consumer demand and new spendable income. Age-ism and a mushrooming Baby Boomer generation are yet to be dealt with as an expected Golden Years Retirement becomes more myth than reality. Under-employment and frequent or persistent unemployment will mean life-style challenges for many of us who assumed there would be a quality of life that is increasingly difficult to achieve or maintain. &lt;/p&gt;
&lt;p&gt;We are not just being pessimistic. A July 2010 &lt;a href=&quot;http://www.brookings.edu/opinions/2010/0702_jobs_greenstone.aspx&quot;&gt;Brookings Institute article&lt;/a&gt; notes it will take &lt;strong&gt;more than eleven years&lt;/strong&gt; for the US economy to rebound and close the current &quot;job gap&quot; &lt;strong&gt;&lt;em&gt;&lt;u&gt;IF&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt; job creation &lt;u&gt;from today on matches&lt;/u&gt; the job growth (every month) for &lt;u&gt;the best year&lt;/u&gt; for job creation in the 2000s – &lt;strong&gt;&lt;u&gt;2005&lt;/u&gt;&lt;/strong&gt;. The likelihood of this occurring looks dismal given the current outlook for our economy in what is now being called the Great Recession. &lt;/p&gt;
&lt;p&gt;How will the Baby Boomer generation fare in these tough economic times? The July-August issue of the &lt;em&gt;AARP Bulletin&lt;/em&gt; notes that over 50% of the 50+ year olds they recently surveyed say they &quot;rely or will rely&quot; on Social Security more than they ever expected, as unemployment remains high and job opportunities for the 50+ set remain low. With pressure afoot to cut or curtail Social Security benefits, we definitely need to rethink what constitutes job creation and come up with new ways to achieve retirement financial security. &lt;/p&gt;
&lt;p&gt;While being a Big Box &quot;greeter&quot; or fast food burger flipper may be the inevitable route for some to supplement their income, we need to create as aggressively as possible, new income generating roles and rewarding opportunities. &lt;/p&gt;
&lt;p&gt;Becoming a &lt;em&gt;Pick-Up Agent&lt;/em&gt; or &lt;em&gt;Order Aggregator&lt;/em&gt; may not be a J-O-B with health insurance benefits or a 401K, but it may help to put food on the table as in-kind compensation for the services rendered. A &lt;em&gt;Food Club Leader&lt;/em&gt; may generate supplemental retirement income along with the personal satisfaction of knowing that he/she is helping to put good food on the tables of family, friends and neighbors. And everyone involved, as the USDA researchers remind us, may find comfort knowing that an increasing share of our local income stays in our local economy helping to make life more livable in the world we experience every day.&lt;/p&gt;
&lt;h2&gt;So What Are the Challenges to Local Food Supply Chain Innovation?&lt;/h2&gt;
&lt;p&gt;By far – and this is not limited to us and our work with the local food supply chain domain – our most significant challenge is seed funding for anything that is, at its core, a network. Banks, government-supported small business policies and services, and even our own fellow entrepreneurs and business owners are oriented to the business-entity as their organizing unit and service constituent, not the vital network – the supply chain – in which such businesses are embedded.&lt;/p&gt;
&lt;p&gt;The folks at Kalona Organics have done their best to fund and sustain our collaboration to create an innovative Local Food Club network. But this was certainly a challenge for them.  They had human and financial resource constraints that shifted their attention from one opportunity or crisis to another; and these are tough economic times. Although Kalona Organics has self-selected into the role of &lt;em&gt;Network Enabler&lt;/em&gt; in this local food supply chain system, the responsibility of funding supply chain network models to be replicated across Iowa, should not fall solely on them.&lt;/p&gt;
&lt;p&gt;Building the kind of microenterprise and small business supply chain infrastructure that is needed for network models like the one we helped develop at &lt;a href=&quot;http://www.KalonaLocal.com&quot;&gt;www.KalonaLocal.com&lt;/a&gt; is an effort that will &quot;float many boats&quot; in our sustainable local economy future. So while we applaud and encourage the efforts of Kalona Organics to move this agenda forward, we all need to be more creative and proactive in finding the means to fund and support such innovation.&lt;/p&gt;
&lt;p&gt;A second challenge we face is overcoming the &quot;Doer-Thinker Divide.&quot; We often hear clients or prospective clients suggest that they, the private sector business folks, &quot;do&quot; and the public/academic sector folks &quot;talk and study&quot; then leave. This is sometimes true and reflects the built-in constraints of research funding and the non-participant observer role of the professional researcher. But in many cases the problem is that we just haven&#039;t identified the project or agenda that lends itself to &quot;shared doing.&quot; We believe Sohodojo Business Services&#039; local food supply chain network software infrastructure development project is an ideal candidate for such applied research and innovation.&lt;/p&gt;
&lt;p&gt;Our unique skills, experience, and perspective are ideal for serving a bridge role between our clients and the unique resource available through Iowa State University. We hope to evolve a working relationship with the University&#039;s Leopold Center for Sustainable Agriculture to bring a collection of the faculty&#039;s &quot;best and brightest&quot; to work on this much-needed project. We have already identified our starting &quot;A-Team&quot; of folks with whom we would like to work, including:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Andy Larson, ISU Extension &quot;guru&quot; for Small Farm Sustainability
	&lt;/li&gt;
&lt;li&gt;Brian Mennecke, MIS supply chain expert
	&lt;/li&gt;
&lt;li&gt;Cornelia and Jan Flora, sociologists with expertise in agriculture, economic development, and change management
	&lt;/li&gt;
&lt;li&gt;Corry Bregendahl, Leopold Center scientist with special focus on CSA and economic/statistical research
	&lt;/li&gt;
&lt;li&gt;Leigh Tesfatsion, agent-based computational economics, and market coordination and learning
	&lt;/li&gt;
&lt;li&gt;Rich Pirog, Leopold Center&#039;s Marketing and Food Systems Leader
	&lt;/li&gt;
&lt;li&gt;others, especially in computer science and the business school (volunteers and recommendations welcome)
	&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;We are working toward the opportunity to bring these folks together with our current and prospective clients and partners – e.g., Kalona Organics, Farmers Hen House, Local Harvest Supply, the Iowa Food Co-op, etc. – which will so directly benefit from such an applied research and development project.&lt;/p&gt;
&lt;h2&gt;Next Steps...&lt;/h2&gt;
&lt;p&gt;Within the time and resource limits of our collaboration with Kalona Organics, we did all in our power to launch and evolve the &lt;a href=&quot;http://www.KalonaLocal.com&quot;&gt;www.KalonaLocal.com&lt;/a&gt; web platform. We are fully aware that its features were merely the first of many needed steps to achieve what we know could be accomplished with a social-network enhanced web services platform supporting local food clubs. We will continue to actively seek opportunities to partner with kindred spirits who want to work with us to enhance and extend our local food club platform.&lt;/p&gt;
&lt;p&gt;Concurrently, we are soliciting the interest and advice from our network of prospective supporters and collaborators at the Leopold Center and Iowa State University. We hope that this article will generate further interest and assistance in advancing our applied R&amp;amp;D agenda. We need some funding and organizing support from Leopold Center to host a working group session of the folks listed above.&lt;/p&gt;
&lt;p&gt;As always, thank you for your interest and for taking the time to read this article. Even more so, we thank you if you will take the time to think about our challenges and offer your insights and recommendations. We can be reached by our &lt;a href=&quot;/contact&quot;&gt;contact page&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;--Jim Salmons and Timlynn Babitsky--&lt;br /&gt;&lt;/em&gt;Sohodojo Business Services&lt;br /&gt;&lt;a href=&quot;https://www.sohodojo.biz&quot;&gt;www.Sohodojo.biz&lt;/a&gt;&lt;br /&gt; Cedar Rapids, Iowa&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot;text-align:center&quot;&gt; ###&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Section:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/taxonomy/term/3&quot;&gt;Ideas&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Mon, 02 Aug 2010 23:40:24 +0000</pubDate>
 <dc:creator>Jim Salmons</dc:creator>
 <guid isPermaLink="false">16 at https://www.sohodojo.biz</guid>
 <comments>https://www.sohodojo.biz/blogs/jims-tech-blog/local-food-supply-chain-networks-case-business-development-and-job-creation#comments</comments>
</item>
</channel>
</rss>
