<?xml version='1.0' encoding='UTF-8' ?>
<rss version="2.0" xmlns:admin="http://webns.net/mvcb/" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:icbm="http://postneo.com/icbm" xmlns:includedComments="http://www.laudably.com/rss2-comments" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
	<channel>
		<title>Smalltalk Tidbits, Industry Rants: category: continuations</title>
		<link>http://www.cincomsmalltalk.com/blog/blogView</link>
		<description>Cincom Product Manager</description>
		<webMaster>jrobertson@cincom.com</webMaster>
		<lastBuildDate>Sun, 30 Jul 2006 23:47:54 EDT</lastBuildDate>
		<image>
			<url>http://www.cincomsmalltalk.com/images/cst_small.jpg</url>
			<title>Smalltalk Tidbits, Industry Rants</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView</link>
			<height>50</height>
			<width>81</width>
		</image>
		<admin:generatorAgent rdf:resource="http://www.cincomsmalltalk.com/CincomSmalltalkWiki/Silt"></admin:generatorAgent>
		<admin:errorReportsTo rdf:resource="mailto:jrobertson@cincom.com"></admin:errorReportsTo>
		<dc:language>en-us</dc:language>
		<dc:creator>James A. Robertson</dc:creator>
		<dc:rights>Copyright 2005 Cincom Systems, Inc.</dc:rights>
		<dc:date>2006-07-30T23:47:54-05:00</dc:date>
		<icbm:latitude>39.214103</icbm:latitude>
		<icbm:longitude>-76.878807</icbm:longitude>
		<item>
			<title>Resource Discussion</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325825720</link>
			<category>continuations</category>
			<pubDate>Tue, 23 May 2006 08:28:40 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>Ian tried commenting here, but it apparently didn't work - that Javascript form may be more trouble than it's worth. Anyway, to the meat of his <a href="http://www.interact-sw.co.uk/iangblog/2006/05/23/continuationscontd">new post:</a> he says that I missed his point, by assuming that by &quot;resources&quot; all he meant was memory. Based on his original post, that is how I took it. However, he explains further, and lists resources that GC doesn't typically handle: database connections, sockets, (etc, etc).</p>
<p>Here's why I didn't consider that - because all of that is at issue in any web app that maintains some kind of session state on the server. Whether you use continuations or cached data in some other form, you end up dealing with all of that (unless you re-open everything on each submit - which tends to get expensive). Typically, you use the finalization mechanisms of your language/library of choice to deal with that: the session times out, finalization kicks in, and you clean up. I fail to see how continuations make this more (or less) complex. </p><p>As to this on the back button amd continuations:</p><blockquote>I'm not claiming that it's impossible to handle the back button this way. I'm just saying it's a bad idea, because you need to be able to write code that can tolerate being wound back and forth at the user's whim.</blockquote><p>That's precisely the complexity that continuation based servers remove from your purview. In a &quot;standard&quot; we app, you tend to toss some kind of page key around, so that you can tell where you are (as opposed to where your app thinks it is on the server). How that's simpler, I have no idea. Having written a number of web apps in the standard way, I'm not prepared to call it simple.</p></div>]]></description>
			<guid isPermaLink="false">3325825720</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3325825720</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3325825720</pingback:target>
			<includedComments:comment-collection>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325825720</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325825720</includedComments:puid>
					<includedComments:author>Ian Griffiths</includedComments:author>
					<includedComments:pubDate>2006-05-26T05:37:58-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;

&lt;p&gt;It's not that continuations make resource management more complex per se. It's that they make mistakes in resource management harder to spot. Code that creates a resource on one page and frees it on the next constitutes a bug for certain kinds of resources. Continuations let the code for multiple pages occupy a single function, which makes it very easy to create a resource on one page and free it on the next without realising it. You'd have to go out of your way to make the same mistake without continuations, so the bug would tend to be a lot more visible.&lt;/p&gt;

&lt;p&gt;And regarding arbitrary rewinds...&lt;/p&gt;

&lt;p&gt;Continuations don't &amp;quot;remove from your purview&amp;quot; this kind of complexity. They hide it. That's very very different. Hiding complexity without removing it is a bad idea - it's like papering over the cracks.&lt;/p&gt;

&lt;p&gt;I believe you're making the same mistake that this sentence makes: &amp;quot;Technologies such as DCOM and RMI remove the complexity inherent in distributed systems by presenting interactions with remote systems through the simple and popular idioms of objects and method invocations.&amp;quot; Just as you did, this sentence uses &amp;quot;remove&amp;quot; when it should say &amp;quot;hide&amp;quot;. The reality of technologies like DCOM and RMI is that hiding the complexity didn't make it go away. Hiding simply resulted in a lot of people writing a lot of naive code that worked in controlled test environments, but failed as soon as it hit any of the things that make distributed systems completely unlike objects and method invocations.&lt;/p&gt;

&lt;p&gt;For a long time I made a good living out of exactly this sort of thing - I've done a lot of work fixing code that failed because the original developer thought things were as simple as they appeared to be. This is why I think that merely hiding complexity is a mistake - if you can't make the complexity going away, hiding it makes things worse.&lt;/p&gt;

&lt;p&gt;So while in a controlled test environment, web site interactions might look quite a lot like execution of code, the fact remains that there are lots of ways in which it can be completely unlike that. This application of continuations simply tries to hide that fact. It does not remove it. Hiding complexity without removing it is, in my experience, a recipe for failure.&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Papering over the cracks</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325825720</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325825720</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2006-05-26T07:41:00-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;


&lt;p&gt;Ian:&lt;/p&gt;
&lt;blockquote&gt;&amp;quot;It's not that continuations make resource management more complex per se. It's that they make mistakes in resource management harder to spot. Code that creates a resource on one page and frees it on the next constitutes a bug for certain kinds of resources.&amp;quot;&lt;/blockquote&gt;&lt;p&gt;This is no different than in a &amp;quot;standard&amp;quot; app that tries to manage the back button via state-holding in cookies (hidden fields, etc). You still hold the resources for some indefinite period of time, and release them as appropriate based on state. All continuations do is give you a different way to manage state - they don't change the fundamental rules. I don't buy that continuations hide this complexity anymore than other approaches.&lt;/p&gt;&lt;p&gt;Back in the 90's, we had a web framework (we still do, actually) called VisualWave, that took existing guis and &amp;quot;HTML-ized&amp;quot; them for the web. It handled the back button through state caching, and the problem you worry about was no more - or less - bad.&lt;/p&gt;&lt;p&gt;Also, anyone who thinks an RPC mechanism even hides complexity hasn't worked on one enough. The first time you get a failed message send, you notice how unhidden the problem is.&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Hmm.  State is State</includedComments:title>
				</includedComments:comment>
			</includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3325825720</wfw:comment>
		</item>
		<item>
			<title>Trust the GC</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325738440</link>
			<category>continuations</category>
			<pubDate>Mon, 22 May 2006 08:14:00 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p><a href="http://pluralsight.com/blogs/dbox/archive/2006/05/22/24792.aspx">Via Don Box,</a> I see that <a href="http://www.interact-sw.co.uk/iangblog/2006/05/21/webcontinuations">Ian Griffiths</a> has a few issues with continuation based web applications. One issue he brings up is resource usage:</p>

<blockquote>
<p>Sometimes the user just walks away. I might get part way through the purchasing sequence on a web site and then decide to stop. The web server never gets any positive indication that I closed the browser window. It merely stops hearing from me.</p>

<p>What does this mean in a world where I&rsquo;m using continuations to help model user journeys as sequential code? It means that sometimes my functions just stop part way through without reaching the end.</p>

<p>On the plus side, it is predictable where this will happen: it can only occur at boundaries where I choose to construct a continuation and then relinquish control for now. But at every such boundary, I need to be aware that sometimes, the continuation will never execute.</p>

<p>This is very much not analogous to the function returning or throwing an exception. In the world of our chosen abstraction - that of sequential execution of a method - it looks like our thread has hung.</p>

<p>The problem with this is that a lot of the techniques we have learned for resource management stop working. Resource cleanup code may never execute because the function is abandoned mid-flow. </p>
</blockquote>
<p>I don't know why this would be a problem, given a halfway decent GC system. The stale session will eventually time out, and take any lingering state down with it. I can see being worried about the memory required by this, in the face of a lot of users, but not in the basic mechanics. In a Smalltalk server - either VisualWorks or Squeak based - Ian's worry is a non-problem. Then he has an issue with thread affinity:</p><blockquote>Traditionally, any particular invocation of a function runs on a single thread from start to finish. We&rsquo;re not accustomed to mid-function thread switches, and it will render some hitherto safe practices unworkable. Using objects with thread affinity will become particularly hazardous, for example - we will need to be mindful of the potential switch points and make sure we never use such objects across such a boundary.</blockquote><p>Actually, in this server, <a href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3307882025">I've got requests that end up invoking new processes now,</a> without continuations. They are managed with a class called <strong>Promise</strong>, but it's pretty simple - it's just a matter of delaying the waiting process and using a signal to inform the waiting process that results are ready. The pre-existing class makes that easy for me, but the code isn't hard to follow either way. Running multiple threads with shared objects is a comlex problem for any kind of application, whether continuations are involved or not. </p><p>Then he's got a long riff on how Continuations might break in the face of the Back button. Hmm - <em>that was one of the problems that this approach was designed to solve.</em> So far as I know, this simply isn't a problem in Seaside. </p></div>]]></description>
			<guid isPermaLink="false">3325738440</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3325738440</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3325738440</pingback:target>
			<includedComments:comment-collection>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325738440</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325738440</includedComments:puid>
					<includedComments:author></includedComments:author>
					<includedComments:pubDate>2006-05-22T10:41:46-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;i&gt;I don't know why this would be a problem, given a halfway decent GC system. The stale session will eventually time out, and take any lingering state down with it.&lt;/i&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;Do you have any references to papers describing these continuations that can timeout?  (FWIW, I don't know *anything* about continuation based web frameworks, but I always assumed they worked by serializing the continuations and sending them to the client, to completely eliminate any possibility of lingering state on the server.)&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Continuations that timeout?</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325738440</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325738440</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2006-05-22T11:03:07-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;


&lt;p&gt;The session would timeout. The session is the strong reference to any objects that hold the continuation, so when the session gets blown away (because it's removed from any attachment to &amp;quot;system roots&amp;quot;), then it (and everything associated with it) becomes eligible for GC. This has nothing to do with Continuations.&lt;/p&gt;
&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Timeouts</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325738440</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325738440</includedComments:puid>
					<includedComments:author>Adam Vandenberg</includedComments:author>
					<includedComments:pubDate>2006-05-22T17:07:35-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&amp;quot;The session will time out&amp;quot; makes me nervous.&lt;/p&gt;&lt;p&gt;It gives me awful flashbacks to e-commerce sites implemented with Vingette.&lt;/p&gt;&lt;p&gt;Simply browsing the product catalog, getting a phone call, going for a drink of water, and coming back was enough to blow away your session.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title></includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325738440</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325738440</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2006-05-22T17:53:07-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;


&lt;p&gt;How long a session is allowed to live is typically an application level issue. &lt;/p&gt;
&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Re: Trust the GC</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325738440</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3325738440</includedComments:puid>
					<includedComments:author>IanG on Tap</includedComments:author>
					<includedComments:pubDate>2006-05-23T06:04:23-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Trackback from IanG on Tap

&lt;a href="http://www.interact-sw.co.uk/iangblog/2006/05/23/continuationscontd"&gt;Continuations, GC, and Threading&lt;/a&gt;

&lt;p&gt;Follow the link for the reference&lt;/p&gt;...
&lt;/p&gt;&lt;/div&gt;</includedComments:content>
					<includedComments:title>Continuations, GC, and Threading</includedComments:title>
				</includedComments:comment>
			</includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3325738440</wfw:comment>
		</item>
		<item>
			<title>Seaside over on the Java side</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3303336789</link>
			<category>continuations</category>
			<pubDate>Mon, 05 Sep 2005 01:33:09 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>Seems the Java guys are starting to realize that there are simpler ways to solve problems - this weeks <a href="http://javacast.thepostmodern.net/">JavaCast</a> <a href="http://javacast.thepostmodern.net/radio/JavaCast-EPS-04-20050822.mp3">talks about Seaside</a>, amongst other things. Very cool.</p>
</div>]]></description>
			<guid isPermaLink="false">3303336789</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3303336789</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3303336789</pingback:target>
			<includedComments:comment-collection>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3303336789</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3303336789</includedComments:puid>
					<includedComments:author>Bruce Badger</includedComments:author>
					<includedComments:pubDate>2005-09-05T07:15:23-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;It's a bit long, but with some notable sound bites:&lt;/p&gt;

&lt;blockquote&gt;Java: it's dead like COBOL, not dead like Elvis&lt;/blockquote&gt;

&lt;blockquote&gt;The dynamic languages are so good at the areas that the Java frameworks have a lot of focus on right now ... they're {the dynamic languages} going to pass them {the Java frameworks}.&lt;/blockquote&gt; 

&lt;p&gt;BTW, the Seaside bit starts ~89 minutes.&lt;/p&gt;  
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Quotes</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3303336789</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3303336789</includedComments:puid>
					<includedComments:author>Fernando</includedComments:author>
					<includedComments:pubDate>2005-09-06T15:14:54-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt; &lt;code&gt;Java: it's dead like COBOL, not dead like Elvis&lt;/code&gt;
&lt;br&gt;&lt;br&gt;
You mean Elvis is dead????    &lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Dead?</includedComments:title>
				</includedComments:comment>
			</includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3303336789</wfw:comment>
		</item>
		<item>
			<title>Confused by Continuations?</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3290833007</link>
			<category>continuations</category>
			<pubDate>Wed, 13 Apr 2005 08:16:47 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p><a href="http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons">Sam Ruby</a> gives a nice summary of them - especially useful for people who aren't that familiar with Smalltalk or Ruby.</p>
</div>]]></description>
			<guid isPermaLink="false">3290833007</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3290833007</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3290833007</pingback:target>
			<includedComments:comment-collection></includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3290833007</wfw:comment>
		</item>
		<item>
			<title>Seaside presentation</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288529586</link>
			<category>continuations</category>
			<pubDate>Thu, 17 Mar 2005 16:26:26 EST</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>Via <a href="http://blogs.inextenso.com/seaside/blog/learning/d34b7240-9722-11d9-8ae3-000d9327ea74">Learning Seaside</a> comes a pointer to a <a href="http://users.info.unicaen.fr/~rrobbes/seaslides.pdf">PDF presentation on Seaside</a> - and I'm quoted on the first page :)</p>
</div>]]></description>
			<guid isPermaLink="false">3288529586</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3288529586</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3288529586</pingback:target>
			<includedComments:comment-collection></includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3288529586</wfw:comment>
		</item>
		<item>
			<title>New Seaside site</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3283523163</link>
			<category>continuations</category>
			<pubDate>Tue, 18 Jan 2005 17:46:03 EST</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://radio.weblogs.com/0102385/2005/01/19.html#a770">Chris Double reports</a> that <a href="http://www.cincomsmalltalk.com/userblogs/avi/blogView">Avi</a> has set up a new <a href="http://www.seaside.st/">Seaside site</a>.  Also notable - the <a href="http://www.seaside.st/License/">Seaside license has changed</a> over to the MIT license.</p>
</div>]]></description>
			<guid isPermaLink="false">3283523163</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3283523163</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3283523163</pingback:target>
			<includedComments:comment-collection></includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3283523163</wfw:comment>
		</item>
		<item>
			<title>Seaside Experience report</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3283500955</link>
			<category>continuations</category>
			<pubDate>Tue, 18 Jan 2005 11:35:55 EST</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><a href="http://astares.blogspot.com/2005/01/brett-taylor-has-written-experience.html">Torsten</a> reports that <a href="http://www.healthauditors.com/BTASeasideExperienceReport.pdf">Brett Taylor has written up a Seaside experience report (PDF)</a>.</p>
</div>]]></description>
			<guid isPermaLink="false">3283500955</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3283500955</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3283500955</pingback:target>
			<includedComments:comment-collection>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3283500955</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3283500955</includedComments:puid>
					<includedComments:author>New Smalltalk Fan</includedComments:author>
					<includedComments:pubDate>2005-01-18T16:42:15-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Please make a note that a link leads to a PDF file when it is a DIRECT link...

My computer tends to crash when a PDF is opening in-memory, so I always prefer to download the file first if I'm interested.  (It's because a piece of REQUIRED company software has an incompatibility with Adobe Acrobat and I usually have the defective software open.)  

Even when I don't have the software open, I'm often on a dial-up connection and I can't do ANYTHING while large PDFs open in-memory. &lt;a href=""&gt;Acrobat isn't innocent here, either, it's kind of flaky with its oodles of required DLLs.&lt;/a&gt;

I don't like losing work just because fewer and fewer people follow the suggested PDF etiquette guidelines that Adobe originally provided.  I realize that this problem probably doesn't affect everyone, but PLEASE make a small note in direct PDF links for the sake of schmucks like me! ;-)

I love this blog, by the way, and I read it every day...

&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Memo RE: Pet Peeve #186 (to ANY web writers reading this.)</includedComments:title>
				</includedComments:comment>
			</includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3283500955</wfw:comment>
		</item>
		<item>
			<title>Continuations in the news</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281770646</link>
			<category>continuations</category>
			<pubDate>Wed, 29 Dec 2004 10:57:26 EST</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p>Look at all the links to <a href="http://home.comcast.net/~bc19191/blog/041229.html">Continuation based web apps</a> gathered on Planet Lisp.  Looks like a trend.</p>
</div>]]></description>
			<guid isPermaLink="false">3281770646</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3281770646</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3281770646</pingback:target>
			<includedComments:comment-collection>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281770646</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281770646</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2004-12-29T14:36:44-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;i&gt;"...In the article, continuations were really used as a way to encapsulate state in a rather clumsy way, it seemed to me, lacking transparency. Nor was there any mention of the role of side-effects which rather easily destroy the scheme..."&lt;/i&gt;&lt;br&gt;&lt;br&gt;
&lt;a href='http://lambda-the-ultimate.org/node/view/451#comment'&gt;Lambda the Ultimate&lt;/a&gt;  &lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>From Lambda The Ultimate</includedComments:title>
				</includedComments:comment>
			</includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3281770646</wfw:comment>
		</item>
	</channel>
</rss>
