<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:planet="http://planet.intertwingly.net/" xmlns:indexing="urn:atom-extension:indexing" indexing:index="no"><access:restriction xmlns:access="http://www.bloglines.com/about/specs/fac-1.0" relationship="deny"/>
  <title>Planet AOLserver</title>
  <updated>2008-05-10T00:30:36Z</updated>
  <generator uri="http://intertwingly.net/code/venus/">Venus</generator>
  <author>
    <name>Dossy Shiobara</name>
    <email>dossy@panoptic.com</email>
  </author>
  <id>http://dev.aolserver.com/planet/atom.xml</id>
  <link href="http://dev.aolserver.com/planet/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://dev.aolserver.com/planet/" rel="alternate"/>

  <entry>
    <id>http://www.solutiongrove.com/blogger/one-entry?entry%5fid=885551</id>
    <link href="http://www.solutiongrove.com/blogger/one-entry?entry%5fid=885551" rel="alternate" type="text/html"/>
    <title>LoveThreads - OpenACS Eccomerce site</title>
    <summary>Mark Aufflick, a friend in the OpenACS community, just launched a new openACS based eccomerce site for environmentally friendly fashion.  Love Threads, Rethead the Planet


Nice site design and nice clothes. Good work Mark!


 </summary>
    <updated>2008-05-09T18:09:26Z</updated>
    <source>
      <id>http://www.solutiongrove.com/blogger/</id>
      <logo>http://www.solutiongrove.com/rss-support/images/openacs_logo_rss.gif</logo>
      <author>
        <name>Solution Grove</name>
      </author>
      <link href="http://www.solutiongrove.com/blogger/" rel="alternate" type="text/html"/>
      <link href="http://www.solutiongrove.com/blogger/rss/rss.xml" rel="self" type="application/rss+xml"/>
      <subtitle>Solution Grove Blog</subtitle>
      <title>Solution Grove Blog</title>
      <updated>2008-05-10T00:30:29Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://dossy.org/archives/000621.html</id>
    <link href="http://feeds.feedburner.com/~r/dossy/feed/~3/275404871/000621.html" rel="alternate" type="text/html"/>
    <title>Yossi Kreinin praises Tcl and so should you!</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://yosefk.com/">Yossi Kreinin</a> writes a very fair and positive blog entry about why <a href="http://www.yosefk.com/blog/i-cant-believe-im-praising-tcl.html">he can't believe he's praising Tcl</a>. In response, I left this comment on his blog:</p>
<blockquote style="PADDING-LEFT: 0.5em; MARGIN-LEFT: 1.5em; BORDER-LEFT: #666 3px solid;" type="cite">
<p>I'm so glad you've put aside language bigotry and evaluated Tcl fairly--when you do, it's easy to see how convenient it can be for some tasks.</p>
<p>Of course I'm biased, but I also think Tcl is a fantastic language for developing web applications-thus, my affinity for <a href="http://aolserver.com/">AOLserver</a>.</p>
<p>When you reduce web development to the simple process of "consume bits from a data source, transform strings, output bits to a network socket" ... Tcl's simplicity really makes rapid development a breeze, coupled with AOLserver's library of Tcl procs to ease some common tasks.</p>
<p>I hope more folks give Tcl a fair shake, given it's one of the oldest and arguably the most mature scripting language out there.</p></blockquote>
<p>Even if you have no interest in Tcl, do read Yossi's blog entry about it. He really takes a close look at what makes for a good embedded scripting language and that's useful for anyone who is building an application today that needs such a thing.</p>
<p>Tags: <a href="http://technorati.com/tag/programming" rel="tag">programming</a>, <a href="http://technorati.com/tag/Yossi%20Kreinin" rel="tag">Yossi Kreinin</a>, <a href="http://technorati.com/tag/Tcl" rel="tag">Tcl</a></p><p>(<a href="http://dossy.org/archives/000621.html#reply">comment on this</a>)</p></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://yosefk.com/">Yossi Kreinin</a> writes a very fair and positive blog entry about why <a href="http://www.yosefk.com/blog/i-cant-believe-im-praising-tcl.html">he can't believe he's praising Tcl</a>. In response, I left this comment on his blog:</p>
<blockquote style="PADDING-LEFT: 0.5em; MARGIN-LEFT: 1.5em; BORDER-LEFT: #666 3px solid;" type="cite">
<p>I'm so glad you've put aside language bigotry and evaluated Tcl fairly--when you do, it's easy to see how convenient it can be for some tasks.</p>
<p>Of course I'm biased, but I also think Tcl is a fantastic language for developing web applications-thus, my affinity for <a href="http://aolserver.com/">AOLserver</a>.</p>
<p>When you reduce web development to the simple process of "consume bits from a data source, transform strings, output bits to a network socket" ... Tcl's simplicity really makes rapid development a breeze, coupled with AOLserver's library of Tcl procs to ease some common tasks.</p>
<p>I hope more folks give Tcl a fair shake, given it's one of the oldest and arguably the most mature scripting language out there.</p></blockquote>
<p>Even if you have no interest in Tcl, do read Yossi's blog entry about it. He really takes a close look at what makes for a good embedded scripting language and that's useful for anyone who is building an application today that needs such a thing.</p>
<p>Tags: <a href="http://technorati.com/tag/programming" rel="tag">programming</a>, <a href="http://technorati.com/tag/Yossi%20Kreinin" rel="tag">Yossi Kreinin</a>, <a href="http://technorati.com/tag/Tcl" rel="tag">Tcl</a></p><p>(<a href="http://dossy.org/archives/000621.html#reply">comment on this</a>)</p><img height="1" src="http://feeds.feedburner.com/~r/dossy/feed/~4/275404871" width="1"/></div>
    </content>
    <updated>2008-04-22T14:30:51Z</updated><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://dossy.org/archives/000621.html</feedburner:origlink>
    <author>
      <name>dossy</name>
    </author>
    <source>
      <id>http://dossy.org/</id>
      <author>
        <name/>
        <email>dossy@panoptic.com</email>
      </author>
      <link href="http://dossy.org/" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nc-sa/3.0/" rel="license"/>
      <link href="http://feeds.feedburner.com/dossy/feed" rel="self" type="application/rss+xml"/>
      <subtitle>Everything that comes out of Dossy, from the strange to the banal.</subtitle>
      <title>Dossy's Blog</title>
      <updated>2008-05-08T20:02:11Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://dossy.org/archives/000617.html</id>
    <link href="http://feeds.feedburner.com/~r/dossy/feed/~3/271848508/000617.html" rel="alternate" type="text/html"/>
    <title>Sun is finally moving MySQL to the next phase</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I love it when I can go against <a href="http://jcole.us/blog/archives/2008/04/14/just-announced-mysql-to-launch-new-features-only-in-mysql-enterprise/">the angry mob</a>!</p>
<p><a href="http://en.wikipedia.org/wiki/M&#xE5;rten_Mickos">Marten</a> &amp; <a href="http://blogs.sun.com/jonathan/">Jonathan</a>: Good for you! Take those bits closed-source, make customers pay for the functionality, and use that money to hire <em>talented</em> QA engineers. Let companies pay for the stuff and demand actual timely bug fixes to the real problems that linger in the MySQL code base.</p>
<p>Of course, I wholly expect that 18-24 months later, you re-open the source for these products, once they've been polished up. The companies will be pissed, but we all benefit from higher quality products.</p>
<p>Look around, folks ... <em>this</em> is the cycle we've observed many times of open source software. The fact that Sun is making these changes now is a good sign for MySQL's longevity as a technology and product and that is only good for the open source community.</p>
<p>Tags: <a href="http://technorati.com/tag/Sun" rel="tag">Sun</a>, <a href="http://technorati.com/tag/MySQL" rel="tag">MySQL</a>, <a href="http://technorati.com/tag/open%20source" rel="tag">open source</a>, <a href="http://technorati.com/tag/business" rel="tag">business</a></p><p>(<a href="http://dossy.org/archives/000617.html#reply">comment on this</a>)</p></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I love it when I can go against <a href="http://jcole.us/blog/archives/2008/04/14/just-announced-mysql-to-launch-new-features-only-in-mysql-enterprise/">the angry mob</a>!</p>
<p><a href="http://en.wikipedia.org/wiki/M&#xE5;rten_Mickos">Marten</a> &amp; <a href="http://blogs.sun.com/jonathan/">Jonathan</a>: Good for you! Take those bits closed-source, make customers pay for the functionality, and use that money to hire <em>talented</em> QA engineers. Let companies pay for the stuff and demand actual timely bug fixes to the real problems that linger in the MySQL code base.</p>
<p>Of course, I wholly expect that 18-24 months later, you re-open the source for these products, once they've been polished up. The companies will be pissed, but we all benefit from higher quality products.</p>
<p>Look around, folks ... <em>this</em> is the cycle we've observed many times of open source software. The fact that Sun is making these changes now is a good sign for MySQL's longevity as a technology and product and that is only good for the open source community.</p>
<p>Tags: <a href="http://technorati.com/tag/Sun" rel="tag">Sun</a>, <a href="http://technorati.com/tag/MySQL" rel="tag">MySQL</a>, <a href="http://technorati.com/tag/open%20source" rel="tag">open source</a>, <a href="http://technorati.com/tag/business" rel="tag">business</a></p><p>(<a href="http://dossy.org/archives/000617.html#reply">comment on this</a>)</p><img height="1" src="http://feeds.feedburner.com/~r/dossy/feed/~4/271848508" width="1"/></div>
    </content>
    <updated>2008-04-17T03:17:42Z</updated>
    <category term="Open Source"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://dossy.org/archives/000617.html</feedburner:origlink>
    <author>
      <name>dossy</name>
    </author>
    <source>
      <id>http://dossy.org/</id>
      <author>
        <name/>
        <email>dossy@panoptic.com</email>
      </author>
      <link href="http://dossy.org/" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nc-sa/3.0/" rel="license"/>
      <link href="http://feeds.feedburner.com/dossy/feed" rel="self" type="application/rss+xml"/>
      <subtitle>Everything that comes out of Dossy, from the strange to the banal.</subtitle>
      <title>Dossy's Blog</title>
      <updated>2008-05-08T20:02:11Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://panoptic.com/wiki/aolserver/Module_inclusion</id>
    <link href="http://panoptic.com/wiki/aolserver/Module_inclusion" rel="alternate" type="text/html"/>
    <title>Module inclusion</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><span class="autocomment">Configuring a binary or combined binary &amp; Tcl module into your server -</span> </p>

			<table style="background-color: white; color: black;">
			<colgroup><col class="diff-marker"/>
			<col class="diff-content"/>
			<col class="diff-marker"/>
			<col class="diff-content"/>
			</colgroup><tbody><tr>
				<td colspan="2" style="background-color: white; color: black;">←Older revision</td>
				<td colspan="2" style="background-color: white; color: black;">Revision as of 19:36, 16 April 2008</td>
			</tr>
		<tr><td align="center" class="diff-multi" colspan="4">(3 intermediate revisions not shown.)</td></tr><tr><td class="diff-lineno" colspan="2">Line 1:</td>
<td class="diff-lineno" colspan="2">Line 1:</td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>Typical AOLServer modules are written in either Tcl, C, or some combination of those languages (though, of course, new languages can be added via the C module interface).  They are included into your runtime using a section of the [[AOLServer Configuration]] file.</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>Typical AOLServer modules are written in either Tcl, C, or some combination of those languages (though, of course, new languages can be added via the C module interface).  They are included into your runtime using a section of the [[AOLServer Configuration]] file.</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>== Configuring a binary or combined binary &amp; Tcl module into your server ==</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>== Configuring a binary or combined binary &amp; Tcl module into your server ==</div></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div>As documented [<del style="color: red; font-weight: bold; text-decoration: none;">[somewhere else </del>in the <del style="color: red; font-weight: bold; text-decoration: none;">wiki]</del>], a binary module is a dynamically loadable library (.so or .dll) that will be linked into the server at startup <del style="color: red; font-weight: bold; text-decoration: none;">(by the fact that it provides an external function called "Ns_ModuleInit" and an external integer called "Ns_Version")</del>.  To get AOLServer to try to link it in:</div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>As documented [<ins style="color: red; font-weight: bold; text-decoration: none;">http://aolserver.com/docs/devel/c/ </ins>in the <ins style="color: red; font-weight: bold; text-decoration: none;">AOLServer C Developer's Guide</ins>], a binary module is a dynamically loadable library (.so or .dll) that will be linked into the server at startup.  To get AOLServer to try to link it in:</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div># Put the file in the right directory:</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div># Put the file in the right directory:</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>#* In the default configuration of AOLServer, the right place is usually {your installation directory}/bin (e.g., /usr/local/aolserver/lib).  In the AOLServer configuration file, by convention, this directory name is written as "${bindir}".  Some installations use a separate "${homedir}/lib" (thus ${libdir}) directory.</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>#* In the default configuration of AOLServer, the right place is usually {your installation directory}/bin (e.g., /usr/local/aolserver/lib).  In the AOLServer configuration file, by convention, this directory name is written as "${bindir}".  Some installations use a separate "${homedir}/lib" (thus ${libdir}) directory.</div></td></tr>
<tr><td class="diff-lineno" colspan="2">Line 29:</td>
<td class="diff-lineno" colspan="2">Line 29:</td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>extern "C"</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>extern "C"</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>{</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>{</div></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div>NS_EXPORT int</div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">    </ins>NS_EXPORT int</div></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div>Foo_ModInit(char* server, char* module)</div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">    </ins>Foo_ModInit(char* server, char* module)</div></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div>{</div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">    </ins>{</div></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div>...</div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">        </ins>...</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">    }</ins></div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>}</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>}</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>&lt;/nowiki&gt;&lt;/pre&gt;</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>&lt;/nowiki&gt;&lt;/pre&gt;</div></td></tr>
<tr><td class="diff-lineno" colspan="2">Line 40:</td>
<td class="diff-lineno" colspan="2">Line 41:</td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>MODINIT = Foo_ModInit</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>MODINIT = Foo_ModInit</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>&lt;/pre&gt;</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>&lt;/pre&gt;</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"/></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>== Tcl Modules ==</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>== Tcl Modules ==</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>Developing Tcl modules for use with AOLServer is just as straightforward, but have some interesting additional features: a Tcl library really can be installed only into the Tcl interpreters for a specific virtual server, and they can usually be reloaded dynamically.</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>Developing Tcl modules for use with AOLServer is just as straightforward, but have some interesting additional features: a Tcl library really can be installed only into the Tcl interpreters for a specific virtual server, and they can usually be reloaded dynamically.</div></td></tr>
<tr><td class="diff-lineno" colspan="2">Line 53:</td>
<td class="diff-lineno" colspan="2">Line 55:</td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>The syntax for loading pure-Tcl library modules is:</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>The syntax for loading pure-Tcl library modules is:</div></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">#*</del>:&lt;code&gt;ns_param ''moduleName'' '''Tcl'''&lt;/code&gt;</div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>:&lt;code&gt;ns_param ''moduleName'' '''Tcl'''&lt;/code&gt;</div></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">#: </del>For example:</div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>For example:</div></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">#</del>:&lt;pre&gt;&lt;nowiki&gt;ns_param nssession Tcl&lt;/nowiki&gt;&lt;/pre&gt;</div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>:&lt;pre&gt;&lt;nowiki&gt;ns_param nssession Tcl&lt;/nowiki&gt;&lt;/pre&gt;</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>[[Category:Documentation]]</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>[[Category:Documentation]]</div></td></tr>
</tbody></table></div>
    </summary>
    <updated>2008-04-16T19:36:11Z</updated>
    <author>
      <name>Rcobb</name>
    </author>
    <source>
      <id>http://panoptic.com/wiki/aolserver/Special:Recentchanges</id>
      <link href="http://panoptic.com/wiki/aolserver/Special:Recentchanges" rel="alternate" type="text/html"/>
      <link href="http://panoptic.com/mediawiki/aolserver/index.php?title=Special:Recentchanges&amp;feed=rss" rel="self" type="application/rss+xml"/>
      <subtitle>Track the most recent changes to the wiki in this feed.</subtitle>
      <title>AOLserver Wiki - Recent changes [en]</title>
      <updated>2008-04-24T21:01:01Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://panoptic.com/wiki/aolserver/AOLserver_Developer%27s_Guide</id>
    <link href="http://panoptic.com/wiki/aolserver/AOLserver_Developer%27s_Guide" rel="alternate" type="text/html"/>
    <title>AOLserver Developer's Guide</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p/>

			<table style="background-color: white; color: black;">
			<colgroup><col class="diff-marker"/>
			<col class="diff-content"/>
			<col class="diff-marker"/>
			<col class="diff-content"/>
			</colgroup><tbody><tr>
				<td colspan="2" style="background-color: white; color: black;">←Older revision</td>
				<td colspan="2" style="background-color: white; color: black;">Revision as of 19:27, 16 April 2008</td>
			</tr>
		<tr><td align="center" class="diff-multi" colspan="4">(One intermediate revision not shown.)</td></tr><tr><td class="diff-lineno" colspan="2">Line 1:</td>
<td class="diff-lineno" colspan="2">Line 1:</td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>''(Lets not split these into seperate pages until there's enough content.)''</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>''(Lets not split these into seperate pages until there's enough content.)''</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>We assume the reader is somewhat familiar with http://aolserver.com/docs/devel/c/, or its peer pages, and now is looking for more advanced development topics.</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>* [[AOLserver and Tcl Crash Course]] - A Programmer's Introduction (Outline)</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>* [[AOLserver and Tcl Crash Course]] - A Programmer's Introduction (Outline)</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>* '''AOLserver Internals''' -- a guide to common [[data structures]], a description of the lifetimes of a [[thread]], an [[interpreter]], a [[request]], and a [[connection]].  Discussions of memory allocation.  The [[Private C API]].</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>* '''AOLserver Internals''' -- a guide to common [[data structures]], a description of the lifetimes of a [[thread]], an [[interpreter]], a [[request]], and a [[connection]].  Discussions of memory allocation.  The [[Private C API]].</div></td></tr>
<tr><td class="diff-lineno" colspan="2">Line 7:</td>
<td class="diff-lineno" colspan="2">Line 8:</td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>----</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>----</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>* '''AOLserver Configuration''' -- a walk-through of the basic steps to properly configure AOLserver, from database pools to virtual hosting.</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>* '''AOLserver Configuration''' -- a walk-through of the basic steps to properly configure AOLserver, from database pools to virtual hosting.</div></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"/><td colspan="2"> </td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>** Here's a starter for [[Virtual Hosting]] in AOLserver 3.x and 4.x.</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>** Here's a starter for [[Virtual Hosting]] in AOLserver 3.x and 4.x.</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>** [[Module inclusion]] and how your files are treated.</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>** [[Module inclusion]] and how your files are treated.</div></td></tr>
</tbody></table></div>
    </summary>
    <updated>2008-04-16T19:27:26Z</updated>
    <author>
      <name>Rcobb</name>
    </author>
    <source>
      <id>http://panoptic.com/wiki/aolserver/Special:Recentchanges</id>
      <link href="http://panoptic.com/wiki/aolserver/Special:Recentchanges" rel="alternate" type="text/html"/>
      <link href="http://panoptic.com/mediawiki/aolserver/index.php?title=Special:Recentchanges&amp;feed=rss" rel="self" type="application/rss+xml"/>
      <subtitle>Track the most recent changes to the wiki in this feed.</subtitle>
      <title>AOLserver Wiki - Recent changes [en]</title>
      <updated>2008-04-24T21:01:01Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://panoptic.com/wiki/aolserver/SMLserver</id>
    <link href="http://panoptic.com/wiki/aolserver/SMLserver" rel="alternate" type="text/html"/>
    <title>SMLserver</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>provide some factual information about SMLserver when it was AOLserver-related</p>

			<table style="background-color: white; color: black;">
			<colgroup><col class="diff-marker"/>
			<col class="diff-content"/>
			<col class="diff-marker"/>
			<col class="diff-content"/>
			</colgroup><tbody><tr>
				<td colspan="2" style="background-color: white; color: black;">←Older revision</td>
				<td colspan="2" style="background-color: white; color: black;">Revision as of 20:39, 14 April 2008</td>
			</tr>
		<tr><td class="diff-lineno" colspan="2">Line 1:</td>
<td class="diff-lineno" colspan="2">Line 1:</td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>Early SMLserver releases provided a Stanard ML module for AOLserver (nssml.so).</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>== See also ==</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"/></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>* A Functional Approach to Web Publishing ([http://www.itu.dk/~mael/mypapers/smlserver-4.1.0.pdf smlserver-4.1.0.pdf]), by Martin Elsman and Niels Hallenberg.</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>* [http://www.springerlink.com/content/vbkf26yab0elru3g/ Web Programming with SMLserver], ISBN 978-3-540-00389-2.</div></td></tr>
</tbody></table></div>
    </summary>
    <updated>2008-04-14T20:39:10Z</updated>
    <author>
      <name>Dossy</name>
    </author>
    <source>
      <id>http://panoptic.com/wiki/aolserver/Special:Recentchanges</id>
      <link href="http://panoptic.com/wiki/aolserver/Special:Recentchanges" rel="alternate" type="text/html"/>
      <link href="http://panoptic.com/mediawiki/aolserver/index.php?title=Special:Recentchanges&amp;feed=rss" rel="self" type="application/rss+xml"/>
      <subtitle>Track the most recent changes to the wiki in this feed.</subtitle>
      <title>AOLserver Wiki - Recent changes [en]</title>
      <updated>2008-04-22T20:45:21Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://panoptic.com/wiki/aolserver/Ns_writecontent</id>
    <link href="http://panoptic.com/wiki/aolserver/Ns_writecontent" rel="alternate" type="text/html"/>
    <title>Ns writecontent</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Filled in the basics from reading the code.</p>
<p><b>New page</b></p><div>&lt;manpage&gt;ns_writecontent&lt;/manpage&gt;<br/>
<br/>
'''NAME'''<br/>
<br/>
: ns_writecontent - write content of request to Tcl channel<br/>
<br/>
'''SYNOPSIS'''<br/>
<br/>
: '''ns_writecontent''' ''?conn?'' ''channel''<br/>
<br/>
'''DESCRIPTION'''<br/>
<br/>
: ns_writecontent is identical to [[ns_conncptofp]]. It reads the content body of the conn (HTTP request) and copies it to the given Tcl I/O channel.<br/>
<br/>
'''EXAMPLES'''<br/>
<br/>
    @@COMMAND_EXAMPLES@@<br/>
<br/>
'''SEE ALSO'''<br/>
<br/>
: ns_conncptofp<br/>
<br/>
'''NOTES'''<br/>
:* Throws the error "could not copy content (likely client disconnect)" if sufficient (based on content-length) content can not be read.<br/>
<br/>
[[Category:Core Tcl API]]</div></div>
    </summary>
    <updated>2008-04-11T01:20:23Z</updated>
    <author>
      <name>Rcobb</name>
    </author>
    <source>
      <id>http://panoptic.com/wiki/aolserver/Special:Recentchanges</id>
      <link href="http://panoptic.com/wiki/aolserver/Special:Recentchanges" rel="alternate" type="text/html"/>
      <link href="http://panoptic.com/mediawiki/aolserver/index.php?title=Special:Recentchanges&amp;feed=rss" rel="self" type="application/rss+xml"/>
      <subtitle>Track the most recent changes to the wiki in this feed.</subtitle>
      <title>AOLserver Wiki - Recent changes [en]</title>
      <updated>2008-04-19T20:15:21Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://panoptic.com/wiki/aolserver/Ns_conncptofp</id>
    <link href="http://panoptic.com/wiki/aolserver/Ns_conncptofp" rel="alternate" type="text/html"/>
    <title>Ns conncptofp</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Wrote a draft of the page based on reading the code. Have not tried to generate examples.</p>
<p><b>New page</b></p><div>&lt;manpage&gt;ns_conncptofp&lt;/manpage&gt;<br/>
<br/>
'''NAME'''<br/>
<br/>
: ns_conncptofp - write content of request to Tcl channel<br/>
<br/>
'''SYNOPSIS'''<br/>
<br/>
: '''ns_conncptofp''' ''?conn?'' ''channel''<br/>
<br/>
'''DESCRIPTION'''<br/>
<br/>
: ns_conncptofp is identical to [[ns_writecontent]]. It reads the content body of the conn (HTTP request) and copies it to the given Tcl I/O channel.<br/>
<br/>
'''EXAMPLES'''<br/>
<br/>
    @@COMMAND_EXAMPLES@@<br/>
<br/>
'''SEE ALSO'''<br/>
<br/>
: ns_writecontent<br/>
<br/>
'''NOTES'''<br/>
:* Throws the error "could not copy content (likely client disconnect)" if sufficient (based on content-length) content can not be read.<br/>
<br/>
[[Category:Core Tcl API]]</div></div>
    </summary>
    <updated>2008-04-11T01:17:12Z</updated>
    <author>
      <name>Rcobb</name>
    </author>
    <source>
      <id>http://panoptic.com/wiki/aolserver/Special:Recentchanges</id>
      <link href="http://panoptic.com/wiki/aolserver/Special:Recentchanges" rel="alternate" type="text/html"/>
      <link href="http://panoptic.com/mediawiki/aolserver/index.php?title=Special:Recentchanges&amp;feed=rss" rel="self" type="application/rss+xml"/>
      <subtitle>Track the most recent changes to the wiki in this feed.</subtitle>
      <title>AOLserver Wiki - Recent changes [en]</title>
      <updated>2008-04-19T20:15:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://blog.cleverly.com/permalinks/326.html</id>
    <link href="http://blog.cleverly.com/permalinks/326.html" rel="alternate" type="text/html"/>
    <title>Time to (play? fight?) with TurboTax 2007</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Even though the deadline for filing US Income Taxes is still a week and a
day away, I decided to procrstinate no longer and get it taken care of 
tonight.</p>

<p>On the way home for work I stopped at an office supply store and bought
TurboTax Deluxe, which I've used in years past. It's usually been pretty
painless, but this year I had to fight with it before I even got started
on the actual tax stuff...</p>

<p>Since I did last years taxes I've upgraded to a MacBook Pro and 
"trickled down" my PowerBook to Shauna. Once I bought the new machine I 
hooked the two laptops up with a cross over cable and rsync'ed the contents of 
<tt>~michael/</tt> off of the PowerBook and onto <tt>~michael/PowerBook</tt> 
on the MacBook.</p>

<p>As needed I've had ready access to saved files &amp; data and haven't had
any problems with the rsync approach.  TurboTax, however, doesn't believe it
can open last years return (which I want since it'll speed things up for this
year since I won't have to re-enter a lot of information that hasn't
changed, etc.)</p> 

<p>I went to the TurboTax website, but it wants me to "login" before it'll let
me read the search results whose titles seem like they might plausibly be of
help.  I'm fairly sure I have a login but since I can guarantee it'd be a 
fairly complex password (and one that I've never used anywhere else) I know
it'd take me a while to remember or find it.</p>

<p>So I ask Caleb to let me use his mother's laptop, login, go to Finder
and see that it lists last years saved return as being a "Turbo Tax File"
in Finder.  On the MacBook finder shows it being a "plain text" kind of file.
Running the Unix <tt>file</tt> command on both laptops reports that the
file is <tt>data</tt>.</p>

<p>So I wonder; how does Finder know to associate the file on the PowerBook
with TurboTax? And why on the PowerBook does it think it is a text file?
The first thing that comes to mind: <tt>rscync</tt>ing the file wouldn't
have preserved the resource fork.</p>

<p>In OS X you can examine the resource fork of a file using standard
Unix tools using the filename/rsrc.  That is, for my file "2006_Return" 
I can <tt>ls -l 2006_Return/rsrc</tt>.</p>

<p>That, however, only showed me that the resource fork was 0-bytes (i.e.,
empty) on both laptops.</p>

<p>Back to square one.  Googling on "kind" (what the Finder column-label 
calls the file type it displays) is a bit difficult since kind is rather 
generic and people don't normally talk about a "kind of file" as much
as a "file type."</p>

<p>I finally found <a href="http://forums.macosxhints.com/showpost.php?p=254908&amp;postcount=11">a very detailed post</a> on the <a href="http://forums.macosxhints.com/">Mac OS X Hints forums</a> that laid out the algorithm Apple uses to
associate a given file with a given application in the Finder.</p>

<p>From those clues I did some more searching on file type and creator 
signature codes and came up with a very helpful 
Indiana University Information Technology Services 
<a href="http://kb.iu.edu/data/aemh.html">knowledge base
article entitled "<cite>In Mac OS and Mac OS X, what are file types
and creators?</cite>"</a>.</p>

<p>In old (pre-OS X) versions of the Macintosh operating system the file
system mainted various pieces of metadata (apparently separate from the
resource fork) for every file.  Specifically a 4-character "file type" code
and a 4-character "creator" code.  Most new OS X software doesn't carry
on this tradition, apparently, but might TurboTax?</p>

<p>Next question: how to check what the file type and creator codes are?
(The Indiana U. KB article had links to some shareware/freeware tools that
let you set &amp; see them but I didn't think I should have to download or
buy additional software.)</p>

<p>I fired up <tt>tclsh</tt> trying to remember if, on the Mac, there were
any extra <tt>file subcomands</tt> for dealing with such things.  I didn't
see any; (<tt>file stat $file var</tt>, for example, did not have any 
legacy-Macintosh values in it.  I'm pretty sure Tcl on the Mac could have
solved it for me, but rather than dig up that arcane knowledge I decided
to search and find what installed Unix tools might be up to the task.</p>

<p>I found that there were two helpful utilities available since
I'd installed Apple's Developers Tools on both laptops: <tt>GetFileInfo</tt> 
and <tt>SetFile</tt>.</p>

<p>Running <tt>/Developer/Tools/GetFileInfo</tt> on the PowerBook showed me:</p>

<blockquote><pre><tt>file: "<cite>/Path/to/return</cite>"
type: "<b>TaxR</b>"
creator: "<b>MIT6</b>"</tt></pre>
</blockquote>

<p>On the MacBook the type &amp; creator were the empty string.  I was able to 
set these values with:</p>

<blockquote><pre><tt>$ /Developer/Tools/SetFile -t TaxR <cite>/Path/to/return</cite>
$ /Developer/Tools/SetFile -c MIT6 <cite>/Path/to/return</cite></tt></pre>
</blockquote>

<p>I restarted TurboTax 2007 and this time it saw my 2006 return and so I'm
able to start finally...</p>

<p>Perhaps this blog post will be helpful to some future TurboTax Macintosh
user who has transfered files from one machine to another...</p></div>
    </summary>
    <updated>2008-04-08T03:27:04Z</updated>
    <source>
      <id>http://blog.cleverly.com/</id>
      <author>
        <name>Michael A. Cleverly</name>
      </author>
      <link href="http://blog.cleverly.com/" rel="alternate" type="text/html"/>
      <link href="http://blog.cleverly.com/rss.xml" rel="self" type="application/rss+xml"/>
      <title>Cleverly Blogged</title>
      <updated>2008-04-08T03:27:04Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.solutiongrove.com/blogger/one-entry?entry%5fid=845748</id>
    <link href="http://www.solutiongrove.com/blogger/one-entry?entry%5fid=845748" rel="alternate" type="text/html"/>
    <title>OpenACS User Group in Brazil</title>
    <summary>Cesar Brea, who is also on the Board of the .LRN Consortium posted an annoucement on the next OpenACS/.LRN Usergroup.


 


	
	Following the recent global user group meeting in Guatemala,  o resurgence de OpenACS/.LRN will next pop up in Brazil.  Here's Eduardo Santos'  summary:
	
	
	I'm happy to announce the first (or the second, if you consider this) OpenACS Brazilian users group meeting. The event will take place at the 9th International Free Software Forum...</summary>
    <updated>2008-04-02T20:26:49Z</updated>
    <source>
      <id>http://www.solutiongrove.com/blogger/</id>
      <logo>http://www.solutiongrove.com/rss-support/images/openacs_logo_rss.gif</logo>
      <author>
        <name>Solution Grove</name>
      </author>
      <link href="http://www.solutiongrove.com/blogger/" rel="alternate" type="text/html"/>
      <link href="http://www.solutiongrove.com/blogger/rss/rss.xml" rel="self" type="application/rss+xml"/>
      <subtitle>Solution Grove Blog</subtitle>
      <title>Solution Grove Blog</title>
      <updated>2008-05-06T02:15:24Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://blog.cleverly.com/permalinks/325.html</id>
    <link href="http://blog.cleverly.com/permalinks/325.html" rel="alternate" type="text/html"/>
    <title>Feeling Tcl-ish about Google's Summer of Code</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The Tcl/Tk community has been 
<a href="http://code.google.com/soc/2008/tcl/about.html">accepted as a 
mentoring organization</a> for Google's 
<a href="http://code.google.com/soc/2008/">Summer of Code 2008</a> program.  
Makes me wish I were back in college...</p></div>
    </summary>
    <updated>2008-03-19T13:57:05Z</updated>
    <source>
      <id>http://blog.cleverly.com/</id>
      <author>
        <name>Michael A. Cleverly</name>
      </author>
      <link href="http://blog.cleverly.com/" rel="alternate" type="text/html"/>
      <link href="http://blog.cleverly.com/rss.xml" rel="self" type="application/rss+xml"/>
      <title>Cleverly Blogged</title>
      <updated>2008-04-08T03:27:04Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.solutiongrove.com/blogger/one-entry?entry%5fid=821976</id>
    <link href="http://www.solutiongrove.com/blogger/one-entry?entry%5fid=821976" rel="alternate" type="text/html"/>
    <title>Generating PDFs, Word, RTF, OpenOffice documents from OpenACS</title>
    <summary>There is often a need to take content from the web and share it in a different format. For one client, we built a web based report. The client also wanted the report to be able to be downloaded and viewed using Microsoft Word. To do this we decided to export the HTML results of the report as an RTF document.


A quick search of the web will show there aren't too many options to convert HTML into an RTF document that will work with modern CSS based HTML. One program that can do this is Ope...</summary>
    <updated>2008-03-03T18:07:32Z</updated>
    <source>
      <id>http://www.solutiongrove.com/blogger/</id>
      <logo>http://www.solutiongrove.com/rss-support/images/openacs_logo_rss.gif</logo>
      <author>
        <name>Solution Grove</name>
      </author>
      <link href="http://www.solutiongrove.com/blogger/" rel="alternate" type="text/html"/>
      <link href="http://www.solutiongrove.com/blogger/rss/rss.xml" rel="self" type="application/rss+xml"/>
      <subtitle>Solution Grove Blog</subtitle>
      <title>Solution Grove Blog</title>
      <updated>2008-04-09T01:31:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://dossy.org/archives/000606.html</id>
    <link href="http://feeds.feedburner.com/~r/dossy/feed/~3/243371787/000606.html" rel="alternate" type="text/html"/>
    <title>Netcraft 2008 survey shows AOLserver is far from dead</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The <a href="http://news.netcraft.com/archives/2008/02/06/february_2008_web_server_survey.html">Netcraft February 2008 Web Server Survey</a> says:</p>
<blockquote style="PADDING-LEFT: 0.5em; MARGIN-LEFT: 1.5em; BORDER-LEFT: #666 3px solid;" type="cite">
<p>Unusually, America Online's open source <a href="http://aolserver.com/">AOLserver</a> sees tremendous growth, jumping from 35 thousand to 105 thousand sites in just one month. AOLserver is a multithreaded, Tcl-enabled web server which can be used for large scale, dynamic web sites, but has not seen the release of a new version since 2006. The majority of the new sites served by AOLserver are hosted in Poland.</p></blockquote>
<p>This isn't going to make any headlines, but for all those doubters out there who keep wondering who actually uses AOLserver, check out that growth.</p>
<p>The sad thing is, we could easily game the Netcraft survey by doing a few simple things:</p>
<ol>
<li>Register to become an ICANN accredited domain registrar.</li>
<li>Offer domain registration at-cost, to offer the lowest possible prices to get customers.</li>
<li>Offer free web domain parking or static file only hosting, all on AOLserver.</li></ol>
<p>The costs involved would be around $10K for the first year, plus the cost of the actual AOLserver hosting, plus the $70K working capital in reserve to meet ICANN's requirements. This could all be set up on Amazon EC2/S3 to avoid having to provision real hardware as the customer demand grows.</p>
<p>Of course, what would be the point? Would having more significant numbers in the Netcraft surveys give AOLserver more credibility? I sure hope not--that would be foolish.</p>
<p>(via <a href="http://article.gmane.org/gmane.comp.web.aolserver/14645">Mark Mcgaha</a>)</p><p>(<a href="http://dossy.org/archives/000606.html#reply">comment on this</a>)</p></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The <a href="http://news.netcraft.com/archives/2008/02/06/february_2008_web_server_survey.html">Netcraft February 2008 Web Server Survey</a> says:</p>
<blockquote style="PADDING-LEFT: 0.5em; MARGIN-LEFT: 1.5em; BORDER-LEFT: #666 3px solid;" type="cite">
<p>Unusually, America Online's open source <a href="http://aolserver.com/">AOLserver</a> sees tremendous growth, jumping from 35 thousand to 105 thousand sites in just one month. AOLserver is a multithreaded, Tcl-enabled web server which can be used for large scale, dynamic web sites, but has not seen the release of a new version since 2006. The majority of the new sites served by AOLserver are hosted in Poland.</p></blockquote>
<p>This isn't going to make any headlines, but for all those doubters out there who keep wondering who actually uses AOLserver, check out that growth.</p>
<p>The sad thing is, we could easily game the Netcraft survey by doing a few simple things:</p>
<ol>
<li>Register to become an ICANN accredited domain registrar.</li>
<li>Offer domain registration at-cost, to offer the lowest possible prices to get customers.</li>
<li>Offer free web domain parking or static file only hosting, all on AOLserver.</li></ol>
<p>The costs involved would be around $10K for the first year, plus the cost of the actual AOLserver hosting, plus the $70K working capital in reserve to meet ICANN's requirements. This could all be set up on Amazon EC2/S3 to avoid having to provision real hardware as the customer demand grows.</p>
<p>Of course, what would be the point? Would having more significant numbers in the Netcraft surveys give AOLserver more credibility? I sure hope not--that would be foolish.</p>
<p>(via <a href="http://article.gmane.org/gmane.comp.web.aolserver/14645">Mark Mcgaha</a>)</p><p>(<a href="http://dossy.org/archives/000606.html#reply">comment on this</a>)</p><img height="1" src="http://feeds.feedburner.com/~r/dossy/feed/~4/243371787" width="1"/></div>
    </content>
    <updated>2008-02-29T15:32:50Z</updated>
    <category term="AOLserver"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://dossy.org/archives/000606.html</feedburner:origlink>
    <author>
      <name>dossy</name>
    </author>
    <source>
      <id>http://dossy.org/</id>
      <author>
        <name/>
        <email>dossy@panoptic.com</email>
      </author>
      <link href="http://dossy.org/" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nc-sa/3.0/" rel="license"/>
      <link href="http://feeds.feedburner.com/dossy/feed" rel="self" type="application/rss+xml"/>
      <subtitle>Everything that comes out of Dossy, from the strange to the banal.</subtitle>
      <title>Dossy's Blog</title>
      <updated>2008-04-22T04:28:10Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.solutiongrove.com/blogger/one-entry?entry%5fid=814427</id>
    <link href="http://www.solutiongrove.com/blogger/one-entry?entry%5fid=814427" rel="alternate" type="text/html"/>
    <title>Ajax and Accessibility</title>
    <summary>As we add Ajax-powered applications for our clients and share the code with others, there is some demand to make these features available within OpenACS and .LRN. .LRN, in particular, has a goal of meeting WAI accessibility guidelines. It is very challenging to meet these guidelines with Ajax-powered systems.


At the latest OpenACS/.LRN conference, we had a discussion on new Ajax applications and accessibility. I created a wiki page to document what we learned, including links to resourc...</summary>
    <updated>2008-02-24T21:58:21Z</updated>
    <source>
      <id>http://www.solutiongrove.com/blogger/</id>
      <logo>http://www.solutiongrove.com/rss-support/images/openacs_logo_rss.gif</logo>
      <author>
        <name>Solution Grove</name>
      </author>
      <link href="http://www.solutiongrove.com/blogger/" rel="alternate" type="text/html"/>
      <link href="http://www.solutiongrove.com/blogger/rss/rss.xml" rel="self" type="application/rss+xml"/>
      <subtitle>Solution Grove Blog</subtitle>
      <title>Solution Grove Blog</title>
      <updated>2008-03-26T12:30:24Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.solutiongrove.com/blogger/one-entry?entry%5fid=814410</id>
    <link href="http://www.solutiongrove.com/blogger/one-entry?entry%5fid=814410" rel="alternate" type="text/html"/>
    <title>Ajax Enhanced Tables (OpenACS Lists)</title>
    <summary>I got back this week from the OpenACS/.LRN conference in Guatemala. There was a great bunch of interesting people there and there was a lot to learn.


I presented on an AJAX-enhanced data table, known in OpenACS as Listbuilder. The video and slides are available. The user interface was inspired by DabbleDB, which provides a collaborative alternative to spreadsheets for managing data. In our case, we needed to integrate this level of interactive data manipulation with an existing .LRN sys...</summary>
    <updated>2008-02-24T21:43:37Z</updated>
    <source>
      <id>http://www.solutiongrove.com/blogger/</id>
      <logo>http://www.solutiongrove.com/rss-support/images/openacs_logo_rss.gif</logo>
      <author>
        <name>Solution Grove</name>
      </author>
      <link href="http://www.solutiongrove.com/blogger/" rel="alternate" type="text/html"/>
      <link href="http://www.solutiongrove.com/blogger/rss/rss.xml" rel="self" type="application/rss+xml"/>
      <subtitle>Solution Grove Blog</subtitle>
      <title>Solution Grove Blog</title>
      <updated>2008-03-23T13:45:36Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-19969388.post-4199181119892982576</id>
    <link href="http://feeds.feedburner.com/~r/HamIsAGeek/~3/239337310/yahoo-releases-yui-25.html" rel="alternate" type="text/html"/>
    <link href="http://developer.yahoo.com/yui/" rel="related" type="text/html"/>
    <link href="http://www.blogger.com/comment.g?blogID=19969388&amp;postID=4199181119892982576&amp;isPopup=true" rel="replies" type="text/html"/>
    <link href="http://hamisageek.blogspot.com/feeds/4199181119892982576/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="http://hamisageek.blogspot.com/feeds/posts/default/4199181119892982576" rel="self" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/19969388/posts/default/4199181119892982576" rel="edit" type="application/atom+xml"/>
    <title>Yahoo ! releases YUI 2.5</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Recently, <a href="http://www.thedesignexperience.org/">Dave</a> and I worked on adding some neat features to the list template code.<br/><br/>It's patterned after some of the things we saw in <a href="http://dabbledb.com/">DabbleDB</a> that we thought would be a nice have for list template on OpenACS.<br/><br/>Just last week Dave demoed <a href="http://solutiongrove.info/planets">Ajax List Template </a> at the <a href="http://ges.galileo.edu/conf2008/feb2008">OpenACS conference at Guatemala</a>.<br/><br/>So how is this related to YUI 2.5.<br/><br/>Well, with the release of 2.5 comes the <a href="http://developer.yahoo.com/yui/datatable/">Data Table control</a> and from the looks of it we'll be rewriting the  Ajax List Template to use it soon.  The current version uses YUI menus and a lot of back-end code. With the Data Table control it seems we will be able to "progressively enhance" a list template better than how we did it now.<br/><br/>In addition to the Data Table control, a few more notable additions include :<br/><br/>Image Cropper<br/><ul><li>I'm not totally sure but this looks like it's based on <a href="http://www.julienlecomte.net/blog/2007/07/6/">Julien Lecomte's image cropper widget</a></li></ul>Layout Manager<br/><ul><li>This looks like the layout manager that ExtJs has.<br/></li></ul>Uploader<br/><br/><ul><li>Looks like this is a flash based experimental file uploader based on the one they have at Flickr</li><li>I still like SwfUpload though :-)</li></ul>Resize Utility<br/><ul><li>This utility will relieve us all of mucking around with the drag and drop api to make elements resizable with YUI :-)<br/></li></ul>
<p><a href="http://feeds.feedburner.com/~a/HamIsAGeek?a=scdGCB"><img border="0" src="http://feeds.feedburner.com/~a/HamIsAGeek?i=scdGCB"/></a></p></div>
    </content>
    <updated>2008-02-22T10:50:02Z</updated>
    <published>2008-02-22T10:02:00Z</published><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://hamisageek.blogspot.com/2008/02/yahoo-releases-yui-25.html</feedburner:origlink>
    <author>
      <name>Ham-the-geek</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/10046970730389911333</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-19969388</id>
      <author>
        <name>Ham-the-geek</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/10046970730389911333</uri>
      </author>
      <link href="http://hamisageek.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://hamisageek.blogspot.com/feeds/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <link href="http://hamisageek.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://feeds.feedburner.com/HamIsAGeek" rel="self" type="application/atom+xml"/>
      <title>Ham is a Geek</title>
      <updated>2008-05-07T21:14:26Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://panoptic.com/wiki/aolserver/Ns_formvalueput</id>
    <link href="http://panoptic.com/wiki/aolserver/Ns_formvalueput" rel="alternate" type="text/html"/>
    <title>Ns formvalueput</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Added man page link as in the template / conventions, though it's a dead link.</p>

			<table style="background-color: white; color: black;">
			<colgroup><col class="diff-marker"/>
			<col class="diff-content"/>
			<col class="diff-marker"/>
			<col class="diff-content"/>
			</colgroup><tbody><tr>
				<td colspan="2" style="background-color: white; color: black;">←Older revision</td>
				<td colspan="2" style="background-color: white; color: black;">Revision as of 19:19, 21 February 2008</td>
			</tr>
		<tr><td class="diff-lineno" colspan="2">Line 1:</td>
<td class="diff-lineno" colspan="2">Line 1:</td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div>Man page: <del style="color: red; font-weight: bold; text-decoration: none;">'''not in source tree'''</del></div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>Man page: <ins style="color: red; font-weight: bold; text-decoration: none;">http://aolserver.com/docs/tcl/ns_formvalueput.html</ins></div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>----</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>----</div></td></tr>
</tbody></table></div>
    </summary>
    <updated>2008-02-21T19:19:14Z</updated>
    <author>
      <name>Rcobb</name>
    </author>
    <source>
      <id>http://panoptic.com/wiki/aolserver/Special:Recentchanges</id>
      <link href="http://panoptic.com/wiki/aolserver/Special:Recentchanges" rel="alternate" type="text/html"/>
      <link href="http://panoptic.com/mediawiki/aolserver/index.php?title=Special:Recentchanges&amp;feed=rss" rel="self" type="application/rss+xml"/>
      <subtitle>Track the most recent changes to the wiki in this feed.</subtitle>
      <title>AOLserver Wiki - Recent changes [en]</title>
      <updated>2008-02-29T01:45:14Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://panoptic.com/wiki/aolserver/Ns_hrefs</id>
    <link href="http://panoptic.com/wiki/aolserver/Ns_hrefs" rel="alternate" type="text/html"/>
    <title>Ns hrefs</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Missed a space in the indenting fix.</p>

			<table style="background-color: white; color: black;">
			<colgroup><col class="diff-marker"/>
			<col class="diff-content"/>
			<col class="diff-marker"/>
			<col class="diff-content"/>
			</colgroup><tbody><tr>
				<td colspan="2" style="background-color: white; color: black;">←Older revision</td>
				<td colspan="2" style="background-color: white; color: black;">Revision as of 18:21, 8 February 2008</td>
			</tr>
		<tr><td align="center" class="diff-multi" colspan="4">(One intermediate revision not shown.)</td></tr><tr><td class="diff-lineno" colspan="2">Line 16:</td>
<td class="diff-lineno" colspan="2">Line 16:</td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>'''EXAMPLES'''</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>'''EXAMPLES'''</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>&lt;pre&gt;&lt;nowiki&gt;</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>  % set html {One good website is &lt;A href='http://google.com/'&gt;Google&lt;/A&gt;.</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>              Another is &lt;a href='http://www.yahoo.com'&gt;Yahoo!&lt;/a&gt;}</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">    </del>% <del style="color: red; font-weight: bold; text-decoration: none;">set </del>html <del style="color: red; font-weight: bold; text-decoration: none;">{One good website is &lt;A href='</del>http://google.com/<del style="color: red; font-weight: bold; text-decoration: none;">'&gt;Google&lt;/A&gt;.</del></div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">  </ins>% <ins style="color: red; font-weight: bold; text-decoration: none;">ns_hrefs $</ins>html</div></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">                Another is &lt;a href='</del>http://www.yahoo.com<del style="color: red; font-weight: bold; text-decoration: none;">'</del>&gt;<del style="color: red; font-weight: bold; text-decoration: none;">Yahoo!</del>&lt;/<del style="color: red; font-weight: bold; text-decoration: none;">a</del>&gt;<del style="color: red; font-weight: bold; text-decoration: none;">}</del></div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">  </ins>http://google.com/ http://www.yahoo.com</div></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div> </div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">&lt;/nowiki</ins>&gt;&lt;/<ins style="color: red; font-weight: bold; text-decoration: none;">pre</ins>&gt;</div></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">    % ns_hrefs $html</del></div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div/></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">    http://google.com/ http://www.yahoo.com</del></div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div/></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div> </div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div/></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">'''NOTES'''</del></div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div/></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div> </div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div/></td></tr>
<tr><td class="diff-marker">-</td><td style="background: #ffa; color: black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">: How can I instruct the Wiki to not try to format URLs in the preformatted example text?</del></div></td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div/></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>----</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>----</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"/></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>[[Category Documentation]] - [[Category Core Tcl API]]</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>[[Category Documentation]] - [[Category Core Tcl API]]</div></td></tr>
</tbody></table></div>
    </summary>
    <updated>2008-02-08T18:21:53Z</updated>
    <author>
      <name>Rcobb</name>
    </author>
    <source>
      <id>http://panoptic.com/wiki/aolserver/Special:Recentchanges</id>
      <link href="http://panoptic.com/wiki/aolserver/Special:Recentchanges" rel="alternate" type="text/html"/>
      <link href="http://panoptic.com/mediawiki/aolserver/index.php?title=Special:Recentchanges&amp;feed=rss" rel="self" type="application/rss+xml"/>
      <subtitle>Track the most recent changes to the wiki in this feed.</subtitle>
      <title>AOLserver Wiki - Recent changes [en]</title>
      <updated>2008-02-16T23:15:16Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://radio.weblogs.com/2008/02/07.html#a904</id>
    <link href="http://www.enterprisedb.com/news_events/press_releases/01_29_08.do" rel="alternate" type="text/html"/>
    <title>Elastra delivers scalable OLTP.  For Real?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Elastra now offers scalable OLTP via Amazon's compute cloud.  

Supported Db's include:
<li>MySQL
</li><li>Postgresql
</li><li>EnterpriseDB

When Elastra first decloaked late 2007, they were all about scaling read-only BI databases, which is the easy problem to solve and <a href="http://www.jsequeira.com/blog/2007/09/13.html">I wasn't very excited.</a>  

This <a href="http://www.enterprisedb.com/news_events/press_releases/01_29_08.do">Enterprise DB press release</a>, however, implies that they've got a point-and-clicky active-active-active-etc cluster technology, with automatic-versioning for ~ $400/mo (per server). 

Quote the release:

<blockquote><cite>EnterpriseDB, the Oracle-compatible database company, today announced EnterpriseDB Advanced Server Cloud Edition, a version of the company’s flagship RDBMS that is built on the Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage Service (Amazon S3) Web services. EnterpriseDB has selected Elastra, the world’s first provider of elastic relational databases on demand, as its premier cloud computing software partner. Elastra’s Elastic Database Technology enables EnterpriseDB Advanced Server to run in a virtual, highly scalable, cloud-computing environment</cite></blockquote>

Wow.  
<img src="http://www.elastra.com/images/technology/fit.png" style="float: right;"/></li></div>
    </summary>
    <updated>2008-02-07T12:26:00Z</updated>
    <category term="blog"/>
    <source>
      <id>http://radio.weblogs.com/</id>
      <category scheme="http://rpc.weblogs.com/shortChanges.xml" term="rssUpdates"/>
      <author>
        <name>John Sequeira</name>
        <email>johnseq@pobox.com</email>
      </author>
      <link href="http://radio.weblogs.com/" rel="alternate" type="text/html"/>
      <link href="http://radio.weblogs.com/0103492/rss.xml" rel="self" type="application/rss+xml"/>
      <rights>Copyright 2008 John Sequeira</rights>
      <subtitle>John Sequeira's weblog:  enterprise application development,  typed weakly.</subtitle>
      <title>Amped::Technology</title>
      <updated>2008-05-09T12:00:39Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://blog.cleverly.com/permalinks/322.html</id>
    <link href="http://blog.cleverly.com/permalinks/322.html" rel="alternate" type="text/html"/>
    <title>Double em-dash in TeX</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Jane Austen uses double em-dashes at times.  The naive approach I
tried in TeX at first— consisting of two consecutive em-dashes—leaves
a small but visible amount of whitespace.</p>

<p>A bit of Googling turned up 
<a href="http://groups.google.com/group/comp.text.tex/msg/ff39541519e8a5a3">a 
1994 comp.text.tex post from Donald Arseneau</a> (who, in addition to being a
TeX-nician is also a <a href="http://wiki.tcl.tk/8613">Tcl'er</a>!) that 
gave a satisfactory solution:</p>

<blockquote><tt>\mbox{---\kern-1pt---}\penalty\exhyphenpenalty</tt></blockquote></div>
    </summary>
    <updated>2008-02-04T01:04:41Z</updated>
    <source>
      <id>http://blog.cleverly.com/</id>
      <author>
        <name>Michael A. Cleverly</name>
      </author>
      <link href="http://blog.cleverly.com/" rel="alternate" type="text/html"/>
      <link href="http://blog.cleverly.com/rss.xml" rel="self" type="application/rss+xml"/>
      <title>Cleverly Blogged</title>
      <updated>2008-04-08T03:27:04Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.rubick.com/blogger/one-entry?entry%5fid=27800</id>
    <link href="http://www.rubick.com/blogger/one-entry?entry%5fid=27800" rel="alternate" type="text/html"/>
    <title>Valid characters in a tcl proc definition</title>
    <summary>It appears you can include ! and ? in proc names in Tcl. So you can do nice Ruby-like proc names, such as

valid?
proc_with_side_effect!

Interesting.</summary>
    <updated>2008-01-30T21:52:01Z</updated>
    <category term="OpenACS"/>
    <source>
      <id>http://www.rubick.com/blogger/</id>
      <logo>http://www.rubick.com/rss-support/images/openacs_logo_rss.gif</logo>
      <author>
        <name>Jade Rubick</name>
      </author>
      <link href="http://www.rubick.com/blogger/" rel="alternate" type="text/html"/>
      <link href="http://www.rubick.com/blogger/rss/rss/rss.xml" rel="self" type="application/rss+xml"/>
      <subtitle>Jade's weblog</subtitle>
      <title>Jade's weblog</title>
      <updated>2008-05-10T00:30:29Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://dossy.org/archives/000587.html</id>
    <link href="http://feeds.feedburner.com/~r/dossy/feed/~3/224142746/000587.html" rel="alternate" type="text/html"/>
    <title>shiobara.com is getting a make-over</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p align="left">It's been over two years since we've taken the photo album down on the <a href="http://shiobara.com/">family website</a>, <a href="http://shiobara.com/">shiobara.com</a>--June 2005, to be exact. It's time to give it some proper care and feeding. The first step was to replace the old site with <a href="http://wordpress.org/">Wordpress</a>, which required some <a href="http://dossy.org/archives/000586.html">changes to AOLserver</a> in order to get it to work right. I then created a new theme that's a little less cluttered and with colors that aren't quite as offensive. Here's a "before and after" set of screenshots:</p>
<p align="center"><img alt="shiobara.com, before" border="0" height="294" src="http://static.dossy.org/images/2008/01/shiobara-com-before-410x294.png" width="410"/><br/><span style="COLOR: #999;">(shiobara.com, before)</span></p>
<p align="center"><img alt="shiobara.com, after" border="0" height="294" src="http://static.dossy.org/images/2008/01/shiobara-com-after-410x294.png" width="410"/><br/><span style="COLOR: #999;">(shiobara.com, after)</span></p>
<p align="left">I realize I have no graphic design ability--hell, I can't even coordinate colors when I dress myself. Someday, I'll find someone who's ridiculously talented and wants to do the graphic design for me to save me the embarassment of doing it myself. Until then, I'll just keep hacking away at it myself.</p>
<p align="left">Now that the site is all in Wordpress, the next step is to clean up the photo album. I took it down back in 2005 and wanted to redo it, but never got around to it. So, recently, I've started working on a Media Gallery plugin for Wordpress that uses <a href="http://jquery.com/">jQuery</a>, <a href="http://www.gmarwaha.com/jquery/jcarousellite/index.php">jCarousel Lite</a> and <a href="http://jquery.com/demo/thickbox/">ThickBox</a>. It's pretty slick, and once we've launched the photo album, I'll release the plugin as open source. If you'd like a sneak peak to beta test it, just ask.</p>
<p align="left">Tags: <a href="http://technorati.com/tag/family" rel="tag">family</a>, <a href="http://technorati.com/tag/photos" rel="tag">photos</a>, <a href="http://technorati.com/tag/Wordpress" rel="tag">Wordpress</a>, <a href="http://technorati.com/tag/plugins" rel="tag">plugins</a>, <a href="http://technorati.com/tag/web%20design" rel="tag">web design</a>, <a href="http://technorati.com/tag/jQuery" rel="tag">jQuery</a></p><p>(<a href="http://dossy.org/archives/000587.html#reply">comment on this</a>)</p></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p align="left">It's been over two years since we've taken the photo album down on the <a href="http://shiobara.com/">family website</a>, <a href="http://shiobara.com/">shiobara.com</a>--June 2005, to be exact. It's time to give it some proper care and feeding. The first step was to replace the old site with <a href="http://wordpress.org/">Wordpress</a>, which required some <a href="http://dossy.org/archives/000586.html">changes to AOLserver</a> in order to get it to work right. I then created a new theme that's a little less cluttered and with colors that aren't quite as offensive. Here's a "before and after" set of screenshots:</p>
<p align="center"><img alt="shiobara.com, before" border="0" height="294" src="http://static.dossy.org/images/2008/01/shiobara-com-before-410x294.png" width="410"/><br/><span style="COLOR: #999;">(shiobara.com, before)</span></p>
<p align="center"><img alt="shiobara.com, after" border="0" height="294" src="http://static.dossy.org/images/2008/01/shiobara-com-after-410x294.png" width="410"/><br/><span style="COLOR: #999;">(shiobara.com, after)</span></p>
<p align="left">I realize I have no graphic design ability--hell, I can't even coordinate colors when I dress myself. Someday, I'll find someone who's ridiculously talented and wants to do the graphic design for me to save me the embarassment of doing it myself. Until then, I'll just keep hacking away at it myself.</p>
<p align="left">Now that the site is all in Wordpress, the next step is to clean up the photo album. I took it down back in 2005 and wanted to redo it, but never got around to it. So, recently, I've started working on a Media Gallery plugin for Wordpress that uses <a href="http://jquery.com/">jQuery</a>, <a href="http://www.gmarwaha.com/jquery/jcarousellite/index.php">jCarousel Lite</a> and <a href="http://jquery.com/demo/thickbox/">ThickBox</a>. It's pretty slick, and once we've launched the photo album, I'll release the plugin as open source. If you'd like a sneak peak to beta test it, just ask.</p>
<p align="left">Tags: <a href="http://technorati.com/tag/family" rel="tag">family</a>, <a href="http://technorati.com/tag/photos" rel="tag">photos</a>, <a href="http://technorati.com/tag/Wordpress" rel="tag">Wordpress</a>, <a href="http://technorati.com/tag/plugins" rel="tag">plugins</a>, <a href="http://technorati.com/tag/web%20design" rel="tag">web design</a>, <a href="http://technorati.com/tag/jQuery" rel="tag">jQuery</a></p><p>(<a href="http://dossy.org/archives/000587.html#reply">comment on this</a>)</p><img height="1" src="http://feeds.feedburner.com/~r/dossy/feed/~4/224142746" width="1"/></div>
    </content>
    <updated>2008-01-27T19:55:37Z</updated>
    <category term="Family"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://dossy.org/archives/000587.html</feedburner:origlink>
    <author>
      <name>dossy</name>
    </author>
    <source>
      <id>http://dossy.org/</id>
      <author>
        <name/>
        <email>dossy@panoptic.com</email>
      </author>
      <link href="http://dossy.org/" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nc-sa/3.0/" rel="license"/>
      <link href="http://feeds.feedburner.com/dossy/feed" rel="self" type="application/rss+xml"/>
      <subtitle>Everything that comes out of Dossy, from the strange to the banal.</subtitle>
      <title>Dossy's Blog</title>
      <updated>2008-02-20T03:32:06Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://blog.cleverly.com/permalinks/319.html</id>
    <link href="http://blog.cleverly.com/permalinks/319.html" rel="alternate" type="text/html"/>
    <title>An experiment for Valentine's Day</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Among all the 
<a href="http://www.marginalrevolution.com/">Marginal Revolution</a>
<a href="http://marketsineverything.com/"><cite>Markets in 
Everything</cite></a> posts, one that personally intrigued me was
<a href="http://marketsineverything.com/#mie4">#4</a>, 
<a href="http://www.marginalrevolution.com/marginalrevolution/2004/02/markets_in_ever.html">personalized romance novels</a>.</p>

<p>For $55.95 a company in Florida will produce a unique book based on various
details you provide (name, hair color, favorite car, favorite radio station
etc.) and then plug those details into a pre-fabricated story running between
180 and 210 pages.</p>

<p>As Tyler Cowen <a href="http://www.marginalrevolution.com/marginalrevolution/2004/02/markets_in_ever.html">noted</a>:</p>

<blockquote class="newspaperbq">
<p>Some people actually like this idea:</p>
<blockquote>"It was an addictive read because it makes you the star," said Pete Hart, 34, who received a pre-fan novel called "Vampire Kisses" from his girlfriend. "I was referred to as Pedro in the book, which is my nickname. I found that quite charming."</blockquote>
<p>Another fellow noted:</p>
<blockquote>"It read more like a novel or novelette and less like a typical romance novel," he said. "I enjoyed reading it. Besides, I was in it."</blockquote>
</blockquote>

<p>I'm intrigued, since I've made typesetting a hobby, and in part because 
of the huge profit margins.  In my experience producing a single 180-210 
page book shouldn't cost more than ~$7, so $55.95 would represent an eight 
times markup.  Not bad...</p>

<p>Of course not being a reader of romance novels (or chick-lit generally) I'm
somewhat skeptical of the appeal.  But I recognize I'm probably not 
representative of the demographic and so I shouldn't necessarily consider my
own opinion too highly.  Better to try an experiment and attempt to
quantify the appeal generally.</p>

<p>I am going to prepare a personalized book for my wife for Valentine's.
This will provide me with one data point.  However a sample size of one
(especially when she might be biased to say nice things regardless of what
she really thinks) isn't large enough to draw any conclusions from.</p>

<p>As long as I'm going to be creating a personalized book for my wife
the marginal effort to create an additional personalized book for someone
else is very low.  (I'm already going to write a Tcl script to take
a list of changes and apply it to the original text; re-running the
script with someone elses list of changes would be trivial.)</p>

<h4 style="font-size: larger; font-weight: bolder;">An invitation to participate in an experiment for Valentine's Day 2008</h4>

<p>My inivitation to you, dear reader:</p>

<p>I'm willing to produce a personalized trade-paperback (6"x9") version of 
Jane Austen's <cite>Pride and Prejudice</cite> for you.</p>

<p>I only ask two things:</p>

<ol>
<li>That you reimburse me after the fact for the actual cost of having
the book produced and shipped.  (Payment via 
<a href="https://www.paypal.com/">PayPal</a> or check; I'm estimating
the book itself will probably cost in the $9 - $12 range depending on 
what size font I end up using.)</li>

<li style="padding-top: 1em;">That after you've given the book to your 
significant other and (s)he has had an opportunity to read it you 
complete a short follow-up survey that I'll send so I can quantify 
peoples reactions generally.</li>
</ol>

<p>The characters whose names could be changed to customize the story
(links are to character summaries at Wikipedia) include:</p>

<ul>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Elizabeth_Bennet">Elizabeth Bennet</a> (main heroine)</li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Mr._Darcy">Mr. Fitzwilliam Darcy</a> (main male character)</li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Mr._Bennet">Mr. Bennet</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Mrs._Bennet">Mrs. Bennet</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Jane_Bennet">Jane Bennet</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Lydia_Bennet">Lydia Bennet</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Charles_Bingley">Charles Bingley</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#William_Collins">William Collins</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#George_Wickham">George Wickham</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Mary_Bennet">Mary Bennet</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Kitty_Bennet">Kitty Bennet</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Charlotte_Lucas">Charlotte Lucas</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Georgiana_Darcy">Georgiana Darcy</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Lady_Catherine_de_Bourgh">Lady Catherine de Bourgh</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pride_and_Prejudice#Caroline_Bingley">Caroline Bingley</a></li>
</ul>

<p><a href="http://upload.wikimedia.org/wikipedia/en/5/54/Pride_and_Prejudice_Character_Map.png">This chart from Wikipedia</a> shows the relationships 
between the aforementioned characters.</p>

<p>Location names that could be changed include: <cite>Rosings</cite> (Lady 
Catherine de Bourgh's estate); <cite>Netherfield</cite> (the estate leased 
by Mr. Bingley); <cite>Meryton</cite> (the village near where the 
Bennet's live); <cite>Brighton</cite> (where Lydia is 
invited to go with the militia); and <cite>Pemberley</cite> (Mr. Darcy's 
estate).</p>

<h4 style="font-size: larger; font-weight: bolder;">How to participate</h4>

<p>Given that Valnetine's Day is two and a half weeks away, and to allow
time for production and shipping, please 
<a href="mailto:michael@cleverly.com">email me (<tt>michael</tt> at 
<tt>cleverly</tt> dot <tt>com</tt>)</a> with the following <b>no later than
Saturday, February 2nd, 2008</b>:</p>

<ul>
<li>Your name and mailing address (where to send the book to)</li>
<li>A brief dedication (if any) to include at the beginning</li> 
<li>A list of alternate character names (i.e., "Shauna Christensen" instead of
"Elizabeth Bennet", etc.)</li>
</ul>

<p><b>Please put Pride &amp; Prejudice in the subject line of your
email</b> to decrease the chances of your email being inadvertantly 
miscategorized as spam.  If you haven't received an acknowledgement from 
me within 48-hours please send another message.</p>

<p>I'm willing to ship internationally; however, I doubt time would 
permit your books arrival prior to February 14th, and the shipping
expense would undoubtedly be greater.</p>

<p>Incidentally, if the idea of this experiment offends any die-hard fans 
of Jane Austen you have my apologies in advance.</p></div>
    </summary>
    <updated>2008-01-26T22:53:02Z</updated>
    <source>
      <id>http://blog.cleverly.com/</id>
      <author>
        <name>Michael A. Cleverly</name>
      </author>
      <link href="http://blog.cleverly.com/" rel="alternate" type="text/html"/>
      <link href="http://blog.cleverly.com/rss.xml" rel="self" type="application/rss+xml"/>
      <title>Cleverly Blogged</title>
      <updated>2008-04-08T03:27:04Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://dossy.org/archives/000586.html</id>
    <link href="http://feeds.feedburner.com/~r/dossy/feed/~3/222316680/000586.html" rel="alternate" type="text/html"/>
    <title>nscgi: ns_request_cgi and REQUEST_URI change</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>In the "scratch your own itch" department, I decided to get <a href="http://wordpress.org/">Wordpress</a> working under <a href="http://aolserver.com/">AOLserver</a>. Wordpress is written in PHP, and while AOLserver can load PHP as a module, it doesn't play nice when you configure AOLserver with multiple virtual servers. The other option, running PHP as CGI using <a href="http://aolserver.com/sf/cvs/*checkout*/aolserver/nscgi/nscgi.html">nscgi</a> and php-cgi, does work for the most part. However, there were a few issues I ran into that required changes to nscgi, which I'll outline below.</p>
<h3>Adding REQUEST_URI to CGI env. variables</h3>
<p>PHP expects an additional environment variable, <tt>REQUEST_URI</tt>, to be included on CGI requests. Of course, this isn't part of the <a href="http://www.ietf.org/rfc/rfc3875">CGI/1.1</a> specification. Basically, PHP expects <tt>REQUEST_URI</tt> to contain the Request-URI (from the <a href="http://www.ietf.org/rfc/rfc2616">HTTP/1.1</a> specification, see section 5.1.2). So, I added this in.</p>
<h3>Mapping URLs to CGI with ns_register_cgi</h3>
<p>In order to map an URL to be handled by nscgi, you previously had to make the change in your config .tcl and restart AOLserver. One of the great things about AOLserver is the fact that you <em>can</em> modify some settings at runtime, without a restart. So, I looked at whether it would be possible to add additional mappings at runtime, and it appears that under the hood, nscgi also uses the <code>Ns_RegisterRequest</code> C API which is supposed to be safe to execute at runtime. So, I added a new Tcl command, <code><strong>ns_register_cgi</strong></code>, which is now part of nscgi. It is just a wrapper around <code>CgiRegister</code>, and thus takes the same argument.</p>
<p>For example, if you wanted to map all requests to "<tt>/foo</tt>" (including "<tt>/foo/bar</tt>") to a PHP script "<tt>/var/www/myfoo.php</tt>", you would use something like this:</p>
<blockquote><pre style="OVERFLOW: auto;">foreach method {GET POST HEAD} {
    ns_register_cgi "$method /foo /var/www/myfoo.php"
}</pre></blockquote>
<p>This maps <tt>GET</tt>, <tt>POST</tt> and <tt>HEAD</tt> requests to URLs starting with "<tt>/foo</tt>" to the script specified.</p>
<p><strong>Caveat:</strong> It is currently possible to load the nscgi module multiple times in the same AOLserver process, for each virtual server. It is <em>also</em> possible to load it multiple times for the <em>same</em> virtual server. I'm not sure why anyone would do that, but it's possible. In that circumstance, the behavior of <tt>ns_register_cgi</tt> is undefined--as in, I haven't tested it. It may or may not work correctly. If you run such a configuration, where nscgi is loaded multiple times in the same virtual server, please test this carefully and share your findings. Thanks.</p>
<h3>Where's the code?</h3>
<p>I've commited the changes to SourceForge CVS, both in HEAD (<a href="http://aolserver.cvs.sourceforge.net/aolserver/aolserver/nscgi/nscgi.c?revision=1.33&amp;view=markup">rev 1.33</a>, <a href="http://aolserver.cvs.sourceforge.net/aolserver/aolserver/nscgi/nscgi.c?r1=1.32&amp;r2=1.33">diff</a>) and the <tt>aolserver_v40_bp</tt> branch (rev <a href="http://aolserver.cvs.sourceforge.net/aolserver/aolserver/nscgi/nscgi.c?revision=1.23.2.4&amp;view=markup">1.23.2.4</a>, <a href="http://aolserver.cvs.sourceforge.net/aolserver/aolserver/nscgi/nscgi.c?r1=1.23.2.3&amp;r2=1.23.2.4">diff</a>).</p>
<p>Tags: <a href="http://technorati.com/tag/AOLserver" rel="tag">AOLserver</a>, <a href="http://technorati.com/tag/PHP" rel="tag">PHP</a>, <a href="http://technorati.com/tag/CGI" rel="tag">CGI</a></p><p>(<a href="http://dossy.org/archives/000586.html#reply">comment on this</a>)</p></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>In the "scratch your own itch" department, I decided to get <a href="http://wordpress.org/">Wordpress</a> working under <a href="http://aolserver.com/">AOLserver</a>. Wordpress is written in PHP, and while AOLserver can load PHP as a module, it doesn't play nice when you configure AOLserver with multiple virtual servers. The other option, running PHP as CGI using <a href="http://aolserver.com/sf/cvs/*checkout*/aolserver/nscgi/nscgi.html">nscgi</a> and php-cgi, does work for the most part. However, there were a few issues I ran into that required changes to nscgi, which I'll outline below.</p>
<h3>Adding REQUEST_URI to CGI env. variables</h3>
<p>PHP expects an additional environment variable, <tt>REQUEST_URI</tt>, to be included on CGI requests. Of course, this isn't part of the <a href="http://www.ietf.org/rfc/rfc3875">CGI/1.1</a> specification. Basically, PHP expects <tt>REQUEST_URI</tt> to contain the Request-URI (from the <a href="http://www.ietf.org/rfc/rfc2616">HTTP/1.1</a> specification, see section 5.1.2). So, I added this in.</p>
<h3>Mapping URLs to CGI with ns_register_cgi</h3>
<p>In order to map an URL to be handled by nscgi, you previously had to make the change in your config .tcl and restart AOLserver. One of the great things about AOLserver is the fact that you <em>can</em> modify some settings at runtime, without a restart. So, I looked at whether it would be possible to add additional mappings at runtime, and it appears that under the hood, nscgi also uses the <code>Ns_RegisterRequest</code> C API which is supposed to be safe to execute at runtime. So, I added a new Tcl command, <code><strong>ns_register_cgi</strong></code>, which is now part of nscgi. It is just a wrapper around <code>CgiRegister</code>, and thus takes the same argument.</p>
<p>For example, if you wanted to map all requests to "<tt>/foo</tt>" (including "<tt>/foo/bar</tt>") to a PHP script "<tt>/var/www/myfoo.php</tt>", you would use something like this:</p>
<blockquote><pre style="OVERFLOW: auto;">foreach method {GET POST HEAD} {
    ns_register_cgi "$method /foo /var/www/myfoo.php"
}</pre></blockquote>
<p>This maps <tt>GET</tt>, <tt>POST</tt> and <tt>HEAD</tt> requests to URLs starting with "<tt>/foo</tt>" to the script specified.</p>
<p><strong>Caveat:</strong> It is currently possible to load the nscgi module multiple times in the same AOLserver process, for each virtual server. It is <em>also</em> possible to load it multiple times for the <em>same</em> virtual server. I'm not sure why anyone would do that, but it's possible. In that circumstance, the behavior of <tt>ns_register_cgi</tt> is undefined--as in, I haven't tested it. It may or may not work correctly. If you run such a configuration, where nscgi is loaded multiple times in the same virtual server, please test this carefully and share your findings. Thanks.</p>
<h3>Where's the code?</h3>
<p>I've commited the changes to SourceForge CVS, both in HEAD (<a href="http://aolserver.cvs.sourceforge.net/aolserver/aolserver/nscgi/nscgi.c?revision=1.33&amp;view=markup">rev 1.33</a>, <a href="http://aolserver.cvs.sourceforge.net/aolserver/aolserver/nscgi/nscgi.c?r1=1.32&amp;r2=1.33">diff</a>) and the <tt>aolserver_v40_bp</tt> branch (rev <a href="http://aolserver.cvs.sourceforge.net/aolserver/aolserver/nscgi/nscgi.c?revision=1.23.2.4&amp;view=markup">1.23.2.4</a>, <a href="http://aolserver.cvs.sourceforge.net/aolserver/aolserver/nscgi/nscgi.c?r1=1.23.2.3&amp;r2=1.23.2.4">diff</a>).</p>
<p>Tags: <a href="http://technorati.com/tag/AOLserver" rel="tag">AOLserver</a>, <a href="http://technorati.com/tag/PHP" rel="tag">PHP</a>, <a href="http://technorati.com/tag/CGI" rel="tag">CGI</a></p><p>(<a href="http://dossy.org/archives/000586.html#reply">comment on this</a>)</p><img height="1" src="http://feeds.feedburner.com/~r/dossy/feed/~4/222316680" width="1"/></div>
    </content>
    <updated>2008-01-24T14:23:32Z</updated>
    <category term="AOLserver"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://dossy.org/archives/000586.html</feedburner:origlink>
    <author>
      <name>dossy</name>
    </author>
    <source>
      <id>http://dossy.org/</id>
      <author>
        <name/>
        <email>dossy@panoptic.com</email>
      </author>
      <link href="http://dossy.org/" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nc-sa/3.0/" rel="license"/>
      <link href="http://feeds.feedburner.com/dossy/feed" rel="self" type="application/rss+xml"/>
      <subtitle>Everything that comes out of Dossy, from the strange to the banal.</subtitle>
      <title>Dossy's Blog</title>
      <updated>2008-02-18T14:00:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.solutiongrove.com/blogger/one-entry?entry%5fid=785529</id>
    <link href="http://www.solutiongrove.com/blogger/one-entry?entry%5fid=785529" rel="alternate" type="text/html"/>
    <title>A mod_gzip for OpenACS ?</title>
    <summary>I envy the web apps running off apache. They get an incredible speed boost thru compression just by enabling the mod_gzip module. 


Websites on AOLServer 4.5 can use ns_zlib to serve compressed adp pages but I don't know yet if static files like images, cascading style sheets or javascript can automatically be served compressed.


We've been doing lots of front end development and the size of javascript and css files can take its toll on load times. 


Just yesterday I...</summary>
    <updated>2008-01-23T16:44:44Z</updated>
    <source>
      <id>http://www.solutiongrove.com/blogger/</id>
      <logo>http://www.solutiongrove.com/rss-support/images/openacs_logo_rss.gif</logo>
      <author>
        <name>Solution Grove</name>
      </author>
      <link href="http://www.solutiongrove.com/blogger/" rel="alternate" type="text/html"/>
      <link href="http://www.solutiongrove.com/blogger/rss/rss.xml" rel="self" type="application/rss+xml"/>
      <subtitle>Solution Grove Blog</subtitle>
      <title>Solution Grove Blog</title>
      <updated>2008-02-25T19:45:22Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://dossy.org/archives/000582.html</id>
    <link href="http://feeds.feedburner.com/~r/dossy/feed/~3/217666763/000582.html" rel="alternate" type="text/html"/>
    <title>Today's geek news: Sun acquires MySQL AB</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p align="center"><img alt="Sun + MySQL = ???" border="0" src="http://static.dossy.org/images/2008/01/sun-acquires-mysql-350x70.png"/></p>
<p>After yesterday's yawner of a <a href="http://www.macworldexpo.com/">Macworld Expo</a>, I wasn't really expecting today to yield much interesting news. Of course, I wake up to the news that <a href="http://www.sun.com/aboutsun/pr/2008-01/sunflash.20080116.1.xml">Sun acquired MySQL</a>! Both <a href="http://blogs.sun.com/jonathan/entry/winds_of_change_are_blowing">Jonathan Schwartz</a> and <a href="http://blogs.mysql.com/kaj/sun-acquires-mysql.html/">Kaj Arnö</a> share with us some of the best-laid plans of mice and men.</p>
<p>My first reaction was most definitely "WTF?!?" After the initial shock subsided, I wondered if it was April already. Checking my calendar, I realized it wasn't. Ah, maybe I'm still sleeping and this is just a really lucid dream? Nope. Okay, so how do I get <a href="http://en.wikipedia.org/wiki/K%C3%BCbler-Ross_model">from "denial" to "acceptance"</a> as quickly as possible?</p>
<p>Sure, the next phase set in quick: anger. How dare they do this? First, Sun gives up the legacy of their <b>SUNW</b> ticker symbol <a href="http://dossy.org/archives/000499.html">in exchange for <b>JAVA</b></a>. Now they're going after my beloved MySQL database? Please don't tell me the next press release to come out is the announcement of a renamed MySQL into some craptastic "Sun Enterprise Data Management Suite," codenamed "<a href="http://www.jwz.org/gruntle/monkeybutter.html">Monkeybutter</a>."</p>
<p>Fine, I'm being completely irrational, I know it. Things can't get that bad, that quickly, right? I mean, if we're all supportive and positive, things will just keep getting better for both Sun and MySQL, right? I mean, Sun infusing more money into MySQL will inevitably make it a better product, right? Just let some good come out of this situation, please?</p>
<p>Oh, what's the use? Companies are struggling so hard to find MySQL talent, and it's allegedly "the world's most popular open source database" according to <a href="http://www.mysql.com/">MySQL</a> itself. Sun bet the farm on Java and subsequently we've watched the company fall into the pit of irrelevancy. Who really cares what happens to either of these companies any more?</p>
<p>You know who? I do. I love Sun hardware and I love using MySQL databases. If there's some benefit to be had here, I'm sure Jonathan Schwartz will find it and exploit it to the benefit of his customers. In any business, if I had to bet on someone, <strong>I'll always pick the guy with the pony-tail and T-shirt</strong> to win. If you've ever seen me in person, you'll know exactly why. :-)</p><p>(<a href="http://dossy.org/archives/000582.html#reply">comment on this</a>)</p></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p align="center"><img alt="Sun + MySQL = ???" border="0" src="http://static.dossy.org/images/2008/01/sun-acquires-mysql-350x70.png"/></p>
<p>After yesterday's yawner of a <a href="http://www.macworldexpo.com/">Macworld Expo</a>, I wasn't really expecting today to yield much interesting news. Of course, I wake up to the news that <a href="http://www.sun.com/aboutsun/pr/2008-01/sunflash.20080116.1.xml">Sun acquired MySQL</a>! Both <a href="http://blogs.sun.com/jonathan/entry/winds_of_change_are_blowing">Jonathan Schwartz</a> and <a href="http://blogs.mysql.com/kaj/sun-acquires-mysql.html/">Kaj Arnö</a> share with us some of the best-laid plans of mice and men.</p>
<p>My first reaction was most definitely "WTF?!?" After the initial shock subsided, I wondered if it was April already. Checking my calendar, I realized it wasn't. Ah, maybe I'm still sleeping and this is just a really lucid dream? Nope. Okay, so how do I get <a href="http://en.wikipedia.org/wiki/K%C3%BCbler-Ross_model">from "denial" to "acceptance"</a> as quickly as possible?</p>
<p>Sure, the next phase set in quick: anger. How dare they do this? First, Sun gives up the legacy of their <b>SUNW</b> ticker symbol <a href="http://dossy.org/archives/000499.html">in exchange for <b>JAVA</b></a>. Now they're going after my beloved MySQL database? Please don't tell me the next press release to come out is the announcement of a renamed MySQL into some craptastic "Sun Enterprise Data Management Suite," codenamed "<a href="http://www.jwz.org/gruntle/monkeybutter.html">Monkeybutter</a>."</p>
<p>Fine, I'm being completely irrational, I know it. Things can't get that bad, that quickly, right? I mean, if we're all supportive and positive, things will just keep getting better for both Sun and MySQL, right? I mean, Sun infusing more money into MySQL will inevitably make it a better product, right? Just let some good come out of this situation, please?</p>
<p>Oh, what's the use? Companies are struggling so hard to find MySQL talent, and it's allegedly "the world's most popular open source database" according to <a href="http://www.mysql.com/">MySQL</a> itself. Sun bet the farm on Java and subsequently we've watched the company fall into the pit of irrelevancy. Who really cares what happens to either of these companies any more?</p>
<p>You know who? I do. I love Sun hardware and I love using MySQL databases. If there's some benefit to be had here, I'm sure Jonathan Schwartz will find it and exploit it to the benefit of his customers. In any business, if I had to bet on someone, <strong>I'll always pick the guy with the pony-tail and T-shirt</strong> to win. If you've ever seen me in person, you'll know exactly why. :-)</p><p>(<a href="http://dossy.org/archives/000582.html#reply">comment on this</a>)</p><img height="1" src="http://feeds.feedburner.com/~r/dossy/feed/~4/217666763" width="1"/></div>
    </content>
    <updated>2008-01-16T14:43:05Z</updated>
    <category term="Geeking out"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://dossy.org/archives/000582.html</feedburner:origlink>
    <author>
      <name>dossy</name>
    </author>
    <source>
      <id>http://dossy.org/</id>
      <author>
        <name/>
        <email>dossy@panoptic.com</email>
      </author>
      <link href="http://dossy.org/" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nc-sa/3.0/" rel="license"/>
      <link href="http://feeds.feedburner.com/dossy/feed" rel="self" type="application/rss+xml"/>
      <subtitle>Everything that comes out of Dossy, from the strange to the banal.</subtitle>
      <title>Dossy's Blog</title>
      <updated>2008-02-15T17:17:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://dossy.org/archives/000580.html</id>
    <link href="http://feeds.feedburner.com/~r/dossy/feed/~3/217257411/000580.html" rel="alternate" type="text/html"/>
    <title>Tcl is alive and well with Tcl 8.5</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.tcl.tk/"><img align="right" alt="Tcl logo" border="0" height="49" src="http://static.dossy.org/images/2008/01/tcl-logo-116x49.png" width="116"/></a> 
<p>As much as people wonder "who still uses <a href="http://www.tcl.tk/">Tcl</a>?" or "what the heck is <a href="http://www.tcl.tk/">Tcl</a>?" ... it's still alive and well and under steady new development. The long-awaited <a href="http://www.tcl.tk/software/tcltk/8.5.tml">release of Tcl 8.5</a> happened this past December 20, 2007. You can <a href="http://www.tcl.tk/software/tcltk/8.5.tml">download it from here</a>.</p>
<p>The <a href="http://it.slashdot.org/article.pl?sid=07/12/22/2315246">discussion on Slashdot</a> about it shows that there's still a lot of misinformation and outright <acronym title="Fear, Uncertainty and Doubt">FUD</acronym> being spread about Tcl, now 20 years old. Of course, the Tcl community seems to focus more on excellence in engineering than evangelism and PR, so Tcl will likely remain "<a href="http://it.slashdot.org/comments.pl?sid=397528&amp;cid=21798374">a well-kept secret, sitting out in plain sight</a>" for the next 20 years.</p>
<p>For people who are already familiar with Tcl but would like to know what significant changes were introduced in Tcl 8.5, <a href="http://blog.cleverly.com/">Michael Cleverly</a> has <a href="http://blog.cleverly.com/permalinks/308.html">a fantastic write-up on it</a>. I highly recommend reading what he wrote if you're looking to take advantage of Tcl 8.5's new features.</p>
<p>Tags: <a href="http://technorati.com/tag/tcl" rel="tag">Tcl</a></p><p>(<a href="http://dossy.org/archives/000580.html#reply">comment on this</a>)</p></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.tcl.tk/"><img align="right" alt="Tcl logo" border="0" height="49" src="http://static.dossy.org/images/2008/01/tcl-logo-116x49.png" width="116"/></a> 
<p>As much as people wonder "who still uses <a href="http://www.tcl.tk/">Tcl</a>?" or "what the heck is <a href="http://www.tcl.tk/">Tcl</a>?" ... it's still alive and well and under steady new development. The long-awaited <a href="http://www.tcl.tk/software/tcltk/8.5.tml">release of Tcl 8.5</a> happened this past December 20, 2007. You can <a href="http://www.tcl.tk/software/tcltk/8.5.tml">download it from here</a>.</p>
<p>The <a href="http://it.slashdot.org/article.pl?sid=07/12/22/2315246">discussion on Slashdot</a> about it shows that there's still a lot of misinformation and outright <acronym title="Fear, Uncertainty and Doubt">FUD</acronym> being spread about Tcl, now 20 years old. Of course, the Tcl community seems to focus more on excellence in engineering than evangelism and PR, so Tcl will likely remain "<a href="http://it.slashdot.org/comments.pl?sid=397528&amp;cid=21798374">a well-kept secret, sitting out in plain sight</a>" for the next 20 years.</p>
<p>For people who are already familiar with Tcl but would like to know what significant changes were introduced in Tcl 8.5, <a href="http://blog.cleverly.com/">Michael Cleverly</a> has <a href="http://blog.cleverly.com/permalinks/308.html">a fantastic write-up on it</a>. I highly recommend reading what he wrote if you're looking to take advantage of Tcl 8.5's new features.</p>
<p>Tags: <a href="http://technorati.com/tag/tcl" rel="tag">Tcl</a></p><p>(<a href="http://dossy.org/archives/000580.html#reply">comment on this</a>)</p><img height="1" src="http://feeds.feedburner.com/~r/dossy/feed/~4/217257411" width="1"/></div>
    </content>
    <updated>2008-01-15T21:25:52Z</updated>
    <category term="Tcl"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://dossy.org/archives/000580.html</feedburner:origlink>
    <author>
      <name>dossy</name>
    </author>
    <source>
      <id>http://dossy.org/</id>
      <author>
        <name/>
        <email>dossy@panoptic.com</email>
      </author>
      <link href="http://dossy.org/" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nc-sa/3.0/" rel="license"/>
      <link href="http://feeds.feedburner.com/dossy/feed" rel="self" type="application/rss+xml"/>
      <subtitle>Everything that comes out of Dossy, from the strange to the banal.</subtitle>
      <title>Dossy's Blog</title>
      <updated>2008-02-13T15:00:58Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.solutiongrove.com/blogger/one-entry?entry%5fid=777654</id>
    <link href="http://www.solutiongrove.com/blogger/one-entry?entry%5fid=777654" rel="alternate" type="text/html"/>
    <title>XSS: Welcome to 2003 (or thereabouts)</title>
    <summary>Ajaxian mentions SafeErb for Rails, an add-on to help secure that user input is safe. It does so by checking if you explicitly call a certain method to escape the user content.


OpenACS, the base for .LRN, has been doing this for awile now. We took a different approach. All content is escaped by default, and the programmer must decide when to let through unescaped content. Either way it's something all Web frameworks should support if they allow users to enter HTML. </summary>
    <updated>2008-01-12T21:59:30Z</updated>
    <source>
      <id>http://www.solutiongrove.com/blogger/</id>
      <logo>http://www.solutiongrove.com/rss-support/images/openacs_logo_rss.gif</logo>
      <author>
        <name>Solution Grove</name>
      </author>
      <link href="http://www.solutiongrove.com/blogger/" rel="alternate" type="text/html"/>
      <link href="http://www.solutiongrove.com/blogger/rss/rss.xml" rel="self" type="application/rss+xml"/>
      <subtitle>Solution Grove Blog</subtitle>
      <title>Solution Grove Blog</title>
      <updated>2008-02-12T06:45:15Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://panoptic.com/wiki/aolserver/AOLserver_Cookbook</id>
    <link href="http://panoptic.com/wiki/aolserver/AOLserver_Cookbook" rel="alternate" type="text/html"/>
    <title>AOLserver Cookbook</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p/>

			<table style="background-color: white; color: black;">
			<colgroup><col class="diff-marker"/>
			<col class="diff-content"/>
			<col class="diff-marker"/>
			<col class="diff-content"/>
			</colgroup><tbody><tr>
				<td colspan="2" style="background-color: white; color: black;">←Older revision</td>
				<td colspan="2" style="background-color: white; color: black;">Revision as of 16:49, 10 January 2008</td>
			</tr>
		<tr><td align="center" class="diff-multi" colspan="4">(One intermediate revision not shown.)</td></tr><tr><td class="diff-lineno" colspan="2">Line 480:</td>
<td class="diff-lineno" colspan="2">Line 480:</td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>&lt;pre&gt;</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>&lt;pre&gt;</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>ns_limits set default -maxupload [expr 25 * 1024 * 1024]  ;# Maximum file size set to 25Mb</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>ns_limits set default -maxupload [expr 25 * 1024 * 1024]  ;# Maximum file size set to 25Mb</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>&lt;/pre&gt;</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"/></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"/></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>== Return a file generated live ==</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"/></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>Example using the db_foreach function from OpenACS, for the sake of code readability:</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"/></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>&lt;pre&gt;</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>db_foreach get_mailing_addrs "</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"/></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>   select company_name,</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>          address,</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>          city,</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>          province_abbrev,</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>          postal_code</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>     from ce_members</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>    order by company_name" {</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"/></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>         append csv_text "\"$company_name\",\"$address\",\"$city\",\"$province_abbrev\",\"$postal_code\"\r\n"</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>     }</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>ns_set update [ns_conn outputheaders] content-disposition "attachment; filename=\"member-addresses.csv\""</div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class="diff-marker">+</td><td style="background: #cfc; color: black; font-size: smaller;"><div>ns_return 200 application/octet-stream $csv_text</div></td></tr>
<tr><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>&lt;/pre&gt;</div></td><td class="diff-marker"> </td><td style="background: #eee; color: black; font-size: smaller;"><div>&lt;/pre&gt;</div></td></tr>
</tbody></table></div>
    </summary>
    <updated>2008-01-10T16:49:10Z</updated>
    <author>
      <name>Juanjose</name>
    </author>
    <source>
      <id>http://panoptic.com/wiki/aolserver/Special:Recentchanges</id>
      <link href="http://panoptic.com/wiki/aolserver/Special:Recentchanges" rel="alternate" type="text/html"/>
      <link href="http://panoptic.com/mediawiki/aolserver/index.php?title=Special:Recentchanges&amp;feed=rss" rel="self" type="application/rss+xml"/>
      <subtitle>Track the most recent changes to the wiki in this feed.</subtitle>
      <title>AOLserver Wiki - Recent changes [en]</title>
      <updated>2008-01-18T17:45:38Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-19969388.post-740265490662676211</id>
    <link href="http://feeds.feedburner.com/~r/HamIsAGeek/~3/138269105/ajax-powered-file-manager-demo.html" rel="alternate" type="text/html"/>
    <link href="http://www.solutiongrove.info/companya/files/" rel="related" type="text/html"/>
    <link href="http://www.blogger.com/comment.g?blogID=19969388&amp;postID=740265490662676211&amp;isPopup=true" rel="replies" type="text/html"/>
    <link href="http://hamisageek.blogspot.com/feeds/740265490662676211/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="http://hamisageek.blogspot.com/feeds/posts/default/740265490662676211" rel="self" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/19969388/posts/default/740265490662676211" rel="edit" type="application/atom+xml"/>
    <title>Ajax powered File Manager demo</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The revolution started  a few short years ago with Google's Gmail.<br/><br/>It's the web application that put WOW back into WWW.<br/><br/>It is truly the first web application that I would trade in my trusty e-mail client for. The decision to switch was a no brainer. Yahoo Mail didn't have POP. At that time, no free email hosting provider offered more than a measely 5MB of email storage. Outlook Express crashes at the sheer volume of e-mail I get everyday. Finally, searching thru hundreds to thousands of messages wasn't such a chore because it actually works !<br/><br/>Suddenly, more and more people were turning to their browsers to read mail, gradually weaning away from the desktop e-mail clients that they have become so use to.<br/><br/>After the e-mail client, is the file manager not too far away from the same fate ?<br/><br/>Probably not in the near future. As I have mentioned before, browsers need a little catching up before we can actually see that happening. Right now, for instance, if you want seamless dragging and dropping of files from your desktop to a web page, you have to rely on a java applet.<br/><br/>Click the title <a href="http://www.solutiongrove.info/companya/files/">link</a> above to see a demo I wrote of an ajax powered file manager (username:coa,password:123) that works on top of the robust OpenACS File Storage package.<br/><br/>I wouldn't call it innovative, in fact, it copies a lot of things from Windows Explorer but it has to start somewhere :-)
<p><a href="http://feeds.feedburner.com/~a/HamIsAGeek?a=LRcMeJ"><img border="0" src="http://feeds.feedburner.com/~a/HamIsAGeek?i=LRcMeJ"/></a></p></div>
    </content>
    <updated>2008-01-10T12:27:02Z</updated>
    <published>2007-07-28T13:06:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="javascript"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="ajax"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://hamisageek.blogspot.com/2007/07/ajax-powered-file-manager-demo.html</feedburner:origlink>
    <author>
      <name>Ham-the-geek</name>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-19969388</id>
      <author>
        <name>Ham-the-geek</name>
      </author>
      <link href="http://hamisageek.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://hamisageek.blogspot.com/feeds/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <link href="http://hamisageek.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://feeds.feedburner.com/HamIsAGeek" rel="self" type="application/atom+xml"/>
      <title>Ham is a Geek</title>
      <updated>2008-02-22T18:49:00Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-19969388.post-815785874056440562</id>
    <link href="http://feeds.feedburner.com/~r/HamIsAGeek/~3/169763379/friend-webs-on-facebook.html" rel="alternate" type="text/html"/>
    <link href="http://apps.facebook.com/friendwebs/" rel="related" type="text/html"/>
    <link href="http://www.blogger.com/comment.g?blogID=19969388&amp;postID=815785874056440562&amp;isPopup=true" rel="replies" type="text/html"/>
    <link href="http://hamisageek.blogspot.com/feeds/815785874056440562/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="http://hamisageek.blogspot.com/feeds/posts/default/815785874056440562" rel="self" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/19969388/posts/default/815785874056440562" rel="edit" type="application/atom+xml"/>
    <title>Friend Webs on Facebook</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div style="text-align: left;">Got a facebook account ?<br/><br/>Why don't you login to facebook and head on over to <a href="http://apps.facebook.com/friendwebs/">http://apps.facebook.com/friendwebs/</a> and see <a href="http://www.solutiongrove.com/">Solutiongrove</a>'s first ever Facebook app.<br/><br/>It's a neat interactive visualization of your friends on Facebook. If you're curious as to why we called it Friend Webs, take a look at the screen shot below, it's obvious.<br/><br/>We used <a href="http://jsviz.org/">Jsviz</a> to generate the cool force directed graph and <a href="http://extjs.com/">Extjs</a> for the toolbar, popup and effects.<br/><br/><a href="http://thedesignexperience.org/">Dave</a> wrote an openacs facebook-api package that made it really easy to talk to facebook from OpenACS.<br/><br/>It's currently in beta and we would really appreciate comments and suggestions on how to improve it and make it even cooler.<br/></div><br/><div style="text-align: center;"><a href="http://www.flickr.com/photos/hgcphoenix/1568876445/" title="Photo Sharing"><img alt="friendwebs" height="227" src="http://farm3.static.flickr.com/2143/1568876445_e89096bb23_m.jpg" width="240"/></a><br/></div>
<p><a href="http://feeds.feedburner.com/~a/HamIsAGeek?a=d2lyZD"><img border="0" src="http://feeds.feedburner.com/~a/HamIsAGeek?i=d2lyZD"/></a></p></div>
    </content>
    <updated>2008-01-10T12:26:35Z</updated>
    <published>2007-10-14T14:11:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="openacs"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="jsviz"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="javascript"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="facebook"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://hamisageek.blogspot.com/2007/10/friend-webs-on-facebook.html</feedburner:origlink>
    <author>
      <name>Ham-the-geek</name>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-19969388</id>
      <author>
        <name>Ham-the-geek</name>
      </author>
      <link href="http://hamisageek.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://hamisageek.blogspot.com/feeds/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <link href="http://hamisageek.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://feeds.feedburner.com/HamIsAGeek" rel="self" type="application/atom+xml"/>
      <title>Ham is a Geek</title>
      <updated>2008-03-27T23:49:21Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://blog.cleverly.com/permalinks/315.html</id>
    <link href="http://blog.cleverly.com/permalinks/315.html" rel="alternate" type="text/html"/>
    <title>A great new Tk resource</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://blog.markroseman.com/2008/01/new-tk-website.html">Mark Roseman</a> has created a new Tk website (<a href="http://www.tkdocs.com/">tkdocs.com</a>) which aims to provide "a language neutral, up-to-date (8.5+) best practice
tutorial and associated documentation".</p>

<p>The <a href="http://www.tkdocs.com/tutorial/index.html">tutorial</a> is
coming along quite nicely, with code examples for both Tcl and Ruby.  Presumably
examples for other languages (Python, Perl, etc.) may yet be forthcoming—or
would be included if someone steps up and contributes them.</p>

<p>The site, as new is it is, is already off to an excellent start.
Kudos to Mark!</p></div>
    </summary>
    <updated>2008-01-10T04:06:13Z</updated>
    <source>
      <id>http://blog.cleverly.com/</id>
      <author>
        <name>Michael A. Cleverly</name>
      </author>
      <link href="http://blog.cleverly.com/" rel="alternate" type="text/html"/>
      <link href="http://blog.cleverly.com/rss.xml" rel="self" type="application/rss+xml"/>
      <title>Cleverly Blogged</title>
      <updated>2008-03-18T05:59:00Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.solutiongrove.com/blogger/one-entry?entry%5fid=774382</id>
    <link href="http://www.solutiongrove.com/blogger/one-entry?entry%5fid=774382" rel="alternate" type="text/html"/>
    <title>Intelligent Web App Email Handling</title>
    <summary>Should Email Errors Keep Customers From Buying? describes a robust way to handle email in Java. The main point is very clear - don't leave a web visitor waiting while the application server attempts to send an email to them.

I am surprised this is even an issue in 2007. I suppose not everyone has gotten the message (no pun intended!) that OpenACS has used a background thread to deliver email for years. It uses a simple queue that attempts to save the messages, batch them up, and send ...</summary>
    <updated>2008-01-09T23:29:01Z</updated>
    <source>
      <id>http://www.solutiongrove.com/blogger/</id>
      <logo>http://www.solutiongrove.com/rss-support/images/openacs_logo_rss.gif</logo>
      <author>
        <name>Solution Grove</name>
      </author>
      <link href="http://www.solutiongrove.com/blogger/" rel="alternate" type="text/html"/>
      <link href="http://www.solutiongrove.com/blogger/rss/rss.xml" rel="self" type="application/rss+xml"/>
      <subtitle>Solution Grove Blog</subtitle>
      <title>Solution Grove Blog</title>
      <updated>2008-01-25T07:30:28Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://dossy.org/archives/000575.html</id>
    <link href="http://feeds.feedburner.com/~r/dossy/feed/~3/213597467/000575.html" rel="alternate" type="text/html"/>
    <title>Hackfest: Facebook List of the Day profile box implementation</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The <a href="http://softwaredev.meetup.com/74/">weekly Hackfest</a> took a bit of a break due to the winter holiday and resumed this past Monday. The goal for this session was to turn the visual design created last time into actual FBML that would render inside a profile box.</p>
<p>The first step was to create the database schema, which was mostly outlined in the <a href="http://code.google.com/p/fblotd/wiki/Design">design</a> document. I went ahead and created actual <a href="http://fblotd.googlecode.com/svn/trunk/src/sql/">DDL scripts for MySQL</a> based on what was described in the design doc. I'm expecting these to change as development progresses, but this represents the minimum required to implement our current visual design.</p>
<p>The general approach for the <a href="http://developers.facebook.com/anatomy.php#profile_box">profile box</a> implementation is to use <code><a href="http://wiki.developers.facebook.com/index.php/Profile.setFBML">profile.setFBML</a></code> to set the FBML of the profile box to simply "<code>&lt;fb:ref handle="profile_box"/&gt;</code>". We want to do this because every day when the profile box needs to be updated for every single Facebook user who has added our application, we don't want to have to invoke <code>profile.setFBML</code> with the newest information--that just won't scale well. Having the profile box simply contain an <code><a href="http://wiki.developers.facebook.com/index.php/Fb:ref">&lt;fb:ref&gt;</a></code> means we can effectively update everyone's profile box with a single call to <code><a href="http://wiki.developers.facebook.com/index.php/Fbml.setRefHandle">fbml.setRefHandle</a></code>, once per day.</p>
<p>I've also created a SQL script that can be used to populate the MySQL database with <a href="http://code.google.com/p/fblotd/wiki/TestData">sample data for testing</a>. The only MySQL-specific part of it is the use of "<code><a href="http://dev.mysql.com/doc/refman/5.0/en/create-table.html">CREATE TABLE ... LIKE ...</a></code>" which allows us to use the <code>submission_template</code> and <code>votes_template</code> tables to create our individual instances of those tables for each <code>list_id</code>, rather than embedding the DDL for each of those in our code itself.</p>
<p>After all this, here's a screenshot of the profile box off my own Facebook profile page, pulling the sample data out of the database and rendering it via FBML:</p>
<p align="center"><img alt="Facebook List of the Day app. screenshot, 2008-01-08" border="0" height="350" src="http://static.dossy.org/images/2008/01/fblotd-screenshot-20080108-418x350.png" width="418"/></p>
<p>The rating widgets--the "thumbs up" and "x" icons--don't actually work yet, but that's going to be next week's challenge, getting the Facebook "<a href="http://wiki.developers.facebook.com/index.php/dynamicfbml/mockajax">mock AJAX</a>" working.</p>
<p>Tags: <a href="http://technorati.com/tag/Hackfest" rel="tag">Hackfest</a>, <a href="http://technorati.com/tag/New%20Jersey" rel="tag">New Jersey</a>, <a href="http://technorati.com/tag/Facebook" rel="tag">Facebook</a>, <a href="http://technorati.com/tag/MySQL" rel="tag">MySQL</a></p><p>(<a href="http://dossy.org/archives/000575.html#reply">comment on this</a>)</p></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The <a href="http://softwaredev.meetup.com/74/">weekly Hackfest</a> took a bit of a break due to the winter holiday and resumed this past Monday. The goal for this session was to turn the visual design created last time into actual FBML that would render inside a profile box.</p>
<p>The first step was to create the database schema, which was mostly outlined in the <a href="http://code.google.com/p/fblotd/wiki/Design">design</a> document. I went ahead and created actual <a href="http://fblotd.googlecode.com/svn/trunk/src/sql/">DDL scripts for MySQL</a> based on what was described in the design doc. I'm expecting these to change as development progresses, but this represents the minimum required to implement our current visual design.</p>
<p>The general approach for the <a href="http://developers.facebook.com/anatomy.php#profile_box">profile box</a> implementation is to use <code><a href="http://wiki.developers.facebook.com/index.php/Profile.setFBML">profile.setFBML</a></code> to set the FBML of the profile box to simply "<code>&lt;fb:ref handle="profile_box"/&gt;</code>". We want to do this because every day when the profile box needs to be updated for every single Facebook user who has added our application, we don't want to have to invoke <code>profile.setFBML</code> with the newest information--that just won't scale well. Having the profile box simply contain an <code><a href="http://wiki.developers.facebook.com/index.php/Fb:ref">&lt;fb:ref&gt;</a></code> means we can effectively update everyone's profile box with a single call to <code><a href="http://wiki.developers.facebook.com/index.php/Fbml.setRefHandle