<?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: What do you want to see in a concurrency talk…</title>
	<atom:link href="http://jessenoller.com/2008/09/22/what-do-you-want-to-see-in-a-concurrency-talk/feed/" rel="self" type="application/rss+xml" />
	<link>http://jessenoller.com/2008/09/22/what-do-you-want-to-see-in-a-concurrency-talk/</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: Tim Nash</title>
		<link>http://jessenoller.com/2008/09/22/what-do-you-want-to-see-in-a-concurrency-talk/comment-page-1/#comment-139294</link>
		<dc:creator>Tim Nash</dc:creator>
		<pubDate>Sat, 04 Oct 2008 20:06:49 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=310#comment-139294</guid>
		<description>my biggest hope for the multiprocessor library is that it will allow me to continue working in python rather than switch to Erlang. Erlang has a great showcase in couchDB, the FOSS project most like BigTable. Why don&#039;t you start a couchDB clone built in python using the new libraries? Or if a partially completed project won&#039;t do, please show a map-reduce example (eg. distributed grep)&lt;br&gt;-Thanks!</description>
		<content:encoded><![CDATA[<p>my biggest hope for the multiprocessor library is that it will allow me to continue working in python rather than switch to Erlang. Erlang has a great showcase in couchDB, the FOSS project most like BigTable. Why don’t you start a couchDB clone built in python using the new libraries? Or if a partially completed project won’t do, please show a map-reduce example (eg. distributed grep)<br />–Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim Nash</title>
		<link>http://jessenoller.com/2008/09/22/what-do-you-want-to-see-in-a-concurrency-talk/comment-page-1/#comment-62070</link>
		<dc:creator>Tim Nash</dc:creator>
		<pubDate>Sat, 04 Oct 2008 16:06:49 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=310#comment-62070</guid>
		<description>my biggest hope for the multiprocessor library is that it will allow me to continue working in python rather than switch to Erlang. Erlang has a great showcase in couchDB, the FOSS project most like BigTable. Why don&#039;t you start a couchDB clone built in python using the new libraries? Or if a partially completed project won&#039;t do, please show a map-reduce example (eg. distributed grep)&lt;br&gt;-Thanks!</description>
		<content:encoded><![CDATA[<p>my biggest hope for the multiprocessor library is that it will allow me to continue working in python rather than switch to Erlang. Erlang has a great showcase in couchDB, the FOSS project most like BigTable. Why don’t you start a couchDB clone built in python using the new libraries? Or if a partially completed project won’t do, please show a map-reduce example (eg. distributed grep)<br />–Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Sparks</title>
		<link>http://jessenoller.com/2008/09/22/what-do-you-want-to-see-in-a-concurrency-talk/comment-page-1/#comment-62069</link>
		<dc:creator>Michael Sparks</dc:creator>
		<pubDate>Wed, 24 Sep 2008 11:38:42 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=310#comment-62069</guid>
		<description>OK, cool. Let&#039;s see.&lt;br&gt;&lt;br&gt;Tell you what - how about I just package up the network components (no protocols, no pygame, no open gl, etc), along with a minimal set of other useful components as well by itself for you? ie the absolute minimum useful (by no smaller) for building TCP &amp; UDP (inc multicast) based servers &amp; clients ?&lt;br&gt;&lt;br&gt;ie something that will just install quickly and cleanly by itself, with no external dependencies?&lt;br&gt;&lt;br&gt;That should be pretty tiny and still useful.&lt;br&gt;&lt;br&gt;Most of Kamaelia&#039;s components have no dependency on each other, so this would be fairly easy and quick to do. (It&#039;s perhaps better to think of Kamaelia as a toy box or tool chest or radio shack which you can just take the things out you want, rather than as a swiss army knife IMO) All the components depend on Axon, but then that&#039;s not too suprising - Axon is the component framework. But even that is small enough to be comprehensible.&lt;br&gt;&lt;br&gt;Heck, I&#039;ll speculatively do it - it&#039;ll be quick to do and if you want to use it, feel free. :-)</description>
		<content:encoded><![CDATA[<p>OK, cool. Let’s see.</p>
<p>Tell you what — how about I just package up the network components (no protocols, no pygame, no open gl, etc), along with a minimal set of other useful components as well by itself for you? ie the absolute minimum useful (by no smaller) for building TCP &amp; UDP (inc multicast) based servers &amp; clients ?</p>
<p>ie something that will just install quickly and cleanly by itself, with no external dependencies?</p>
<p>That should be pretty tiny and still useful.</p>
<p>Most of Kamaelia’s components have no dependency on each other, so this would be fairly easy and quick to do. (It’s perhaps better to think of Kamaelia as a toy box or tool chest or radio shack which you can just take the things out you want, rather than as a swiss army knife IMO) All the components depend on Axon, but then that’s not too suprising — Axon is the component framework. But even that is small enough to be comprehensible.</p>
<p>Heck, I’ll speculatively do it — it’ll be quick to do and if you want to use it, feel free. :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jnoller</title>
		<link>http://jessenoller.com/2008/09/22/what-do-you-want-to-see-in-a-concurrency-talk/comment-page-1/#comment-62068</link>
		<dc:creator>jnoller</dc:creator>
		<pubDate>Tue, 23 Sep 2008 12:24:38 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=310#comment-62068</guid>
		<description>I&#039;ve looked at Kamelia before - it definitely looks like another &quot;swiss army knife&quot; framework - ala twisted, etc. I&#039;m going to mention all of the frameworks (kamelia included) but I want to focus on the more primitive aspects of concurrency (multicore, messages) and how to build something using standard python. &lt;br&gt;&lt;br&gt;Of course, I need a good network layer, so maybe I&#039;ll poke at Kamelia&#039;s :)</description>
		<content:encoded><![CDATA[<p>I’ve looked at Kamelia before — it definitely looks like another “swiss army knife” framework — ala twisted, etc. I’m going to mention all of the frameworks (kamelia included) but I want to focus on the more primitive aspects of concurrency (multicore, messages) and how to build something using standard python. </p>
<p>Of course, I need a good network layer, so maybe I’ll poke at Kamelia’s :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Sparks</title>
		<link>http://jessenoller.com/2008/09/22/what-do-you-want-to-see-in-a-concurrency-talk/comment-page-1/#comment-62067</link>
		<dc:creator>Michael Sparks</dc:creator>
		<pubDate>Tue, 23 Sep 2008 08:42:38 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=310#comment-62067</guid>
		<description>Hmm. sorry for all the typoes - that&#039;ll teach me for posting responses to things when it&#039;s late! Anyhow, good luck :)</description>
		<content:encoded><![CDATA[<p>Hmm. sorry for all the typoes — that’ll teach me for posting responses to things when it’s late! Anyhow, good luck :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Sparks</title>
		<link>http://jessenoller.com/2008/09/22/what-do-you-want-to-see-in-a-concurrency-talk/comment-page-1/#comment-62066</link>
		<dc:creator>Michael Sparks</dc:creator>
		<pubDate>Tue, 23 Sep 2008 03:17:21 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=310#comment-62066</guid>
		<description>Jesse - please take a look at my Kamaelia talks on slideshare ...&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.slideshare.net/kamaelian/slideshows&quot; rel=&quot;nofollow&quot;&gt;http://www.slideshare.net/kamaelian/slideshows&lt;/a&gt;&lt;br&gt;&lt;br&gt;... they&#039;re (literally) littered with numerous example systems which are highly concurrent, written in python and tested. Kamaelia is designed specifically with novices in mind, and the following 2 talks were given at pycon UK last weekend:&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.slideshare.net/kamaelian/practical-concurrent-systems-made-simple-using-kamaelia-presentation&quot; rel=&quot;nofollow&quot;&gt;http://www.slideshare.net/kamaelian/practical-c...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.slideshare.net/kamaelian/sharing-data-and-services-safely-in-concurrent-systems-using-kamaelia-presentation/&quot; rel=&quot;nofollow&quot;&gt;http://www.slideshare.net/kamaelian/sharing-dat...&lt;/a&gt;&lt;br&gt;&lt;br&gt;The latter one needs a bit of work based on feedback in the session, but the talks seemed highly accessible. (Indeed, kamaelia has been designed with accessibility in mind as a key design feature - it&#039;s also the driving long term reason behind Kamaelia&#039;s existence :-)&lt;br&gt;&lt;br&gt;Kamaelia is primarily a message passing based system (generators, threads, processes as units of concurrency), but also includes a software transactional memory implementation for the times when you really do need to share data. (kamaelia&#039;s real underlying design is &quot;no unconstrained data&quot; and &quot;if you have a piece of data and haven&#039;t given it back/to anyone else, your changes should be safe&quot;.&lt;br&gt;&lt;br&gt;We&#039;re actually in the process of a revamp of the website.&lt;br&gt;&lt;br&gt;If you want a selection of applications to talk about - there&#039;s examples using network servers, interactive pygame based applications, digital TV/PVR systems, offline batch transcoders, to name a few... I&#039;ve noticed a tendency for people to relate to very concrete ideas - which is why this time round I chose a simple and direct game as the initial example. &lt;br&gt;&lt;br&gt;The key thing which is perhaps different is that the focus in kamaelia is on making communicating systems useful through a component metaphor, rather than on &quot;lets use concurrency for concurrency sake&quot;. ie use a pattern for software construction that happens to (deliberately :-) drop out as naturally highly concurrent.&lt;br&gt;&lt;br&gt;Perhaps my most fun hack (10 hours or so) was the Speak And Write app - which uses handwriting recognition and speech synthesis to teach a child to read and write.&lt;br&gt;&lt;a href=&quot;http://edit.kamaelia.org/SpeakAndWrite&quot; rel=&quot;nofollow&quot;&gt;http://edit.kamaelia.org/SpeakAndWrite&lt;/a&gt;&lt;br&gt;&lt;br&gt;Regarding the map-reduce idea - I&#039;d personally love to see such a beast written using Kamaelia and would also be more than happy to see it merged onto /trunk ...&lt;br&gt;&lt;br&gt;Perhaps the only downside of Kamaelia vs your talk is the choice of multiprocessing module in python 2.6 doesn&#039;t match the one we&#039;ve been using in Kamaelia.  (at some point we&#039;ll flip when we&#039;ve got a chance - it&#039;ll make little difference to user code beyond being 1 less thing to install :)&lt;br&gt;&lt;br&gt;Anyway, you did ask &quot;what do you want to see ...&quot; :-)&lt;br&gt;&lt;br&gt;What I would hope is that you teach people the one rule that causes all problems in concurrent systems though - unconstrained shared data. If you make sure you don&#039;t have that, life becomes easy, fun and concurrent. If you do have any though, life often becomes very hard, and painful to debug.&lt;br&gt;&lt;br&gt;Anyway, bets of luck for you talk - I hope it goes well :-)</description>
		<content:encoded><![CDATA[<p>Jesse — please take a look at my Kamaelia talks on slideshare …</p>
<p><a href="http://www.slideshare.net/kamaelian/slideshows" rel="nofollow">http://www.slideshare.net/kamaelian/slideshows</a></p>
<p>… they’re (literally) littered with numerous example systems which are highly concurrent, written in python and tested. Kamaelia is designed specifically with novices in mind, and the following 2 talks were given at pycon UK last weekend:</p>
<p><a href="http://www.slideshare.net/kamaelian/practical-concurrent-systems-made-simple-using-kamaelia-presentation" rel="nofollow"></a><a href="http://www.slideshare.net/kamaelian/practical-c" rel="nofollow">http://www.slideshare.net/kamaelian/practical-c</a>…</p>
<p><a href="http://www.slideshare.net/kamaelian/sharing-data-and-services-safely-in-concurrent-systems-using-kamaelia-presentation/" rel="nofollow"></a><a href="http://www.slideshare.net/kamaelian/sharing-dat" rel="nofollow">http://www.slideshare.net/kamaelian/sharing-dat</a>…</p>
<p>The latter one needs a bit of work based on feedback in the session, but the talks seemed highly accessible. (Indeed, kamaelia has been designed with accessibility in mind as a key design feature — it’s also the driving long term reason behind Kamaelia’s existence :-)</p>
<p>Kamaelia is primarily a message passing based system (generators, threads, processes as units of concurrency), but also includes a software transactional memory implementation for the times when you really do need to share data. (kamaelia’s real underlying design is “no unconstrained data” and “if you have a piece of data and haven’t given it back/to anyone else, your changes should be safe”.</p>
<p>We’re actually in the process of a revamp of the website.</p>
<p>If you want a selection of applications to talk about — there’s examples using network servers, interactive pygame based applications, digital TV/PVR systems, offline batch transcoders, to name a few… I’ve noticed a tendency for people to relate to very concrete ideas — which is why this time round I chose a simple and direct game as the initial example. </p>
<p>The key thing which is perhaps different is that the focus in kamaelia is on making communicating systems useful through a component metaphor, rather than on “lets use concurrency for concurrency sake”. ie use a pattern for software construction that happens to (deliberately :-) drop out as naturally highly concurrent.</p>
<p>Perhaps my most fun hack (10 hours or so) was the Speak And Write app — which uses handwriting recognition and speech synthesis to teach a child to read and write.<br /><a href="http://edit.kamaelia.org/SpeakAndWrite" rel="nofollow">http://edit.kamaelia.org/SpeakAndWrite</a></p>
<p>Regarding the map-reduce idea — I’d personally love to see such a beast written using Kamaelia and would also be more than happy to see it merged onto /trunk …</p>
<p>Perhaps the only downside of Kamaelia vs your talk is the choice of multiprocessing module in python 2.6 doesn’t match the one we’ve been using in Kamaelia.  (at some point we’ll flip when we’ve got a chance — it’ll make little difference to user code beyond being 1 less thing to install :)</p>
<p>Anyway, you did ask “what do you want to see …” :-)</p>
<p>What I would hope is that you teach people the one rule that causes all problems in concurrent systems though — unconstrained shared data. If you make sure you don’t have that, life becomes easy, fun and concurrent. If you do have any though, life often becomes very hard, and painful to debug.</p>
<p>Anyway, bets of luck for you talk — I hope it goes well :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jnoller</title>
		<link>http://jessenoller.com/2008/09/22/what-do-you-want-to-see-in-a-concurrency-talk/comment-page-1/#comment-62065</link>
		<dc:creator>jnoller</dc:creator>
		<pubDate>Tue, 23 Sep 2008 01:38:08 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=310#comment-62065</guid>
		<description>I can mention it briefly, but won&#039;t go into details given stackless  &lt;br&gt;still has a GIL</description>
		<content:encoded><![CDATA[<p>I can mention it briefly, but won’t go into details given stackless  <br />still has a GIL</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Wilson</title>
		<link>http://jessenoller.com/2008/09/22/what-do-you-want-to-see-in-a-concurrency-talk/comment-page-1/#comment-62064</link>
		<dc:creator>Matt Wilson</dc:creator>
		<pubDate>Tue, 23 Sep 2008 00:51:41 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=310#comment-62064</guid>
		<description>If you&#039;re gonna talk about the GIL, can you explain what stackless python is and what it means for concurrent programming?</description>
		<content:encoded><![CDATA[<p>If you’re gonna talk about the GIL, can you explain what stackless python is and what it means for concurrent programming?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://jessenoller.com/2008/09/22/what-do-you-want-to-see-in-a-concurrency-talk/comment-page-1/#comment-62063</link>
		<dc:creator>Ben</dc:creator>
		<pubDate>Mon, 22 Sep 2008 21:52:54 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=310#comment-62063</guid>
		<description>I&#039;d be interested in something like Kamaelia... Maybe a map reduce kind of application built with kamaelia that can be distributed over the network?</description>
		<content:encoded><![CDATA[<p>I’d be interested in something like Kamaelia… Maybe a map reduce kind of application built with kamaelia that can be distributed over the network?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jnoller</title>
		<link>http://jessenoller.com/2008/09/22/what-do-you-want-to-see-in-a-concurrency-talk/comment-page-1/#comment-62062</link>
		<dc:creator>jnoller</dc:creator>
		<pubDate>Mon, 22 Sep 2008 18:18:57 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=310#comment-62062</guid>
		<description>No problem, I&#039;ll probably post everything here when it all comes out.&lt;br&gt;&lt;br&gt;As for the threading changes in 2.6/3.0 - it&#039;s really just pep8-ifying some of the names, and moving some of the other internals to properties. See: &lt;a href=&quot;http://bugs.python.org/issue3352&quot; rel=&quot;nofollow&quot;&gt;http://bugs.python.org/issue3352&lt;/a&gt;&lt;br&gt;&lt;br&gt;I&#039;d be interested to hear how you&#039;re using the package, some of what you and I do at our day jobs overlap, so to speak :)</description>
		<content:encoded><![CDATA[<p>No problem, I’ll probably post everything here when it all comes out.</p>
<p>As for the threading changes in 2.6/3.0 — it’s really just pep8-ifying some of the names, and moving some of the other internals to properties. See: <a href="http://bugs.python.org/issue3352" rel="nofollow">http://bugs.python.org/issue3352</a></p>
<p>I’d be interested to hear how you’re using the package, some of what you and I do at our day jobs overlap, so to speak :)</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 725/726 objects using disk: basic

Served from: jessenoller.com @ 2012-05-22 07:18:50 -->
