<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.0.8 on Fri, 30 May 2003 04:17:37 GMT -->
<rss version="2.0">
	<channel>
		<title>Jay&apos;s Scrapbook</title>
		<link>http://radio.weblogs.com/0107481/</link>
		<description> just &lt;a href=&quot;http://radio.weblogs.com/0107481/stories/2002/10/04/aboutThisScrapbook.html&quot;&gt;a scrapbook&lt;/a&gt; from &lt;a href=&quot;http://radio.weblogs.com/0107481/stories/2002/11/12/listOfRssSubscriptions.html&quot;&gt;RSS feeds&lt;/a&gt; with few comments</description>
		<language>en</language>
		<copyright>Copyright 2003 Jay Han</copyright>
		<lastBuildDate>Fri, 30 May 2003 04:17:37 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss</docs>
		<generator>Radio UserLand v8.0.8</generator>
		<managingEditor>jhan@acm.org</managingEditor>
		<webMaster>jhan@acm.org</webMaster>
		<category domain="http://www.weblogs.com/rssUpdates/changes.xml">rssUpdates</category> 
		<skipHours>
			<hour>3</hour>
			<hour>4</hour>
			<hour>2</hour>
			<hour>1</hour>
			<hour>17</hour>
			<hour>5</hour>
			<hour>19</hour>
			<hour>7</hour>
			</skipHours>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<ttl>60</ttl>
		<item>
			<title>Radio Silence</title>
			<link>http://radio.weblogs.com/0107481/2003/05/19.html#a1492</link>
			<description>&lt;P&gt;I am turning Radio off and moving to &lt;U&gt;&lt;FONT color=#800080&gt;Memory Hierarchy&lt;/FONT&gt;&lt;/U&gt; &lt;A href=&quot;http://memoryhierarchy.blogspot.com&quot;&gt;&lt;/A&gt;with new &lt;A href=&quot;http://memoryhierarchy.blogspot.com/rss/index.rdf&quot;&gt;RSS feed&lt;/A&gt;.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0107481/2003/05/19.html#a1492</guid>
			<pubDate>Tue, 20 May 2003 04:10:19 GMT</pubDate>
			</item>
		<item>
			<title>Can&apos;t argue with BDFL, can we? main() in python</title>
			<link>http://radio.weblogs.com/0107481/2003/05/15.html#a1491</link>
			<description>&lt;P&gt;how to write main() in python&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.artima.com/weblogs/viewpost.jsp?thread=4829&quot;&gt;&lt;a href=&quot;http://www.artima.com/weblogs/viewpost.jsp?thread=4829&quot;&gt;http://www.artima.com/weblogs/viewpost.jsp?thread=4829&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0107481/2003/05/15.html#a1491</guid>
			<pubDate>Fri, 16 May 2003 06:32:49 GMT</pubDate>
			</item>
		<item>
			<title>Spring cleaning</title>
			<link>http://radio.weblogs.com/0107481/2003/05/09.html#a1490</link>
			<description>&lt;P&gt;deleting&amp;nbsp;lots of scraps -- see Google cache instead. Sorry.&lt;/P&gt;
&lt;P&gt;(one week later: still deleting more)&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0107481/2003/05/09.html#a1490</guid>
			<pubDate>Sat, 10 May 2003 06:06:56 GMT</pubDate>
			</item>
		<item>
			<title>Reading source code</title>
			<link>http://radio.weblogs.com/0107481/2003/05/08.html#a1489</link>
			<description>&lt;P&gt;&lt;A href=&quot;http://www.sauria.com/blog/computers/programming/198&quot;&gt;Ted Leung&lt;/A&gt; laments he cannot think of any source code good enough to read like literature. Well, I wouldn&apos;t claim I&amp;nbsp;grok them but I certainly have enjoyed reading them:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.vsta.org&quot;&gt;vsta&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href=&quot;http://plan9.bell-labs.com/sys/doc/rc.html&quot;&gt;rc&lt;/A&gt; scripts&lt;/LI&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.cs.princeton.edu/software/cii/&quot;&gt;cii&lt;/A&gt; - only so called &apos;Literate Program&apos; I could bear to read.&lt;/LI&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.synaptics.com/people/daveg/&quot;&gt;calc&lt;/A&gt; (from emacs) - a CAS sadly few appreciate.&lt;/LI&gt;
&lt;LI&gt;&lt;A href=&quot;http://notes.antville.org/stories/121350/&quot;&gt;two papers&lt;/A&gt; in gopher (hugs?) by Jeroen Fokker.&lt;/LI&gt;
&lt;LI&gt;programs in &lt;A href=&quot;http://www.cs.arizona.edu/icon/&quot;&gt;Icon&lt;/A&gt; and &lt;A href=&quot;http://www.squeak.org/&quot;&gt;Smalltalk&lt;/A&gt; tend to be neat and tidy.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Of course, the above list is not complete.&amp;nbsp; I&apos;ll add a few later if I remember.&amp;nbsp; Funny I cannot think of any Java source I like reading.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0107481/2003/05/08.html#a1489</guid>
			<pubDate>Fri, 09 May 2003 04:14:01 GMT</pubDate>
			</item>
		<item>
			<title>Back to the future</title>
			<link>http://radio.weblogs.com/0107481/2003/05/04.html#a1487</link>
			<description>Finally I caught up with &lt;A href=&quot;http://ftp.archive.org/movies/lisarein/oreilly/etech2003/alankay/tour.html&quot;&gt;Alan Kay&apos;s presentation at recent Emerging Technologies Conference&lt;/A&gt; thanks to Lisa Rein&apos;s video recording.&amp;nbsp; It was awesome to see historical footages of&amp;nbsp;&lt;!--StartFragment --&gt; Ivan Sutherland&apos;s Sketchpad and Doug&amp;nbsp;&lt;!--StartFragment --&gt;Englebart&apos;s&amp;nbsp;NLS hypertext from the 1960s, all demonstrated under Kay&apos;s &lt;A href=&quot;http://www.squeak.org&quot;&gt;Squeak&lt;/A&gt; (or Croquet 3D immersive virtual reality system).&amp;nbsp; Yes, it&apos;s quite something to see the future in the past.</description>
			<guid>http://radio.weblogs.com/0107481/2003/05/04.html#a1487</guid>
			<pubDate>Mon, 05 May 2003 05:41:58 GMT</pubDate>
			</item>
		<item>
			<title>A few qualities of web services</title>
			<link>http://radio.weblogs.com/0107481/2003/04/27.html#a1484</link>
			<description>&lt;BLOCKQUOTE style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;&lt;A href=&quot;http://blog.glennf.com/mtarchives/001608.html&quot;&gt;Asymmetrical Benefits.&lt;/A&gt;. Glenn Fleishman--who created the book-finding site, &lt;A href=&quot;http://www.isbn.nu&quot;&gt;isbn.nu&lt;/A&gt; -- writes that &quot;Web services fed by companies that don&apos;t offer two-way contracts -- contracts that promise continuity, uptime, consistency, and persistence -- will make application developers nervous about relying on them.&quot; &lt;/P&gt;
&lt;P&gt;This is a critical and non-obvious issue. First of all, sites like Glenn&apos;s, which depend on aggregating multiple web services, must be resilient. If the Amazon service doesn&apos;t respond, isbn.nu still shows data from the remaining booksellers. In this sense, isbn.nu is loosely coupled. 
&lt;P&gt;Amazon.com won&apos;t even notice is isb.nu goes off line, so there&apos;s a substantial asymmetry in their relationship. Glenn&apos;s point is that more business-critical applications, the less significant partner will hesitate to depend on such a relationship unless service-level commitments are offered. (Glenn was one of those people I wish I&apos;d been able to spend more time with at the O&apos;Reilly conference.) [&lt;A href=&quot;http://www.rds.com/doug/weblogs/webServicesStrategies/&quot;&gt;Doug Kaye: Web Services Strategies&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;A few comments: One I wish &lt;A href=&quot;http://isbn.nu&quot;&gt;&lt;a href=&quot;http://isbn.nu&quot;&gt;http://isbn.nu&lt;/a&gt;&lt;/A&gt; becomes more widely known and used.  It&apos;s rather unfortunate (okay make it very unfortunate) that so few people use ISBN.&amp;nbsp; Isbn.nu is a great resource if you want to hyperlink a book, &lt;EM&gt;not &lt;/EM&gt;a bookseller like Amazon.&amp;nbsp;(Yes I understand people link to Amazon because of its market dominance and large inventory and by sheer force of habit.)
&lt;P&gt;Now on Fleishman&apos;s comment about desirability of web services &quot;contracts that promise continuity, uptime, consistency, and persistence&quot;.&amp;nbsp; I think we&apos;d be better off if we think about these desired qualities in terms of business process, abstract user interface, requirements definition rather than in terms of current web services technology.&amp;nbsp; (The latter is about mechanics or at best low level procedures.)
&lt;P&gt;For a starter,&amp;nbsp;how do we agree on &quot;continuity&quot;?&amp;nbsp; Is it analogous to &lt;A href=&quot;http://www.w3.org/Provider/Style/URI.html&quot;&gt;&quot;Cool URIs don&apos;t Change&quot;&lt;/A&gt;?&amp;nbsp;&amp;nbsp;&amp;nbsp;Is continuity same as&amp;nbsp;&lt;A href=&quot;http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?idempotent&quot;&gt;idempotent&lt;/A&gt;?&amp;nbsp; Or how about referential transparency?&amp;nbsp; What kind of services and resources can&amp;nbsp;have continuity as quality?&amp;nbsp;&amp;nbsp;Looking up a book has simple continuity (ISBN is permanant) but what about finding weather information?&amp;nbsp; 
&lt;P&gt;How can we square continuity with persistence?&amp;nbsp;&amp;nbsp;One handy notion of persistence is the ability to retrieve past records - but this notion leaves a good deal unsaid about possible ephemeral side effects from CRUD operations on those records.&amp;nbsp;&amp;nbsp; (Reconstucting trails of these side effects can be fun fun fun.)&amp;nbsp; Another notion for persistence is about data retention, removal, segregation, etc.&amp;nbsp; Thinking about data retention alone would make you seek expert legal counsel - think subpoena - and insurance brokers.
&lt;P&gt;My take on consistency is another simplistic notion of &quot;quality of service&quot; as understood by laymen like &quot;I&apos;ve been drinking Peet&apos;s coffee for 20 years because of their excellent taste.&quot;&amp;nbsp; As Wily E Coyote would say, &quot;I trust Acme Company&apos;s products with my life.&quot;&amp;nbsp;&amp;nbsp; I wonder if you can legimitely complain about consistency of service when you hit jackpot using the lottery numbers from a web service?
&lt;P&gt;As Doug Kaye says all this is &quot;non-obvious&quot; (which I&apos;ll translate for myself as &quot;bloddy difficult&quot;).
&lt;P&gt;[A side note to myself:&amp;nbsp; equating URIs to addressibility doesn&apos;t help.&amp;nbsp; A sheet of paper is exchangeable with another.&amp;nbsp; Think Bose statistics.]
&lt;P&gt;[Another note: qualities are in general not orthogonal to each other.&amp;nbsp; If they were life would be so easy yet so boring.&amp;nbsp;&amp;nbsp; But then orthogonality is something many smart people believe in, worship and love.]
&lt;P&gt;[Yet another random tangent: &quot;Contract&quot; has been a buzzword for IT industry for a while (How much is it due to Design by Contract?)&amp;nbsp; but has anyone developed real enforcement mechanisms?&amp;nbsp; In real life contracts are drawn and broken willingly and unwilllingly all the time.&amp;nbsp; Unlike binary software arbitration, determining how a contract is &quot;honored&quot; or &quot;broken&quot;&amp;nbsp;is a fairly complicated and nuanced process.]&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0107481/2003/04/27.html#a1484</guid>
			<pubDate>Mon, 28 Apr 2003 06:15:53 GMT</pubDate>
			<source url="http://www.rds.com/doug/weblogs/webServicesStrategies/rss.xml">Doug Kaye: Web Services Strategies</source>
			</item>
		<item>
			<title>Scripting Java</title>
			<link>http://radio.weblogs.com/0107481/2003/04/24.html#a1483</link>
			<description>&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href=&quot;http://www.freeroller.net:80/page/ceperez/20030424#aop_and_scripting_languages&quot;&gt;AOP and Scripting Languages&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Rickard &lt;A href=&quot;http://www.freeroller.net/page/rickard/20030424#embedded_javascript_console&quot;&gt;writes&lt;/A&gt; about a recent implemenation that combines Javascript and his Aspect Oriented Programming (AOP) system.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;One interesting thing here is that while all the objects are AOP objects, implemented with dynamic proxies that have a bunch of interfaces, the weak typing of JavaScript comes in handy since there&apos;s no need for casting in the above script. Typically you&apos;d have to have a cast for the result of portlets.get(i), and for the &quot;node&quot; object, and for the result of getContentLayout(), but not here. This makes it very easy to script AOP objects. &lt;/BLOCKQUOTE&gt;
&lt;P&gt;I&apos;ve been playing&amp;nbsp;around&amp;nbsp;with this idea, wondering what the extreme benefits&amp;nbsp;would be.&amp;nbsp;&amp;nbsp;Javascript&apos;s weak typing&amp;nbsp;is a great convenience, however could there be more?&amp;nbsp; There are two&amp;nbsp;approaches that I can think of. The first, is to use Javascript at the outer layer of a system, just as described above.&amp;nbsp; The second, is to use Javascript as the core object model.&amp;nbsp; The advantage of which is that all objects are dynamic, dynamic in the sense of the &lt;A href=&quot;http://www.freeroller.net/page/ceperez/20021106&quot;&gt;Adaptive Object Model &lt;/A&gt;(AOM) style.&amp;nbsp; Now, the AOP feature may be that you may dynamically add aspects on the fly, possibly in a manner that is completely oblivious to the programmer.&lt;/P&gt;
&lt;P&gt;I mean, there were discussion earlier about weather or not aspect definitions should be described in XML or Java.&amp;nbsp; Well how about describing it in Javascript, its perfectly acceptable behavior, after all doesn&apos;t mozilla use Javascript to describe preferences?&amp;nbsp; Its interesting to think of the different possibilities!&lt;/P&gt;
&lt;P&gt;[&lt;A href=&quot;http://www.freeroller.net:80/page/ceperez&quot;&gt;::Manageability::&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Javascript gets no respect. Maybe soon it will change? In some ways it&apos;s unfortunate that the word &quot;scripting&quot; is used for Javascript and others like Perl, Python, etc. Unlike the others, Javascript knows and deals with Java natively. Perl and Python have to stand on their own with their &lt;EM&gt;own &lt;/EM&gt;libraries.&lt;/P&gt;
&lt;P&gt;As for AOP, Javascript based one will be my choice over XML based ones.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0107481/2003/04/24.html#a1483</guid>
			<pubDate>Thu, 24 Apr 2003 14:56:31 GMT</pubDate>
			<source url="http://www.freeroller.net/rss/ceperez">::Manageability::</source>
			</item>
		</channel>
	</rss>
