<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Guido answers your questions…</title>
	<atom:link href="http://jessenoller.com/2008/10/27/guido-answers-your-questions/feed/" rel="self" type="application/rss+xml" />
	<link>http://jessenoller.com/2008/10/27/guido-answers-your-questions/</link>
	<description>python, programming and other things</description>
	<lastBuildDate>Sun, 04 Mar 2012 06:06:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: jnoller</title>
		<link>http://jessenoller.com/2008/10/27/guido-answers-your-questions/comment-page-1/#comment-139409</link>
		<dc:creator>jnoller</dc:creator>
		<pubDate>Wed, 29 Oct 2008 19:59:39 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=354#comment-139409</guid>
		<description>Here Michael - I made a reply:&lt;br&gt;&lt;a href=&quot;http://jessenoller.com/2008/10/29/actors-concurrency-and-kamaelia/&quot; rel=&quot;nofollow&quot;&gt;http://jessenoller.com/2008/10/29/actors-concur...&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Here Michael — I made a reply:<br /><a href="http://jessenoller.com/2008/10/29/actors-concurrency-and-kamaelia/" rel="nofollow"></a><a href="http://jessenoller.com/2008/10/29/actors-concur" rel="nofollow">http://jessenoller.com/2008/10/29/actors-concur</a>…</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jnoller</title>
		<link>http://jessenoller.com/2008/10/27/guido-answers-your-questions/comment-page-1/#comment-62001</link>
		<dc:creator>jnoller</dc:creator>
		<pubDate>Wed, 29 Oct 2008 15:59:39 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=354#comment-62001</guid>
		<description>Here Michael - I made a reply:&lt;br&gt;&lt;a href=&quot;http://jessenoller.com/2008/10/29/actors-concurrency-and-kamaelia/&quot; rel=&quot;nofollow&quot;&gt;http://jessenoller.com/2008/10/29/actors-concur...&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Here Michael — I made a reply:<br /><a href="http://jessenoller.com/2008/10/29/actors-concurrency-and-kamaelia/" rel="nofollow"></a><a href="http://jessenoller.com/2008/10/29/actors-concur" rel="nofollow">http://jessenoller.com/2008/10/29/actors-concur</a>…</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jnoller</title>
		<link>http://jessenoller.com/2008/10/27/guido-answers-your-questions/comment-page-1/#comment-62000</link>
		<dc:creator>jnoller</dc:creator>
		<pubDate>Wed, 29 Oct 2008 00:02:22 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=354#comment-62000</guid>
		<description>Michael - wow thanks for this - when I get a chance I want to reply  &lt;br&gt;with the reply a comment this detailed deserves</description>
		<content:encoded><![CDATA[<p>Michael — wow thanks for this — when I get a chance I want to reply  <br />with the reply a comment this detailed deserves</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Sparks</title>
		<link>http://jessenoller.com/2008/10/27/guido-answers-your-questions/comment-page-1/#comment-61999</link>
		<dc:creator>Michael Sparks</dc:creator>
		<pubDate>Tue, 28 Oct 2008 23:51:25 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=354#comment-61999</guid>
		<description>Are you aware that a complete mini-axon using generators is tiny and the rest is optimisations and extra stuff that you find useful in real world systems? By tiny, I mean this small:&lt;br&gt;   * &lt;a href=&quot;http://www.kamaelia.org/MiniAxonFull&quot; rel=&quot;nofollow&quot;&gt;http://www.kamaelia.org/MiniAxonFull&lt;/a&gt;&lt;br&gt;&lt;br&gt;A mini-axon using processes would be equally lightweight (shorter probably) and pretty awesome.&lt;br&gt;&lt;br&gt;Also, it&#039;s easy to confuse the two halves of Kamaelia. If you think of Kamaelia as just an actor-type  implementation, then it&#039;s actually more an actor-like implementation, with STM &amp; an internal SOA system of just over 2000 lines (which is how big Axon actually is, excluding comments &amp; docs), with 80,000 lines of examples...&lt;br&gt;&lt;br&gt;However, personally I view it as a mechanism for building components which happen to be best used in a concurrent fashion. ie rather than viewing it as &quot;a mechanism for using concurrency&quot;, I view it as &quot;OK, assume we have concurrency, how can we use this to assist in building and maintaining systems&quot;. Axon also gives you the tools for taking these concurrent systems, and interfacing between concurrent systems and standard code. (&lt;a href=&quot;http://www.kamaelia.org/AxonHandle&quot; rel=&quot;nofollow&quot;&gt;http://www.kamaelia.org/AxonHandle&lt;/a&gt;) &lt;br&gt;&lt;br&gt;As a result, I view Axon as a library which provides you with the tools wrapping up idioms useful for building collections of components which be a framework.&lt;br&gt;&lt;br&gt;Anyway, potato/potato, tomato/tomato - if you like, you like, if you don&#039;t, you don&#039;t.&lt;br&gt;&lt;br&gt;I&#039;d love to replace our existing process based stuff btw with a multiprocessing based version though. If I was going to go down this route, I&#039;d follow our mini axon tutorial to do so, largely becauseit&#039;s essentially the starting point I took with the multiprocess stuff recently and it worked out pretty well.&lt;br&gt;&lt;br&gt;Beyond this basic stuff though, I&#039;ve noted that people generally start talking about co-ordination languages and building up pattern repositories. The interesting intersection between these two which you get if you call things components rather than actors is it becomes natural to create components called a chassis. These chassis often instantiate directly in concrete usable form concepts that you&#039;d normally refer to as a pattern - Pipeline, Graphline, Carousel, Backplane, Seq, TPipe, etc.&lt;br&gt;&lt;br&gt;On a random note, you may want to check out MASCOT &quot;Modular Approach to Software Construction, Operation and Test&quot;. I heard about it late last year, and it appears to have the same sort of architecture as Kamaelia. Interestingly (to me) it makes the same key decision - when you send a message outside your component, you don&#039;t know who is going to receive it. This then enables (and requires) a higher level system for connecting components together. The upshot is highly reusable components. This doesn&#039;t entirely surprise me - my ethos came from recognising that asynchronous hardware systems &amp; network systems look strikingly similar... (cf &lt;a href=&quot;http://www.slideshare.net/kamaelian/sociable-software&quot; rel=&quot;nofollow&quot;&gt;http://www.slideshare.net/kamaelian/sociable-so...&lt;/a&gt;)&lt;br&gt;&lt;br&gt;Anyway, reference for MASCOT: &lt;a href=&quot;http://async.org.uk/Hugo.Simpson/&quot; rel=&quot;nofollow&quot;&gt;http://async.org.uk/Hugo.Simpson/&lt;/a&gt; - skip down to the end of the page for this PDF: &lt;a href=&quot;http://async.org.uk/Hugo.Simpson/MASCOT-3.1-Manual-June-1987.pdf&quot; rel=&quot;nofollow&quot;&gt;http://async.org.uk/Hugo.Simpson/MASCOT-3.1-Man...&lt;/a&gt; I was really pleased to be pointed at MASCOT, largely because it showed a large number of other domains where the same basic model has been used for well over 30 years... Just with non-existent exposure, and slightly different metaphors. Though we, like it, also have mechanisms for automatically visualising systems, with a 1:1 correspondence. Beyond that this also gives us a model that matches Edward Lee&#039;s &quot;The Problem with threads&quot; - we&#039;d released running code long before that paper was published :-)&lt;br&gt;&lt;br&gt;Anyway, I&#039;m glad that you&#039;re looking at what we&#039;ve done. If you use it, that&#039;d be great, and I&#039;ll happily merge anything you&#039;d like to have a life. (the only comment I&#039;d make there is metaphors and accessibility count - this is surely the point of python? :-) If you don&#039;t take what we use etc but it helps you solidify your thoughts to &quot;No, I don&#039;t want that, I want this&quot;, then likewise, I&#039;m equally glad. If you do that, I&#039;d love to know what you do try, since I like to merge best practice concurrency ideas into Axon :-)&lt;br&gt;&lt;br&gt;I&#039;d *REALLY* suggest looking at MASCOT though. Really made my Christmas last year when I was pointed at it.&lt;br&gt;&lt;br&gt;We&#039;re currently having lots of fun using concurrency, primarily by allowing it to make our lives easier, and forgettable about :) It&#039;d be nice to see something similar on top of multiprocessing (which we&#039;ll do if you don&#039;t, but it&#039;d be great if you did - but I&#039;d understand if your view was that you prefer a pure actor (sender knows receiver) model.</description>
		<content:encoded><![CDATA[<p>Are you aware that a complete mini-axon using generators is tiny and the rest is optimisations and extra stuff that you find useful in real world systems? By tiny, I mean this small:<br />   * <a href="http://www.kamaelia.org/MiniAxonFull" rel="nofollow">http://www.kamaelia.org/MiniAxonFull</a></p>
<p>A mini-axon using processes would be equally lightweight (shorter probably) and pretty awesome.</p>
<p>Also, it’s easy to confuse the two halves of Kamaelia. If you think of Kamaelia as just an actor-type  implementation, then it’s actually more an actor-like implementation, with STM &amp; an internal SOA system of just over 2000 lines (which is how big Axon actually is, excluding comments &amp; docs), with 80,000 lines of examples…</p>
<p>However, personally I view it as a mechanism for building components which happen to be best used in a concurrent fashion. ie rather than viewing it as “a mechanism for using concurrency”, I view it as “OK, assume we have concurrency, how can we use this to assist in building and maintaining systems”. Axon also gives you the tools for taking these concurrent systems, and interfacing between concurrent systems and standard code. (<a href="http://www.kamaelia.org/AxonHandle" rel="nofollow">http://www.kamaelia.org/AxonHandle</a>) </p>
<p>As a result, I view Axon as a library which provides you with the tools wrapping up idioms useful for building collections of components which be a framework.</p>
<p>Anyway, potato/potato, tomato/tomato — if you like, you like, if you don’t, you don’t.</p>
<p>I’d love to replace our existing process based stuff btw with a multiprocessing based version though. If I was going to go down this route, I’d follow our mini axon tutorial to do so, largely becauseit’s essentially the starting point I took with the multiprocess stuff recently and it worked out pretty well.</p>
<p>Beyond this basic stuff though, I’ve noted that people generally start talking about co-ordination languages and building up pattern repositories. The interesting intersection between these two which you get if you call things components rather than actors is it becomes natural to create components called a chassis. These chassis often instantiate directly in concrete usable form concepts that you’d normally refer to as a pattern — Pipeline, Graphline, Carousel, Backplane, Seq, TPipe, etc.</p>
<p>On a random note, you may want to check out MASCOT “Modular Approach to Software Construction, Operation and Test”. I heard about it late last year, and it appears to have the same sort of architecture as Kamaelia. Interestingly (to me) it makes the same key decision — when you send a message outside your component, you don’t know who is going to receive it. This then enables (and requires) a higher level system for connecting components together. The upshot is highly reusable components. This doesn’t entirely surprise me — my ethos came from recognising that asynchronous hardware systems &amp; network systems look strikingly similar… (cf <a href="http://www.slideshare.net/kamaelian/sociable-software" rel="nofollow"></a><a href="http://www.slideshare.net/kamaelian/sociable-so" rel="nofollow">http://www.slideshare.net/kamaelian/sociable-so</a>…)</p>
<p>Anyway, reference for MASCOT: <a href="http://async.org.uk/Hugo.Simpson/" rel="nofollow">http://async.org.uk/Hugo.Simpson/</a> — skip down to the end of the page for this PDF: <a href="http://async.org.uk/Hugo.Simpson/MASCOT-3.1-Manual-June-1987.pdf" rel="nofollow"></a><a href="http://async.org.uk/Hugo.Simpson/MASCOT-3.1-Man" rel="nofollow">http://async.org.uk/Hugo.Simpson/MASCOT-3.1-Man</a>… I was really pleased to be pointed at MASCOT, largely because it showed a large number of other domains where the same basic model has been used for well over 30 years… Just with non-existent exposure, and slightly different metaphors. Though we, like it, also have mechanisms for automatically visualising systems, with a 1:1 correspondence. Beyond that this also gives us a model that matches Edward Lee’s “The Problem with threads” — we’d released running code long before that paper was published :-)</p>
<p>Anyway, I’m glad that you’re looking at what we’ve done. If you use it, that’d be great, and I’ll happily merge anything you’d like to have a life. (the only comment I’d make there is metaphors and accessibility count — this is surely the point of python? :-) If you don’t take what we use etc but it helps you solidify your thoughts to “No, I don’t want that, I want this”, then likewise, I’m equally glad. If you do that, I’d love to know what you do try, since I like to merge best practice concurrency ideas into Axon :-)</p>
<p>I’d *REALLY* suggest looking at MASCOT though. Really made my Christmas last year when I was pointed at it.</p>
<p>We’re currently having lots of fun using concurrency, primarily by allowing it to make our lives easier, and forgettable about :) It’d be nice to see something similar on top of multiprocessing (which we’ll do if you don’t, but it’d be great if you did — but I’d understand if your view was that you prefer a pure actor (sender knows receiver) model.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Sparks</title>
		<link>http://jessenoller.com/2008/10/27/guido-answers-your-questions/comment-page-1/#comment-62003</link>
		<dc:creator>Michael Sparks</dc:creator>
		<pubDate>Tue, 28 Oct 2008 22:01:26 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=354#comment-62003</guid>
		<description>Indeed, but we&#039;d LOVE to have a version based on multiprocessing ...</description>
		<content:encoded><![CDATA[<p>Indeed, but we’d LOVE to have a version based on multiprocessing …</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jnoller</title>
		<link>http://jessenoller.com/2008/10/27/guido-answers-your-questions/comment-page-1/#comment-61998</link>
		<dc:creator>jnoller</dc:creator>
		<pubDate>Tue, 28 Oct 2008 14:38:32 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=354#comment-61998</guid>
		<description>In one way, this makes sense: I&#039;m exploring the Axon internals to learn from it - however, much like twisted: Kamaelia is a *framework* - I&#039;m primarily interested in a single library ala Dramatis, or parley (other actor impls) which is lightweight and shows a simple standalone implementation. &lt;br&gt;&lt;br&gt;Another implementation which could be included in Kam. which is built on top of 2.6 would also be good - my eventual goal is to work with people like Adam Olsen (&lt;a href=&quot;http://code.google.com/p/python-safethread/&quot; rel=&quot;nofollow&quot;&gt;http://code.google.com/p/python-safethread/&lt;/a&gt;) to get a prototype for something that may one day be included in python-core (in the multiprocessing package itself)&lt;br&gt;&lt;br&gt;Right now, it&#039;s just a series of jumbled thoughts in my head: I&#039;m not excluding anything, and I&#039;m for learning from any given implementation</description>
		<content:encoded><![CDATA[<p>In one way, this makes sense: I’m exploring the Axon internals to learn from it — however, much like twisted: Kamaelia is a *framework* — I’m primarily interested in a single library ala Dramatis, or parley (other actor impls) which is lightweight and shows a simple standalone implementation. </p>
<p>Another implementation which could be included in Kam. which is built on top of 2.6 would also be good — my eventual goal is to work with people like Adam Olsen (<a href="http://code.google.com/p/python-safethread/" rel="nofollow">http://code.google.com/p/python-safethread/</a>) to get a prototype for something that may one day be included in python-core (in the multiprocessing package itself)</p>
<p>Right now, it’s just a series of jumbled thoughts in my head: I’m not excluding anything, and I’m for learning from any given implementation</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jnoller</title>
		<link>http://jessenoller.com/2008/10/27/guido-answers-your-questions/comment-page-1/#comment-61996</link>
		<dc:creator>jnoller</dc:creator>
		<pubDate>Tue, 28 Oct 2008 14:34:38 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=354#comment-61996</guid>
		<description>I agree, unfortunately, I have a bit of a long-ramp time - too many projects, too little time.</description>
		<content:encoded><![CDATA[<p>I agree, unfortunately, I have a bit of a long-ramp time — too many projects, too little time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: VanL</title>
		<link>http://jessenoller.com/2008/10/27/guido-answers-your-questions/comment-page-1/#comment-61997</link>
		<dc:creator>VanL</dc:creator>
		<pubDate>Mon, 27 Oct 2008 23:18:58 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=354#comment-61997</guid>
		<description>To flesh out my half-formed thoughts:&lt;br&gt;&lt;br&gt;1) Yes, I am talking about a base for an Actor/Monitor implementation.&lt;br&gt;2) My point, inaptly expressed, was that Kamelia has already proven that it can work over a multiprocess abstraction - and Axon already looks a lot like an Actor implementation. Accordingly, it might be interesting to use Axon/Kamelia to build an Actor implementation on top of the now-to-be-widely-available multiprocessing package. Multiprocessing would be the lowest level, Axon above it.</description>
		<content:encoded><![CDATA[<p>To flesh out my half-formed thoughts:</p>
<p>1) Yes, I am talking about a base for an Actor/Monitor implementation.<br />2) My point, inaptly expressed, was that Kamelia has already proven that it can work over a multiprocess abstraction — and Axon already looks a lot like an Actor implementation. Accordingly, it might be interesting to use Axon/Kamelia to build an Actor implementation on top of the now-to-be-widely-available multiprocessing package. Multiprocessing would be the lowest level, Axon above it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sebastien Binet</title>
		<link>http://jessenoller.com/2008/10/27/guido-answers-your-questions/comment-page-1/#comment-61995</link>
		<dc:creator>Sebastien Binet</dc:creator>
		<pubDate>Mon, 27 Oct 2008 23:01:30 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=354#comment-61995</guid>
		<description>from the amount of discussion which recently happened on the python mailing list, such a project would surely get some helpful hands (/me included)&lt;br&gt;&lt;br&gt;cheers,&lt;br&gt;sebastien.</description>
		<content:encoded><![CDATA[<p>from the amount of discussion which recently happened on the python mailing list, such a project would surely get some helpful hands (/me included)</p>
<p>cheers,<br />sebastien.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jnoller</title>
		<link>http://jessenoller.com/2008/10/27/guido-answers-your-questions/comment-page-1/#comment-61994</link>
		<dc:creator>jnoller</dc:creator>
		<pubDate>Mon, 27 Oct 2008 22:28:07 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=354#comment-61994</guid>
		<description>A base for what? An Actor model built on top of multiprocessing? The multiprocessing package is in python 2.6, and ideally - I&#039;d like something built on top of *that*.&lt;br&gt;&lt;br&gt;The only reason I am thinking about doing an Actor/Monitor implementation is as an experiment, I&#039;m not suggesting it for python core.</description>
		<content:encoded><![CDATA[<p>A base for what? An Actor model built on top of multiprocessing? The multiprocessing package is in python 2.6, and ideally — I’d like something built on top of *that*.</p>
<p>The only reason I am thinking about doing an Actor/Monitor implementation is as an experiment, I’m not suggesting it for python core.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Object Caching 724/725 objects using disk: basic

Served from: jessenoller.com @ 2012-05-22 07:36:06 -->
