<?xml version="1.0"?>
<rdf:RDF
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:foaf="http://xmlns.com/foaf/0.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns="http://purl.org/rss/1.0/"
>
<channel rdf:about="http://planet.trapexit.org">
	<title>Planet Trapexit - Erlang/OTP News</title>
	<link>http://planet.trapexit.org</link>
	<description>Planet Trapexit - Erlang/OTP News - http://planet.trapexit.org</description>

	<items>
		<rdf:Seq>
			<rdf:li rdf:resource="http://erlsoft.org/erlang-internet-framework/43/eif-on-aws-and-an-ami-for-erlang/" />
			<rdf:li rdf:resource="http://www.trapexit.org/forum/viewtopic.php?p=43965#43965" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7435412383881764254.post-2790488996638110334" />
			<rdf:li rdf:resource="http://steve.vinoski.net/blog/?p=77" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2008/07/01/rabbitmq-xmpp-gateway-released" />
			<rdf:li rdf:resource="http://yarivsblog.com/?p=195" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-5037189212731578855" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/30.html" />
			<rdf:li rdf:resource="http://yarivsblog.com/?p=194" />
			<rdf:li rdf:resource="http://namsisi.com/?p=20" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-2891792412737653499" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/erlang_exchange_london_uk_june_27th/#When:14:44:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-5246027334551923738.post-7309515441611634378" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=275" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-6495775998059610457" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=274" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-3592269825987137569" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/mlb_processone_xmpp_chat_system/#When:09:24:00Z" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=273" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=272" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-4377781961682745041" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7435412383881764254.post-8901001959287642946" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-1240176153328288267" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-8789859386655022416" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-6651319658700771609" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-3589219738909897871" />
			<rdf:li rdf:resource="http://steve.vinoski.net/blog/?p=73" />
			<rdf:li rdf:resource="http://ulf.wiger.net/weblog/?p=25" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-7076198302203910448" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/parsing_performance_of_scala_for" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-2042706619324991488" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/29.html" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-8715084766226292593" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7994656310753990125" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-2937248757794621509" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/aboutus/news.html#99" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=271" />
			<rdf:li rdf:resource="http://sourceforge.net/forum/forum.php?forum_id=830868" />
			<rdf:li rdf:resource="http://www.trapexit.org/forum/viewtopic.php?p=43939#43939" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1532" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1531" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-3544563282243548671" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1530" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/28.html" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/17296208/Programming+Erlang%2C+Software+f" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-5721620365634283981" />
			<rdf:li rdf:resource="http://yarivsblog.com/?p=192" />
			<rdf:li rdf:resource="urn:uuid:e486a1c7-eb55-4bb4-9de2-3f9b6b133a2e" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=269" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/bundled_latest_scala_runtime_to" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-5246027334551923738.post-2767538981043038705" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-213508279296531618" />
			<rdf:li rdf:resource="http://steve.vinoski.net/blog/?p=72" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-2495235679507358636" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=265" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=267" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-8133193519919898247" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/27.html" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-5494438681968588568" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-1003767045144330062" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-6143162776029321920" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-41253636972880484" />
			<rdf:li rdf:resource="http://www.ejabberd.im/3056 at http://www.ejabberd.im" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=264" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1528" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/ejabberd_201_has_been_released/#When:21:56:00Z" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/?p=94" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-2437865996644715166" />
			<rdf:li rdf:resource="http://yarivsblog.com/?p=191" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2008/05/18/late-binding-with-erlang" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/facebook_chat_is_developed_in_erlang/#When:09:47:00Z" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1527" />
			<rdf:li rdf:resource="tag:typepad.com,2003:post-49974650" />
			<rdf:li rdf:resource="http://simonwillison.net/2008/May/15/engineering/" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/05/15/is-facebook-running-one-of-the-worlds-biggest-erlang-clusters/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-149275207113412727" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-771067926408887629" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-2363001643313000265" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-2982507973429199808" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=261" />
			<rdf:li rdf:resource="http://yarivsblog.com/?p=188" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/26.html" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_screenshot_12" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/which_programming_language_j_gosling" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-1410723176222509038" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1524" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=258" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1523" />
			<rdf:li rdf:resource="http://blog.tornkvist.org/blog.tornkvist.org/blog.yaws?id=1210164473208550" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7435412383881764254.post-6668255548224137560" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/jobs.html#23" />
			<rdf:li rdf:resource="http://kevin.scaldeferri.com/blog/2008/04/28/HelloTwitter.html" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/?p=89" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_screenshot_11" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/25.html" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-2407483676543432986" />
			<rdf:li rdf:resource="http://muharem.wordpress.com/?p=42" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-8565451954740492558" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_screenshot_91" />
			<rdf:li rdf:resource="http://sourceforge.net/forum/forum.php?forum_id=816735" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_screenshot_9" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7612783270205077057" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-802861057143460615" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7592176490490881932" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-4072596650818277034" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-659051239021263089" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7435412383881764254.post-6885360353804589417" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16848645/Lists+arithmetic" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-6656114805716323871" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/04/21/startup-school/" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/aboutus/news.html#98" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-3226845216899518178" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/24.html" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/new_scala_plugins_for_netbeans" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-6883267684322407074" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/04/15/concurrency-and-expressiveness/" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_screenshot_8" />
			<rdf:li rdf:resource="http://simonwillison.net/2008/Apr/14/damien/" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/04/14/ec2-gets-persistent-block-level-storage/" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/04/13/tag-cloud-in-erlyweb-howto/" />
			<rdf:li rdf:resource="http://ruslanspivak.wordpress.com/?p=28" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/writing_ide_is_writing_parser" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/23.html" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1519" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/aboutus/news.html#97" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7435412383881764254.post-7636161167002905275" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1518" />
			<rdf:li rdf:resource="http://www.trapexit.org/forum/viewtopic.php?p=42858#42858" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-3295993534302246100" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16639798/XML+socket+in+Flash+with+Ejebb" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16638983/Ejabberd+2.0+Cookie+Patch" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-6153154157988372718" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-8824946550078629658" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16609181/Add+cookie+support+in+ejabberd" />
			<rdf:li rdf:resource="http://sourceforge.net/forum/forum.php?forum_id=806726" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-5098631962164116904" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=238" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-4619626102283122020" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7435412383881764254.post-7476475743087456600" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1515" />
			<rdf:li rdf:resource="http://sourceforge.net/forum/forum.php?forum_id=806026" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/04/01/erlyweb-renamed-erlang-on-rails/" />
			<rdf:li rdf:resource="http://ulf.wiger.net/weblog/2008/04/01/erlang-statistics/" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16564086/Logging+in+ejabberd+1.1.2" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/04/01/announcing-the-erlang-friendfeed-api/" />
			<rdf:li rdf:resource="http://lists.rabbitmq.com/pipermail/rabbitmq-announce/2008-April/000010.html" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/where_we_are_rewriting_scala" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1364543586525951886.post-3032264265998159815" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-1920156128192659992" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7524596418614640598" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-3176690417467792316" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7140710588281169625" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-3806558601814282697" />
			<rdf:li rdf:resource="http://kevin.scaldeferri.com/blog/2008/03/27/Oscon2008Acceptance.html" />
			<rdf:li rdf:resource="http://blog.tornkvist.org/blog.tornkvist.org/blog.yaws?id=1206648282638429" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-6287763795204135283" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=236" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-9128415500579769832" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16486007/Dynamic+verbosity+level+change" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1506" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=233" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/03/24/i-play-wow-a-cool-facebook-app-built-with-erlyweb/" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/begin_rewriting_scala_for_netbeans" />
			<rdf:li rdf:resource="http://kevin.scaldeferri.com/blog/2008/03/23/ZooVsSavannah.html" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/22.html" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-6779533598008222911" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-2696282067342390117" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-2944493298231827001" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/developing_ide_based_on_gsf" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/fortress_for_netbeans_screenshot_2" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/where_we_are_stock_marketing" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1364543586525951886.post-8282942404911727888" />
			<rdf:li rdf:resource="http://ulf.wiger.net/weblog/2008/03/20/indentation-sensitive-erlang-2/" />
			<rdf:li rdf:resource="http://blog.tornkvist.org/blog.tornkvist.org/blog.yaws?id=120596928596173" />
			<rdf:li rdf:resource="http://ulf.wiger.net/weblog/2008/03/19/indentation-sensitive-erlang/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-5061080681220019513" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16369595/STDLIB%3A+List+To+Record+%28revisi" />
			<rdf:li rdf:resource="http://kevin.scaldeferri.com/blog/2008/03/16/CalagatorCodeSprint.html" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/fortress_for_netbeans_screenshot_1" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-2941374281641879523" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/03/16/snaptalent-ads/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-8573121448551175810" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16338302/A+little+help+for+clustering+e" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/?p=79" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-4546616778041992954" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16310710/One+line+patch+to+ejabberd+2.0" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-2098485499160151290" />
			<rdf:li rdf:resource="http://simonwillison.net/2008/Mar/11/yarivus/" />
			<rdf:li rdf:resource="http://simonwillison.net/2008/Mar/11/damien/" />
			<rdf:li rdf:resource="urn:uuid:38349606-a616-426e-a984-65dc6dbe962e" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/03/09/in-response-to-what-sucks-about-erlang/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-73788209563794050" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-300866460237927234" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-38584156061236574" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/21.html" />
			<rdf:li rdf:resource="http://www.ketralnis.com/roller/dking/entry/20080307" />
			<rdf:li rdf:resource="http://blog.tornkvist.org/blog.tornkvist.org/blog.yaws?id=1204931949991700" />
			<rdf:li rdf:resource="http://kevin.scaldeferri.com/blog/2008/03/06/Cast.html" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-5453795215387431519" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/erlybird_0_16_0_released" />
			<rdf:li rdf:resource="http://blog.tornkvist.org/blog.tornkvist.org/blog.yaws?id=1204795540185281" />
			<rdf:li rdf:resource="http://sourceforge.net/forum/forum.php?forum_id=794555" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/jobs.html#7" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/jobs.html#17" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-7353054232805989179" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/03/05/favorite-lisps-poll-result/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7435412383881764254.post-1614764708926264525" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16196032/Ejabberd+2.0.0+released%21" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/tsung_122_has_been_released/#When:09:48:00Z" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/03/04/introducing-presidential-vimagi-where-anyone-can-paint-political-cartoons-for-us-presidents/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-8486044466175865813" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/03/02/lisp-flavored-erlang/" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=225" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-4874244256221991852" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/jobs.html#21" />
			<rdf:li rdf:resource="http://ulf.wiger.net/weblog/?p=15" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16147279" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16144724" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16144262" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16144206" />
			<rdf:li rdf:resource="http://erlangdevelopers.splinder.com/post/16141000" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/02/27/your-daily-dose-of-erlang-evangelism/" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/aboutus/news.html#95" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=224" />
			<rdf:li rdf:resource="http://blog.tornkvist.org/blog.tornkvist.org/blog.yaws?id=1203942858815854" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=223" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7435412383881764254.post-8714167263367784337" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-1293453343146848584" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/20.html" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/erlang_for_netbeans_erlybird_recent" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-9094481637400661910" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-5632038971175175980" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-8118100768259139805" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-7748975993536057023" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=222" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-2316735969080154050" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=219" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/ejabberd_200_has_been_released/#When:14:02:00Z" />
			<rdf:li rdf:resource="http://www.ejabberd.im/2854 at http://www.ejabberd.im" />
			<rdf:li rdf:resource="http://namsisi.com/archives/2008-02-20/customizing-emacs-for-erlang/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-4431785085674524530" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/we_are_hiring_erlang_developers/#When:09:16:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-8628523840526226568" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7953920526628441053" />
			<rdf:li rdf:resource="tag:typepad.com,2003:post-45544742" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-4773934787477826675" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/?p=80" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7435412383881764254.post-7679688330824356587" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/19.html" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/02/17/seaside-style-programming-in-erlyweb/" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=217" />
			<rdf:li rdf:resource="http://www.berabera.info/69 at http://www.berabera.info" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7718164397856838268" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_recent_update" />
			<rdf:li rdf:resource="http://www.ejabberd.im/2846 at http://www.ejabberd.im" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7435412383881764254.post-4131026676001001998" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7435412383881764254.post-5320772404428715269" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-2153217457902801282" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=214" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-5201931289282539195" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/working_with_netbeans_mercurial_repository" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-6265608756663924839.post-8949539290890528993" />
			<rdf:li rdf:resource="http://kevin.scaldeferri.com/blog/2008/02/12/IntroErlangTalk.html" />
			<rdf:li rdf:resource="http://kevin.scaldeferri.com/blog/2008/02/12/Haskells90PercentProblem.html" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-6736751644373786265" />
			<rdf:li rdf:resource="http://kevin.scaldeferri.com/blog/2008/01/15/StartTimeMachine.html" />
			<rdf:li rdf:resource="http://kevin.scaldeferri.com/blog/2008/01/26/RaganwaldReinventsMonads.html" />
			<rdf:li rdf:resource="http://www.clickcaster.com/clickcast/rss/3538345" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/02/10/more-erlang-fun-distributed-fault-tolerant-mapreduce/" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=212" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1477" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/02/08/erlang-challenge-followup/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16002962.post-6536662981042308334" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/02/08/the-erlang-challenge/" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=211" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/vacation_for_snowboard" />
			<rdf:li rdf:resource="tag:blog.socklabs.com,2008:entry-1434" />
			<rdf:li rdf:resource="http://ulf.wiger.net/weblog/?p=10" />
			<rdf:li rdf:resource="http://www.trapexit.org/forum/viewtopic.php?p=39066#39066" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-7022117058724450578" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=209" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_debugger_modules" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=207" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-8512508038427320494" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/introducing_the_xmpp_application_server/#When:16:09:00Z" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=204" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=202" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_on_netbeans_modules_on" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2008/01/31/some-simple-examples-of-using-erlangs-xpath-implementation" />
			<rdf:li rdf:resource="http://hyperstruct.net/143 at http://hyperstruct.net" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/18.html" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_screenshot_7" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=201" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/the_aol_xmpp_scalability_challenge/#When:20:40:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-2894978318606446376" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=198" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/01/29/debugging-with-distel/" />
			<rdf:li rdf:resource="http://www.berabera.info/53 at http://www.berabera.info" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=196" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_screenshot_51" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-363115630238166319" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16002962.post-3902067727939961960" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/01/24/triggit-why-didnt-i-think-of-that/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-1521095113248156640" />
			<rdf:li rdf:resource="http://blog.beerriot.com/2008/01/22/vimagi-on-erlang2facebook/" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/aboutus/news.html#94" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=193" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-1557051813421367678" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/01/22/how-to-use-concurrency-to-improve-response-time-in-erlyweb-facebook-apps/" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/01/20/vimagi-the-facebook-app/" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/17.html" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/in_travel" />
			<rdf:li rdf:resource="http://erlsoft.org/erlang-internet-framework/42/new-erml-command-processing-engine/" />
			<rdf:li rdf:resource="http://www.ejabberd.im/2796 at http://www.ejabberd.im" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2008/01/18/join-the-erlyweb-fan-club-on-facebook/" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=192" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=191" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-5533696132052035980" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/ejabberd_200_rc1_has_been_released/#When:21:00:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-4958897468293596252" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_supporting_for_netbeans_updated1" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_supporting_for_netbeans_updated" />
			<rdf:li rdf:resource="http://www.ketralnis.com/roller/dking/entry/200801101" />
			<rdf:li rdf:resource="http://www.ketralnis.com/roller/dking/entry/20080110" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-10244190.post-1048273070111544621" />
			<rdf:li rdf:resource="http://www.ketralnis.com/roller/dking/entry/20080108" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_screenshot_5" />
			<rdf:li rdf:resource="http://www.ketralnis.com/roller/dking/entry/200801081" />
			<rdf:li rdf:resource="urn:uuid:dd7dc46a-8bfa-4828-bcc9-2136ee24bd1b" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-10244190.post-8537358248224241433" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2008/01/08/coming-soon-an-interesting-post-about-ocamerl/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-2478835654489300355" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/16.html" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/15.html" />
			<rdf:li rdf:resource="urn:uuid:ab0f9ea2-e2fd-4b28-b073-6e4d661aa946" />
			<rdf:li rdf:resource="urn:uuid:effba11d-9820-471e-8e22-476292ddacae" />
			<rdf:li rdf:resource="http://erlsoft.org/erlang-internet-framework/38/state-of-the-erlang-internet-framework-2008/" />
			<rdf:li rdf:resource="http://blog.beerriot.com/2008/01/02/brainfun/" />
			<rdf:li rdf:resource="urn:uuid:a94fd9ce-bee4-4caf-b059-6207e3dc5560" />
			<rdf:li rdf:resource="urn:uuid:50d75558-ef97-48fd-abdd-155d528c18d3" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2008/01/02/simple-game/" />
			<rdf:li rdf:resource="http://blog.beerriot.com/2008/01/01/denormalization-processes/" />
			<rdf:li rdf:resource="http://www.ketralnis.com/roller/dking/entry/20080101" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/what_a_2007_and_what" />
			<rdf:li rdf:resource="" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=187" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_screenshot_basic" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/12/28/erlang-smtp-code-updated" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/12/28/ocamerl-update-handshake/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7596623053304973736" />
			<rdf:li rdf:resource="http://prog21.dadgum.com/14.html" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_screenshot_preliminary" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=184" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-10244190.post-2536455121116143645" />
			<rdf:li rdf:resource="http://tempe.st/2007/12/how-i-beat-project-euler-using-erlang-christmas-edition-problem-one/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-2781581562890228114" />
			<rdf:li rdf:resource="http://www.ketralnis.com/roller/dking/entry/20071224" />
			<rdf:li rdf:resource="http://www.ejabberd.im/2751 at http://www.ejabberd.im" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/ejabberd_200_beta1_has_been_released/#When:15:52:00Z" />
			<rdf:li rdf:resource="http://www.trapexit.org/forum/viewtopic.php?p=36859#36859" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/12/22/concurrent-behaviours/" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/first_experimental_scala_supporting_for" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-506291679922614046" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_for_netbeans_screenshot_scala" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/12/16/ocamerl/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-8554863718452048446" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-10244190.post-2756432470710360327" />
			<rdf:li rdf:resource="http://simonwillison.net/2007/Dec/14/simpledb/" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/12/14/amazon-simpledb-runs-on-erlang/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-867981142846502183" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/erlybird_0_15_2_released" />
			<rdf:li rdf:resource="http://sourceforge.net/forum/forum.php?forum_id=764505" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_support_for_netbeans_screenshot" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-10244190.post-8382331049257066082" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/12/12/erlyweb-vs-ruby-on-rails-ec2-benchmarking-strangeness/" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/jobs.html#20" />
			<rdf:li rdf:resource="http://erlsoft.org/erlang-internet-framework/37/erlmail-status/" />
			<rdf:li rdf:resource="http://simonwillison.net/2007/Dec/10/yarivus/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-3555337835206924117" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-923390599530412086" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/12/09/erlyweb-vs-ruby-on-rails-ec2-performance-showdown/" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/erlang_automake_project/#When:10:13:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-10244190.post-621788004762887154" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7049065917210040917" />
			<rdf:li rdf:resource="http://simonwillison.net/2007/Dec/6/damien/" />
			<rdf:li rdf:resource="http://www.trapexit.org/forum/viewtopic.php?p=35562#35562" />
			<rdf:li rdf:resource="http://www.ejabberd.im/2724 at http://www.ejabberd.im" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-10244190.post-644852774811999246" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/scala_editor_for_netbeans" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-4323450579543210024" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/aboutus/news.html#92" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-5971169987461866592" />
			<rdf:li rdf:resource="http://erlsoft.org/erlang-internet-framework/36/imap-server-response-gen_server/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7753941686610124471" />
			<rdf:li rdf:resource="http://sourceforge.net/forum/forum.php?forum_id=759260" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-777108038520016169" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-6531489025815173946" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=180" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/erlybird_is_ready_for_r12b" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-8021312919211948608" />
			<rdf:li rdf:resource="http://wagerlabs.com/archives/133.html" />
			<rdf:li rdf:resource="http://erlsoft.org/erlmail/35/imap-server-update/" />
			<rdf:li rdf:resource="http://erlsoft.org/erlang-internet-framework/34/imap-server-gen_store-developments/" />
			<rdf:li rdf:resource="http://wagerlabs.com/archives/132.html" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-8597508235977846763" />
			<rdf:li rdf:resource="http://www.ejabberd.im/2707 at http://www.ejabberd.im" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-311098628575913304" />
			<rdf:li rdf:resource="http://ulf.wiger.net/weblog/?p=9" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/ejabberd_and_erlang_users_meeting_in_new_york_city/#When:08:34:00Z" />
			<rdf:li rdf:resource="http://ulf.wiger.net/weblog/?p=8" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-6786408742557025841" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-3817533897960809712" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-3846183432173525266" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/11/19/vimagi-speedups/" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/aboutus/news.html#91" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-409143546385934805" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-814131757010017166" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-8301954928761702474" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/11/17/erlang-quote-of-the-day/" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/11/17/erlyweb-presentation-dec-6th-at-berkeley-ca/" />
			<rdf:li rdf:resource="http://blog.beerriot.com/2007/11/17/erlang2facebook-has-users/" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/11/17/joe-armstrong-on-multicore" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-1780157638906540068" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-5550112868402042672" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/11/16/astral-plane-characters-in-erlang-jsonrfc4627-implementation" />
			<rdf:li rdf:resource="http://ruslanspivak.com/2007/11/16/erlang-for-python-programmers-part-v/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-6929704955756214195" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/regexp_syntax_in_patter_match" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/aboutus/news.html#90" />
			<rdf:li rdf:resource="http://blog.tornkvist.org/blog.yaws?id=1194907310142056" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/ejabberd_114_macosx_leopard_105_support/#When:07:00:00Z" />
			<rdf:li rdf:resource="http://erlsoft.org/erlang-internet-framework/33/ldap-active-directory-and-mapi/" />
			<rdf:li rdf:resource="http://www.trapexit.org/forum/viewtopic.php?p=33909#33909" />
			<rdf:li rdf:resource="http://notwaving.net/wordpress/2007/11/11/an-erlang-stock-exchange/" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/11/11/morphing-ruby-to-erlang-just-for-fun/" />
			<rdf:li rdf:resource="http://wagerlabs.com/archives/129.html" />
			<rdf:li rdf:resource="http://www.jroller.com/mrettig/entry/1_million_messages_per_second" />
			<rdf:li rdf:resource="http://simonwillison.net/2007/Nov/9/mochiweb/" />
			<rdf:li rdf:resource="http://www.jroller.com/mrettig/entry/lightweight_concurrency_in_net_similar" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=179" />
			<rdf:li rdf:resource="http://wagerlabs.com/archives/128.html" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=178" />
			<rdf:li rdf:resource="http://blog.tornkvist.org/blog.yaws?id=1194478876624908" />
			<rdf:li rdf:resource="http://erlsoft.org/erlang-internet-framework/32/all-active-projects-now-on-google-code/" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/11/06/bayfp-meeting-tomorrow/" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=177" />
			<rdf:li rdf:resource="http://blog.tornkvist.org/blog.yaws?id=1194342452130767" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/tim_bray_s_erlang_exercise2" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-4076333037604744043" />
			<rdf:li rdf:resource="http://www.ketralnis.com/roller/dking/entry/20071103" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-997475773247037952" />
			<rdf:li rdf:resource="http://erlsoft.org/erlang-internet-framework/31/moving-the-imap-server-from-theory-to-the-real-world/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-4167999740082219489.post-5546963107735460860" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16002962.post-201286734217215488" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/10/31/wide-finder-project-summary/" />
			<rdf:li rdf:resource="http://www.clickcaster.com/clickcast/rss/3534250" />
			<rdf:li rdf:resource="http://blog.tornkvist.org/blog.yaws?id=1193866043645631" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=174" />
			<rdf:li rdf:resource="http://www.trapexit.org/forum/viewtopic.php?p=33332#33332" />
			<rdf:li rdf:resource="http://erlsoft.org/erlang-internet-framework/30/erlmail-now-on-google-code/" />
			<rdf:li rdf:resource="http://erlsoft.org/erlang-internet-framework/29/imap-server-october-update/" />
			<rdf:li rdf:resource="http://www.trapexit.org/forum/viewtopic.php?p=32590#32590" />
			<rdf:li rdf:resource="http://www.trapexit.org/forum/viewtopic.php?p=31802#31802" />
			<rdf:li rdf:resource="http://erlsoft.org/erlang-internet-framework/28/erlmail-005-released/" />
			<rdf:li rdf:resource="http://www.trapexit.org/forum/viewtopic.php?p=28353#28353" />
			<rdf:li rdf:resource="http://www.trapexit.org/forum/viewtopic.php?p=25872#25872" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=173" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-5527651367072276854" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7607621383780001430" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7958659974735477378" />
			<rdf:li rdf:resource="http://simonwillison.net/2007/Oct/25/couchdb/" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/learning_coding_binary_was_tim" />
			<rdf:li rdf:resource="http://blog.tornkvist.org/blog.yaws?id=1193209275268448" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-6753958725425974654" />
			<rdf:li rdf:resource="http://blogtrader.net/page/dcaoyuan/entry/tim_s_erlang_exercise_summary" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-3796366466977068631" />
			<rdf:li rdf:resource="http://simonwillison.net/2007/Oct/19/couchdb/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-4972691132178130705" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-2689731846618771792" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=171" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-2643014166723320084" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/10/16/questioning-questioning-functional-programming/" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=168" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/10/16/blog-maintenance/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-5700994237688473011" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-6372336667338045789" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/10/14/more-vimagi-goodies/" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=167" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-1591954673821510048" />
			<rdf:li rdf:resource="http://wagerlabs.com/archives/125.html" />
			<rdf:li rdf:resource="http://wagerlabs.com/archives/121.html" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/aboutus/news.html#89" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/10/10/if-i-were-building-amazoncom/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-6873983652697459969" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-6263185124103398012" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=165" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/10/09/erlang-walk-in-avi-file/" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=163" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-8903356533539280939" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-8045110972982219653" />
			<rdf:li rdf:resource="http://www.jroller.com/mrettig/entry/lightweight_threads_in_net" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-2745469581707129681" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-2326846727648861759" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-7960635302058425352" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-1616513166077653197" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-8753068185453494098" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-2688768519291663836" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-4155411532130684301" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-6802625144838358399" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/10/05/vimagi-updates/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16002962.post-231888935067329357" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-4357358659475221227" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/10/03/erlyweb-is-facebook-ready/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7606116561898012687" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-5979252908697635189" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/10/03/proper-unicode-support-in-erlang-rfc4627-json-module" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=159" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/process_one_sapo_portugal_telecom_instant_messaging1/#When:07:00:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-5359519119136604366" />
			<rdf:li rdf:resource="http://ruslanspivak.com/2007/10/02/erlang-for-python-programmers-part-iv/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-1485962324202967853" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-3824069361520576304" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7904533298132281795" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/10/01/too-much-mail-is-bad-for-you" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=157" />
			<rdf:li rdf:resource="http://sourceforge.net/forum/forum.php?forum_id=740331" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=156" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-1542122708973712791" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-8934565359578059625" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/09/28/embedding-vimagi/" />
			<rdf:li rdf:resource="http://www.erlang-consulting.com/aboutus/news.html#88" />
			<rdf:li rdf:resource="http://weblog.hypotheticalabs.com/?p=155" />
			<rdf:li rdf:resource="http://lists.rabbitmq.com/pipermail/rabbitmq-announce/2007-September/000009.html" />
			<rdf:li rdf:resource="http://blog.tornkvist.org/blog.yaws?id=1190846785574003" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-8929925234634611723" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-6193575874822178824" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/09/25/great-concurrency-better-webapps/" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/09/26/erlangotp-installation-from-sources/" />
			<rdf:li rdf:resource="http://sourceforge.net/forum/forum.php?forum_id=739014" />
			<rdf:li rdf:resource="http://ruslanspivak.com/2007/09/24/erlang-for-python-programmers-part-iii/" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/09/23/introducing-vimagicom/" />
			<rdf:li rdf:resource="http://yarivsblog.com/articles/2007/09/22/fancy-languageframework-poll-results/" />
			<rdf:li rdf:resource="http://sourceforge.net/forum/forum.php?forum_id=737746" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1923221109868193008.post-7511113518727571064" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-6330734169327416658" />
			<rdf:li rdf:resource="http://ruslanspivak.com/2007/09/20/comment-dwim-and-comment-style/" />
			<rdf:li rdf:resource="http://plists.wordpress.com/2007/09/20/introducing-plists-an-erlang-module-for-doing-list-operations-in-parallel/" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/09/20/minimal-erlang-smtp-pop3-server-code" />
			<rdf:li rdf:resource="http://www.ejabberd.im/2616 at http://www.ejabberd.im" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-8535365196013422741" />
			<rdf:li rdf:resource="http://www.ejabberd.im/2614 at http://www.ejabberd.im" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-3359397783613381035" />
			<rdf:li rdf:resource="http://ruslanspivak.com/2007/09/16/erlang-for-python-programmers-part-ii/" />
			<rdf:li rdf:resource="http://www.bluishcoder.co.nz/2007/09/erlang-on-openmoko-cellphone.html" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/09/16/erlang-on-neo1973-cellphone" />
			<rdf:li rdf:resource="http://simonwillison.net/2007/Sep/14/lshift/" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/09/13/how-should-json-strings-be-represented-in-erlang" />
			<rdf:li rdf:resource="http://simonwillison.net/2007/Sep/13/onlampcom/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-7696963989699167384" />
			<rdf:li rdf:resource="http://ruslanspivak.com/2007/09/12/how-to-say-big-numbers-in-english-common-lisp/" />
			<rdf:li rdf:resource="urn:uuid:048e70f7-20cc-49ba-aac8-3d4bd0f2e433" />
			<rdf:li rdf:resource="http://ruslanspivak.com/2007/09/09/erlang-for-python-programmers-part-i/" />
			<rdf:li rdf:resource="http://www.ketralnis.com/roller/dking/entry/20070903" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/09/07/different-dbms/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-8035013731642312124" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/09/06/recommending-popular-items/" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/ejabberd_114_released/#When:08:54:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-7173435621529305547" />
			<rdf:li rdf:resource="http://simonwillison.net/2007/Sep/3/labnotes/" />
			<rdf:li rdf:resource="http://www.quviq.com/" />
			<rdf:li rdf:resource="http://www.jroller.com/mrettig/entry/retlang_erlang_in_c" />
			<rdf:li rdf:resource="http://blog.beerriot.com/2007/09/01/erlang-facebook-code-example/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3729811.post-6526422738596706703" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/08/31/one-more-service-for-adviserl-an-http-api/" />
			<rdf:li rdf:resource="http://blog.beerriot.com/2007/08/29/erlang-facebook-code-open-source/" />
			<rdf:li rdf:resource="http://www.clickcaster.com/clickcast/rss/3531748" />
			<rdf:li rdf:resource="http://sourceforge.net/forum/forum.php?forum_id=730035" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/08/28/217" />
			<rdf:li rdf:resource="http://www.quviq.com/news070827.html" />
			<rdf:li rdf:resource="http://ruslanspivak.com/2007/08/27/erlang-for-python-programmers-intro/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-3392307265965100624" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/08/23/mnesia-enter-in-the-playground/" />
			<rdf:li rdf:resource="http://muharem.wordpress.com/2007/08/21/processing-xml-in-erlang/" />
			<rdf:li rdf:resource="http://notwaving.net/wordpress/2007/08/20/a-basic-mutable-state-in-an-erlang-process/" />
			<rdf:li rdf:resource="http://blog.beerriot.com/2007/08/19/two-birds-one-hot-code-load/" />
			<rdf:li rdf:resource="http://ruslanspivak.com/2007/08/19/erlang-man-pages-in-emacs/" />
			<rdf:li rdf:resource="http://ruslanspivak.com/2007/08/18/htmlize-your-erlang-code-buffer/" />
			<rdf:li rdf:resource="http://ruslanspivak.com/2007/08/17/more-about-binary-search-in-erlang/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7895735736405728812.post-2710585365615613831" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-2116759427809366184" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-2376469417510858962" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7895735736405728812.post-496434774871509651" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7895735736405728812.post-708236376727231309" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7895735736405728812.post-4248989835166429616" />
			<rdf:li rdf:resource="http://simonwillison.net/2007/Aug/8/erlang/" />
			<rdf:li rdf:resource="http://pipes.yahoo.com/pipes/3364027251" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-7048917043928101011" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-8263219475020092511" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-699020937694156193.post-2625504801951877372" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-9096533705174404306" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-349111540699225268" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-2094700941886317853" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/new_ejabberd_linux_installer_extends_distributions_compliance/#When:09:59:00Z" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/08/03/advance-backward/" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/planet_erlang_updated/#When:11:18:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-3584393048694693906" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-8938337187472228629" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-8898692829316366641" />
			<rdf:li rdf:resource="http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-4698254061887326920" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-4940173209973333725" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-3842166385324253347" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16002962.post-3329060469647090337" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-2523104254096015939" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/07/27/sieve-again/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-4271320103533388687" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-1818959901864683818" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16002962.post-7723804535587726454" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16002962.post-6475959090664789345" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-3376508392331888241.post-7573622443277521114" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/07/21/advises-on-delicious-tags/" />
			<rdf:li rdf:resource="http://khigia.wordpress.com/2007/07/21/delicious-adviserl/" />
			<rdf:li rdf:resource="http://www.clickcaster.com/clickcast/rss/3530306" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-855944390206940143.post-6717288158187277142" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-5246027334551923738.post-3760743554935855110" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-699020937694156193.post-8571058640052172737" />
			<rdf:li rdf:resource="http://pragdave.blogs.pragprog.com/pragdave/2007/07/programming-erl.html" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/live_code_upgrade_a_must_have_feature_for_high_availability_deployments/#When:15:37:00Z" />
			<rdf:li rdf:resource="http://www.pixzone.com/blog/236/programming-fun-with-facebook-programming-puzzles/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-6216069213302856215" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/cean_13_is_online/#When:00:15:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-5132485084358160305" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-699020937694156193.post-5247575653359958741" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-699020937694156193.post-4883024273085021082" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-1342130227258194021" />
			<rdf:li rdf:resource="http://hyperstruct.net/11 at http://hyperstruct.net" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-699020937694156193.post-8717818637166445154" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-440793804211725344" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/06/21/updated-ajax-erlang-jukebox" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-6635847185465253867" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-7558109955106521689" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-5769530097979046160" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-1368069247046918355" />
			<rdf:li rdf:resource="http://www.pixzone.com/blog/230/programmare-in-erlang-su-computer-programming-in-edicola/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-8357633642576677337" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16002962.post-637871951585337639" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-699020937694156193.post-7451914363978487826" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-699020937694156193.post-7591962466108762062" />
			<rdf:li rdf:resource="http://www.pixzone.com/blog/226/erlang-ruby-and-php-battle-it-out/" />
			<rdf:li rdf:resource="http://tempe.st/2007/05/erlang-ruby-and-php-battle-it-out/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-4167999740082219489.post-2152596836902283929" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-5049029583926631782" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-1967658992640681192" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-3315633985841263500" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16002962.post-7382572429584161114" />
			<rdf:li rdf:resource="http://www.pixzone.com/blog/223/spell-corrector-aka-google-suggest-in-erlang-first-part/" />
			<rdf:li rdf:resource="http://slideaware.typepad.com/slideaware/2007/05/there_is_a_worl.html" />
			<rdf:li rdf:resource="http://www.pixzone.com/blog/222/how-to-build-a-pop3-to-rss-gateway-in-erlang/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-8272214710448228520" />
			<rdf:li rdf:resource="http://www.pixzone.com/blog/220/erlang-data-types-lesson-2/" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/oneteam_groupchat_a_rich_web_groupchat_client/#When:18:12:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16002962.post-1284924248916560019" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16002962.post-6941045934826148651" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16002962.post-5386674814784286399" />
			<rdf:li rdf:resource="http://slideaware.typepad.com/slideaware/2007/05/in_the_last_pos.html" />
			<rdf:li rdf:resource="http://www.pixzone.com/blog/219/buy-computer-programming-magazine-to-learn-erlang/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-2601190501479189247" />
			<rdf:li rdf:resource="http://www.pixzone.com/blog/218/youre-first-erlang-program-in-less-than-1-minute-lesson-1/" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/ejabberd_exceeds_expectations_at_sipphone/#When:07:00:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-5806422807106681628" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/web_development_in_erlang_slideaware_experience/#When:09:19:01Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-970665623589855073" />
			<rdf:li rdf:resource="http://www.pixzone.com/blog/217/erlang-helps-rails-to-scale/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-8468169041901984487" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-7762903372832489352" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-3554824493070788919" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-1665519967388231702" />
			<rdf:li rdf:resource="http://www.pixzone.com/blog/214/whats-all-this-fuss-about-erlang/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-3211430900325373283" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-1312617857737476596" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-6965150303604327249" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-2761118176189017349" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-3942645941105071216" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-2701628522441228496.post-903666096647800159" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-845906212296200844" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-8333577788015325587" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-1614800760234562791" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-8085854904570291699" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/cean_12_is_out/#When:16:46:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-2250215283500779265" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-4480694431785321481" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-6422581370392274176" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-4803268042202468410" />
			<rdf:li rdf:resource="http://drxyzzy.org/wordpress/?p=12" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-7850601308857823447" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-4299117283253611524" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-1893218858608219953.post-1707358603675158236" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/le_chat_citoyen_veut_remuer_la_campagne_presidentielle_sur_le_net/#When:12:02:00Z" />
			<rdf:li rdf:resource="http://blog.diginux.net/2007/04/03/writing-a-duplicate-file-finder-in-erlang/" />
			<rdf:li rdf:resource="http://tempe.st/2007/04/learning-erlang-the-beautiful-quicksort/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-6721096919513740339" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-2377115810388972825" />
			<rdf:li rdf:resource="http://tempe.st/2007/03/erlang-and-poker/" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/process_one_announces_teamleader/#When:07:00:00Z" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/tsung_benchmark_plugin_development/#When:17:42:00Z" />
			<rdf:li rdf:resource="http://simonwillison.net/2007/Mar/25/lshift/" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/google_summer_of_code_2007/#When:09:01:00Z" />
			<rdf:li rdf:resource="http://drxyzzy.org/wordpress/?p=11" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/more_erlang_project_code_monitored_on_erlang_forge/#When:09:43:00Z" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/ten_questions_with_joe_armstrong_about_parallel_programming_and_erlang/#When:09:11:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-3497794748027864484" />
			<rdf:li rdf:resource="http://tempe.st/2007/03/learning-erlang-day-1-no-variables/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-153392237876584202" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-3926462673124129037" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-165626717632423180" />
			<rdf:li rdf:resource="http://www.process-one.net/en/blogs/article/web_20_shifting_from_get_fast_to_get_massive/#When:09:07:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-2108170621247986607" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-5246027334551923738.post-6255649099984262630" />
			<rdf:li rdf:resource="http://simonwillison.net/2007/Mar/3/erlang/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-2898669431726679414" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-4365252994535574806" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/02/17/json-and-json-rpc-for-erlang" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/02/17/rfc-1982-limits-itself-to-powers-of-two-unnecessarily" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-900778081419402185" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/ejabberd_installer_for_macosx_intel/#When:11:53:00Z" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/ejabberd_113_released/#When:16:58:00Z" />
			<rdf:li rdf:resource="http://www.lshift.net/blog/2007/02/01/rabbits-rabbits-rabbits" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-7741028536427431873" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-845605515266939130" />
			<rdf:li rdf:resource="http://www.process-one.net/en/news/article/process_one_announces_oneteam_corporate_instant_messaging_client/#When:11:16:00Z" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-2934427146437309940" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-6135671269518551675" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-1268258407687683097" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-7012030999962875668.post-4334459226697191983" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-4167999740082219489.post-35011092611026048" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-4167999740082219489.post-6805037984639194328" />
			<rdf:li rdf:resource="http://www.bluishcoder.co.nz/2007/01/erlang-and-mobile-phones.html" />
			<rdf:li rdf:resource="http://simonwillison.net/2006/Dec/20/erlyweb/" />
			<rdf:li rdf:resource="http://ulf.wiger.net/weblog/?p=7" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-116407703914434943" />
			<rdf:li rdf:resource="http://blog.diginux.net/2006/11/15/adding-aes-encryption-to-erlang-chat/" />
			<rdf:li rdf:resource="http://www.3pblog.net/?entry=entry061115-104626" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-116356045127971344" />
			<rdf:li rdf:resource="http://blog.diginux.net/2006/10/31/serializing-erlang-tuples-for-network-transmission/" />
			<rdf:li rdf:resource="http://blog.diginux.net/2006/10/30/ecal-first-beta-release/" />
			<rdf:li rdf:resource="http://pipes.yahoo.com/pipes/3339653474" />
			<rdf:li rdf:resource="http://blog.diginux.net/2006/10/27/visualizing-problems-in-erlang/" />
			<rdf:li rdf:resource="http://www.3pblog.net/?entry=entry061022-104602" />
			<rdf:li rdf:resource="http://blog.diginux.net/2006/10/21/how-to-compile-wxerlang-on-linux/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-5246027334551923738.post-2371791066875103701" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-5246027334551923738.post-5749540209297010238" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-5246027334551923738.post-998581103285318358" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-5246027334551923738.post-5913465963863651059" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-20949227.post-115419300913003739" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-5246027334551923738.post-5100849798692368178" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-5246027334551923738.post-4925315351154112265" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-115333711399021067" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-114896468988947308" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-114698016775551336" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-114672252332871282" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-114419760449698203" />
			<rdf:li rdf:resource="http://ulf.wiger.net/weblog/?p=4" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-114384501342651754" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-114317141176007087" />
			<rdf:li rdf:resource="http://ulf.wiger.net/weblog/?p=2" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-114166760643919373" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-20949227.post-114053408718654280" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-20949227.post-113797868132661326" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-113803793588305411" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-20949227.post-113718380108681042" />
			<rdf:li rdf:resource="http://drxyzzy.org/wordpress/?p=10" />
			<rdf:li rdf:resource="http://drxyzzy.org/wordpress/?p=6" />
			<rdf:li rdf:resource="http://drxyzzy.org/wordpress/?p=5" />
			<rdf:li rdf:resource="http://drxyzzy.org/wordpress/?p=4" />
			<rdf:li rdf:resource="http://drxyzzy.org/wordpress/?p=3" />
			<rdf:li rdf:resource="http://drxyzzy.org/wordpress/?p=2" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-113263275184227612" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-113228579883621875" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-112735687252241562" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-112726055669395867" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-112648152879565115" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-112614075072031425" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-112596584470864140" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-112456805309588694" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-112447890264133411" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-112424993043873393" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-112424028994665742" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-112416377807273163" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-112416025682290524" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-15461779.post-112415851835696322" />
		</rdf:Seq>
	</items>
</channel>

<item rdf:about="http://erlsoft.org/erlang-internet-framework/43/eif-on-aws-and-an-ami-for-erlang/">
	<title>Erlang Software Framework: EIF on AWS and an AMI for Erlang</title>
	<link>http://erlsoft.org/erlang-internet-framework/43/eif-on-aws-and-an-ami-for-erlang/</link>
	<content:encoded>I got an email this morning that made me realize how long it had been since I had updated this site. I've been a little bit distracted since I got my book deal. Originally I submitted a proposal to write a book on Erlang, but through a series of events ...</content:encoded>
	<dc:date>2008-07-02T19:20:55+00:00</dc:date>
</item>
<item rdf:about="http://www.trapexit.org/forum/viewtopic.php?p=43965#43965">
	<title>Trapexit News Feed: Trapexit News :: New Cookbook Entry on Tracing!</title>
	<link>http://www.trapexit.org/forum/viewtopic.php?p=43965#43965</link>
	<content:encoded>Author: &lt;a href=&quot;http://www.trapexit.org/forum/profile.php?mode=viewprofile&amp;u=183&quot; target=&quot;_blank&quot;&gt;francesco&lt;/a&gt;&lt;br /&gt;
Subject: New Cookbook Entry on Tracing!&lt;br /&gt;
Posted: Wed Jul 02, 2008 11:40 am (GMT 0)&lt;br /&gt;
Topic Replies: 0&lt;br /&gt;&lt;br /&gt;
&lt;span class=&quot;postbody&quot;&gt;Marstein has kindly contrinuted a new page to the Erlang Cookbook on tracing processes. You can view his contribution &lt;a href=&quot;http://www.trapexit.org/Tracing_Processes&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt; here...&lt;/a&gt; Or you can add your own recepie in trapexit's wiki &lt;a href=&quot;http://www.trapexit.org/Category:CookBook&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;based Erlang Cookbook&lt;/a&gt;.
&lt;br /&gt;_________________&lt;br /&gt;--
&lt;br /&gt;
&lt;a href=&quot;http://www.erlang-consulting.com&quot; target=&quot;_blank&quot;&gt;http://www.erlang-consulting.com&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;</content:encoded>
	<dc:date>2008-07-02T11:51:04+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-7435412383881764254.post-2790488996638110334">
	<title>21st Century Code Works: Notes from Erlang Exchange</title>
	<link>http://21ccw.blogspot.com/2008/07/notes-from-erlang-exchange.html</link>
	<content:encoded>I was at the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.erlang-exchange.com/&quot;&gt;Erlang Exchange&lt;/a&gt; in London last week, which I really enjoyed. It was really great to see &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://erlang-exchange.com/joe-armstrong&quot;&gt;Joe Armstrong&lt;/a&gt;, and to see the faces behind the projects, e.g. &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://erlang-exchange.com/klacke-wikstrom&quot;&gt;Claes Wikström&lt;/a&gt; (Yaws, Bluetail, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.kreditor.se/&quot;&gt;Kreditor&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.tail-f.com/&quot;&gt;Tail-f&lt;/a&gt;), &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://erlang-exchange.com/steve-vinoski&quot;&gt;Steve Vinoski&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://erlang-exchange.com/eric-merrit-and-martin-logan&quot;&gt;Eric Merrit&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://erlang-exchange.com/eric-merrit-and-martin-logan&quot;&gt;Martin Logan&lt;/a&gt; (&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.erlware.org/&quot;&gt;Erlware&lt;/a&gt;), &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://erlang-exchange.com/matthias-radestock-and-tony-garnock-jones&quot;&gt;Matthias Radestock&lt;/a&gt; (&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.lshift.net/&quot;&gt;LShift &lt;/a&gt;&amp;amp; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.rabbitmq.com/&quot;&gt;RabbitMQ&lt;/a&gt;), &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.erlang-exchange.com/mickael-remond&quot;&gt;Mickaël Rémond&lt;/a&gt; (&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ejabberd.im/&quot;&gt;ejabberd&lt;/a&gt;) etc. etc.&lt;br /&gt;&lt;br /&gt;Something that Joe said reminded me of a comment that &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://peripateticaxiom.blogspot.com/&quot;&gt;Keith&lt;/a&gt; made about 6 months ago. I think this is something that gets lost in the hype around Erlang and multicore computing:&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Erlang was designed to program fault tolerant systems. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It was not designed to program multicore computers. It was designed 15-20 years ago when multicore-everywhere was not even on the horizon. As a side-effect, it is a good language for multicore systems, since the only way to actually &lt;span&gt;achieve&lt;/span&gt; fault tolerance is to have &lt;span&gt;independant&lt;/span&gt; processes (read &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://ml.osdir.com/lang.erlang.general/2003-04/msg00350.html&quot;&gt;here&lt;/a&gt; for some more on this).&lt;br /&gt;&lt;br /&gt;I think it's important for us as to remember to advocate this, and instead of marketing Erlang/OTP as &quot;the application system for multicore&quot;, we should be marketing it as &quot;the application system for fault tolerance&quot;. Oh, and by the way &quot;this is one of the few systems that will actually use those cores that are coming your way&quot;.&lt;br /&gt;&lt;br /&gt;The second point that I have been pondering, was brought on my &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://erlang-exchange.com/gordon-guthrie&quot;&gt;Gordon Guthrie&lt;/a&gt;'s talk about Erlang/OTP vs Google Apps as an application engine. At this moment, there aren't many application systems to choose from, Erlang/OTP, Google Apps and Amazon EC2 come to mind. In the context of the talk, an Application System (A/S) would be something that takes care of a lot of the non-functional requirements of you system, e.g. reliability, scalability (+distribution) etc.&lt;br /&gt;&lt;br /&gt;For some businesses, using Google Apps or EC2 would be a good fit, but then you're tied into the value chain of that business, and in some instances you just cannot (for legal and other reasons) put your data on servers you don't own. If you go the OTP route you have full control over your application(s), but there's a lot of extra infrastructure that you will have to supply yourself.&lt;br /&gt;&lt;br /&gt;If you start thinking of Erlang/OTP in this way, you realise that the terms should be reversed and it should actually be OTP/Erlang. The platform is actually the important thing. The &lt;span&gt;platform&lt;/span&gt; is the thing that gives you the reliability, scalability, distribution and hot code swapping etc. that you require. Erlang becomes this awesome language that you use to build things on the &lt;span&gt;platform&lt;/span&gt;. Looking at things from a different perspective can lead to some interesting insights.&lt;br /&gt;&lt;br /&gt;If I'm standing at this vantage point, heated discussions like the recent meme-storm in the blogosphere of &quot;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.sauria.com/blog/2008/05/22/the-scala-vs-erlang-whirlwind/&quot;&gt;Erlang&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.sauria.com/blog/2008/05/22/the-scala-vs-erlang-whirlwind/&quot;&gt; vs &lt;/a&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.sauria.com/blog/2008/05/22/the-scala-vs-erlang-whirlwind/&quot;&gt;Scala&lt;/a&gt;&quot; become much less relevant. Is there a platform that gives you reliability, scalability, distribution, hot code replacement that uses Scala as a language? No? Oh. What a pity...</content:encoded>
	<dc:date>2008-07-02T04:09:00+00:00</dc:date>
</item>
<item rdf:about="http://steve.vinoski.net/blog/?p=77">
	<title>Trapexit's Erlang Blog Filter: Convenience Over Correctness</title>
	<link>http://steve.vinoski.net/blog/2008/07/01/convenience-over-correctness/</link>
	<content:encoded>&lt;p&gt;My latest &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://computer.org/internet&quot;&gt;Internet Computing&lt;/a&gt; column, &amp;#8220;&lt;a rel=&quot;nofollow&quot;&gt;Convenience Over Correctness&lt;/a&gt;,&amp;#8221; (PDF) is now available. It continues the exploration of problems with RPC-oriented distributed programming approaches that I&amp;#8217;ve been writing about in each of my &lt;a rel=&quot;nofollow&quot;&gt;three&lt;/a&gt; &lt;a rel=&quot;nofollow&quot;&gt;prior&lt;/a&gt; &lt;a rel=&quot;nofollow&quot;&gt;columns&lt;/a&gt; this year, as well as in &lt;a rel=&quot;nofollow&quot;&gt;columns from years gone by&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.erlang.org/pipermail/erlang-questions/2008-May/035207.html&quot;&gt;in the erlang-questions mailing list&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For years we&amp;#8217;ve known RPC and its descendants to be fundamentally flawed, yet many still willingly use the approach. Why? I believe the reason is simply &lt;em&gt;convenience&lt;/em&gt;. Regardless of RPC&amp;#8217;s well-understood problems, many developers continue to go down the RPC-oriented path because it conveniently fits the abstractions of the popular general-purpose programming languages they limit themselves to using. Making a function or method call to a remote or distributed function, object, or service appear just like any other function or method call allows such developers to stay within the comfortable confines of their language. Those who choose this approach essentially decide that developer convenience and comfort is more important than dealing with hard distribution issues like latency, concurrency, reliability, scalability, and partial failure.&lt;/p&gt;
&lt;p&gt;Is this convenience for the developer the right thing to focus on? I really, really don&amp;#8217;t think it is. There are ways of developing robust distributed applications that don&amp;#8217;t require code-generation toolkits, piles of special code annotations, or brittle enterprisey frameworks. Perhaps the wonderful programming language renaissance we&amp;#8217;re currently experiencing will help us to finally see the light and put tired old broken abstractions like RPC permanently out to pasture.&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-02T02:42:58+00:00</dc:date>
</item>
<item rdf:about="http://www.lshift.net/blog/2008/07/01/rabbitmq-xmpp-gateway-released">
	<title>LShift on Erlang: RabbitMQ XMPP gateway released</title>
	<link>http://www.lshift.net/blog/2008/07/01/rabbitmq-xmpp-gateway-released</link>
	<content:encoded>&lt;p&gt;I&amp;#8217;m pleased to announce that our XMPP gateway for exposing a RabbitMQ instance to the global XMPP network has been released (&lt;a href=&quot;http://hg.rabbitmq.com/rabbitmq-xmpp/raw-file/tip/doc/index.html&quot;&gt;documentation&lt;/a&gt;, &lt;a href=&quot;http://hg.rabbitmq.com/rabbitmq-xmpp/&quot;&gt;browse or check out code&lt;/a&gt;, &lt;a href=&quot;http://hg.rabbitmq.com/rabbitmq-xmpp/archive/tip.zip&quot;&gt;download snapshot&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; Because it depends on a newer release of RabbitMQ than 1.3.0, you will also need to check out the server and codegen code from our &lt;a href=&quot;http://hg.rabbitmq.com/&quot;&gt;public mercurial repositories&lt;/a&gt;, or download them as snapshots: &lt;a href=&quot;http://hg.rabbitmq.com/rabbitmq-server/archive/tip.zip&quot;&gt;server&lt;/a&gt;, &lt;a href=&quot;http://hg.rabbitmq.com/rabbitmq-codegen/archive/tip.zip&quot;&gt;codegen&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img id=&quot;image314&quot; src=&quot;http://www.lshift.net/blog/wp-content/uploads/2008/07/whole-network-1.png&quot; alt=&quot;Gateway in relation to ejabberd and RabbitMQ&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;mod_rabbitmq&lt;/code&gt; module implements an &lt;a href=&quot;http://www.process-one.net/en/ejabberd/&quot;&gt;ejabberd&lt;/a&gt; extension module which gateways AMQP (as implemented by &lt;a href=&quot;http://www.rabbitmq.com/&quot;&gt;RabbitMQ&lt;/a&gt;) to XMPP.&lt;/p&gt;

&lt;p&gt;By bridging between the two systems, we benefit from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;XMPP&amp;#8217;s internet-scale addressing and federation&lt;/li&gt;
&lt;li&gt;XMPP&amp;#8217;s presence model&lt;/li&gt;
&lt;li&gt;AMQP&amp;#8217;s store-and-forward capability&lt;/li&gt;
&lt;li&gt;AMQP&amp;#8217;s routing and filtering (using &lt;i&gt;exchanges&lt;/i&gt; and &lt;i&gt;bindings&lt;/i&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The current implementation is a very simple mapping between the two systems. Its simplicity keeps the code short, but only exposes a subset of AMQP features to the XMPP network, and vice versa.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://hg.rabbitmq.com/rabbitmq-xmpp/raw-file/tip/doc/index.html&quot;&gt;Read more here.&lt;/a&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-01T11:31:37+00:00</dc:date>
</item>
<item rdf:about="http://yarivsblog.com/?p=195">
	<title>Yariv's Blog: Numenta, AI, and the Web</title>
	<link>http://feeds.feedburner.com/~r/YarivsBlog/~3/322970050/</link>
	<content:encoded>&lt;p&gt;Last week, I attended the &lt;a href=&quot;http://numenta.com&quot;&gt;Numenta&lt;/a&gt; workshop. I didn&amp;#8217;t know much about Numenta before I went. My friend&amp;#8217;s excitement about the technology Numenta is building piqued my curiosity, so I decided to check it out. It seemed that almost everyone else in the conference had read Jeff Hawkins&amp;#8217;s &lt;a href=&quot;http://www.onintelligence.org/&quot;&gt;On Intelligence&lt;/a&gt; and at least experimented with Numeta&amp;#8217;s tools, so I felt like a real n00b. I&amp;#8217;m happy I went, though, because I learned about some interesting ideas and technologies.&lt;/p&gt;
&lt;p&gt;Jeff Hawkins, Numenta&amp;#8217;s founder, has been fascinated with the workings of the brain throughout his career, but only two decades into it, after he founded Palm and Handspring, was he able to devote his efforts to artificial intelligence. In On Intelligence, Hawkins discusses his theories on the brain&amp;#8217;s functions in detail. Numenta, a company he founded with &lt;a href=&quot;http://www.stanford.edu/~dil/&quot;&gt;Dileep George&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Donna_Dubinsky&quot;&gt;Donna Dubinsky&lt;/a&gt;, aims to put these ideas to work in commercial and research applications.&lt;/p&gt;
&lt;p&gt;Numenta is a platform company. The platform they develop is NuPIC (Numenta Platform for Intelligent Computing), a software toolkit essentially for building pattern classifiers. The fundamental concept behind NuPIC is called HTM (Hierarchical Temporal Memory). It postulates that the cortex learns to recognize patterns using a combination of two basic algorithms: hierarchical belief propagation, and the detection of invariants in a sequence of transformations in time. I won&amp;#8217;t get into what this all means because there&amp;#8217;s plenty of &lt;a href=&quot;http://www.numenta.com/for-developers/education/general-overview-htm.php&quot;&gt;documentation&lt;/a&gt; on the Numenta website. I recommend browsing it if you find this interesting.&lt;/p&gt;
&lt;p&gt;HTM is not just theory. Although NuPIC is in a very early stage, companies are applying NuPIC to a wide range of problems, including vision, voice recognition, finance, motion recognition (recognizing motion capture data to detect if a person is walking, running, sitting, etc) and games. This is just a small subset of its potential uses.&lt;/p&gt;
&lt;p&gt;Using Nupic in its current state isn&amp;#8217;t trivial. It provides the building blocks for HTM pattern classifiers, but application developers still have to do a good deal of work to tune the parameters of their HTM (How many nodes? How many levels in the hierarchy? How much training data to use? How many categories? What transformations to apply to the input over time to train the system?) to their problem domain. Also, some important features haven&amp;#8217;t been implemented yet. For example, although NuPIC can be pretty effective at classifying images that contain a single object against a plain background (with enough training), it isn&amp;#8217;t designed to recognize objects in images with noisy backgrounds or with multiple objects. (The problem of how to identify interesting objects in a scene is called the &amp;#8220;attention&amp;#8221; problem. To solve it you need to have a mechanism by which the top nodes could send feedback down to the bottom nodes. Hawkins said Numenta will tackle it in a future release.)&lt;/p&gt;
&lt;p&gt;One reason I find Numenta so interesting is that I believe that NuPIC, or something like it, will play a role in the evolution of the Web. The current generation of web applications (Web 2.0 apps, if you will) is effective at aggregating massive amounts of data in different verticals (pictures, videos, bookmarks, status messages, paintings), slicing and dicing it in different ways, searching it, and displaying it in an organized fashion. Mashups provide additional context for the data gathered in the different silos of the web (&lt;a href=&quot;http://kosmix.com&quot;&gt;Kosmix&lt;/a&gt; is a good example), but they don&amp;#8217;t add any real &amp;#8220;intelligence&amp;#8221; to the mix, i.e. they don&amp;#8217;t extract new knowledge from the data they aggregate. Numenta&amp;#8217;s technology could be used to implement a new layer of intelligence on top of existing services by training it to recognize spacial and temporal pattens in the data they&amp;#8217;ve collected. For example, imagine a Flickr API that let you submit an image and Flickr would tell you what the objects in the image are and where the picture was taken. Or a Facebook API for identifying the people in a picture. Or a Skype API for recognizing the speaker from a voice sample (creepy, I know). Or a HotOrNot API for automatically classifying the hotness of a person (ok, bad example :) ). Or a YouTube API for identifying the objects and events in a video clip. Or a &lt;a href=&quot;http://icanhascheezburger.com/&quot;&gt;icanhascheezburger&lt;/a&gt; API for automatically classifying the LOLness of a cat (well&amp;#8230; maybe not :) ).&lt;/p&gt;
&lt;p&gt;If this happens, maybe some day a mashup of these web services will be used to build something that resembles real AI. If (when?) someone manages to build a real-life WALL*E (great movie!), I think there&amp;#8217;s a good chance its HTMs will be trained on the vast amounts of data gathered on the web.&lt;/p&gt;
&lt;p&gt;Interesting times ahead. Stay tuned.&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/YarivsBlog/~4/322970050&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content:encoded>
	<dc:date>2008-06-30T04:26:22+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-3729811.post-5037189212731578855">
	<title>Web 2.0 and beyond: Erlang Exchange 2008</title>
	<link>http://www.rsaccon.com/2008/06/erlang-exchange-2008.html</link>
	<content:encoded>The last two days I have spent at the Erlang Exchange Conference. It was great to met other Erlang hackers in person I just knew from their blog, emails or mailing list. Below the slides from my talk:</content:encoded>
	<dc:date>2008-06-30T02:53:58+00:00</dc:date>
	<dc:creator>Roberto Saccon</dc:creator>
</item>
<item rdf:about="http://prog21.dadgum.com/30.html">
	<title>Programming in the 21st Century: Want to Write a Compiler?  Just Read These Two Papers.</title>
	<link>http://prog21.dadgum.com/30.html</link>
	<content:encoded>Imagine you don't know &lt;i&gt;anything&lt;/i&gt; about programming, and you want learn how to do it.  You take a look at Amazon.com, and there's a highly recommended set of books by Knute or something with a promising title, &lt;i&gt;The Art of Computer Programming&lt;/i&gt;, so you buy them.  Now imagine that it's more than just a poor choice, but that &lt;b&gt;all&lt;/b&gt; the books on programming are at written at that level.
&lt;br /&gt;&lt;br /&gt;That's the situation with books about writing compilers.
&lt;br /&gt;&lt;br /&gt;It's not that they're bad books, they're just too broadly scoped, and the authors present so much information that it's hard to know where to begin.  Some books are better than others, but there are still the thick chapters about converting regular expressions into executable state machines and different types of grammars and so on. After slogging through it all you will have undoubtedly expanded your knowledge, but you're no closer to actually writing a working compiler.
&lt;br /&gt;&lt;br /&gt;Not surprisingly, the opaqueness of these books has led to the myth that compilers are hard to write.
&lt;br /&gt;&lt;br /&gt;The best source for breaking this myth is Jack Crenshaw's series, &lt;a href=&quot;http://compilers.iecc.com/crenshaw/&quot;&gt;Let's Write a Compiler!&lt;/a&gt;, which started in 1988.  This is one of those gems of technical writing where what's assumed to be a complex topic ends up being suitable for a first year programming class.  He focuses on compilers of the Turbo Pascal class: single pass, parsing and code generation are intermingled, and only the most basic of optimizations are applied to the resulting code.  The original tutorials used Pascal as the implementation language, but there's a C version out there, too.  If you're truly adventurous, Marcel Hendrix has done a &lt;a href=&quot;http://home.iae.nl/users/mhx/crenshaw/tiny.html&quot;&gt;Forth translation&lt;/a&gt; (and as Forth is an interactive language, it's easier to experiment with and understand than the C or Pascal sources).
&lt;br /&gt;&lt;br /&gt;As good as it is, Crenshaw's series has two major omissions.  The first is that there's no internal representation of the program at all.  That is, no abstract syntax tree.  It is indeed possible to bypass this step if you're willing to give up flexibility, but the main reason it's not in the tutorials is because manipulating trees in Pascal is out of sync with the simplicity of the rest of the code he presents.  If you're working in a higher level language--Python, Ruby, Erlang, Haskell, Lisp--then this worry goes away.  It's trivially easy to create and manipulate tree-like representations of data.  Indeed, this is what Lisp, Erlang, and Haskell were designed for.
&lt;br /&gt;&lt;br /&gt;That brings me to &lt;a href=&quot;http://www.cs.indiana.edu/~dyb/pubs/nano-jfp.pdf&quot;&gt;A Nanopass Framework for Compiler Education&lt;/a&gt; [PDF] by Sarkar, Waddell, and Dybvig.  The details of this paper aren't quite as important as the general concept:  a compiler is nothing more than a series of transformations of the internal representation of a program.  The authors promote using &lt;b&gt;dozens or hundreds of compiler passes&lt;/b&gt;, each being as simple as possible.  Don't combine transformations; keep them separate.  The framework mentioned in the title is a way of specifying the inputs and outputs for each pass.  The code is in Scheme, which is dynamically typed, so data is validated at runtime.
&lt;br /&gt;&lt;br /&gt;After writing a compiler or two, then go ahead and plunk down the cash for the infamous &lt;a href=&quot;http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools&quot;&gt;Dragon Book&lt;/a&gt; or one of the alternatives.  Maybe.  Or you might not need them at all.</content:encoded>
	<dc:date>2008-06-29T06:00:00+00:00</dc:date>
	<dc:creator>James Hague</dc:creator>
</item>
<item rdf:about="http://yarivsblog.com/?p=194">
	<title>Yariv's Blog: Twoorl Goes Multilingual</title>
	<link>http://feeds.feedburner.com/~r/YarivsBlog/~3/322365520/</link>
	<content:encoded>&lt;p&gt;Since its launch, Twoorl users have helped translate it to Spanish, German, French, Korean, Polish, Portuguese (Brazilian) and Russian. This is an awesome contribution from the Twoorl community. Big thanks to everyone who contributed a translation!&lt;/p&gt;
&lt;p&gt;If you&amp;#8217;re fluent in a language that Twoorl hasn&amp;#8217;t been translated into and you&amp;#8217;d like to contribute a translation for it, obtain the file &lt;a href=&quot;http://github.com/yariv/twoorl/tree/master/src/bundles/twoorl_eng.erl&quot;&gt;twoorl_eng.erl&lt;/a&gt;, translate the english strings, and email me the modified file. (Please make sure the file is encoded in UTF-8.) If you&amp;#8217;re familiar with Git, you can also clone the repository, make the changes, and send me a message through GitHub to pull your updates. Thanks in advance!&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/YarivsBlog/~4/322365520&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content:encoded>
	<dc:date>2008-06-29T03:24:47+00:00</dc:date>
</item>
<item rdf:about="http://namsisi.com/?p=20">
	<title>Namsisi: The Erlang Exchange</title>
	<link>http://namsisi.com/archives/2008-06-26/the-erlang-exchange/</link>
	<content:encoded>&lt;p&gt;I&amp;#8217;m currently attending the &lt;a title=&quot;Erlang Exchange&quot; href=&quot;http://www.erlang-exchange.com&quot; target=&quot;_blank&quot;&gt;Erlang Exchange&lt;/a&gt; conference in London.&lt;/p&gt;
&lt;p&gt;So far I&amp;#8217;ve attended two presentations in the main track before lunch and two presentations in the Tools &amp;amp; Gadgets track. I&amp;#8217;m going to give a brief summary below. All the talks are being streamed on &lt;a href=&quot;http://yaika.com/channel/erlang-live&quot; target=&quot;_blank&quot;&gt;Yaika&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Main Track&lt;/h3&gt;
&lt;h4&gt;Joe Armstrong on Software: Erlang &amp;amp; SMP&lt;/h4&gt;
&lt;p&gt;This is the talk of Joe Armstrong which kind of aligns with his book. It is quite basic and more aimed at Erlang beginners that experts. It contains a few interesting bits however, mostly the stuff about Symmetric Multi-Processing (SMP) and multi core processors. Not specifically Erlang related but at least message passing oriented, or as Joe calls it, &lt;em&gt;Concurrency Oriented Programming&lt;/em&gt; (COP). All in all, &amp;#8220;old stuff&amp;#8221; (in a good sense) with some really interesting insights.&lt;/p&gt;
&lt;h4&gt;Introducing Erlang to Motorola: The Journey to Success&lt;/h4&gt;
&lt;p&gt;This talk was given by Nicholas Gunder and Torben Hoffman (which I enjoyed the OTP course together with) from Motorola (which interesting enough is now using Erlang, the language developed by their main competitor Ericsson). It was more of a manager talk than a technical talk, although they sometimes go all the way down to the hardware level, for example when talking about the &lt;a href=&quot;http://www.gumstix.com/&quot; target=&quot;_blank&quot;&gt;Gumstix&lt;/a&gt; computers they are using.&lt;/p&gt;
&lt;p&gt;This was a really nice talk, Nicholas and Torben are really funny guys. It gave a good insight into how they pushed Erlang from being a basically non-existant technology inside Motorola to a technology about which the managers ask &amp;#8220;is there&amp;#8217;s any other projects we could apply this to?&amp;#8221; Their main conclusion was, I think, &amp;#8220;have something finished to show.&amp;#8221; That means, whenever pushing Erlang to management, show them something working. This is among other things a terrific illustrator on how productive Erlang is, which also compared to C is one of the selling points.&lt;/p&gt;
&lt;h3&gt;Tools &amp;amp; Gadgets Track&lt;/h3&gt;
&lt;h4&gt;Erlang D-Trace&lt;/h4&gt;
&lt;p&gt;Given by Garry Bulmer, the talk was about intergrating Erlang with the OS X/Unix tracing facility &lt;a href=&quot;http://en.wikipedia.org/wiki/DTrace&quot; target=&quot;_blank&quot;&gt;DTrace&lt;/a&gt;. DTrace basically lets you trace on &amp;#8220;anything&amp;#8221; in the operating system and user space programs. You can trace on functions, accumulate data etc using your own DTrace scripts. Erlang already has an extremely powerful tracing and &lt;a href=&quot;http://erlang.org/doc/man/dbg.html&quot;&gt;debugging&lt;/a&gt; &lt;a href=&quot;http://www.erlang.org/doc/apps/debugger/&quot; target=&quot;_blank&quot;&gt;facility&lt;/a&gt;. This integration aims to give a bigger picture on how your Erlang application and the rest of the OS and other applications interact and perform. Unfortunately due to GPL issues, DTrace is not available on Linux, only on OS X and other Unix variants.&lt;/p&gt;
&lt;p&gt;What Bulmer and his team did, was to extend the Erlang VM with DTrace hooks so that tracing can be done on process creating and other Erlang primitives. The goal is to become a good complement to the internal Erlang tracing and debuggnig facilities.&lt;/p&gt;
&lt;h4&gt;Building Web Applications in Erlang&lt;/h4&gt;
&lt;p&gt;A talk about Erlang and web development given by Michal Slask and Xingdong Bian from &lt;a href=&quot;http://www.erlang-consulting.com&quot; target=&quot;_blank&quot;&gt;Erlang Training &amp;amp; Consulting&lt;/a&gt; (disclaimer: I work for ETC). It was about the new web development platform that ETC is releasing. It takes its template philosophy from JSP, so that with tags such as list and choose you can call backend Erlang modules expanding to dynamic HTML code. All in a Model View Controller (MVC) fashion.&lt;/p&gt;
&lt;p&gt;More about this soon so keep an eye on the Erlang Training &amp;amp; Consulting website and the Erlang mailing list!&lt;/p&gt;
&lt;h4&gt;Erlang &amp;amp; Ajax Web&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://rsaccon.com&quot; target=&quot;_blank&quot;&gt;Roberto Saccon&lt;/a&gt; gived a talk on integrating Ajax technologies with Erlang. The talk focused heavily on Coment and Roberts implementation in Erlang, &lt;a href=&quot;http://code.google.com/p/erlycomet/&quot; target=&quot;_blank&quot;&gt;ErlyComet&lt;/a&gt;. The talk is focusing on the implemantion and the results, both mistakes and successes. It is like a overview of both Ajax (for the Erlang community) and a collection of do&amp;#8217;s and don&amp;#8217;ts when using Ajax/Comet with Erlang. All in all, a web 2.0 presentation with an Erlang flavour.&lt;/p&gt;
&lt;h3&gt;The Rest of the Conference&lt;/h3&gt;
&lt;p&gt;This is it so far, maybe more posts will come later. Today it is just the &lt;a href=&quot;http://www.erlware.org/&quot;&gt;Faxien &amp;amp; Sinan&lt;/a&gt; presentation I&amp;#8217;m planning to attend.&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-26T14:44:23+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-855944390206940143.post-2891792412737653499">
	<title>EazyErl!: Parsing Binaries with erlang, lamers inside</title>
	<link>http://easyerl.blogspot.com/2008/06/parsing-binaries-with-erlang-lamers.html</link>
	<content:encoded>It's seems that there's a really high expectation  on &lt;a href=&quot;http://www.erlang.org/pipermail/erlang-questions/2008-June/036166.html&quot;&gt;&quot;parsing binaries&quot; with erlang&lt;/a&gt; and reach others languages performance. For me this is a complete nonsense.&lt;br /&gt;What's the meaning of &quot;parsing a binary&quot;, a binary is not a text, it's a binary, a sequence of bytes... &lt;br /&gt;A sequence must be defined by its length. You must know before reading anything, the size that'll be needed store what's coming.&lt;br /&gt;Every crap software you can find has always prefered to use strcpy instead of memcpy. Whatever the language you use, you MUST know the size of what you're working with, this is not an advice this is mandatory.&lt;br /&gt;&lt;br /&gt;From the post above, you can find that the only delimiter seems to be &quot;\r\n&quot;. So if someone sends you 4Gb of data not ending with &quot;\r\n&quot; you'll keep reading it... (and of course blow your memory because this was not supposed to be) &lt;br /&gt;&lt;br /&gt;While working at low level with C and flex scanners, I've always ask me this question: &quot;What's the max size of the element I can accept ?&quot;. This simple question helps me build software that don't break with a simple 'perl print Ax60000' trick...&lt;br /&gt;&lt;br /&gt;So is HTTP badly designed, because delimiters are &quot;\r\n&quot; and headers can spread on multiple lines ? The answer is absolutely YES.&lt;br /&gt;Was'it difficult to build something more secure, using prefixed elements with their size ? The answer is absolutely NO ! (take &lt;a href=&quot;http://easyerl.blogspot.com/2007/07/erlang-and-jboss-talking-ajp13-part-i.html&quot;&gt;ajp13 for example&lt;/a&gt;...)&lt;br /&gt;&lt;br /&gt;Now that erlang is becoming more and more popular, lamers are lurking in the erlang direction. This is life, but will the erlang mailling list suffer from this ? The answer is yes :/&lt;br /&gt;&lt;br /&gt;Someone with knowledge must not try to resolve someone's else problem, he must help him by asking the good question. (do you know the size a priori ?)&lt;br /&gt;&lt;br /&gt;Why parsing binaries in java is faster than erlang ? Who cares, since parsing binaries is of course stupid !&lt;br /&gt;Parsing real world protocol with erlang is lightning fast, both for writing and for executing. So teach lamers how to build real protocols and don't try help them with some trickery.&lt;br /&gt;&lt;br /&gt;That's my rant for today :)</content:encoded>
	<dc:date>2008-06-26T13:25:39+00:00</dc:date>
	<dc:creator>rolphin</dc:creator>
</item>
<item rdf:about="http://www.process-one.net/en/blogs/article/erlang_exchange_london_uk_june_27th/#When:14:44:00Z">
	<title>Process-one Blogs: Talk at Erlang Exchange Conference, London, UK on June 27th</title>
	<link>http://www.process-one.net/en/blogs/article/erlang_exchange_london_uk_june_27th/</link>
	<content:encoded>I will be talking in a London conference about ejabberd XMPP application server and Tsung benchmarking (HTTP and XMPP). &lt;p&gt;I will be at Erlang Exchange next friday (27th June, 2008), to talk about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;ejabberd for web 2.0 development&lt;/b&gt;: We have designed ejabberd as an XMPP application server that happens to be ideal to build web 2.0 applications and social networks. The talk will rely on two majors use cases: building a large scale community chat system (Major League of Baseball) and building a Twitter-like microblogging platform on top of ejabberd.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Tsung tutorial&lt;/b&gt;: This Tsung tutorial will present the fundamental concepts underlying Tsung architecture and will provide the required knowledge to write relevant benchmark scenarios. You will then learn how to create a scenario to benchmark an example web application and how to analyse the results of the benchmark.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would be very glad to meet existing or future ejabberd and Tsung users next friday &lt;img class=&quot;inline&quot; src=&quot;http://www.process-one.net/images/smileys/smile.gif&quot; width=&quot;19&quot; height=&quot;19&quot; alt=&quot;smile&quot; /&gt;&lt;/p&gt;

&lt;p&gt;More details: &lt;a href=&quot;http://www.erlang-exchange.com/mickael-remond&quot;&gt;My talks&lt;/a&gt; and the &lt;a href=&quot;http://www.erlang-exchange.com/conference&quot;&gt;conference programme&lt;/a&gt;.&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-25T13:44:00+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-5246027334551923738.post-7309515441611634378">
	<title>Joe Armstrong: Invasion of Privacy</title>
	<link>http://armstrongonsoftware.blogspot.com/2008/06/invasion-of-privacy.html</link>
	<content:encoded>On 18 June the Swedish Parliament passed a law giving sweeping new powers to the FRA (Swedish Defense Radio Establishment) allowing them to wiretap people in Sweden through phone conversations, email, text messages and more.

All people in Sweden using electronic communication can have their communication monitored despite the fact that they are not suspected of committing any crime.

In my view</content:encoded>
	<dc:date>2008-06-24T13:53:06+00:00</dc:date>
	<dc:creator>Joe Armstrong</dc:creator>
</item>
<item rdf:about="http://weblog.hypotheticalabs.com/?p=275">
	<title>Hypothetical Labs: Oh Frabjous Day!</title>
	<link>http://weblog.hypotheticalabs.com/?p=275</link>
	<content:encoded>&lt;p&gt;(With humble apologies to Lewis Carroll, my favorite purveyor of kid-safe absurdity)&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve finally wrestled frabjous into a form approximating acceptable quality &amp;#8212; you can check it out on GitHub &lt;a href=&quot;http://github.com/kevsmith/hypotheticalabs/tree/master&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So, what is frabjous? It&amp;#8217;s a wrapper around Erlang&amp;#8217;s parse transforms with some of the sharp edges filed off. Frabjous insulates developers from the tedium of parse transforms in two ways. &lt;/p&gt;
&lt;p&gt;First, it interfaces directly with the compiler and handles all of the low-level details around iterating over the AST and other parse transform muck. Frabjous knows all about multi-pass transforms and provides a persistent state mechanism for parse transformers so they can remember where they&amp;#8217;ve been and what they&amp;#8217;re doing.&lt;/p&gt;
&lt;p&gt;Second, frabjous defines a new behavior, &lt;code&gt;ast_transformer&lt;/code&gt;, to use when you want to write a frabjous-based parse transformer. Why is this a good thing? Well, &lt;code&gt;ast_transformer&lt;/code&gt; defines a number of helpful functions like &lt;code&gt;start/1&lt;/code&gt; and &lt;code&gt;is_complete/1&lt;/code&gt; which model allow a transformer to track its state and implement multiple passes. &lt;code&gt;ast_transformer&lt;/code&gt; also defines a standardized calling convention for transforming AST nodes using the function &lt;code&gt;transform/3&lt;/code&gt;. No more inventing your own calling convention each time you write a parse transformer.&lt;/p&gt;
&lt;p&gt;Frabjous integrates into the Erlang compiler via a header file named &amp;#8220;&lt;code&gt;frabjous.hrl&lt;/code&gt;&amp;#8220;. Just use &lt;code&gt;include_lib&lt;/code&gt; to include the header and your code is now frabjous-enabled. Wiring up AST transformers is done using the &lt;code&gt;frabjous&lt;/code&gt; attribute.&lt;/p&gt;
&lt;p&gt;A picture is worth a thousand words so let&amp;#8217;s see what a source file which uses frabjous and its AST transformers looks like. This same is taken from frabjous/examples/src/pt_test.erl.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
-module(pt_test).&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;-define(SERVER, ?MODULE).&lt;/p&gt;
&lt;p&gt;-include_lib(&quot;frabjous/include/frabjous.hrl&quot;).&lt;/p&gt;
&lt;p&gt;-frabjous([{remote_call, [{debug, true}]}]).&lt;/p&gt;
&lt;p&gt;-behaviour(gen_server).&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;The example includes &lt;code&gt;frabjous.hrl&lt;/code&gt; which &amp;#8220;turns on&amp;#8221; frabjous. It then goes on to configure a single frabjous AST transformer named &lt;code&gt;remote_call&lt;/code&gt; and runs it in debug mode. When frabjous AST transformers are run in debug mode they emit before and after snapshots of the AST. This is indispensable  when you&amp;#8217;re debugging a transformer, either on its own or when it&amp;#8217;s part of a chain of transformers. Yep, frabjous understands how to chain a series of transformers together.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;remote_call&lt;/code&gt; transformer takes attribute entries like this:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
-call_gen_server([{server, ?SERVER},&lt;br /&gt;
                  {name, add},&lt;br /&gt;
                  {vars, [x,y]}]).&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and turns them into functions like this, complete with matching &lt;code&gt;export&lt;/code&gt; statements:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
add(X, Y) -&gt; gen_server:call(?SERVER, {add, X, Y}).&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Why? Because I got really, really, really tired of writing the same message sending wrapper function over and over each time I write a &lt;code&gt;gen_server&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;These are still early days for frabjous so the code is a bit rough. There are several things I want to improve soon including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Unit tests (!!!)&lt;/li&gt;
&lt;li&gt;Teaching frabjous how to handle more than the first level of the AST nodes&lt;/li&gt;
&lt;li&gt;Adding more functions to &lt;code&gt;frabjous_helper&lt;/code&gt; to make AST node generation easier&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you&amp;#8217;re interested in frabjous, please check it out and let me know what you think!&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-24T10:16:09+00:00</dc:date>
	<dc:creator>kevin</dc:creator>
</item>
<item rdf:about="tag:blogger.com,1999:blog-6265608756663924839.post-6495775998059610457">
	<title>Dukes of Erl: Tokyocabinet and Mnesia</title>
	<link>http://dukesoferl.blogspot.com/2008/06/tokyocabinet-and-mnesia.html</link>
	<content:encoded>As &lt;a href=&quot;http://www.wagerlabs.com/blog/2008/06/mnesia-unlimited.html&quot;&gt;Daisy&lt;/a&gt; has already indicated, it is now possible to plug &lt;a href=&quot;http://code.google.com/p/mnesiaex&quot;&gt;arbitrary storage strategies into Mnesia&lt;/a&gt;.  For those who are familiar with mnesia_access, this is different; mnesia_access only covers reads and writes, not schema manipulations, and has &lt;a href=&quot;http://www.erlang.org/pipermail/erlang-questions/2008-April/034642.html&quot;&gt;other deficiencies&lt;/a&gt; that it render it useless for adding a new storage type in practice (what mnesia_access is great for is changing the semantics of mnesia operations, e.g., mnesia_frag).  This project lets you make tables that are essentially indistinguishable from the built-in mnesia table types (ram_copies, disc_copies, disc_only_copies).&lt;br /&gt;&lt;br /&gt;Anyway our goal was to get a good on-disk ordered_set table type, since we've found ordered_sets very useful for the kinds of problems we're solving but we're tired of being limited by memory.  After looking around for a while &lt;a href=&quot;http://tokyocabinet.sourceforge.net/&quot;&gt;Tokyocabinet&lt;/a&gt; emerged as our favorite for underlying implementation.  We considered BDB and libmysql, but Tokyocabinet seemed simple and faster, and had a more accommodating license.  So we ported Tokyocabinet to Erlang and then used the above storage API to connect to Mnesia.&lt;br /&gt;&lt;br /&gt;As a side benefit Tokyocabinet might also be preferred to dets even for set-type applications because of the lack of file size limit and high performance.  Tokyocabinet actually has a set-type storage strategy that we'd like to define an Erlang Term Store for, but as of this post, the set-type store doesn't support cursor positioning based upon a key, which makes the implementation of next tedious (although not impossible).  So I'm waiting on the author to add that call; if that happens, we could have a nicer on-disk set-type table as well.&lt;br /&gt;&lt;br /&gt;Everything is available on google code: &lt;a href=&quot;http://code.google.com/p/mnesiaex&quot;&gt;mnesiaex&lt;/a&gt; (storage API) and &lt;a href=&quot;http://code.google.com/p/tcerl&quot;&gt;tcerl&lt;/a&gt; (erlang port of Tokyocabinet).&lt;br /&gt;&lt;br /&gt;Also Daisy (aka Joel Reymont) is really nice to work with.</content:encoded>
	<dc:date>2008-06-23T22:25:59+00:00</dc:date>
	<dc:creator>Paul Mineiro</dc:creator>
</item>
<item rdf:about="http://weblog.hypotheticalabs.com/?p=274">
	<title>Hypothetical Labs: I Wrote What?</title>
	<link>http://weblog.hypotheticalabs.com/?p=274</link>
	<content:encoded>&lt;p&gt;Late last evening I was finally able to carve out some time to work on frabjous. Frabjous, for those who missed out on my only other post about it, is a parse transform framework for Erlang aimed at making writing parse transforms easier.&lt;/p&gt;
&lt;p&gt;But that&amp;#8217;s not important right now.&lt;/p&gt;
&lt;p&gt;The important part is I was ready to release it last night and decided against it. It&amp;#8217;s got unit tests, examples, and nice descriptive comments in all the public functions (and some of the private ones, too). But the code is, well, utter crap.&lt;/p&gt;
&lt;p&gt;I wrote the original core of frabjous the day I flew out to Engine Yard&amp;#8217;s offices. I figured with a day of air travel and my laptop I could get a lot of hacking done. I did. A lot of &lt;em&gt;hacking&lt;/em&gt; but not much designing. The up side is I understand parse transforms really well. The down side is the code is way less organized and efficient than it could be.&lt;/p&gt;
&lt;p&gt;Plain and simple, the code isn&amp;#8217;t pretty. I have a simple benchmark for code prettiness which works equally well for OOP and functional languages. If I have to stare at the code for more than a minute or two to understand a given function, method, or class, then the code isn&amp;#8217;t pretty. That&amp;#8217;s it. Think of it as inscrutability quotient. The cleaner the code, aka pretty, the less time I have to spend understanding it. The longer I have to stare before I understand it the less pretty the code becomes. I &lt;em&gt;wrote&lt;/em&gt; frabjous and I had several multi-minute &amp;#8220;WTF?!&amp;#8221; moments.&lt;/p&gt;
&lt;p&gt;So, frabjous may or may not be released today. But when it is released it&amp;#8217;ll be pretty even if i have to go medieval on it.&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-22T12:59:47+00:00</dc:date>
	<dc:creator>kevin</dc:creator>
</item>
<item rdf:about="tag:blogger.com,1999:blog-855944390206940143.post-3592269825987137569">
	<title>EazyErl!: Quick Tip, list join</title>
	<link>http://easyerl.blogspot.com/2008/06/quick-tip-list-join.html</link>
	<content:encoded>Another &quot;lists:join&quot; :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Join = fun([X|Rest], D) -&amp;gt; &lt;br /&gt;  [ X | [ [D,E] || E &amp;lt;- Rest ] ] &lt;br /&gt;  end.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Usage:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;io:format(&quot;~s~n&quot;, [Join([&quot;a&quot;, &quot;b&quot;, &quot;cde&quot;, &quot;h&quot;, &quot;k&quot;, &quot;lm&quot;], $,)]).&lt;br /&gt;a,b,cde,h,k,lm&lt;br /&gt;ok&lt;br /&gt;&lt;/pre&gt;</content:encoded>
	<dc:date>2008-06-20T10:20:00+00:00</dc:date>
	<dc:creator>rolphin</dc:creator>
</item>
<item rdf:about="http://www.process-one.net/en/news/article/mlb_processone_xmpp_chat_system/#When:09:24:00Z">
	<title>Process-one News: Major League of Baseball teams up with ProcessOne to deploy large scale chat system</title>
	<link>http://www.process-one.net/en/news/article/mlb_processone_xmpp_chat_system/</link>
	<content:encoded>&lt;p&gt;The MLB.com site offers a wealth of information and services, including Game Day, a flash-based audio application that enables fans to follow every pitch as it happens.&lt;/p&gt;

&lt;p&gt;MLB.com wanted to make its web site as ‘sticky’ as possible so that fans would want to come to the site, get involved and stay for a long period of time. It therefore decided to develop a new instant messaging facility to enhance the features of Game Day. At first, the organisation had some concerns about the project. A previous attempt to develop instant messaging had been unsuccessful because the solution implemented had been neither sufficiently scalable to meet demand nor visually exciting enough. MLB.com therefore knew that the success of the new venture would depend heavily on its choice of platform. The organisation had to find an instant messaging server that would give it both the flexibility to innovate and the confidence to grow.&lt;/p&gt;

&lt;p&gt;In the previous year, MLB.com’s Game Day application had attracted over 85 million users. MLB.com knew how many concurrent visitors it attracted to its site on game days and it knew what its average year-on-year growth was. It also knew how many fans had used its earlier instant messaging service. Using these figures as the basis for some solid statistical analysis, it anticipated that demand for its new chat facility would not only be huge – but would also grow steadily over time.&lt;/p&gt;

&lt;br /&gt;
&lt;h2&gt;Providing quality support&lt;/h2&gt;

&lt;p&gt;MLB.com interviewed a lot of potential partners for the project and carried out practical
product evaluations. However, the solutions that it initially tested failed to provide the
flexibility and scalability that it needed. Then, MLB.com met ProcessOne at a conference in
California. “We were immediately impressed by ProcessOne’s offering,” says Joe Choti, CTO of
MLB.com. “ProcessOne was head and shoulders above everyone else.”&lt;/p&gt;

&lt;p&gt;ProcessOne provides high performance instant messaging servers that are based on ejabberd, an open source technology that is mainly written in the Erlang programming language. As it runs in a cluster mode, ejabberd is highly robust and can be easily expanded in size, making it ideal for large-scale deployments. MLB.com was familiar with ejabberd and quickly identified that the ProcessOne Instant Messaging Server could meet all of its requirements.&lt;/p&gt;

&lt;p&gt;“ejabberd is a full featured jabber server compared to the other products that are in the market,” explains Christian Gough, system administrator at MLB.com. “The ProcessOne Instant Messaging Server offered every feature that we desired. By leveraging the scalability of Erlang, the solution allows us to easily expand and adapt the server whenever we want to in the future.”&lt;/p&gt;

&lt;p&gt;The CEO of ProcessOne travelled to New York to work directly with MLB.com’s internal team and specify the precise requirements of the solution. “His help was extremely timely and useful,” says Gough. “The quality of support that we have received from ProcessOne has been very, very good.”&lt;/p&gt;

&lt;br /&gt;
&lt;h2&gt;Creating an innovative service&lt;/h2&gt;

&lt;p&gt;For MLB.com, the visual concept of the solution was just as important as the underlying technology. The organisation wanted to create a Game Day chat facility that would give fans the look and feel of experiencing a live game with other fans. It therefore based its new instant messaging service on a virtual ballpark. Fans can visit different sections of the online ballpark during a game to join different chat sessions on different topics with different groups of people.&lt;/p&gt;

&lt;p&gt;In one part of the virtual ballpark, fans of the home team can be discussing the state of the pitch or the decisions of the coach. In other parts of the ballpark, fans from opposing
teams can get together to argue the merits of different players. “This is by-appointment chat,” explains Choti. “The ballpark opens when the game begins and closes when the game ends. An automated session manager feature manages the chat rooms and ushers users out at the end of a game, just as they would be ushered out of a real ballpark.”&lt;/p&gt;

&lt;p&gt;As part of the project, ProcessOne developed a customised module for MLB.com to allow its ejabberd-based instant messaging server to interact with the company’s existing web services and authenticate users against its user database. “Users can now log in once to MLB.com and use a range of different services, including the chat facility, without having to log in again to a separate system,” explains Gough.&lt;/p&gt;

&lt;p&gt;The entire instant messaging solution, including the customised module, was deployed in a very short timeframe. “ProcessOne took us from conception to deployment in just three weeks,” recalls Choti.&lt;/p&gt;

&lt;br /&gt;
&lt;h2&gt;Meeting requirements by 110%&lt;/h2&gt;

&lt;p&gt;MLB.com is delighted with its new chat service. Over the course of each season, it now facilitates different instant messaging sessions at as many as 25,000 venues. This Game Day chat facility is helping to attract more users to the site and is encouraging visitors to stay on the site longer. This gives the company more opportunities to cross-sell and up-sell from its range of merchandise and services. In addition, MLB.com anticipates that the chat service will also help it to attract higher value advertisers to its site.&lt;/p&gt;

&lt;p&gt;The feedback from users has been very positive. “Users absolutely love it,” says Choti. “We believe that we now offer one of the most exciting chat facilities available today.”&lt;/p&gt;

&lt;p&gt;The ProcessOne Instant Messaging Server is performing very strongly. “The use of Erlang and clustering in the solution architecture not only ensures scalability, but also adds to the solution’s stability and flexibility,” says Gough. “The ProcessOne Instant Messaging Server offers a plethora of features and we have been able to easily extend it to meet our unique requirements.”&lt;/p&gt;

&lt;p&gt;“The ProcessOne Instant Messaging Server has met our requirements 110 per cent,” adds Choti. “From the very first day that we brought the server online, we have not had a single problem with it. It’s a champ!”&lt;/p&gt;

&lt;p&gt;Now that its Game Day chat facility is up and running, MLB.com doesn’t plan to stand still. Every year it tweaks and enhances its web site with new features. “We are very confident that the ProcessOne platform is scalable and robust enough to support us in whatever direction we go,” says Choti.&lt;/p&gt;

&lt;p&gt;He concludes: “Our success has been based, not only on the technical solution provided by ProcessOne, but also on the personal support
provided by ProcessOne. ProcessOne is not a vendor; it’s a partner and that’s a very important distinction.”&lt;/p&gt;

&lt;br /&gt;&lt;br /&gt;
&lt;h2&gt;References&lt;/h2&gt;
&lt;p&gt;Download the case study (PDF): &lt;a href=&quot;http://www.process-one.net/resources/case_studies/ProcessOne_ML_Baseball_Case_Study_v5.pdf&quot;&gt;MLB.com scores a home run with instant messaging from ProcessOne&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a class=&quot;action&quot; href=&quot;http://www.process-one.net/en/customers/case_studies/&quot;&gt;Click to access more case studies&lt;/a&gt;&lt;/p&gt;

&lt;br /&gt;&lt;br /&gt;</content:encoded>
	<dc:date>2008-06-20T08:24:00+00:00</dc:date>
</item>
<item rdf:about="http://weblog.hypotheticalabs.com/?p=273">
	<title>Hypothetical Labs: Episode 4 Errata</title>
	<link>http://weblog.hypotheticalabs.com/?p=273</link>
	<content:encoded>&lt;p&gt;See &lt;a href=&quot;http://forums.pragprog.com/forums/73/topics/564&quot;&gt;here&lt;/a&gt; for the gory details.&lt;/p&gt;
&lt;p&gt;*sigh*&lt;/p&gt;
&lt;p&gt;A hearty thanks to &lt;a href=&quot;http://organized-ignorance.net/&quot;&gt;Jon Gretar&lt;/a&gt; for finding it. I&amp;#8217;d much rather know about a bug and fix it than let it languish in public.&lt;/p&gt;
&lt;p&gt;Also, if you haven&amp;#8217;t told me what you&amp;#8217;d like to see in the next episodes, please drop a comment on &lt;a href=&quot;http://weblog.hypotheticalabs.com/?p=272&quot;&gt;here&lt;/a&gt;. Right now I&amp;#8217;m leaning towards doing a RESTian API via Yaws or Mochiweb (haven&amp;#8217;t decided which), followed by unit testing, and then OTP. But there&amp;#8217;s still time to make your case! Comment today!&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-19T17:27:41+00:00</dc:date>
	<dc:creator>kevin</dc:creator>
</item>
<item rdf:about="http://weblog.hypotheticalabs.com/?p=272">
	<title>Hypothetical Labs: Erlang By Example: Episode 4</title>
	<link>http://weblog.hypotheticalabs.com/?p=272</link>
	<content:encoded>&lt;p&gt;Mike Clark and his merry band of busy hamsters have published episode 4 in my screencast series &lt;a href=&quot;http://www.pragprog.com/screencasts/v-kserl/erlang-by-example&quot;&gt;Erlang By Example&lt;/a&gt;. The episode is the longest so far, clocking in at an epic 39 minutes. I chose mnesia as the episode&amp;#8217;s focus and used it to implement store and forwarding for messages in the chat system. If you&amp;#8217;re interested in using mnesia, wondering how to write qlc queries, or just curious what a non-trivial Erlang application looks like, I recommend checking this episode out.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m also soliciting comments on what topic I should cover next in the series. The choices and their expected durations are, in no particular order:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Using OTP (2-3 episodes)&lt;/li&gt;
&lt;li&gt;Adding a REST endpoint using either Mochiweb or Yaws (2 episodes)&lt;/li&gt;
&lt;li&gt;Writing chat clients in another language like Python or Ruby (2-3 episodes)&lt;br /&gt;
&lt;em&gt;Clarification: This is meant to illustrate how to interface other languages to Erlang via Erlang&amp;#8217;s ports or other libraries such as &lt;a href=&quot;http://code.google.com/p/erlectricity/&quot;&gt;erlectricity&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Unit testing and dialyzer (1 episode)&lt;/li&gt;
&lt;li&gt;Insert the burning topic I missed here&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Please comment on this post and let me know what you&amp;#8217;d like to see next!&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-18T18:48:49+00:00</dc:date>
	<dc:creator>kevin</dc:creator>
</item>
<item rdf:about="tag:blogger.com,1999:blog-855944390206940143.