<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-1510447155903423878.post2207450831068065059..comments</id><updated>2011-08-04T06:12:25.302-04:00</updated><category term='mobile'/><category term='logging'/><category term='philly ete'/><category term='swing'/><category term='junit'/><category term='actor'/><category term='maven'/><category term='mobile phones'/><category term='events'/><category term='spring integration'/><category term='open source'/><category term='mobile application development'/><category term='manik surtani'/><category term='application development'/><category term='software development'/><category term='grails'/><category term='beanconfig'/><category term='iphone'/><category term='emerging technology'/><category term='spring roo'/><category term='dan allen'/><category term='profiles'/><category term='philly startup leaders'/><category term='rails'/><category term='video'/><category term='Flex'/><category term='javaconfig'/><category term='nosql'/><category term='tapworthy'/><category term='JMS'/><category term='windows mobile'/><category term='podcast transcript'/><category term='SpringSource'/><category term='jquery mobile'/><category term='windows phone'/><category term='Adobe'/><category term='facebook'/><category term='jon'/><category term='spring social'/><category term='jeff brown'/><category term='meego'/><category term='scala'/><category term='dbunit'/><category term='java'/><category term='seam'/><category term='software conference'/><category term='security'/><category term='nfc'/><category term='ed burns'/><category term='esb'/><category term='jboss cache'/><category term='springsource roo'/><category term='cloud'/><category term='backbone'/><category term='rest'/><category term='m2eclpise'/><category term='spring 3.1'/><category term='RESTful'/><category term='Nexus'/><category term='android'/><category term='groovy'/><category term='palm'/><category term='ssl'/><category term='unit testing'/><category term='akka'/><category term='architecture'/><category term='screencast'/><category term='ruby'/><category term='jboss world'/><category term='couchdb'/><category term='education'/><category term='kyw newsradio'/><category term='scott davis'/><category term='redmonk'/><category term='javascript'/><category term='Messaging'/><category term='mule'/><category term='redis'/><category term='apple'/><category term='jenkins'/><category term='emmanuel bernard'/><category term='yammer'/><category term='spring mvc'/><category term='mulesoft'/><category term='sonatype'/><category term='david black'/><category term='chariot techcast'/><category term='rhodes'/><category term='tebow'/><category term='pretty faces'/><category term='infinispan'/><category term='griffon'/><category term='agile'/><category term='voldemort'/><category term='ci'/><category term='fulltext'/><category term='html 5'/><category term='podcasts'/><category term='andriod'/><category term='graeme rocher'/><category term='database'/><category term='mentoring'/><category term='cassandra'/><category term='cloud computing'/><category term='spring framework'/><category term='sencha touch'/><category term='groovy algorithm shunting yard'/><category term='JTA'/><category term='hudson'/><category term='couch db'/><category term='James Ward'/><category term='web services'/><category term='Spring Batch'/><category term='mongodb'/><category term='Sonar'/><category term='phillyete'/><category term='keitai'/><category term='rhomobile'/><category term='springone'/><category term='SOAP'/><category term='jquery'/><category term='chris richardson'/><category term='blackberry'/><category term='winning'/><category term='roo in action'/><category term='chariotsolutions'/><category term='mobile development'/><category term='annotation config'/><category term='twitter'/><category term='enterprise integration patterns'/><category term='search'/><category term='jboss'/><category term='mobile web'/><category term='phonegap'/><category term='social media'/><category term='password'/><title type='text'>Comments on Chariot Solutions: Learnings from Actor Development</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.chariotsolutions.com/feeds/2207450831068065059/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html'/><author><name>Tracey Welson-Rossman</name><uri>http://www.blogger.com/profile/00460003016667099940</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-7121895493652874658</id><published>2011-07-07T14:07:38.213-04:00</published><updated>2011-07-07T14:07:38.213-04:00</updated><title type='text'>Eurekin,
Phillip Haller has book about to reach pr...</title><content type='html'>Eurekin,&lt;br /&gt;Phillip Haller has book about to reach print on this topic.&lt;br /&gt;&lt;br /&gt;http://www.artima.com/shop/actors_in_scala</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/7121895493652874658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/7121895493652874658'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html?showComment=1310062058213#c7121895493652874658' title=''/><author><name>Jamie Allen</name><uri>http://www.blogger.com/profile/12958363360240053242</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-2207450831068065059' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/2207450831068065059' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1679202939'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-5970953083761012762</id><published>2011-07-07T10:31:14.972-04:00</published><updated>2011-07-07T10:31:14.972-04:00</updated><title type='text'>Eurekin,
Would that I had the time.  :)  But if th...</title><content type='html'>Eurekin,&lt;br /&gt;Would that I had the time.  :)  But if there&amp;#39;s anything specific you need to know, don&amp;#39;t hesitate to ask.  I can also be reached via twitter at @jamie_allen.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/5970953083761012762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/5970953083761012762'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html?showComment=1310049074972#c5970953083761012762' title=''/><author><name>Jamie Allen</name><uri>http://www.blogger.com/profile/12958363360240053242</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-2207450831068065059' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/2207450831068065059' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1679202939'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-5649178021119549877</id><published>2011-07-07T07:19:55.142-04:00</published><updated>2011-07-07T07:19:55.142-04:00</updated><title type='text'>Would You mind writing a book about it? :D</title><content type='html'>Would You mind writing a book about it? :D</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/5649178021119549877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/5649178021119549877'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html?showComment=1310037595142#c5649178021119549877' title=''/><author><name>Eurekin</name><uri>http://www.blogger.com/profile/12899228602227596377</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-2207450831068065059' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/2207450831068065059' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-55862981'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-2446929604446763591</id><published>2011-07-05T15:20:46.498-04:00</published><updated>2011-07-05T15:20:46.498-04:00</updated><title type='text'>Kai,
I would definitely use Actors again, but only...</title><content type='html'>Kai,&lt;br /&gt;I would definitely use Actors again, but only where the situation warrants it. Actors are composable abstractions, allowing the developer to dictate logic flow via asynchronous interaction and guaranteed single-threaded access to shared state. When you have many consumers all attempting to access state at the same time, encapsulating that state in actors is safer than using multiple locks in several classes that could block one another.&lt;br /&gt;&lt;br /&gt;I would not use an actor just to prevent using a lock or synchronized block in my code. Only once my design shows the interleaving of locks would I consider using an actor implementation. When I can reason about my locks/semaphores/mutexes/etc, then I am perfectly happy to stay with them.&lt;br /&gt;&lt;br /&gt;Note that actors can also reduce latency in a system where work stealing is used to delegate tasks among a pool of actors. A dispatcher can have many actors working for it to handle load, and when one is finished it will send a message with the next task rather than using a less efficient strategy such as round robin, which doesn&amp;#39;t take into account latency in a specific actor&amp;#39;s execution of a task. Akka has a work-stealing dispatcher you can use in v1.1, and a ForkJoinDispatcher appears to be on the way for v2 soon.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/2446929604446763591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/2446929604446763591'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html?showComment=1309893646498#c2446929604446763591' title=''/><author><name>Jamie Allen</name><uri>http://www.blogger.com/profile/14866645571542061539</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05573714580245769743'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_8KbyT6n2_dQ/TF_7o54KDFI/AAAAAAAAAAY/Dii2YRp5Pa0/S220/20070701_IMG_3668.JPG'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-2207450831068065059' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/2207450831068065059' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1365831617'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-6282561990097541347</id><published>2011-07-05T14:43:01.350-04:00</published><updated>2011-07-05T14:43:01.350-04:00</updated><title type='text'>Marc,
Actors &amp;quot;die&amp;quot; when an uncaught exce...</title><content type='html'>Marc,&lt;br /&gt;Actors &amp;quot;die&amp;quot; when an uncaught exception occurs on their execution thread.  This is by design, and is explained well in the &amp;quot;let it crash&amp;quot; paradigm espoused by Akka creator Jonas Bonér.  The idea is that you cannot predict all possible scenarios where something can go wrong, so make your system fault tolerant by being able to recover appropriately no matter what happens.  This is managed through how you &amp;quot;link&amp;quot; actors at runtime so that they notify others when they are dying.  Akka also provides you with supervisory strategies for what to do when a linked actor dies: a) recreate only the one that died, or b) kill all other actors it is supervising and recreate all.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/6282561990097541347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/6282561990097541347'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html?showComment=1309891381350#c6282561990097541347' title=''/><author><name>Jamie Allen</name><uri>http://www.blogger.com/profile/14866645571542061539</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05573714580245769743'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_8KbyT6n2_dQ/TF_7o54KDFI/AAAAAAAAAAY/Dii2YRp5Pa0/S220/20070701_IMG_3668.JPG'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-2207450831068065059' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/2207450831068065059' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1365831617'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-2020799964150464080</id><published>2011-07-04T08:58:03.443-04:00</published><updated>2011-07-04T08:58:03.443-04:00</updated><title type='text'>Hey Jamie,

thank you for sharing your experiences...</title><content type='html'>Hey Jamie,&lt;br /&gt;&lt;br /&gt;thank you for sharing your experiences with actors. &lt;br /&gt;&lt;br /&gt;After reading your learnings, I wonder what your conclusion is about using actors? Will you use them again or go back to the Thread programming model (Java improved the API with JDK 5/6/7, thus it is easier - but still complex - to use)?&lt;br /&gt;&lt;br /&gt;I think that actors have a better abstraction level. You do not have to concern about shared memory, locks, and so on. Debugging is difficult as it is with Threads, so that&amp;#39;s no obstacle.&lt;br /&gt;I would like to use actors (either Scala API or even the Java or Scala API of Akka) in my next project, if management permits it :-)&lt;br /&gt;&lt;br /&gt;Are there any reasons why you would not use actors instead of the Thread API?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Kai Wähner (Twitter: @KaiWaehner)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/2020799964150464080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/2020799964150464080'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html?showComment=1309784283443#c2020799964150464080' title=''/><author><name>Kai Wähner</name><uri>http://www.blogger.com/profile/17068174875342008383</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_prIvmKKhXFQ/TEMDWXA8LvI/AAAAAAAAAAM/hjuNYU7DFFE/S220/Kai_Waehner.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-2207450831068065059' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/2207450831068065059' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1364032224'/></entry><entry><id>tag:blogger.com,1999:blog-1510447155903423878.post-6249837733832861163</id><published>2011-07-01T14:38:54.677-04:00</published><updated>2011-07-01T14:38:54.677-04:00</updated><title type='text'>What makes actors fragile?  Is there something spe...</title><content type='html'>What makes actors fragile?  Is there something specifically about Actor that makes them so or is it that they often represent things that naturally come and go?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/6249837733832861163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1510447155903423878/2207450831068065059/comments/default/6249837733832861163'/><link rel='alternate' type='text/html' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html?showComment=1309545534677#c6249837733832861163' title=''/><author><name>Marc</name><uri>http://www.blogger.com/profile/11785461831011967542</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.chariotsolutions.com/2011/07/learnings-from-actor-development.html' ref='tag:blogger.com,1999:blog-1510447155903423878.post-2207450831068065059' source='http://www.blogger.com/feeds/1510447155903423878/posts/default/2207450831068065059' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-50104011'/></entry></feed>
