<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Tech-Blog: Category In-Touch</title>
    <link>/articles/category/in-touch</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Mike Pierson's technology blog</description>
    <item>
      <title>ASP Possibility: Virtual Deposit Box</title>
      <description>
&lt;p&gt;An online repository for dated and confirmed storage of electronic documents and other media.&lt;/p&gt;

&lt;p&gt;A typical use-case scenario involves a home owner taking digital photos of their household contents: jewelry, stereo equipment, art work, etc. The digital photos, and possibly scanned copies of invoices for the same items are then submitted, via the Internet (email, FTP, browser up-load), to the Virtual Deposit Box service.&lt;/p&gt;

&lt;p&gt;The market space seems to be somewhat crowded already...&lt;/p&gt;

&lt;ul&gt;
 &lt;li&gt;&lt;a href="http://www.ip.com/"&gt;IP.com&lt;/a&gt; "enables customers to protect all internal e records such that they can prove the original date and content of any document in the future"&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://www.surety.com/about.php"&gt;Surety&lt;/a&gt; "is the leading provider of tamperproof data integrity solutions that generate irrefutable evidence of exactly what electronic records were created and precisely when" (market leader?)&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://www.readnotify.com/readnotify/notary.asp"&gt;Read Notify&lt;/a&gt; allows customers to timestamp and notarize email contents&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://www.genuinedoc.com/index.html"&gt;GenuineDoc&lt;/a&gt; allows customers to digitally sign online content&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See my initial &lt;a href="http://www.intouch.ca/mpierson/asps/VirtualDeposit.html"&gt;write-up&lt;/a&gt;. I do not expect to take this any further.&lt;/p&gt;  

</description>
      <pubDate>Thu, 10 Mar 2005 15:48:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:990d22528369b3fd6991c05355c1829a</guid>
      <author>mop</author>
      <link>/articles/2005/03/10/VirtualDepositBox</link>
      <category>In-Touch</category>
      <trackback:ping>/articles/trackback/135</trackback:ping>
    </item>
    <item>
      <title>Brainstorm Session 4</title>
      <description>
&lt;p&gt;Results of our final brainstorming session using Paul&amp;rsquo;s random association technique.&lt;/p&gt;

&lt;p&gt;Our random topics were as follows:&lt;/p&gt;
&lt;dl&gt;
 &lt;dt&gt;Follow the Money&lt;/dt&gt;
 &lt;dd&gt;recreational properties&lt;/dd&gt;
 &lt;dt&gt;Huge Problem&lt;/dt&gt;
 &lt;dd&gt;distance&lt;/dd&gt;
 &lt;dt&gt;Future Technologies&lt;/dt&gt;
 &lt;dd&gt;data integration&lt;/dd&gt;
 &lt;dt&gt;Current Skill set&lt;/dt&gt;
 &lt;dd&gt;performance and optimization&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;The results of our storming are &lt;a href="http://toronto.intouch.ca/brainstorm/20050228.jpeg"&gt;online&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Ideas of Interest&lt;/h2&gt;

&lt;h3&gt;Caretaker Matchmaker Service&lt;/h3&gt;
&lt;p&gt;A job board for cottage caretakers.&lt;/p&gt;

&lt;h3&gt;Integrated Travel Reservation System&lt;/h3&gt;
&lt;p&gt;Facilitate linking from one reservation system to other recommended sites, e.g. if selected bed and breakfast is not available on a given date, facilitate the transfer of customer to another B&amp;amp;B.&lt;/p&gt;

&lt;h3&gt;Customized Travel Reservation System&lt;/h3&gt;
&lt;p&gt;A CJB-like reservation service for small destination properties, e.g. B&amp;amp;B.&lt;/p&gt;

</description>
      <pubDate>Wed, 02 Mar 2005 11:19:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:70e64b1c36b492a0c40f6a135fb72c58</guid>
      <author>mop</author>
      <link>/articles/2005/03/02/brainstorm4</link>
      <category>In-Touch</category>
      <trackback:ping>/articles/trackback/109</trackback:ping>
    </item>
    <item>
      <title>Brainstorm Session 3</title>
      <description>
&lt;p&gt;Results of another brainstorming session using Paul&amp;rsquo;s random association technique.&lt;/p&gt;

&lt;p&gt;Our random topics were as follows:&lt;/p&gt;
&lt;dl&gt;
 &lt;dt&gt;Follow the Money&lt;/dt&gt;
 &lt;dd&gt;overseas family vacations&lt;/dd&gt;
 &lt;dt&gt;Huge Problem&lt;/dt&gt;
 &lt;dd&gt;poverty&lt;/dd&gt;
 &lt;dt&gt;Future Technologies&lt;/dt&gt;
 &lt;dd&gt;rich web interfaces&lt;/dd&gt;
 &lt;dt&gt;Current Skill set&lt;/dt&gt;
 &lt;dd&gt;customer service&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;The results of our storming are &lt;a href="http://toronto.intouch.ca/brainstorm/20050225.jpeg"&gt;online&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Ideas of Interest&lt;/h2&gt;

&lt;h3&gt;Travellers Matchmaker Service&lt;/h3&gt;
&lt;p&gt;A matchmaking service for travellers and those folks who are willing to billet.&lt;/p&gt;

&lt;h3&gt;Travel Games / In-Air MPORPG&lt;/h3&gt;
&lt;p&gt;Assuming in-air Internet access becomes somewhat ubiquitous, a collection of games suitable for air travellers, especially games that involve multiple players in the same plane.&lt;/p&gt;

&lt;h3&gt;Travel Notification Service&lt;/h3&gt;
&lt;p&gt;SMS or other notification service for travellers and their agents, e.g. notify of flight delays especially when travel involves tricky connections.&lt;/p&gt;

</description>
      <pubDate>Tue, 01 Mar 2005 14:06:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:d0c9ee00dcd633c10d354b318be12003</guid>
      <author>mop</author>
      <link>/articles/2005/03/01/brainstorm3</link>
      <category>In-Touch</category>
      <trackback:ping>/articles/trackback/108</trackback:ping>
    </item>
    <item>
      <title>Brainstorm Session 2</title>
      <description>
&lt;p&gt;The second brainstorming session with Julia, Sepehr, and myself, using Paul&amp;rsquo;s random association technique was more fruitful.&lt;/p&gt;

&lt;p&gt;Our random topics were as follows:&lt;/p&gt;
&lt;dl&gt;
 &lt;dt&gt;Follow the Money&lt;/dt&gt;
 &lt;dd&gt;high taxes&lt;/dd&gt;
 &lt;dt&gt;Huge Problem&lt;/dt&gt;
 &lt;dd&gt;time management&lt;/dd&gt;
 &lt;dt&gt;Future Technologies&lt;/dt&gt;
 &lt;dd&gt;digital photography&lt;/dd&gt;
 &lt;dt&gt;Current Skill set&lt;/dt&gt;
 &lt;dd&gt;virtual communities&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;The results of our storming are &lt;a href="http://toronto.intouch.ca/brainstorm/20050224.jpeg"&gt;online&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Ideas of Interest&lt;/h2&gt;

&lt;h3&gt;Automated Tax Payment&lt;/h3&gt;
&lt;p&gt;Online service that facilitates the annual tax filing and payment process, thus allowing users to avoid the high-stress filing period(s).&lt;/p&gt;

&lt;h3&gt;Insurance Photo Repository&lt;/h3&gt;
&lt;p&gt;Online service that allows users to store photographs and other digitized images (document scans?) in a dated and irrevocable manner.  The service would provide dated third party verification of ownership. &lt;/p&gt;

&lt;h3&gt;CellShots.com&lt;/h3&gt;
&lt;p&gt;Online organizer for digital photos taken via cell phone.  Similar to flickr.com and others, but with an interface suitable for cell phone photeurs.&lt;/p&gt;

</description>
      <pubDate>Tue, 01 Mar 2005 14:05:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:1510f5c761988cf3a0ea2102ee8ad5b7</guid>
      <author>mop</author>
      <link>/articles/2005/03/01/brainstorm2</link>
      <category>In-Touch</category>
      <trackback:ping>/articles/trackback/107</trackback:ping>
    </item>
    <item>
      <title>Brainstorm Session 1</title>
      <description>

&lt;p&gt;Julia, Sepehr and I spend some time brainstorming business ideas, using Paul&amp;rsquo;s &lt;a href="http://www.intouch.ca/miniato/intouch/ideasX4.html"&gt;random juxtaposition&lt;/a&gt; method.  This was our first session using said method, so the results were a little uneven.&lt;/p&gt;

&lt;p&gt;Our random topics were as follows:&lt;/p&gt;
&lt;dl&gt;
 &lt;dt&gt;Follow the Money&lt;/dt&gt;
 &lt;dd&gt;debt (mainly housing costs), debt reduction, debt servicing&lt;/dd&gt;
 &lt;dt&gt;Huge Problem&lt;/dt&gt;
 &lt;dd&gt;global warming, climate change&lt;/dd&gt;
 &lt;dt&gt;Future Technologies&lt;/dt&gt;
 &lt;dd&gt;portable energy sources, batteries, fuel cells&lt;/dd&gt;
 &lt;dt&gt;Current Skill set&lt;/dt&gt;
 &lt;dd&gt;XML &amp; variants&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;The results of our storming are &lt;a href="http://toronto.intouch.ca/brainstorm/20050222.jpeg"&gt;online&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Ideas of Interest&lt;/h2&gt;

&lt;h3&gt;Mortgage Comparator&lt;/h3&gt;
&lt;p&gt;Online service for quick comparisons between similar mortgage products.  Probably in combination with user submitted advice and experiences.&lt;/p&gt;

&lt;h3&gt;Account Aggregator&lt;/h3&gt;
&lt;p&gt;Online service that allows aggregate view and management of disparate financial services.  Provides a 10,000 ft view of debt. &lt;/p&gt;

&lt;h3&gt;XGWRL&lt;/h3&gt;
&lt;p&gt;Online clearing house and/or publication avenue for Global Warming Reports (using XML Global Warming Reporting Language) as published by participants in the Kyoto accord or similar.&lt;/p&gt;

</description>
      <pubDate>Fri, 25 Feb 2005 11:12:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:eb4f74b6c4bd14242f9e3d8e6ece006c</guid>
      <author>mop</author>
      <link>/articles/2005/02/25/brainstorm1</link>
      <category>In-Touch</category>
      <trackback:ping>/articles/trackback/106</trackback:ping>
    </item>
    <item>
      <title>In-Touch Makedata</title>
      <description>
&lt;p&gt;Not sure where I&amp;rsquo;d like this type of documentation to exist, but it should be preserved for posterity. So... here&amp;rsquo;s some background on In-Touch&amp;rsquo;s object-relational framework: Makedata.&lt;/p&gt;

&lt;p&gt;Makedata is a Java app that creates *.java files that encapsulate the RDBMS &lt;--&gt; Java mapping.  Each object/table is defined in a simple text file () which Makedata transforms into three files:&lt;/p&gt;
&lt;dl&gt;
 &lt;dt&gt;&lt;i&gt;table&lt;/i&gt;.sql&lt;/dt&gt; &lt;dd&gt;a SQL script that creates the table and indices&lt;/dd&gt;
 &lt;dt&gt;&lt;i&gt;table&lt;/i&gt;RawData.java&lt;/dt&gt; &lt;dd&gt;a java object representing the raw data (members plus accessor methods, very bean-like)&lt;/dd&gt;
 &lt;dt&gt;&lt;i&gt;table&lt;/i&gt;RawRowBuffer.java&lt;/dt&gt; &lt;dd&gt;a java object that knows how to read and write the raw data to/from the database&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;The generated classes are generally found in the ./target/generated-datafiles/ directory.  The Ant task &amp;rsquo;datac&amp;rsquo; invokes makedata.&lt;/p&gt;

&lt;p&gt;Each *RawData class is a sub-class of intouch.data.Data.  Each *RawRowBuffer class is a sub-class of intouch.sql.RowBuffer.  Generally we extend each of the generated classes and these sub-classes of *RawData and *RawRowBuffer become containers for business logic.&lt;/p&gt;

&lt;p&gt;Another important class is intouch.data.View which defines a bit-field representing each fields in a data object.  A view of the table/data is defined by turning bits on and off.&lt;/p&gt;

&lt;p&gt;We also use these classes to represent table joins.  There are two abstract classes intouch.data.ViewData and intouch.data.ViewDataRowBuffer which are extended to define joins.  Again, for each object-rdbms map there are two classes, one for data and one for db read/write.&lt;/p&gt; 

</description>
      <pubDate>Wed, 07 Jul 2004 23:01:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:809daab3cd23f437e74b9b972d19df7c</guid>
      <author>mop</author>
      <link>/articles/2004/07/07/makedata</link>
      <category>In-Touch</category>
      <category>programming</category>
      <trackback:ping>/articles/trackback/121</trackback:ping>
    </item>
    <item>
      <title>RimuHosting</title>
      <description>

&lt;p&gt;In-Touch now has a bit of virtual space at &lt;a href="http://rimuhosting.com/index.jsp"&gt;RimuHosting&lt;/a&gt;. The company is based in New Zealand, but our server is located in Dallas TX. Rimu is unique in that they provide Virtual Private Servers (VPL) using &lt;a href="http://user-mode-linux.sourceforge.net/"&gt;User Mode Linux&lt;/a&gt; and a variety of Linux distros, including Debian.&lt;/p&gt;

&lt;p&gt;We&amp;rsquo;re currently on a $40USD/month plan that provides a VPS with 128MB of RAM, 4GB of disk space, and up to 60GB of traffic.  I&amp;rsquo;m guessing the hardware is a dual Xeon running at 2.8GHz. So far rimu.intouch.ca is just used to host the In-Touch &lt;a href="http://blog.intouch.ca/"&gt;blogs&lt;/a&gt;, but I may also use it for other In-Touch and customer services.  At the very least, I&amp;rsquo;d like to learn something about UML services.&lt;/p&gt;

&lt;p&gt;Some stats from rimu.intouch.ca:&lt;/p&gt;

&lt;pre&gt;
tsai:/home/mpierson# cat /proc/cpuinfo 
processor	: 0
vendor_id	: User Mode Linux
model name	: UML
mode		: skas
host		: Linux host32.rimuhosting.com 2.6.6 #3 SMP Thu Jun 10 01:10:47 UTC 2004 i686
bogomips	: 2510.02
&lt;/pre&gt;

&lt;pre&gt;
tsai:/home/mpierson# free
total       used       free     shared    buffers     cached
Mem:        125532      95932      29600          0       7896      64668
-/+ buffers/cache:      23368     102164
Swap:        98296          0      98296
&lt;/pre&gt;

&lt;pre&gt;
tsai:/home/mpierson# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/ubd0              4128448    452448   3466288  12% /
tmpfs                    62764         0     62764   0% /dev/shm
&lt;/pre&gt;

&lt;p&gt;The only gotcha I&amp;rsquo;ve encountered so far is the incompatibility between UML and the GNU-TLS libraries in Debian sid.  I orderd the VPS with Debian woody and one of the Rimu admins had to rescue our VPS after a "apt-get dist-upgrade" to sid failed.  A few dpkg-divert additions were required for /lib/tls/*, but now rimu is happily running sid.&lt;/p&gt;

</description>
      <pubDate>Sun, 27 Jun 2004 21:26:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:efb862eb1cc34a0896a4b3b69e3c4199</guid>
      <author>mop</author>
      <link>/articles/2004/06/27/rimuHosting</link>
      <category>web</category>
      <category>In-Touch</category>
      <trackback:ping>/articles/trackback/128</trackback:ping>
    </item>
    <item>
      <title>pyBlosxom Install</title>
      <description>
&lt;p&gt;Well, here it is.  pyBlosxom is now installed on &lt;a href="http://blog.intouch.ca/"&gt;blog.intouch.ca&lt;/a&gt;.&lt;/p&gt; 

&lt;p&gt;I started with the Debian version of pyBlosxom in the experimental archives, and created a mini install in each user&amp;rsquo;s home dir.  This more-or-less follows the &lt;a href="http://wiki.subtlehints.net/moin/PyBlosxom_2fInstalLation"&gt;install&lt;/a&gt; suggestions in the pyBlosxom &lt;a href="http://wiki.subtlehints.net/moin/PyBlosxom"&gt;wiki&lt;/a&gt;.  The flavour templates are roughly based on the html flavour that comes bundled in the Debian package.&lt;/p&gt;

&lt;p&gt;Each user now has files in their home directory similar to:&lt;/p&gt;
&lt;pre&gt;
www
 |
 - pyblosxom
   |
   - data
      content-type.html
      head.html
      story.html
      footer.html
   - etc
      config.py
   - plugins
      pycalendar.py
   - cgi-bin
      pyblosxom.cgi
&lt;/pre&gt;
   
&lt;p&gt;Blog are placed in the &lt;i&gt;data&lt;/i&gt; subdir with a &amp;rsquo;.txt&amp;rsquo; suffix.  The file name is significant when constructing permanent linke to articles so best to make it descriptive. Articles can be written in plain text or in HTML (still with &amp;rsquo;.txt&amp;rsquo; suffix) -- I suggest HTML for readability.  pyBlosxom auto-magically classifies articles according the the file system hierachy under the &lt;i&gt;data&lt;/i&gt; directory.&lt;/p&gt;

&lt;p&gt;My goal is to write at least one article per day on work related subjects, and to convince other In-Touch&amp;rsquo;ers to do the same.&lt;/p&gt;

</description>
      <pubDate>Sun, 27 Jun 2004 20:06:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:0d4c57c60c922329643f374f71fec28e</guid>
      <author>mop</author>
      <link>/articles/2004/06/27/pyBlosxom-install</link>
      <category>blogs</category>
      <category>In-Touch</category>
      <trackback:ping>/articles/trackback/127</trackback:ping>
    </item>
  </channel>
</rss>

